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