发布于 2013-09-13 20:50:36
9楼
数据采集时间与下面的时间有关:
1/ 楼主发出的读请求的传输时间T1,如果功能码是03,请求字节数为8;
2/ 从站设备的数据准备时间T2;
3/ 从站响应数据的返回时间T3,如果功能码是03,响应的字节数是:5+数据长度*2;
所以数据时间为:T1+T2+T3;
以9600为例每传送1个字节的时间为1.04ms(10bit/9600=1.04ms),如果读取10个寄存器数据,从站数据准备时间为50ms。
T=T1+T2+T3=8*1.04+50+(5+10*2)*1.04=85ms
也就是说,按照上述请求来说,返回响应的最短时间为85ms,因此,再次发出请求的间隔时间必须大于85ms。
按照楼主的要求能否做到30ms刷新数据,取决于上述计算的最短数据采集时间来觉得,而不是随意估计的。
豆豆