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