PLC與AI儀表RS-485通訊
一、 概述
在現代工業控制系統中,PLC的應用最為普遍。PLC與智能儀表的綜合應用比較傳統的應用是使用儀表的模擬量輸出,用PLC的DI擴展模塊來采集儀表的數據,這種方法容易受到模擬量信號的波動和因距離不一致而造成模擬量信號衰減不一致的影響,產生測量誤差,從而使整個系統的工作穩定性和可靠性降低。而使用RS-485通訊控制,僅通過一條通訊電纜連接,就可以完成PLC對溫度、濕度等模擬量的采集工作。該系統成本低、信號傳輸距離遠、抗干擾性強。
二、 系統硬件組成和連接
圖(一)系統硬件組成
系統硬件組成如圖(一)所示,主要有下列組件構成
1、 FX2N-16MR 16點繼電器輸出PLC,作為系統的核心;
2、 FX2N-485-BD為FX2N系列PLC的通訊擴展模塊,主要用于PLC和AI儀表之間的RS485的數據的發送和接收;
FX2N-485-BD和AI儀表的連接方法:
FX2N-485-BD可采用全雙工和半雙工兩種通訊方式,針對AI儀表通訊是采用半雙工2線制通訊,因此FX2N-485-BD和AI儀表的連接如下圖(二)所示
圖(二)PLC和AI儀表通訊連接示意圖
端子說明:SDA 發送數據端子 SDB發送數據端子
RDA接受數據端子 RDB接受數據端子
三、 AI儀表通訊協議
AI儀表采用16進制數據格式來表示各種指令代碼及數據。數據格式為1個起始位,8位數據,無校驗位,一個或2個停止位。AI儀表軟件通訊指令經過優化設計,只有兩條,一條為讀指令,一條為寫指令,兩條指令使得上位機軟件編寫容易。
讀: 地址代號+52H(82)+要讀參數的代號+0+0+CRC校驗碼
寫: 地址代號+43H(67)+要寫參數的代號+寫入數低字節+寫入數高字節+CRC校驗碼
地址代號:為了在一個通訊接口上連接多臺AI儀表,需要給每臺AI儀表編一個互不相同的代號。AI有效的地址為0—100。所以一條通訊線路上最多可連接101臺AI儀表。儀表的地址代號由參數Addr決定。AI儀表通訊協議規定,地址代號為兩個字節,其數值范圍(16進制數)是80H—BFH,兩個字節必需相同,數值為(儀表地址+80H)。
參數代號:儀表的參數用1個8位二進制數(一個字節,寫為16進制數)的參數代號來表示。它在指令中表示要讀/寫的參數名。參數代號見下表:
參數 調節器 AI-708M巡檢儀 流量積算儀 AI-338頻率調節器
代號 (AI-708/808/708P/808P) (AI-708H/Y) /IO模塊
00H 狀態位 (空) SV批量控制給定值 SV/SteP給定值/程
給定值/程序段 序段
01H HIAL上限報警 HIA(X) FHIA HIAL上限報警
02H LoAL下限報警 LoA(X) FLoA LoAL下限報警
03H DHAL正偏差報警 (空) SPE DHAL正偏差報警
04H DLAL負偏差報警 (空) Act DLAL負偏差報警
05H dF回差 dF(X) Esn dF回差
06H Ctrl控制方式 (空) FSc CtrL控制方式
07H M5保持參數 (空) PdIH M5保持參數
08H P速率參數 (空) CSc P速率參數
09H t滯后參數 (空) CdIH t滯后參數
0AH CtI控制周期 (空) Cut CtI控制周期
0BH Sn輸入規格 Sn(X)-34(只讀) FdIH
0CH dIP小數點位置 Sn(X)-1(只讀) FdIP dIP小數點位置
0DH dIL下限顯示值 dIL(X) PA
0EH dIH上限顯示值 dIH(X) Po
0FH ALP報警輸出選擇 ALP(X) Co
10H Sc傳感器修正 (空) Frd
11H OP1輸出方式 (空) CF
12H OPL輸出下限 (空) bc
13H OPH輸出上限 (空) IoL
14H CF功能選擇 Cn功能選擇 Foh
15H 儀表型號特征 儀表型號特征 儀表型號特征 儀表型號特征
16H addr儀表地址 addr儀表地址 addr儀表地址 addr儀表地址
17H dL數字濾波 Sn(X)-2(只讀) IoH
18H run運行參數 nonc常開/常閉 dL
19H Loc參數封鎖 Loc參數封鎖 Loc
讀指令的CRC校驗碼為:要讀參數的代號*256+82+ADDR;
寫指令的CRC校驗碼則為:要寫的參數代號*256+67+要寫的參數值+ADDR;
無論是讀還是寫,儀表都返回以下數據:
測量值PV+給定值SV+輸出值MV及報警狀態+所讀/寫參數值+CRC校驗碼。
CRC校驗碼為PV+SV+(報警狀態*256+MV)+參數值+ADDR,按整數加法相加后得到的余數。
所有指令代碼和數據均一十六進制發送和接受。
四、 軟件設計
要實現PLC和AI儀表的通訊,必須對PLC進行編程;通過程序來實現PLC對AI儀表的數據采集和參數修改。PLC程序是運用RS指令來實現串口數據的發送和接收,RS指令發收信息的順控程序格式如圖(三)所示
圖(三)PLC通訊流程圖
PLC程序首先應完成FX2N-485BD通訊模塊的初始化、控制命令自的組合、讀寫指令代碼轉換以及AI儀表返回數據的處理工作。PLC和AI儀表通訊實例:
LD M8002
MOV H0C89 D8120
LD X2
RS D100 D20 D200 D40
LD 8000
OUT M8161
LD X2
MOV H81 D100
MOV H81 D101
MOV H43 D102
MOV H01 D103
MOV H01 D104
MOV H00 D105
MOV H45 D106
MOV H01 D107
LDP X2
MOV K08 D20
MOV K20 D40
SET M8122
END
此程序是通過PLC的X2輸入端子來觸發,把地址(ADDR=1)為1的AI儀表的上限報警值(HIAL)設置為1。
五、 結語
本文通過實例討論了三菱PLC和AI儀表的RS-485通訊功能的編程和應用,有助于客戶對PLC和AI儀表的綜合應用。通過PLC程序還可以實現和觸摸屏以及上位機組態軟件的通訊,AI儀表可以更廣泛地應用到各種系統中。