《電子技術(shù)應用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應用 > 基于MODBUS協(xié)議智能控制系統(tǒng)設(shè)計
基于MODBUS協(xié)議智能控制系統(tǒng)設(shè)計
崔 鵬
摘要: 針對工業(yè)化生產(chǎn)的實際需求,,改變工控儀表和控制器價格較高的現(xiàn)狀同時降低成本,,設(shè)計了基于MODBUS協(xié)議的智能控制系統(tǒng)。
Abstract:
Key words :

 引言
    現(xiàn)場總線作為生產(chǎn)過程自動化發(fā)展的重點,,對推動自動化技術(shù)起到巨大的推動作用,是現(xiàn)代化工業(yè)的標志,。MODBUS作為現(xiàn)場總線的一種通信協(xié)議,,它實現(xiàn)了PLC控制器、工控儀表與設(shè)備間的通訊和信息交換,。具有MODBUS功能的工控儀表雖然應用比較廣泛,,但是工控儀表和PLC控制器價格較高并且沒有形成自主知識產(chǎn)權(quán)的產(chǎn)品,阻礙了它的進一步發(fā)展,。本文從這個問題著手,,設(shè)計基于MODBUS協(xié)議的單片機控制系統(tǒng),設(shè)計合理,,價格低廉,,自主性強,在工業(yè)控制領(lǐng)域具有廣泛的應用前景,。

1 系統(tǒng)總體設(shè)計
    系統(tǒng)中計算機PC作為主機,,AVR單片機作為從機,采用RS-485工業(yè)現(xiàn)場總線通信,。由于計算機的串口采用RS232總線標準,,因此在主機的串行通信端口必須增加RS485-RS232電平轉(zhuǎn)換器,在計算機串行端口由該電平轉(zhuǎn)換器實現(xiàn)RS-232電平與RS-485電平轉(zhuǎn)換,,主機與從機通過MOD-BUS通信協(xié)議在RS-485總線上進行數(shù)據(jù)通信和交換,,在整個RS-485總線上最多可以接255臺從機。系統(tǒng)的總體結(jié)構(gòu)如圖1所示,。

3a.jpg

 

2 系統(tǒng)硬件設(shè)計
    整個硬件電路包括:PC機,、RS485-RS232電平轉(zhuǎn)換器、電源,、復位電路,、晶振電路、AVR單片機控制系統(tǒng),。本系統(tǒng)上位機由PC機和串口組成,下位機由兩個單片機控制系統(tǒng)組成,。兩個從機設(shè)備地址為01和02,,每個單片機系統(tǒng)由Atmega32單片機,TSl2864A-3型LCD液晶顯示器,,傳感器,,PWM脈寬調(diào)制控制電路組成。下位機基于Atmega32單片機,,通過傳感器對采集數(shù)據(jù)再經(jīng)過A/D轉(zhuǎn)換后在LCD液晶屏顯示,,Atmega32單片機帶有MAX485串口,通過RS-485總線與上位機通訊,系統(tǒng)的總體硬件原理圖如圖2所示,。

3b.jpg

 

3.系統(tǒng)軟件設(shè)計
3.1 MODBUS通信協(xié)議
    軟件Modbua協(xié)議包括ASCII,、RTU、TCP等,,標準的Modbus采集器使用RS232C實現(xiàn)串行的Modbus,。Modbus的ASCII、RTU協(xié)議規(guī)定了消息,、命令和應答的方式,,數(shù)據(jù)通訊采用Maser/Slave方式,Master端發(fā)出數(shù)據(jù)請求消息,,Slave端接收到正確消息后就可以發(fā)送數(shù)據(jù)到Master端以響應請求,;Master端也可以直接發(fā)消息修改Slave端的數(shù)據(jù),實現(xiàn)雙向讀寫,。Modbus協(xié)議需要對數(shù)據(jù)進行校驗,,串行協(xié)議中除有奇偶校驗外,ASCII模式采用LRC校驗,,RTU模式采用16位CRC校驗,。
    在上位機監(jiān)控界面上建立ADOData控件,ID為IDC_ADODCl,,在通用屬性的連接中輸入服務器名稱COMPUTER,,選擇數(shù)據(jù)庫MASTER,點擊測試連接,,如果顯示測試成功,,表示連接SQLsever2000數(shù)據(jù)庫成功。再在數(shù)據(jù)庫中新建一個TABLEI表,,表中包括時間,,實際數(shù)據(jù),設(shè)定數(shù)據(jù)字段,,記錄源的命令文本中SQL命令為select*from TABLEl,;其次在監(jiān)控界面上建立DataGrid控件,在datasource屬性中選擇IDC_ADODCl,,與ADOData控件建立起聯(lián)系,,通過以上的步驟就實現(xiàn)了VC++6.O監(jiān)控界面對數(shù)據(jù)庫的訪問。在VC++6.0環(huán)境完成程序編寫,,運行得到控制系統(tǒng)的數(shù)據(jù)顯示界面如圖4,。

3c.jpg


    當上位機MODBUS串口程序把下位機的實際數(shù)據(jù)采集上來并顯示界面中后,就可以對實際數(shù)據(jù)繪制動態(tài)曲線圖,。動態(tài)曲線橫坐標是時間,,縱坐標是實際數(shù)據(jù)值,,兩個坐標確定一個動態(tài)點。動態(tài)曲線的顯示過程是把動態(tài)的數(shù)據(jù)值放到一個數(shù)組中,,每采集一個新的數(shù)據(jù)值存放在數(shù)組的最低位,,數(shù)組中的所有數(shù)據(jù)位向前移一位,最高的數(shù)據(jù)位移出,;在MSCOMM控件OnOnCommMscomm函數(shù)中得到當前具體的時,、分、秒,,再將具體時間顯示在橫坐標相應位置,,然后把數(shù)組中的所有數(shù)字以及每個數(shù)字所對應的時間的坐標點用線連接起來就構(gòu)成了動態(tài)曲線圖,動態(tài)曲線圖如圖5所示,。

3d.jpg

 

4 結(jié)束語
    本系統(tǒng)由AVR單片機,,數(shù)據(jù)采集模塊,控制電路三部分組成,。下位機采用C語言編程,,上位機采用VC++6.O編程,以SQLever2000作為后臺數(shù)據(jù)庫,,上位機與下位機之間采用RS-485總線通訊,,研究并編寫基于MODBUS協(xié)議的工控軟件。實驗測試表明,,本系統(tǒng)實現(xiàn)了上下位機基于MODBUS協(xié)議的RS-485總線通訊,,在下位機LCD和上位機VC界面顯示數(shù)據(jù)值,在數(shù)據(jù)庫中保存實際數(shù)據(jù)值,,并且繪制實際數(shù)據(jù)曲線,,實時顯示數(shù)據(jù)誤差不超過l℃。本控制系統(tǒng)符合工業(yè)控制系統(tǒng)設(shè)計的要求,,有較好的擴展性和多功能的特點,,可以擴展到255個設(shè)備多點的溫度、濕度,、壓力,、流量等數(shù)據(jù)監(jiān)測控制,在橡膠,、石油,、冶金、食品加工,、環(huán)境監(jiān)測等工業(yè)自動化控制系統(tǒng)中可以取代工控儀表和PLC的檢測和控制作用,開發(fā)具有自主知識產(chǎn)權(quán)產(chǎn)品并降低成本具有重要的現(xiàn)實意義,,本文提出的方法對于采用MODBUS協(xié)議的智能控制系統(tǒng)的研究與開發(fā)也具有一定的理論研究和實用價值,。
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。