|
|
1 місяць тому | |
|---|---|---|
| .. | ||
| __pycache__ | 1 місяць тому | |
| build | 1 місяць тому | |
| dist | 1 місяць тому | |
| ModbusTimingTester.spec | 1 місяць тому | |
| ModbusTimingTester_3Baud.spec | 1 місяць тому | |
| README.md | 1 місяць тому | |
| modbus_timing_tester.py | 1 місяць тому | |
| requirements.txt | 1 місяць тому | |
| run.bat | 1 місяць тому | |
不需要安装Python,直接双击dist/ModbusTimingTester_3Baud.exe即可运行。
run.bat。软件自动生成0x01请求帧并添加Modbus CRC。数值输入支持十进制和0x开头的十六进制。
界面中输入的是期望的RS-485线路静默时间。程序以每次write()开始时刻为基准,将下一次write()安排在“当前开始时刻+1146us字符时间+目标静默时间”。这种方式会测量并自动扣除Python循环以及write+flush已经消耗的时间。例如输入1833us时,目标头到头时间为2979us,估算线路静默时间为“实测头到头时间-1146us”。
程序采用高精度计数器按绝对时刻调度,并把可测量的Python循环、write()和flush()耗时纳入计算。但Windows内核、USB驱动和USB转RS-485芯片内部仍可能缓存或合并字节,界面中的线路静默时间仍是估算值。正式验证时应使用逻辑分析仪测量线路上的字节间隔。