首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

TIA博图编程技巧及陷阱

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被中断后,如果中断程序中修改了还未复制完成的源数据,将导致已经复制的数据和还未复制的数据的不一致。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180208G0LQGJ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券