牛文彬+呂靜+呂旭東
[摘 要]在油田生產中,智能儀表的數量越來越多,如何利用Modbus通訊對現場儀表數據進行采集及控制已成為當前數字化建設的突出問題。因此,本文通過和利時PLC的RS485串行通行通訊口基于Modbus協議改進PLC與從設備的數據采集。
[關鍵詞]和利時PLC;RS485;串行通訊;Modbus協議
doi:10.3969/j.issn.1673 - 0194.2017.08.092
[中圖分類號]TP273 [文獻標識碼]A [文章編號]1673-0194(2017)08-0-01
0 引 言
目前,在長慶油田投入使用的增壓撬中多數采用和利時LM3109的PLC,基于油田SCADA數字化的集成發展,越來越多的智能儀表需要進行數據采集,為了減少占用PLC的IO點,并保證數據傳輸的準確性,利用LM3109的RS485串行通信口對其他智能儀表的數據采集成為了最好的解決方案。
1 Modbus和RS485的簡介
Modbus協議描述了一個控制器請求訪問其他設備的過程,如何回應來自其他設備的請求以及怎樣偵測錯誤并記錄,制定了消息域的格式和內容。協議決定了每個控制器必須知道自己的設備地址,根據地址識別消息的歸屬,決定執行何種功能。控制器生成報文并以Modbus協議幀方式發送報文。
RS485采用差分信號負邏輯,+2~+6 V表示“0”,-6~-2 V表示“1”。RS485有兩線制和四線制兩種接線,四線制是全雙工通訊方式,兩線制是半雙工通訊方式,半雙工數據通訊模式下數據的收發不能同時進行。在RS485通信網絡中一般采用的是主從通信方式,允許連接多達128個設備。
2 現場設備物理層連接
現場設備物理層連接示意圖所示。
設備按照RS485兩線制通訊方式,接出來的RS485通訊線與PLC的RS485通訊總線進行連接。線路連通后在PLC中編寫符合作業流程計算的程序。
3 程序設計及比較
3.1 2臺RS485從設備
對于常見的增壓站,PLC需要讀取2臺輸油泵的變頻器,在程序中通過繼電器的交替接通選擇從哪臺從設備讀取數據。因為各延時繼電器的觸發都是各自獨立循環的,所以實際工作時會出現各從設備的詢問幀發送數量不一樣的情況。
3.2 多臺RS485從設備
當現場存在3臺及3臺以上從設備需要采集數據時,采用兩個延時繼電器交替運行的方法已經不能使用了,于是將程序中控制從設備地址的延時繼電器改為一個,并由變量自增循環選擇從設備。但在實際工作中會出現有時從設備的數據變化不連續。該問題出現在當現場采用兩線制RS485通訊時,線路中可能會同時出現詢問幀在發送,而從設備在同時發送應答幀時,考慮到兩線制RS485通訊為半雙工的情況,同時存在的數據要么是發送,要么是接收,要想實現主設備對從設備的一問一答就需要再次改進程序結構。
3.3 遵循RS485半雙工通訊的多從設備通訊
為了能達到半雙工通訊的要求,將通訊程序結構分為4個階段,即通訊間隔、發送詢問幀、接受詢問幀或接收超時、1.5字符停頓,具體程序結構如圖2所示。
該程序結構實現了多個從設備通訊的完整循環。t1是從設備的延時器,t2是詢問幀,兩者變化時間一致。當PLC通過COMM2_SEND向從設備發送數據時,COMM2_RECEIVE接收數據反饋并進行收包統計。如果發現從設備故障無法應答,t2認為此通訊超時并發出指令,PLC的監控進程進入下一輪詢。在現場實際使用中,通過詢問幀結構PLC發送詢問幀,從設備發回應答幀,實現了主設備對從設備通訊的一問一答,數據連續更新,達到了預期要求。
4 結 語
經過程序改進并在現場多臺設備上實際運行后,改進后的RS485通訊程序能連續處理現場從設備發回的數據,保證了現場數據能及時處理并發回SCADA平臺,實現了在SCADA平臺上實時讀取現場的從設備數據的目的。