做了一个OMRON CP1E-N20DR(主站)和200(从站)的
modbus-RTU通讯试验,传递一个位的开关量信息,这个开关量物理上我有意接到了两台PLC上,在200中做程序检测该开关量上沿和通讯传递过来的位信号(Q0.1)上沿的时间差,CP1E中做程序是通讯尽可能快的发送该开关量的信息到200的Q0.1,在38400波特率的情况下我在200中监测到时间差30-60毫秒,肉眼可分辨出输入开关量的指示灯比Q0.1的指示灯先亮或先灭。这个滞后对于有些需要快速响应的场合可能构成问题。后查了手册,发现通讯计算CRC校验码是比较耗时的,且200主从站库计算方法还不一样,主站就耗时多些。另外CP1E的CRC校验可能也比较耗时,这些因素累加在一起导致开关量信息从物理产生开始到通讯成功传输到200耗时不少。