一種基于RS-485接口的通信方法
引言
建議性標準RS-485作為一種多點差分數據傳輸的電氣規范現已成為業界應用最為廣泛的標準通信接口之一。這種通信接口允許在簡單的一對雙絞線上進行多點雙向通信。但是作為數據傳輸鏈路,RS-485標準只規定了平衡驅動器和接收器的電氣特性,在此基礎上用戶必須建立自己的高層通信協議。結合水下鋼樁防腐陰極保護電流檢測系統的開發過程,介紹一種基于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碼表內的非打印字符作為命令代碼。
在一個主節點和多個從節點構成的總線式網絡中,采取主從應答方式由主節點發起并控制網上的每一次通信。每個從節點有一個識別地址,只有收到與自己地址匹配的數據幀時,才有相應的處理,并向主節點應答結果。
該系統中主要有四個通信過程,從節點發送電流或電壓數據、對從節點的采集通道啟用或禁用設置、電流和電壓的上、下限數據設置以及對從節點的時鐘校對。據此定義相應的網絡協議如下:
幀格式定義:

*命令代碼:見下表

?。刂罚簽閺墓濣c地址,有效范圍是1~254。其中256為廣播地址。
*校驗碼:采用累加和校驗,校驗碼僅取各字節之和的低字節。
?。L度:數據段的字節長度
?。獢祿危簳r鐘校對過程時,為年、月、日、時、分、秒、周共8個字節。
評論