引言
現(xiàn)場總線作為生產(chǎn)過程自動化發(fā)展的重點,對推動自動化技術(shù)起到巨大的推動作用,是現(xiàn)代化工業(yè)的標(biāo)志。MODBUS作為現(xiàn)場總線的一種通信協(xié)議,它實現(xiàn)了PLC控制器、工控儀表與設(shè)備間的通訊和信息交換。具有MODBUS功能的工控儀表雖然應(yīng)用比較廣泛,但是工控儀表和PLC控制器價格較高并且沒有形成自主知識產(chǎn)權(quán)的產(chǎn)品,阻礙了它的進(jìn)一步發(fā)展。本文從這個問題著手,設(shè)計基于MODBUS協(xié)議的單片機(jī)控制系統(tǒng),設(shè)計合理,價格低廉,自主性強,在工業(yè)控制領(lǐng)域具有廣泛的應(yīng)用前景。
1 系統(tǒng)總體設(shè)計
系統(tǒng)中計算機(jī)PC作為主機(jī),AVR單片機(jī)作為從機(jī),采用RS-485工業(yè)現(xiàn)場總線通信。由于計算機(jī)的串口采用RS232總線標(biāo)準(zhǔn),因此在主機(jī)的串行通信端口必須增加RS485-RS232電平轉(zhuǎn)換器,在計算機(jī)串行端口由該電平轉(zhuǎn)換器實現(xiàn)RS-232電平與RS-485電平轉(zhuǎn)換,主機(jī)與從機(jī)通過MOD-BUS通信協(xié)議在RS-485總線上進(jìn)行數(shù)據(jù)通信和交換,在整個RS-485總線上最多可以接255臺從機(jī)。系統(tǒng)的總體結(jié)構(gòu)如圖1所示。
2 系統(tǒng)硬件設(shè)計
整個硬件電路包括:PC機(jī)、RS485-RS232電平轉(zhuǎn)換器、電源、復(fù)位電路、晶振電路、AVR單片機(jī)控制系統(tǒng)。本系統(tǒng)上位機(jī)由PC機(jī)和串口組成,下位機(jī)由兩個單片機(jī)控制系統(tǒng)組成。兩個從機(jī)設(shè)備地址為01和02,每個單片機(jī)系統(tǒng)由Atmega32單片機(jī),TSl2864A-3型LCD液晶顯示器,傳感器,PWM脈寬調(diào)制控制電路組成。下位機(jī)基于Atmega32單片機(jī),通過傳感器對采集數(shù)據(jù)再經(jīng)過A/D轉(zhuǎn)換后在LCD液晶屏顯示,Atmega32單片機(jī)帶有MAX485串口,通過RS-485總線與上位機(jī)通訊,系統(tǒng)的總體硬件原理圖如圖2所示。
3.系統(tǒng)軟件設(shè)計
3.1 MODBUS通信協(xié)議
軟件Modbua協(xié)議包括ASCII、RTU、TCP等,標(biāo)準(zhǔn)的Modbus采集器使用RS232C實現(xiàn)串行的Modbus。Modbus的ASCII、RTU協(xié)議規(guī)定了消息、命令和應(yīng)答的方式,數(shù)據(jù)通訊采用Maser/Slave方式,Master端發(fā)出數(shù)據(jù)請求消息,Slave端接收到正確消息后就可以發(fā)送數(shù)據(jù)到Master端以響應(yīng)請求;Master端也可以直接發(fā)消息修改Slave端的數(shù)據(jù),實現(xiàn)雙向讀寫。Modbus協(xié)議需要對數(shù)據(jù)進(jìn)行校驗,串行協(xié)議中除有奇偶校驗外,ASCII模式采用LRC校驗,RTU模式采用16位CRC校驗。
在上位機(jī)監(jiān)控界面上建立ADOData控件,ID為IDC_ADODCl,在通用屬性的連接中輸入服務(wù)器名稱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。
當(dāng)上位機(jī)MODBUS串口程序把下位機(jī)的實際數(shù)據(jù)采集上來并顯示界面中后,就可以對實際數(shù)據(jù)繪制動態(tài)曲線圖。動態(tài)曲線橫坐標(biāo)是時間,縱坐標(biāo)是實際數(shù)據(jù)值,兩個坐標(biāo)確定一個動態(tài)點。動態(tài)曲線的顯示過程是把動態(tài)的數(shù)據(jù)值放到一個數(shù)組中,每采集一個新的數(shù)據(jù)值存放在數(shù)組的最低位,數(shù)組中的所有數(shù)據(jù)位向前移一位,最高的數(shù)據(jù)位移出;在MSCOMM控件OnOnCommMscomm函數(shù)中得到當(dāng)前具體的時、分、秒,再將具體時間顯示在橫坐標(biāo)相應(yīng)位置,然后把數(shù)組中的所有數(shù)字以及每個數(shù)字所對應(yīng)的時間的坐標(biāo)點用線連接起來就構(gòu)成了動態(tài)曲線圖,動態(tài)曲線圖如圖5所示。
4 結(jié)束語
本系統(tǒng)由AVR單片機(jī),數(shù)據(jù)采集模塊,控制電路三部分組成。下位機(jī)采用C語言編程,上位機(jī)采用VC++6.O編程,以SQLever2000作為后臺數(shù)據(jù)庫,上位機(jī)與下位機(jī)之間采用RS-485總線通訊,研究并編寫基于MODBUS協(xié)議的工控軟件。實驗測試表明,本系統(tǒng)實現(xiàn)了上下位機(jī)基于MODBUS協(xié)議的RS-485總線通訊,在下位機(jī)LCD和上位機(jī)VC界面顯示數(shù)據(jù)值,在數(shù)據(jù)庫中保存實際數(shù)據(jù)值,并且繪制實際數(shù)據(jù)曲線,實時顯示數(shù)據(jù)誤差不超過l℃。本控制系統(tǒng)符合工業(yè)控制系統(tǒng)設(shè)計的要求,有較好的擴(kuò)展性和多功能的特點,可以擴(kuò)展到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ā)也具有一定的理論研究和實用價值。
-
單片機(jī)
+關(guān)注
關(guān)注
6044文章
44633瀏覽量
639540 -
數(shù)據(jù)采集
+關(guān)注
關(guān)注
39文章
6329瀏覽量
114180 -
智能控制
+關(guān)注
關(guān)注
4文章
602瀏覽量
42390
發(fā)布評論請先 登錄
相關(guān)推薦
基于單片機(jī)的智能氣動泵控制系統(tǒng)的設(shè)計(圖
怎樣去設(shè)計一個關(guān)于單片機(jī)的數(shù)據(jù)采集控制系統(tǒng)呢
基于PIC單片機(jī)的以太網(wǎng)數(shù)據(jù)采集與控制電路設(shè)計
變頻控制系統(tǒng)單片機(jī)外圍電路設(shè)計探討
基于AVR單片機(jī)和LabVIEW的水溫控制系統(tǒng)
![基于<b class='flag-5'>AVR</b><b class='flag-5'>單片機(jī)</b>和LabVIEW的水溫<b class='flag-5'>控制系統(tǒng)</b>](https://file.elecfans.com/web2/M00/49/24/pYYBAGKhtDuAeSqEAAAOWDHYH70835.jpg)
基于單片機(jī)與PC通信的數(shù)據(jù)采集控制系統(tǒng)設(shè)計研究
一種基于單片機(jī)系統(tǒng)的DMA控制電路的模塊化設(shè)計方案
基于Proteus與單片機(jī)的交通燈控制電路設(shè)計
![基于Proteus與<b class='flag-5'>單片機(jī)</b>的交通燈<b class='flag-5'>控制電路設(shè)計</b>](https://file1.elecfans.com//web2/M00/A7/25/wKgZomUMQqSAAoJoAAAU-VukM0w569.png)
采用AVR單片機(jī)為核心設(shè)計電冰箱控制系統(tǒng)
![采用<b class='flag-5'>AVR</b><b class='flag-5'>單片機(jī)</b>為核心設(shè)計電冰箱<b class='flag-5'>控制系統(tǒng)</b>](https://file.elecfans.com/web1/M00/62/C1/o4YBAFuMoDGACKV0AABtt9UG0Kg088.jpg)
基于AVR單片機(jī)的直流無刷電機(jī)智能控制系統(tǒng)設(shè)計講解
![基于<b class='flag-5'>AVR</b><b class='flag-5'>單片機(jī)</b>的直流無刷電機(jī)<b class='flag-5'>智能</b><b class='flag-5'>控制系統(tǒng)</b>設(shè)計講解](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
基于AVR單片機(jī)的直流無刷電機(jī)智能控制系統(tǒng)設(shè)計
![基于<b class='flag-5'>AVR</b><b class='flag-5'>單片機(jī)</b>的直流無刷電機(jī)<b class='flag-5'>智能</b><b class='flag-5'>控制系統(tǒng)</b>設(shè)計](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
基于單片機(jī)的照明控制系統(tǒng)
![基于<b class='flag-5'>單片機(jī)</b>的照明<b class='flag-5'>控制系統(tǒng)</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論