我想对于hmi这样一侧来说,应该是按照设定的时间来更新变量,但是plc发送过来的数据应该是放在hmi这边的一个缓冲区内,hmi画面所刷新的数据应该也指示在自己的缓冲区内读取,它并不知道里面的数据是plc何时发送过来的数据、plc有无对数据跟新。
这样理解的话,我们就要考虑三个时间:
1、plc程序自己运行所需的扫描周期
2、通信传递数据所花的时间
3、hmi上设定的刷新周期
我觉得应该是1+2<=3的这种情况的,hmi每次刷新的数据就应该是plc更新的时时数据,如果1+2>3的话,hmi进行变量刷新的时候,读到的数据还是上一次的,比如说有可能hmi更新第2次的时候,才是plc数据的第一次更新(当然是相对来说的第一次和第二次哈)。
解决办法,我觉的也是一样从上面三点出发:降低1和2占用的时间,或者适当调整3为比较大但是又不影响目标效果的值。
小弟才疏学浅,说错了大家莫笑,我只是希望能多多学习……
我看到这才是最合理的解释,其实影响通讯速度的就是这3个因素:1,plc的扫描周期,是根据程序来决定的,一般程序结构简单,程序越少,cpu越好,扫描周期很短,我用最快的是1ms,最慢的是50ms;2,是根据所设定波特率来的,dp总线的波特率越高,传输时间越短,当然用以太网是最快的;3,cpu每刷新一次自动把数据放在hmi缓存里,而触摸屏根据其自己的刷新来读取数据。个人总结,cpu刷新和hmi无关。