136 lines
3.4 KiB
Markdown
136 lines
3.4 KiB
Markdown
|
|
# 命令行参数说明
|
|||
|
|
|
|||
|
|
## 概述
|
|||
|
|
|
|||
|
|
程序支持多种命令行参数,用于控制不同的运行模式和配置选项。
|
|||
|
|
|
|||
|
|
## 参数列表
|
|||
|
|
|
|||
|
|
### 基本参数
|
|||
|
|
|
|||
|
|
| 参数 | 类型 | 默认值 | 说明 |
|
|||
|
|
|------|------|--------|------|
|
|||
|
|
| `--startModbusServer` | flag | True | 启动 Modbus 服务器 |
|
|||
|
|
| `--modbusServer` | string | "127.0.0.1" | Modbus 服务器地址 |
|
|||
|
|
| `--modbusServerPort` | int | 5020 | Modbus 服务器端口 |
|
|||
|
|
| `--no-ui` | flag | False | 不启动 PyQt5 前端界面 |
|
|||
|
|
| `--port` | int | 5050 | HTTP 服务端口 |
|
|||
|
|
|
|||
|
|
### 模拟和测试参数
|
|||
|
|
|
|||
|
|
| 参数 | 类型 | 默认值 | 说明 |
|
|||
|
|
|------|------|--------|------|
|
|||
|
|
| `--mock` | flag | False | 启用 PLC 模拟模式(使用软件模拟 PLC 行为) |
|
|||
|
|
| `--check-simulator` | flag | False | 检查 LMIS 模拟器 API 可用性 |
|
|||
|
|
|
|||
|
|
## 详细说明
|
|||
|
|
|
|||
|
|
### 1. PLC 模拟模式 (`--mock`)
|
|||
|
|
|
|||
|
|
**用途**:在没有真实 PLC 硬件的情况下进行开发和测试
|
|||
|
|
|
|||
|
|
**使用场景**:
|
|||
|
|
- 开发环境测试
|
|||
|
|
- 演示和培训
|
|||
|
|
- 硬件故障时的备用方案
|
|||
|
|
|
|||
|
|
**示例**:
|
|||
|
|
```bash
|
|||
|
|
python dtmgtApp.py --mock
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**效果**:
|
|||
|
|
- 使用 `ModbusPLC_Mock` 类替代真实的 PLC 通信
|
|||
|
|
- 自动模拟 PLC 寄存器和测试流程
|
|||
|
|
- 无需连接真实硬件即可运行
|
|||
|
|
|
|||
|
|
### 2. 检查模拟器 (`--check-simulator`)
|
|||
|
|
|
|||
|
|
**用途**:检查 LMIS 模拟器 API 是否可用
|
|||
|
|
|
|||
|
|
**使用场景**:
|
|||
|
|
- 需要上传测试数据到 LMIS 模拟器时
|
|||
|
|
- 验证模拟器服务是否正常运行
|
|||
|
|
|
|||
|
|
**示例**:
|
|||
|
|
```bash
|
|||
|
|
python dtmgtApp.py --check-simulator
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**效果**:
|
|||
|
|
- 发送请求到 `http://127.0.0.1:8088/gateway/api/rel/upload/getconnect`
|
|||
|
|
- 如果服务正常,会设置 `UPLOAD_LIMS_URL` 为模拟器地址
|
|||
|
|
- 后续的测试数据将上传到模拟器
|
|||
|
|
|
|||
|
|
### 3. 组合使用示例
|
|||
|
|
|
|||
|
|
#### 示例 1:模拟模式 + 检查模拟器
|
|||
|
|
```bash
|
|||
|
|
python dtmgtApp.py --mock --check-simulator
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 示例 2:无界面模式 + 模拟模式
|
|||
|
|
```bash
|
|||
|
|
python dtmgtApp.py --no-ui --mock
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 示例 3:自定义 Modbus 服务器地址
|
|||
|
|
```bash
|
|||
|
|
python dtmgtApp.py --modbusServer 192.168.1.100 --modbusServerPort 5021
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 注意事项
|
|||
|
|
|
|||
|
|
### 参数优先级
|
|||
|
|
|
|||
|
|
1. **`--mock`**:应在程序启动早期设置,因为它会影响 PLC 类的选择
|
|||
|
|
2. **`--check-simulator`**:仅在需要时使用,避免不必要的网络请求
|
|||
|
|
|
|||
|
|
### 生产环境建议
|
|||
|
|
|
|||
|
|
- **不要使用 `--mock`**:生产环境必须连接真实 PLC 硬件
|
|||
|
|
- **谨慎使用 `--check-simulator`**:仅在确实需要上传数据到模拟器时使用
|
|||
|
|
- **保持默认端口**:除非有特殊网络配置要求
|
|||
|
|
|
|||
|
|
### 开发环境建议
|
|||
|
|
|
|||
|
|
- **推荐使用 `--mock`**:方便开发和调试
|
|||
|
|
- **按需使用 `--check-simulator`**:仅在测试数据上传功能时使用
|
|||
|
|
|
|||
|
|
## 常见问题
|
|||
|
|
|
|||
|
|
### Q1: 如何确认当前使用的是模拟模式?
|
|||
|
|
|
|||
|
|
**A**: 查看程序启动日志:
|
|||
|
|
```
|
|||
|
|
启用 PLC 模拟模式
|
|||
|
|
Modbus Server: 启用 PLC 模拟模式
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### Q2: 为什么设备显示离线?
|
|||
|
|
|
|||
|
|
**A**: 可能的原因:
|
|||
|
|
1. 未使用 `--mock` 参数但没有连接真实 PLC
|
|||
|
|
2. 真实 PLC 硬件连接问题
|
|||
|
|
3. 网络配置错误
|
|||
|
|
|
|||
|
|
### Q3: 如何验证模拟器连接?
|
|||
|
|
|
|||
|
|
**A**: 使用 `--check-simulator` 参数:
|
|||
|
|
```bash
|
|||
|
|
python dtmgtApp.py --check-simulator
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
如果连接成功,会看到类似输出:
|
|||
|
|
```
|
|||
|
|
✅ API服务正常运行
|
|||
|
|
响应内容: {...}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 更新历史
|
|||
|
|
|
|||
|
|
- **2025-12-08**: 初始版本
|
|||
|
|
- 添加 `--mock` 参数说明
|
|||
|
|
- 添加 `--check-simulator` 参数说明
|
|||
|
|
- 提供使用示例和注意事项
|