物聯網技術日益發展,其各項技術逐漸被應用到各個行業,下面介紹一種基于RS-485的通信接口方法。
1 網絡配置
原料碼頭分為引橋(長1700米)、主碼頭(長640米)和副碼頭(長430米)。呈反F形態,由855根鋼樁支撐。每根鋼樁分二或三段加以陰極保護電流以防腐蝕。陰極保護電流總數可達2565路。為實時監測陰極保護電流的變化,在碼頭各點安裝電流檢測裝置57臺、參比電壓檢測裝置1臺(以下稱從節點),每臺最大檢測48路電流或64路電壓,通過RS-485網絡向電氣控制室的PC機(以下稱主節點)傳送數據或由主節點設置各個從節點的工作狀態。
RS-485網絡拓撲一般采用終端匹配的總線型結構,不支持環形或星型結構。根據本系統中的反F形狀的特點,網絡拓撲結構采用了三條總線分別將各個從節點串接起來,再用兩個集線器整合為一條總線與主節點相連、實現網絡的合理布局。集線器同時又有中繼器的作用,延長了通信距離。理論上可以串接8個集線器,通信距離可達9.6公里。
詳見網絡連接圖。(圖一)
圖一
2 數據編碼和通信協議
串行通信的格式是:8位數據位,1位啟動位,1位停止位,無校驗位,通信速率是9600bps。
為了避免數據代碼和命令代碼沖突而引起通信混亂,通信代碼都采用ASIIC碼的編碼形式。由于本系統中數據代碼只有數值數據,0~9,A~F除外的字符都可以用作命令代碼。假如數據代碼中有文本數據的話,就必須用ASIIC碼表內的非打印字符作為命令代碼。
在一個主節點和多個從節點構成的總線式網絡中,采取主從應答方式由主節點發起并控制網上的每一次通信。每個從節點有一個識別地址,只有收到與自己地址匹配的數據幀時,才有相應的處理,并向主節點應答結果。
該系統中主要有四個通信過程,從節點發送電流或電壓數據、對從節點的采集通道啟用或禁用設置、電流和電壓的上、下限數據設置以及對從節點的時鐘校對。據此定義相應的網絡協議如下:
幀格式定義:
* 命令代碼:見下表
* 地址:為從節點地址,有效范圍是1~254。其中256為廣播地址。
* 校驗碼:采用累加和校驗,校驗碼僅取各字節之和的低字節。
* 長度:數據段的字節長度
* 數據段:時鐘校對過程時,為年、月、日、時、分、秒、周共8個字節。
發送電流或電壓數據時,為i (0≦i≦47)開始的8組采集數據,每組數據為4個字節。
采集通道啟用或禁用設置時,為6個字節,分別表示48路采集通道的狀態,其中1表示啟用,0表示禁用。
在廣播方式時(地址為256),為電流和電壓的上、下限數據共8個字節。
* 響應幀:通過校驗后,將接受幀中的命令代碼改寫為V,回送給主節點進行二次確認,保證數據傳送無誤。
3 軟件流程和程序清單
為保證通信暢通和從節點的本地事務順利執行,設計了限時退出的通信方法,既在收到與自己地址不匹配的數據幀時,臨時關閉通信口。這樣既保證了本地事務的執行時間,又可避免從節點常在網上可能引起的雙向干擾。因此在上、下位機的軟件設計中采用二次檢錯、重發和限時退出并重新握手建立連接等通信機制?,F場調試中發現,在某些節點工作異常,甚至通信網絡完全癱瘓的情況下其他各節點也能獨立完成數據采集、異常報警和實時數據存儲等本地事務。一旦故障節點排除,既可恢復通信。
* 軟件流程如下:
* 軟件實現和主要程序清單:
在處理器內留出以COM_REG為首地址的寄存器組,用來存放接受或發送的一幀數據包,并以COM_REG_CUNT寄存器作為一幀數據長度的計數器,利用循環結構很容易編制一幀數據包的收發通用程序了
TRANS_485: ;收發通用程序
BCF RC,R485_P ;開啟485通信口。
_DELAY D‘3‘
MOVLW COM_REG
MOVWF FSR
MOVLW COM_REG_CUNT
MOVWF COUNT
CALL RS_HEX_IN ;一個字節收發子程序。
BTFSC SYS_FLAGE,CONMM_ERR ;通信錯誤狀態標準位。
RETURN
MOVWF INDF
INCF FSR
DECFSZ COUNT
GOTO $-6
RETURN
* 其他主要子程序:
XIAO_SUB ;校驗和子程序
CLRF TEMP
MOVF INDF,W
ADDWF TEMP
INCF FSR
DECFSZ COM_REG_CUNT
GOTO $-4
RETURN
ASCH ; ASIIC碼轉化程序
MOVWF TEMP
MOVLW D‘48‘
SUBWF TEMP,W
BTFSS STATUS,C
RETLW 0H
MOVLW D‘71‘
SUBWF TEMP,W
BTFSC STATUS,C
RETLW 0H
MOVLW 41H ;D‘65‘——A
SUBWF TEMP,W
BTFSC STATUS,C
GOTO ASCH_A_Z
CLRF C
MOVLW 30h ;D‘48‘——0
SUBWF TEMP,W
RETURN
ASCH_A_Z
CLRF C
OVLW 37H ;D‘55‘——7
SUBWF TEMP,W
RETURN
* 主節點相關界面見圖2、圖3。
4 結束語
在兩年多24小時不間斷運行中,通信過程始終處于穩定、暢通的工作狀態。為整個系統的可靠運行提供了堅實的基礎,完全滿足了用戶的要求和設計指標。
該系統的使用,提高了巡檢人員的工作效率和工作條件。對于及時、準確地了解整個防腐工程的現狀,早期隱患(如有異物纏繞、參比電極的早期失效等)的發現都起到了非常重要的作用。同時把該領域內的監測水平迅速提高到和國際接軌、國內領先的位置。
創新觀點:提出了利用RS485集線器可以構成星型網絡拓撲結構。軟件設計時采用二次檢錯、限時退出并重新握手建立連接等通信機制。這樣既保證了本地事務的執行時間,又可避免從節點常在網上可能引起的雙向干擾。 ------ by 王明衍