發布日期:2022-04-20 來源:環球電氣之家 作者:環球電氣之家 點擊率:599
引言
在PLC控制系統中,Modbus串行通信是PLC控制系統與外部設備進行通信、監控外部信號的重要方式。西門子PLC在控制系統的Modbus通信中,更多的是作為主站與多個從站設備進行通信。因此,本文主要研究西門子PLC如何采用自由口(AsCII協議)實現Modbus多站點輪詢。
#1odbusRTU多站點輪詢原理
本文研究ModbusRTU多站點輪詢通信的前提是西門子PLC支持自由口實現Modbus通信。鑒于此前提,本文采用AsCII協議仿照Modbus主站協議進行多站點輪詢通信。
在AsCII協議驅動實現多站點輪詢的過程中,采用的處理方式如下:
(l)基本模式:主站主動發出請求,從站根據主站請求作出響應。
(2)數據幀:在發送或響應數據幀中要包含有站點標識的信息。
(3)實現方法:定時輪詢,直接啟動下個作業,延時啟動下個作業。
(4)校驗、錯誤處理機制:CRC、等待、丟棄、重試等,其中CRC是ModbusRTU的CRC校驗[l],是非常重要的環節。第一,自編CRC校驗功能來實現校驗:第二,依據從站提供的數據信息,提前計算出CRC校驗碼,直接填入到數據幀的最后。
(5)各個從站響應時間:需要單獨測試以便獲取每個從站響應主站的響應時間,得出時間的最大值,以此作為從站未響應主站的超時時間。
上述是本文采用的合理的輪詢處理方式,在實際應用中,針對不同的通信對象,可以具體分析并作出相應的輪詢處理。
2輪詢機制數據幀格式
根據表l中ModbusRTU數據幀格式[2],主站(基于AsCII協議)通過發送不同地址標識字符的幀來輪詢不同的從站,同時從站根據地址字符來判斷是否是給自己的消息,并據此做出相應的處理。AsCII數據幀格式如表2所示。
3主站輪詢時序
依據前面介紹的輪詢原理,本文采用合理的輪詢處理方式。西門子PLC串口作為主站進行從站輪詢時,啟動發送作業,發送作業完成位D0NE置位,主站接收功能塊將從站響應的數據送回給CPU處理,接收作業完成位NDR置位:同時主站構造下條請求指令,將請求指令傳遞到發送區域,并更新下一條指令的接收區域,啟動下一個從站的發送作業。
注意當發生故障時,可以從以下3個方面進行處理:
(1)發送功能塊無法完成,報錯位ERR0R置位,則判斷發送作業失敗,啟動下一個從站的發送作業。
(2)發送作業成功,而接收功能塊的報錯位ERR0R置位,則判斷發送作業失敗,啟動下一個從站的發送作業。
(3)發送作業成功,而接收功能塊的完成位NDR和報錯位ERR0R由于某些故障無法置位,通信無法啟動下一個從站的發送作業,所以在啟動發送作業的同時啟動超時定時器,即定時器計時結束時接收功能塊的完成位NDR和報錯位ERR0R仍然沒有置位,則判斷發送作業失敗,啟動下一個從站的發送作業。
當發生故障時,可以向當前站點再次發送請求,本文選擇的重復次數是1次。
本文以CP341作主站為例,CP341作主站輪詢從站時序圖如圖l所示,關于功能塊的信息如圖2、圖3所示。主站通過發送功能塊FB8向s1avel發送請求指令,由于slavel斷線故障,沒有收到主站請求,無法返回數據,且接收功能塊FB7的完成位NDR和報錯位ERR0R無法置位,則當超時定時器時間t0超時,主站判斷本條指令失敗,同時發起下條指令訪問s1ave2,s1ave2收到主站請求后,將響應數據返回給主站CP34l,主站將接收到的數據保存到指定位置,接收功能塊D0NE置位,同時觸發下一次發送作業。
注意,超時定時器時間t0(t0設置為秒級數據)大于主站接收到從站響應數據時間t,t是主站發出請求后直至接收到從站數據的時間。即t0>max(tl,t2,…,tl),其中tl是主站向第l個從站發出請求后直至接收到第l個從站數據的時間。
4主站輪詢流程
本節設計了初始化流程和主站輪詢流程,具體如下:
第一,初始化流程。主要完成CP模塊的參數化、輪詢計數器、復位接收緩沖區以及發送數據幀等方面的工作。
第二,主站輪詢流程。在系統初始化完成后,手動啟動第一次輪詢作業,先輪詢l#從站,如果在指定的超時時間內接收到1#從站返回的數據,則輪詢2#從站,如果在指定的超時時間內接收到2#從站返回的數據,則一次完整的輪詢結束,自動啟動新一輪的輪詢。主站輪詢流程圖如圖4所示。
如果在指定的超時時間內不能接收到從站的返回數據或接收錯誤,則跳過本站,開始輪詢下一個站點。以上內容是本文設計的西門子PLC自由口實現Modbus多站點輪詢的方案。
5結語
綜上所述,PLC自由口實現Modbus多站點輪詢的原理是比較靈活的,可以根據控制系統的要求以及從站的信息,在輪詢原理基礎上進行相應靈活的組合,實現最佳通信。本文提出的該方案最突出的優勢是這種輪詢處理方式復制性強、靈活簡便、成本低廉,可為許多工程項目帶來直接的經濟利益,有著非常廣泛的應用前景。
下一篇: PLC、DCS、FCS三大控
上一篇: 基于PLC控制污水處理