Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 
 
 
 
 
ywh ee89720fff 一堆bug 1 miesiąc temu
..
__pycache__ 一堆bug 1 miesiąc temu
build 开始做PLSR项目 1 miesiąc temu
dist 开始做PLSR项目 1 miesiąc temu
ModbusTimingTester.spec 开始做PLSR项目 1 miesiąc temu
ModbusTimingTester_3Baud.spec 开始做PLSR项目 1 miesiąc temu
README.md 实现 2026 PLSR 指令及最小 Modbus RTU 1 miesiąc temu
modbus_timing_tester.py 开始做PLSR项目 1 miesiąc temu
plsr_control_panel.py 一堆bug 1 miesiąc temu
plsr_modbus_product_test.py 一堆bug 1 miesiąc temu
requirements.txt 开始做PLSR项目 1 miesiąc temu
run.bat 开始做PLSR项目 1 miesiąc temu

README.md

上位机工具

PLSR 控制面板

plsr_control_panel.py用于配置和控制2026版PLSR指令。串口参数固定为
9600、8位数据、偶校验、1位停止位(8E1),从站地址可选1~247。

在仓库根目录运行:

py -B HostComputer\plsr_control_panel.py

界面可读写公共参数和全部10段参数,轮询显示累计位置、当前频率、运行
状态、当前段和错误码,并可发送启动、停止、清零命令。Y0~Y3是同一条
PLSR逻辑的可选脉冲输出,不是四条可同时运行的独立PLSR指令;方向输出为
Y12~Y15,WAIT/EXT输入为X4或X5。

离线自测不会创建窗口或打开串口:

py -B HostComputer\plsr_control_panel.py --self-test

依赖安装:

py -m pip install -r HostComputer\requirements.txt

Modbus RTU T1.5/T3.5测试上位机

直接运行EXE

不需要安装Python,直接双击dist/ModbusTimingTester_3Baud.exe即可运行。

运行方法

  1. 将USB转RS-485模块连接到电脑和STM32从站。
  2. 将STM32串口设置为9600、19200或115200,采用8位数据、偶校验、1位停止位。
  3. 双击run.bat
  4. 选择USB转RS-485模块对应的COM口和与STM32一致的波特率。
  5. 输入从站地址、起始线圈地址和读取数量后执行测试。

软件自动生成0x01请求帧并添加Modbus CRC。数值输入支持十进制和0x开头的十六进制。

界面中输入的是期望的RS-485线路静默时间。程序以每次write()开始时刻为基准,将下一次write()安排在“当前开始时刻+1146us字符时间+目标静默时间”。这种方式会测量并自动扣除Python循环以及write+flush已经消耗的时间。例如输入1833us时,目标头到头时间为2979us,估算线路静默时间为“实测头到头时间-1146us”。

9600、8E1对应时间

  • 一个字符约为1146us。
  • T1.2约为1375us,理论上仍是一帧。
  • T1.5约为1719us。
  • T3.5约为4010us。
  • 软件使用2865us测试T1.5和T3.5之间的无效帧。
  • 软件使用5000us测试超过T3.5后的残帧。

预期结果

  • 正常连续帧:收到正常0x01响应。
  • T1.2:理论上收到正常0x01响应。
  • T1.5~T3.5:从站丢弃无效帧,不响应。
  • 超过T3.5:各字节成为残帧,不响应。

精度说明

程序采用高精度计数器按绝对时刻调度,并把可测量的Python循环、write()flush()耗时纳入计算。但Windows内核、USB驱动和USB转RS-485芯片内部仍可能缓存或合并字节,界面中的线路静默时间仍是估算值。正式验证时应使用逻辑分析仪测量线路上的字节间隔。