摘 要:本文就一種DCS與(yu) PLC作為(wei) 上下位機的分布式控製係統,介紹基於(yu) Modbus協議的通信網絡在其中的應用,以及該網絡的硬件構成及程序設計。
關(guan) 鍵詞:Modbus協議 分布式控製係統 通信網絡 串口通訊 可編程控製器
一、引 言
現代工業(ye) 的迅速發展,不斷促進著自控技術及設備創新的日新月異。當前,DCS、IPC、PLC及智能儀(yi) 表已廣泛應用到工廠現場生產(chan) 控製係統當中,並發展到由上述設備相互協同、共同麵向整個(ge) 生產(chan) 過程的分布式工業(ye) 自動控製係統。在此係統中,現場通信技術堪稱關(guan) 鍵。但由於(yu) 開始沒有統一的通信協議標準,各廠商自控產(chan) 品通信協議各自為(wei) 政,通信網絡各成體(ti) 係,造成不同廠家的自控設備網絡連接困難甚至不能連接,給分布式控製係統的靈活應用造成了不便。一些公司為(wei) 適應市場,紛紛將各自的協議標準公開化,可無償(chang) 使用。經過多年發展,一些通信協議如Modicon公司的Modbus通信協議因其兼容性、易用性的優(you) 勢,在工業(ye) 領域得到了廣泛應用,已成為(wei) 一種通用的工業(ye) 通信標準。本文就某化纖項目分布式控製係統的設計,介紹基於(yu) Modbus協議的通信網絡在其中的應用。
二、係統組成
1、係統結構
本係統構成如圖1,其中略去了現場儀(yi) 表信號的采集、控製部分。係統上位機采用橫河CS3000型DCS集散控製係統,對整個(ge) 生產(chan) 過程進行集中監控;下位機采用Omron的CS1H係列PLC,分布在3個(ge) 電氣控製室,負責現場電機、OCV閥、流量開關(guan) 、變頻器等執行、檢測機構的啟停控製、反饋信號采集、故障判斷等操作。

基於(yu) 通信實時性的考慮,將DCS與(yu) 3個(ge) PLC控製站分為(wei) 兩(liang) 個(ge) 相對獨立的通信網絡:PLC1和PLC2與(yu) DCS一端口組成網絡一,PLC3與(yu) DCS二端口組成網絡二。由於(yu) 上下位機均無麵向同一協議的通信設備,給設計造成了困難。經考慮,決(jue) 定采用Modbus通信協議,由其構成本分布式控製係統的通信網絡。
2、通信網絡組成
2.1通信協議
Modbus協議是一種適用於(yu) 工業(ye) 控製領域的主從(cong) 式串口通訊協議,它采用查詢通訊方式進行主從(cong) 設備的信息傳(chuan) 輸,可尋址1-247個(ge) 設備地址範圍。協議包括廣播查詢和單獨設備查詢兩(liang) 種方式,二者區別就是廣播查詢不需要從(cong) 設備回應信息,主從(cong) 設備查詢通訊過程見圖二。

Modbus協議有兩(liang) 種傳(chuan) 輸模式:ASCII模式和RTU模式。同波特率下,RTU模式較ASCII模式能傳(chuan) 輸更多的數據,所以工業(ye) 網絡大都采用RTU模式。RTU模式下的信息傳(chuan) 輸報文格式如圖三。

它沒有起始位和停止位,而是由至少3.5個(ge) 字符間隔時間作為(wei) 信息的起始、結束標誌。信息幀所有字符位由16進製字符0-9、A-F組成。本設計采用單獨設備查詢的RTU模式通信方式,根據係統構成,將DCS一端口設01H、02H兩(liang) 個(ge) PLC從(cong) 站地址,二端口設01H一個(ge) PLC從(cong) 站地址,並使用Modbus協議中的讀字存儲(chu) 區03H和寫(xie) 字存儲(chu) 區06H兩(liang) 個(ge) 功能碼。
2.2 網絡構成及硬件介紹
網絡采用RS485串行接口,通信媒體(ti) 由4芯屏蔽電纜連接主從(cong) 設備,傳(chuan) 輸距離最大達1.5Km,全雙工,串口設定波特率19200,8位數據位、偶校驗、1位停止位。DCS通信部分采用橫河型號為(wei) ALR121的通信模塊,並配套橫河提供的Modbus通信軟件包,該通信模塊最大通信數據容量4000字。PLC通信部分則采用Omron的C200H-ASCII 21可編程特殊單元模塊(以下簡稱ASCII模塊),該模塊支持BASIC語言編程,內(nei) 有200K字節的程序存儲(chu) 區,配備RS232、RS485通信串口各一個(ge) 。通過對該模塊的編程,可實現與(yu) 外圍設備的各種通信。本係統通過ASCII模塊與(yu) DCS基於(yu) Modbus協議的通信,將DCS的讀、寫(xie) 指令及數據做相應轉換,並與(yu) PLC的CPU單元進行數據存取交換,以實現上下位機控製信息的實時傳(chuan) 輸。如圖四所示。

三、軟件實現
1、 建立地址分配、對應表
DCS人機監控界麵(HMI)上麵向現場儀(yi) 表的圖形符號對象的監控,需通過DCS I/O物理地址對現場儀(yi) 表信號的采集來實現。DCS對現場電氣執行、檢測機構的監控,則是由DCS通信I/O地址與(yu) PLC I/O物理地址一一對應完成的。為(wei) 此,在編程前,需建立一張DCS通信I/O地址與(yu) PLC I/O地址的分配、對應表。由於(yu) PLC邏輯控製編程需要,不便直接將PLC I/O物理地址與(yu) DCS通信I/O地址對應,故采取了間接地址的方式。具體(ti) 設計采用PLC的數據存儲(chu) 區DM區作為(wei) 間接地址區,與(yu) DCS通信I/O區建立聯係,再將DM區與(yu) PLC I/O區相對應。如將DCS的%WB000101位通信I/O地址與(yu) D0000.00位地址對應,D0000.00再對照PLC的I0000.00位物理輸入點,就能將現場電氣執行機構的運行狀態反饋到HMI上。按照這種方法就建立了一張上下位機地址分配、對應表,因篇幅所限,該表略。
2、程序設計
ASCII模塊支持BASIC語言編程,此外,又附加了多條係統及函數指令,如接收、發送緩衝(chong) 區操作指令、信息傳(chuan) 輸差錯控製CRC、LRC校驗函數指令和與(yu) CPU單元數據交換的讀寫(xie) 指令等。編程使用WINDOWS操作係統上附帶的Hyperterminal(超級終端)軟件,通過此軟件,PC機可與(yu) 連接在網絡上的其它PC機或串口終端設備進行文本文件的傳(chuan) 輸及顯示。編程時,將PC機串口與(yu) ASCII模塊的RS232串口連接,運行該軟件,就能在其界麵上對ASCII模塊進行程序編寫(xie) 、上傳(chuan) 、下載和調試等工作。也可先通過WINDOWS係統的寫(xie) 字板編寫(xie) 程序,並保存為(wei) 文本格式,然後再通過Hyperterminal將程序下載到ASCII模塊。通信程序的主工作流程見圖五。

部分程序代碼如下:
OPTION BASE 0 //定義(yi) 數組
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) //判斷接收緩衝(chong) 區字符
IF A%=8 THEN
REX$=INPUT$(A%,#2)
……….
ENDIF
GOSUB *ZFCL //對信息進行分解處理
IF ST=1 THEN *JAOY ELSE *BACK //判斷是否本站信息
*JAOY
GOSUB *CRC //CRC循環冗餘(yu) 校驗子程序#p#分頁標題#e#
IF R=CRC THEN *WORK ELSE *BACK //信息校驗正確判斷
*WORK
IF (FU=3) THEN GOTO *DJS //讀功能碼判斷,調寫(xie) 操作子程序
IF (FU=6) THEN GOTO *XJS ELSE GOTO *BACK //寫(xie) 功能碼判斷,調讀操作子程序
*DJS //讀子程序
………
*XJS //寫(xie) 子程序
………
*CRC //CRC 校驗子程序
……….
*ZFCL //字符處理子程序
………
由於(yu) ASCII模塊支持ASCII碼,而RTU則是基於(yu) 二進製碼的16進製字符通信方式,所以在程序編程中增加了碼製轉換程序。
CH5$=MID$(REX$,5,1) :CH6$=MID$(REX$,6,1) //提取字符段
VOL=ASC(CH5$)×256+ASC(CH6$) //將ASCII碼字符轉換十進製數
VOL$=HEX$(VOL) //將十進製數轉換成十六進製字符
3、程序優(you) 化及安全措施
在ASCII模塊與(yu) CPU單元數據交換程序部分,采取由ASCII模塊向CPU 單元主動發送讀寫(xie) 請求信號,CPU單元在收到請求時才執行數據交換程序的方法。這樣,就縮短了PLC的掃描周期,提高了通信實時性。
在信息差錯控製部分,采用了CRC-16循環冗餘(yu) 校驗算法,該算法能使信息的差錯率低於(yu) 10-14以下。如果信息校驗錯誤,程序將清除緩衝(chong) 區,等待DCS信息重發。
根據生產(chan) 需要,可在HMI上將現場按鈕等手控設備設為(wei) 無效狀態,所有手、自動操作均在DCS上進行。考慮到如通信網絡遭到癱瘓等嚴(yan) 重故障時,需保證現場電氣設備正常啟停,又增加了通信狀態定時偵(zhen) 測程序,在規定時間(10秒)內(nei) 網絡上如無信號,PLC自動將現場按鈕等手控設備設為(wei) 有效,同時DCS故障報警,直到網絡恢複正常為(wei) 止。
四、結束語
當前分布式控製係統通信網絡的設備、軟件及整體(ti) 架構,大部分是由專(zhuan) 業(ye) 廠商生產(chan) 提供的,其總體(ti) 性能較好。但如前所述,它們(men) 也有係統配置可選性小、網絡架構適應麵窄、價(jia) 格較高等缺點。筆者采用Modbus協議這一成熟通信技術,選用PLC的可編程模塊,進行基於(yu) Modbus通信協議的自主程序設計,架構起本自控係統的通信網絡。該網絡易擴展、易維護,具有結構簡單、應用靈活、編程方便、造價(jia) 低廉等特點。這套係統在某化纖生產(chan) 線一次投運成功,實際運行狀態良好,證明其穩定可靠,能完全滿足係統設計要求。到目前為(wei) 止,該係統已在多個(ge) 工程項目上投入使用,全部運行正常,取得了良好的經濟效益。
本文創新點:采用工業(ye) 領域通用的Modbus通信協議標準,利用可編程的PLC特殊功能模塊,並進行通信程序設計,低成本的解決(jue) 了本係統的通信架構問題,可為(wei) 分布式控製係統通信網絡兼容性設計的一個(ge) 思路。
參考文獻:
1. Modicon. Modbus Protocol Reference Guide. 1996
2. Omron. C200H-ASCII UNITS Operation Manual. 1998
3. Omron. SYSMAC CS1 Series Programmable Controllers Operation Manual. 1999
4. 橫河CS3000 Reference Manual. 2001
5. 其其格 利用VC實現Modbus的兩(liang) 種檢測方法 《微計算機信息》 2004.1
6. 劉東(dong) 循環冗餘(yu) 校驗CRC算法分析及程序實現. 《計算機與(yu) 信息技術》2002.9
轉載請注明出處。








相關文章
熱門資訊
精彩導讀


















關注我們

