我想对于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无关。 |