还是这句话, PLC编程是基于硬件系统的,熟悉编程的方法还更需要注意不同硬件的特性。 看到有的工程师说是单线程的问题,还有的说可能是IN/OUT的问题或者是通信与PLC扫描周期不匹配的问题,如果是这样IN/OUT就不能使用了,否则程序就会不稳定,但是我们再想一想,IN/OUT在HMI中被大量使用,给PLC赋值后再读回是通常的做法,如果选择OUT类型,赋值后,在画面上显示的只是写的值而非PLC中实际的值,例如赋值MW2为11,在PLC中MW2被改写为13了,而在画面中显示的任然是11,这样反而更不可靠。如果说不可靠,可以再看一个示例,在原有的基础上再添加一个数组变量,方式方法相同,参考图1
图1
然后在OB1中调用,赋值MW2和AA.aa(数据块DB的一个数组变量,参考图3)如图2所示。
图2
图3
在HMI或者TIA 博途监控表改变MW2或者AA.aa的值,MW2有时连续多次才能修改成功,而AA.aa每次都是成功的,这样可以消除上面的疑问了。