新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > Modbus通信協議在分布式控制系統中的應用

        Modbus通信協議在分布式控制系統中的應用

        作者: 時間:2016-12-21 來源:網絡 收藏

        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

        GOSUB *ZFCL //對信息進行分解處理

        IF ST=1 THEN *JAOY ELSE *BACK //判斷是否本站信息

        *JAOY

        GOSUB *CRC //CRC循環冗余校驗子程序

        IF R=CRC THEN *WORK ELSE *BACK //信息校驗正確判斷

        *WORK

        IF (FU=3) THEN GOTO *DJS //讀功能碼判斷,調寫操作子程序

        IF (FU=6) THEN GOTO *XJS ELSE GOTO *BACK //寫功能碼判斷,調讀操作子程序

        *DJS //讀子程序

        ………

        *XJS //寫子程序

        ………

        *CRC //CRC 校驗子程序

        ……….

        *ZFCL //字符處理子程序

        ………

        由于ASCII模塊支持ASCII碼,而RTU則是基于二進制碼的16進制字符通信方式,所以在程序編程中增加了碼制轉換程序。

        CH5$=MID$(REX$,5,1) :CH6$=MID$(REX$,6,1) //提取字符段

        VOL=ASC(CH5$)×256+ASC(CH6$) //將ASCII碼字符轉換十進制數

        VOL$=HEX$(VOL) //將十進制數轉換成十六進制字符

        3、程序優化及安全措施

        在ASCII模塊與CPU單元數據交換程序部分,采取由ASCII模塊向CPU 單元主動發送讀寫請求信號,CPU單元在收到請求時才執行數據交換程序的方法。這樣,就縮短了PLC的掃描周期,提高了通信實時性。

        在信息差錯控制部分,采用了CRC-16循環冗余校驗算法,該算法能使信息的差錯率低于10-14以下。如果信息校驗錯誤,程序將清除緩沖區,等待DCS信息重發。

        根據生產需要,可在HMI上將現場按鈕等手控設備設為無效狀態,所有手、自動操作均在DCS上進行。考慮到如通信網絡遭到癱瘓等嚴重故障時,需保證現場電氣設備正常啟停,又增加了通信狀態定時偵測程序,在規定時間(10秒)內網絡上如無信號,PLC自動將現場按鈕等手控設備設為有效,同時DCS故障報警,直到網絡恢復正常為止。

        四、結束語

        當前分布式控制系統通信網絡的設備、軟件及整體架構,大部分是由專業廠商生產提供的,其總體性能較好。但如前所述,它們也有系統配置可選性小、網絡架構適應面窄、價格較高等缺點。筆者采用Modbus協議這一成熟通信技術,選用PLC的可編程模塊,進行基于Modbus通信協議的自主程序設計,架構起本自控系統的通信網絡。該網絡易擴展、易維護,具有結構簡單、應用靈活、編程方便、造價低廉等特點。這套系統在某化纖生產線一次投運成功,實際運行狀態良好,證明其穩定可靠,能完全滿足系統設計要求。到目前為止,該系統已在多個工程項目上投入使用,全部運行正常,取得了良好的經濟效益。

        本文創新點:采用工業領域通用的Modbus通信協議標準,利用可編程的PLC特殊功能模塊,并進行通信程序設計,低成本的解決了本系統的通信架構問題,可為分布式控制系統通信網絡兼容性設計的一個思路。


        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 璧山县| 乐安县| 六枝特区| 凌源市| 土默特右旗| 宜君县| 团风县| 沁源县| 辉县市| 蓬溪县| 孝义市| 阿拉善右旗| 谷城县| 福贡县| 彰化市| 崇义县| 遂溪县| 乡城县| 清水县| 东城区| 三亚市| 远安县| 寿宁县| 吉林市| 时尚| 恩平市| 延边| 宁陵县| 溧水县| 宜川县| 岳普湖县| 滦平县| 青海省| 娱乐| 五大连池市| 苗栗市| 斗六市| 巴马| 仙桃市| 东平县| 辽中县|