PLC数据传输过程中,数据一致性问题(1)
Data consistency in PLC data transmission (1)
PLC中编程通讯时,在数据传输过程中,数据一致性至关重要,在组态通信任务时必需注意,否则,可能导致故障发生。
通讯中数据的一致性,可以理解为,如果把源或目标数据处理时打上时间标签,在一个通讯任务完成后,这些数据的时间标签还必须是一致的。
通常的方法有,结合通讯指令的DONE信号,把源或目标数据移动到一个单一的发送/接收数据区。为了保证数据一致性,这里数据的批量移动需使用不可中断型指令SFC81 (UBLKMOVE)代替SFC20(BLKMOVE)。
PLC中许多功能指令都是由STL指令的可中断序列组成,对SFC20(BLKMOVE)在调用时只是一个块,其实是由若干STL指令组成。
如梯形图下ADD指令,切换到STL指令下查看,由多条STL指令组成。当STL指令执行到L MW 2时,此时PLC如果有更高优先级的中断发生,因为单个STL指令的执行不受中断事件的影响,执行完L MW 2后,ADD指令块将被中断,由系统控制,在中断后恢复继续执行。
情况相同,如果使用BLKMOVE复制数据,当BLKMOVE被中断后,如果中断程序中修改了还未复制完成的源数据,将导致已经复制的数据和还未复制的数据的不一致。
领取专属 10元无门槛券
私享最新 技术干货