V+ —— 電源正極(注意電源正極與地不可接反)
|
DO-、DO+ --開關量接口
|
V- —— 電源地
|
A、B --485 接口
|
OUT- —— 模擬量輸出負
OUT+ —— 模擬量輸出正
|
|
線纜為穿孔輸入 指示燈定義:
RUN:正常運行,沒有連接 485 通訊時,RUN 燈顯示綠燈,1s 閃爍一次;當電流傳感器成功連接 485 通訊時,RUN 燈快速閃爍;
Alarm:打開報警開關后,當輸入電流達到電流傳感器量程的 120%時,Alarm 燈紅燈常亮,此時繼電器輸出閉合; 當輸入電流下降到傳感器量程 110%以下時,Alarm 燈熄滅。不開啟報警開關則 Alarm 不亮,繼電器不閉合。
注:
(1) 儀表接線采用可拆卸的接線端子,推薦電源、輸出、RS485 通訊和開關量接口側連接導線采用橫截面積為 0.75mm2屏蔽線。
(2) 具體接線按實物外殼上的接線圖為準。
6 通訊協議
本協議規定了 BA 電流傳感器與數據終端設備進行數據交換的物理連接和通訊協議 ,其協議方式類同 Modbus_RTU 通信規約。
6.1 協議簡述
BA 電流傳感器所使用的通訊協議詳細定義了地址碼、功能碼、校驗碼的數據序列定義,這些都是特定數據 交換的必要內容。該協議在一根通訊線上使用主從應答式連接(半雙工),這意味著在一根單獨的通訊線上信號 沿著相反的兩個方向傳輸。首先,主計算機的信號尋址到一臺**的終端設備(從機),然后,終端設備發出的 應答信號以相反的方向傳輸給主機。
本協議只允許在主機(PC,PLC 等)和終端設備之間通訊,而不允許獨立的終端設備之間的數據交換,這樣 各終端設備不會在它們初始化時占據通訊線路,而**于響應到達本機的查詢信號。
6.2 傳輸方式
信息傳輸為異步方式,并以字節為單位,在主機和從機之間傳遞的通訊信息是 11位字格式,包含 1 個起始 位、8 個數據位(*小的**位先發送)、奇偶效驗位(無校驗)、2 個停止位。
6.2.1 數據幀格式
地址碼
|
功能碼
|
數據區
|
CRC 效驗碼
|
1 字節
|
1 字節
|
n 字節
|
2 字節
|
6.2.2 地址域
地址域在幀的開始部分,由一個字節(8 位二進制碼)組成,十進制為0~255,在我們的系統中只使用 1~ 247,其它地址保留。這些位標明了用戶指定的終端設備的地址,該設備將接收來自與之相連的主機數據。每個終 端設備的地址必須是**的,僅僅被尋址到的終端會響應包含了該地址的查詢。當終端發送回一個響應,響應中 的從機地址數據便告訴了主機哪臺終端正與之進行通信。
6.2.3 功能域
功能域代碼告訴了被尋址到的終端執行何種功能。下表列出了該系列裝置用到的功能碼,以及它們的意義和
功能。
代碼
|
意義
|
行為
|
03
|
讀數據寄存器
|
獲得一個或多個寄存器的當前二進制值
|
16
|
預置多寄存器
|
設定二進制值到一系列多寄存器中
|
6.2.4 數據域
數據域包含了終端執行特定功能所需要的數據或者終端響應查詢時采集到的數據。這些數據的內容可能是數 值、參考地址或者設置值。例如:功能域碼告訴終端讀取一個寄存器,數據域則需要指明從哪個寄存器開始及讀 取多少個數據,內嵌的地址和數據依照類型和從機之間的不同內容而有所不同。
6.2.5 錯誤校驗域
該域允許主機和終端檢查傳輸過程中的錯誤。有時,由于電噪聲和其它干擾,一組數據在從一個設備傳輸到 另一個設備時在線路上可能會發生一些改變,出錯校驗能夠保證主機或者終端不去響應那些傳輸過程中發生了改 變的數據,這就提高了系統的**性和效率,錯誤校驗使用了 16 位循環冗余的方法(CRC16)。
6.2.6 錯誤檢測的方法
錯誤校驗域占用兩個字節,包含了一個 16 位的二進制值。CRC 值由傳輸設備計算出來,然后附加到數據幀 上,接收設備在接收數據時重新計算 CRC 值,然后與接收到的CRC 域中的值進行比較,如果這兩個值不相等,就 發生了錯誤。
CRC 運算時,首先將一個 16 位的寄存器預置為全 1,然后連續把數據幀中的每個字節中的8 位與該寄存器的 當前值進行運算,僅僅每個字節的8 個數據位參與生成CRC,起始位和終止位以及可能使用的奇偶位都不影響CRC。 在生成 CRC 時,每個字節的 8 位與寄存器中的內容進行異或,然后將結果向低位移位,高位則用“0 ”補充,* 低位(LSB)移出并檢測,如果是 1,該寄存器就與一個預設的固定值(0A001H)進行一次異或運算,如果*低 位為0,不作任何處理。
上述處理重復進行,直到執行完了8 次移位操作,當*后一位(第8 位)移完以后,下一個 8 位字節與寄存 器的當前值進行異或運算,同樣進行上述的另一個 8 次移位異或操作,當數據幀中的所有字節都作了處理,生成 的*終值就是 CRC 值。
生成一個 CRC 的流程為:
⑴ 預置一個 16 位寄存器為 0FFFFH(全 1),稱之為 CRC 寄存器。.
把數據幀中的**個字節的8 位與CRC 寄存器中的低字節進行異或運算,結果存回CRC 寄存器。
將 CRC 寄存器向右移一位,*高位填以 0,*低位移出并檢測。
如果*低位為0:重復第三步(下一次移位);如果*低位為 1:將CRC 寄存器與一個預設的固定值(0A001H) 進行異或運算。
重復第三步和第四步直到8 次移位。這樣處理完了一個完整的八位。
⑵ 重復第 2 步到第 5 步來處理下一個八位,直到所有的字節處理結束。
*終 CRC 寄存器的值就是 CRC 的值。