基于MODBUS協(xié)議智能控制系統設計
3.系統軟件設計
3.1 MODBUS通信協(xié)議
軟件Modbua協(xié)議包括ASCII、RTU、TCP等,標準的Modbus采集器使用RS232C實(shí)現串行的Modbus。Modbus的ASCII、RTU協(xié)議規定了消息、命令和應答的方式,數據通訊采用Maser/Slave方式,Master端發(fā)出數據請求消息,Slave端接收到正確消息后就可以發(fā)送數據到Master端以響應請求;Master端也可以直接發(fā)消息修改Slave端的數據,實(shí)現雙向讀寫(xiě)。Modbus協(xié)議需要對數據進(jìn)行校驗,串行協(xié)議中除有奇偶校驗外,ASCII模式采用LRC校驗,RTU模式采用16位CRC校驗。
在上位機監控界面上建立ADOData控件,ID為IDC_ADODCl,在通用屬性的連接中輸入服務(wù)器名稱(chēng)COMPUTER,選擇數據庫MASTER,點(diǎn)擊測試連接,如果顯示測試成功,表示連接SQLsever2000數據庫成功。再在數據庫中新建一個(gè)TABLEI表,表中包括時(shí)間,實(shí)際數據,設定數據字段,記錄源的命令文本中SQL命令為select*from TABLEl;其次在監控界面上建立DataGrid控件,在datasource屬性中選擇IDC_ADODCl,與ADOData控件建立起聯(lián)系,通過(guò)以上的步驟就實(shí)現了VC++6.O監控界面對數據庫的訪(fǎng)問(wèn)。在VC++6.0環(huán)境完成程序編寫(xiě),運行得到控制系統的數據顯示界面如圖4。
當上位機MODBUS串口程序把下位機的實(shí)際數據采集上來(lái)并顯示界面中后,就可以對實(shí)際數據繪制動(dòng)態(tài)曲線(xiàn)圖。動(dòng)態(tài)曲線(xiàn)橫坐標是時(shí)間,縱坐標是實(shí)際數據值,兩個(gè)坐標確定一個(gè)動(dòng)態(tài)點(diǎn)。動(dòng)態(tài)曲線(xiàn)的顯示過(guò)程是把動(dòng)態(tài)的數據值放到一個(gè)數組中,每采集一個(gè)新的數據值存放在數組的最低位,數組中的所有數據位向前移一位,最高的數據位移出;在MSCOMM控件OnOnCommMscomm函數中得到當前具體的時(shí)、分、秒,再將具體時(shí)間顯示在橫坐標相應位置,然后把數組中的所有數字以及每個(gè)數字所對應的時(shí)間的坐標點(diǎn)用線(xiàn)連接起來(lái)就構成了動(dòng)態(tài)曲線(xiàn)圖,動(dòng)態(tài)曲線(xiàn)圖如圖5所示。
4 結束語(yǔ)
本系統由AVR單片機,數據采集模塊,控制電路三部分組成。下位機采用C語(yǔ)言編程,上位機采用VC++6.O編程,以SQLever2000作為后臺數據庫,上位機與下位機之間采用RS-485總線(xiàn)通訊,研究并編寫(xiě)基于MODBUS協(xié)議的工控軟件。實(shí)驗測試表明,本系統實(shí)現了上下位機基于MODBUS協(xié)議的RS-485總線(xiàn)通訊,在下位機LCD和上位機VC界面顯示數據值,在數據庫中保存實(shí)際數據值,并且繪制實(shí)際數據曲線(xiàn),實(shí)時(shí)顯示數據誤差不超過(guò)l℃。本控制系統符合工業(yè)控制系統設計的要求,有較好的擴展性和多功能的特點(diǎn),可以擴展到255個(gè)設備多點(diǎn)的溫度、濕度、壓力、流量等數據監測控制,在橡膠、石油、冶金、食品加工、環(huán)境監測等工業(yè)自動(dòng)化控制系統中可以取代工控儀表和PLC的檢測和控制作用,開(kāi)發(fā)具有自主知識產(chǎn)權產(chǎn)品并降低成本具有重要的現實(shí)意義,本文提出的方法對于采用MODBUS協(xié)議的智能控制系統的研究與開(kāi)發(fā)也具有一定的理論研究和實(shí)用價(jià)值。
評論