楼主最近还看过
读数不稳,经常只能随机读到三个串口的数据的原因,很可能是 数据请求发下去,数据回复还没收到,就紧接着就进行 下个请求了; 可以把数据请求时间(采集周期)调大些:
1、将 父设备采集周期 设置稍大些,因 1秒 很多数据还没有 返回来;
(1)若对 数据的时效性要求不高(毕竟是DTU),可以将此 设置为 10s 、30s ;
(2)若希望快些,就设置 成3s 、5s; 同时将下面的DTU设备数据采集改为 1s;
2、modbus 很多驱动的编写,会对 连续地址的数据读取 更快些;
若可能的话(若DTU连接设备的寄存器地址可以修改),也可以把DTU下面的 设备使用的 寄存器设置成 连续的,这样利于驱动处理,也能加快些速度;
第2点在很多场景中,对速度影响不是特别明显,可以不改。
"zhyiji" 的回复,发表在5楼
对内容: 【"Allen010" 的回复,发表在2楼 对内容: 【读数不稳,经常只能随机读到三个串口的数据的原因,很可能是 数据请求发下去,数据回复还没收到,就紧接着就进行 下个请求了; 可以把数...】进行回复:
-----------------------------------------------------------------
可以这样的参数设置下:
1、对DTU的 采集周期 改成 5s ,或者10s ;
2、将父设备的 采集周期 改成 20s ,或者40s ;(4个DTU设备,父设备的采集周期 大于等于 子设备的采集周期的和,这样 设置,较稳妥些);
看这样设置 ,测试一下,看看是否正常。