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` 参数说明
|
||
- 提供使用示例和注意事项
|