我想對于hmi這樣一側(cè)來說,應(yīng)該是按照設(shè)定的時間來更新變量,但是plc發(fā)送過來的數(shù)據(jù)應(yīng)該是放在hmi這邊的一個緩沖區(qū)內(nèi),hmi畫面所刷新的數(shù)據(jù)應(yīng)該也指示在自己的緩沖區(qū)內(nèi)讀取,它并不知道里面的數(shù)據(jù)是plc何時發(fā)送過來的數(shù)據(jù)、plc有無對數(shù)據(jù)跟新。
這樣理解的話,我們就要考慮三個時間:
1、plc程序自己運(yùn)行所需的掃描周期
2、通信傳遞數(shù)據(jù)所花的時間
3、hmi上設(shè)定的刷新周期
我覺得應(yīng)該是1+2<=3的這種情況的,hmi每次刷新的數(shù)據(jù)就應(yīng)該是plc更新的時時數(shù)據(jù),如果1+2>3的話,hmi進(jìn)行變量刷新的時候,讀到的數(shù)據(jù)還是上一次的,比如說有可能hmi更新第2次的時候,才是plc數(shù)據(jù)的第一次更新(當(dāng)然是相對來說的第一次和第二次哈)。
解決辦法,我覺的也是一樣從上面三點(diǎn)出發(fā):降低1和2占用的時間,或者適當(dāng)調(diào)整3為比較大但是又不影響目標(biāo)效果的值。
小弟才疏學(xué)淺,說錯了大家莫笑,我只是希望能多多學(xué)習(xí)……
我看到這才是最合理的解釋,其實影響通訊速度的就是這3個因素:1,plc的掃描周期,是根據(jù)程序來決定的,一般程序結(jié)構(gòu)簡單,程序越少,cpu越好,掃描周期很短,我用最快的是1ms,最慢的是50ms;2,是根據(jù)所設(shè)定波特率來的,dp總線的波特率越高,傳輸時間越短,當(dāng)然用以太網(wǎng)是最快的;3,cpu每刷新一次自動把數(shù)據(jù)放在hmi緩存里,而觸摸屏根據(jù)其自己的刷新來讀取數(shù)據(jù)。個人總結(jié),cpu刷新和hmi無關(guān)。