Modbus 通信協議在分布式控制系統中的應用
2.2 網絡構成及硬件介紹
網絡采用RS485串行接口,通信媒體由4芯屏蔽電纜連接主從設備,傳輸距離最大達1.5Km,全雙工,串口設定波特率19200,8位數據位、偶校驗、1位停止位。DCS通信部分采用橫河型號為ALR121的通信模塊,并配套橫河提供的Modbus通信軟件包,該通信模塊最大通信數據容量4000字。PLC通信部分則采用Omron的C200H-ASCII 21可編程特殊單元模塊(以下簡稱ASCII模塊),該模塊支持BASIC語言編程,內有200K字節的程序存儲區,配備RS232、RS485通信串口各一個。通過對該模塊的編程,可實現與外圍設備的各種通信。本系統通過ASCII模塊與DCS基于Modbus協議的通信,將DCS的讀、寫指令及數據做相應轉換,并與PLC的CPU單元進行數據存取交換,以實現上下位機控制信息的實時傳輸。如圖四所示。
三、軟件實現
1、 建立地址分配、對應表
DCS人機監控界面(HMI)上面向現場儀表的圖形符號對象的監控,需通過DCS I/O物理地址對現場儀表信號的采集來實現。DCS對現場電氣執行、檢測機構的監控,則是由DCS通信I/O地址與PLC I/O物理地址一一對應完成的。為此,在編程前,需建立一張DCS通信I/O地址與PLC I/O地址的分配、對應表。由于PLC邏輯控制編程需要,不便直接將PLC I/O物理地址與DCS通信I/O地址對應,故采取了間接地址的方式。具體設計采用PLC的數據存儲區DM區作為間接地址區,與DCS通信I/O區建立聯系,再將DM區與PLC I/O區相對應。如將DCS的%WB000101位通信I/O地址與D0000.00位地址對應,D0000.00再對照PLC的I0000.00位物理輸入點,就能將現場電氣執行機構的運行狀態反饋到HMI上。按照這種方法就建立了一張上下位機地址分配、對應表,因篇幅所限,該表略。
2、程序設計
ASCII模塊支持BASIC語言編程,此外,又附加了多條系統及函數指令,如接收、發送緩沖區操作指令、信息傳輸差錯控制CRC、LRC校驗函數指令和與CPU單元數據交換的讀寫指令等。編程使用WINDOWS操作系統上附帶的Hyperterminal(超級終端)軟件,通過此軟件,PC機可與連接在網絡上的其它PC機或串口終端設備進行文本文件的傳輸及顯示。編程時,將PC機串口與ASCII模塊的RS232串口連接,運行該軟件,就能在其界面上對ASCII模塊進行程序編寫、上傳、下載和調試等工作。也可先通過WINDOWS系統的寫字板編寫程序,并保存為文本格式,然后再通過Hyperterminal將程序下載到ASCII模塊。通信程序的主工作流程見圖五。
部分程序代碼如下:
OPTION BASE 0 //定義數組
DIM R(128),FC(128)
R(48)=0:R(49)=1:R(50)=2:R(51)=3:R(52)=4:R(53)=5:R(54)=6:R(55)=7:R(56)=8
R(57)=9:R(65)=h0a:R(66)=h0b:R(67)=h0c:R(68)=h0d:R(69)=h0e:R(70)=h0f
R(97)=h0a:R(98)=h0b:R(99)=h0c:R(100)=h0d:R(101)=h0e:R(102)=h0f
OPEN #2,"COMU:19200,8,E,1" //設定串口參數
A%=LOC(2) //判斷接收緩沖區字符
IF A%=8 THEN
REX$=INPUT$(A%,#2)
……….
ENDIF
數字通信相關文章:數字通信原理
評論