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