Files
dtm-py-all/命令行参数说明.md

136 lines
3.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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