# 命令行参数说明 ## 概述 程序支持多种命令行参数,用于控制不同的运行模式和配置选项。 ## 参数列表 ### 基本参数 | 参数 | 类型 | 默认值 | 说明 | |------|------|--------|------| | `--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` 参数说明 - 提供使用示例和注意事项