對于很多其他的通信協(xié)議,當我們遇到數(shù)據(jù)變量比較零散,同時讀取多個存儲區(qū)或者一個存儲區(qū)多個不同部分的時候,我們只能針對每個存儲區(qū)或者每塊區(qū)域做一個數(shù)據(jù)請求,但是西門子S7協(xié)議可以解決這樣的問題。
西門子S7協(xié)議有一個非常強大的一個地方,可以同時讀取很多個不同的存儲區(qū),***大支持19種,總共讀取長度仍然受PDU的限制。
這里我們?nèi)匀灰詫嶒灉y試為例,體驗多組讀取帶來的美妙體驗。
假設(shè)我們的通信組配置如下:
通信組01:讀取I區(qū)從0開始的1個字節(jié)
通信組02:讀取Q區(qū)從0開始的1個字節(jié)
通信組03:讀取M區(qū)從0開始的200個字節(jié)
通信組04:讀取M區(qū)從500開始的50個字節(jié)
通信組05:讀取M區(qū)從1000開始的60個字節(jié)
通信組06:讀取DB100從0開始的20個字節(jié)
通信組07:讀取DB100從20開始的20個字節(jié)
通信組08:讀取DB100從40開始的20個字節(jié)
通信組09:讀取DB100從60開始的20個字節(jié)
我們采用常用S7-1200PLC,通過配置軟件實現(xiàn)配置以上9個通信組,開始通信測試,首先我們選擇的是單組讀取的方式,就是針對每個組,依次進行讀取,結(jié)果如下,耗時大約200ms,這個時間應(yīng)該相對來說還是比較正常的。
接著,將讀取方式改成了多組讀取,再進行測試發(fā)現(xiàn)結(jié)果如下:
通過結(jié)果發(fā)現(xiàn),多組讀取對于存儲區(qū)較為零散的項目來說,有著非常重要的作用,可以大大提高通信效率。
總結(jié)
通過上面一系列的分享,相信大家對西門子PLC通信有了更加深入的了解,希望大家可以多多實踐。
每種通信方式都有自己的優(yōu)缺點,對各種通信方式和協(xié)議了解之后,你才能夠在不同的場合選擇適合的通信方式,給出***合理的解決方案。