技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動(dòng)網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于組態(tài)王的污水處理系統(tǒng)通訊設(shè)計(jì)

基于組態(tài)王的污水處理系統(tǒng)通訊設(shè)計(jì)

時(shí)間:2008-08-11 09:54:00來源:ronggang

導(dǎo)語:?本文介紹了污水處理系統(tǒng)中上位機(jī)組態(tài)王軟件和單片機(jī)組成的下位機(jī)控制系統(tǒng)的通訊問題,利用VB通過DDE方式實(shí)現(xiàn)了系統(tǒng)的通信
摘 要: 本文介紹了污水處理系統(tǒng)中上位機(jī)組態(tài)王軟件和單片機(jī)組成的下位機(jī)控制系統(tǒng)的通訊問題,利用VB通過DDE方式實(shí)現(xiàn)了系統(tǒng)的通信。 關(guān)鍵詞: 組態(tài)王 VB 單片機(jī) 通信 DDE 1、引言   近年來,單片機(jī)在眾多領(lǐng)域中得到廣泛應(yīng)用。許多中小型企業(yè)考慮到投資利潤(rùn)和性能價(jià)格比,常常自行開發(fā)一些小型的單片機(jī)分布式系統(tǒng)作為下位機(jī)數(shù)據(jù)采集與監(jiān)控系統(tǒng),由普通PC機(jī)(或工控機(jī))做上位機(jī),單片機(jī)作為下位機(jī),通過單片機(jī)和PC機(jī)通信,實(shí)現(xiàn)命令、數(shù)據(jù)的雙向傳送,從而實(shí)現(xiàn)對(duì)系統(tǒng)的有效監(jiān)控。   最近,我們開發(fā)了一個(gè)污水處理自動(dòng)控制系統(tǒng),上位機(jī)采用PC機(jī),系統(tǒng)監(jiān)控采用組態(tài)王軟件;下位機(jī)采用單片機(jī),負(fù)責(zé)采集現(xiàn)場(chǎng)數(shù)據(jù)及發(fā)出控制命令。在生產(chǎn)車間,系統(tǒng)將各種采集數(shù)據(jù)存儲(chǔ)在單片機(jī)中,并定期將單片機(jī)的數(shù)據(jù)采集和存儲(chǔ)部分取出,并傳送到裝有組態(tài)王軟件的上位機(jī)。技術(shù)人員通過查看數(shù)據(jù)、曲線、報(bào)表,并對(duì)這些數(shù)據(jù)進(jìn)行詳細(xì)分析,從而設(shè)置運(yùn)行參數(shù)、發(fā)出控制命令,最終實(shí)現(xiàn)對(duì)整個(gè)系統(tǒng)的控制。 2、系統(tǒng)構(gòu)成與特性   該系統(tǒng)中,上位PC機(jī)與單片機(jī)1:N鏈接通信,帶有RS—485接口通信板的單片機(jī)直接掛在RS—485總線上,上位機(jī)通過RS—232C /RS—485轉(zhuǎn)換器與總線相連,這樣即構(gòu)成一個(gè)獨(dú)立的小型分布式監(jiān)控系統(tǒng),其它系統(tǒng)設(shè)備以類似方式與上位機(jī)鏈接。我們利用組態(tài)王軟件包十分方便地構(gòu)成了整個(gè)系統(tǒng)的監(jiān)控畫面,以動(dòng)畫方式顯示控制設(shè)備的狀態(tài)、報(bào)警、實(shí)時(shí)趨勢(shì)曲線。   組態(tài)王能通過串行口與單片機(jī)通訊,訪問單片機(jī)的相關(guān)寄存器,以獲得單片機(jī)所控制設(shè)備的狀態(tài)或修改寄存器的值。也可以組成網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)交換,但需要客戶機(jī)與服務(wù)器同時(shí)運(yùn)行組態(tài)王軟件。   2.1 組態(tài)王的DDE特性   組態(tài)王軟件包由TouchMak和TouchViev兩大部分組成。TouchMak為畫面制作系統(tǒng),所有界面設(shè)計(jì),變量和動(dòng)畫連接的定義等均在TouchMak完成。TouchView則用于顯示動(dòng)畫圖形,負(fù)責(zé)數(shù)據(jù)庫與服務(wù)程序數(shù)據(jù)交換,并把其變化用動(dòng)畫表示出來。   為了建立DDE連接,需要在TouchView的數(shù)據(jù)詞典里建立一個(gè)DDE變量,并登記三個(gè)標(biāo)識(shí)名。組態(tài)王運(yùn)行系統(tǒng)的程序名是“view”,主題規(guī)定為“tagname”,項(xiàng)目是在定義DDE變量時(shí)定義的項(xiàng)目名稱。   2.2 VB的DDE特性   在VB可視化編程工具中,DDE連接是通過設(shè)置控件的屬性和方法來實(shí)現(xiàn)的,對(duì)于作為“顧客”的文本框、標(biāo)簽或圖片框,要設(shè)置Linktopic、linkitem、linkmode三個(gè)屬性,比如:   Control.linktopic=server應(yīng)用程序名|主題名   Control.linkitem=項(xiàng)目名   Control.linkmode=num   其中control是文本框、標(biāo)簽或圖片框控件名稱,num可以是0、1、2、3中的一個(gè)分別代表關(guān)閉DDE、熱連接、冷連接、通告連接。   組態(tài)王與VB的DDE連接是在TOUCHVIEW啟動(dòng)時(shí)自動(dòng)完成的。   2.3 組態(tài)王與單片機(jī)通訊的數(shù)據(jù)流向   用VB編制的服務(wù)程序作為中間傳遞組態(tài)王與單片機(jī)之間的通訊數(shù)據(jù),組態(tài)王中的控制命令按鈕生效時(shí),需將控制命令(如電機(jī)啟動(dòng)、停止等)下行傳到單片機(jī)以實(shí)現(xiàn)遠(yuǎn)程控制。此時(shí),組態(tài)王作為服務(wù)器向VB服務(wù)程序提供數(shù)據(jù),需要在數(shù)據(jù)詞典里定義一個(gè)DDE變量和一個(gè)供VB服務(wù)程序引用的項(xiàng)目名。 [align=center] 圖1 系統(tǒng)數(shù)據(jù)采集與流動(dòng)圖[/align]   2.4 VB服務(wù)程序與MCS51的多機(jī)通訊   在VB通訊中,用通訊控件Mscomm實(shí)現(xiàn)服務(wù)程序與單片機(jī)的多機(jī)通訊。   在現(xiàn)場(chǎng),為提高抗干擾和帶負(fù)載能力以及增加通訊距離,采用RS-485總線的通訊方式,在微機(jī)端,用RS-232/RS-485轉(zhuǎn)換器。   由于各單片機(jī)共享串行總線,為避免競(jìng)爭(zhēng),采用主從方式,微機(jī)服務(wù)程序主叫,單片機(jī)中斷方式響應(yīng)。主機(jī)首先發(fā)送地址幀,各單片機(jī)串行中斷后,將接受的地址與自己的編碼地址比較,不一致則不與理睬,相同則回送本機(jī)編號(hào),主機(jī)接受到正確的回送編號(hào)后,發(fā)送相關(guān)命令,單片機(jī)根據(jù)命令作出相應(yīng)的處理。   在現(xiàn)場(chǎng)調(diào)試過程中,總結(jié)出如下兩點(diǎn):   1. 由于現(xiàn)場(chǎng)對(duì)通訊的干擾,若通訊失敗,系統(tǒng)采用重新發(fā)送,并統(tǒng)計(jì)次數(shù),若失敗次數(shù)超過指定次數(shù),表明通訊失敗。   2. 由于通訊服務(wù)程序?yàn)楹笈_(tái)執(zhí)行,主機(jī)在等待分機(jī)回答時(shí),須將CPU控制權(quán)交出,以免影響組態(tài)王正常運(yùn)行。   3、 通訊軟件設(shè)計(jì)   在污水處理系統(tǒng)通訊設(shè)計(jì)中,用組態(tài)王軟件包構(gòu)成的監(jiān)控畫面中,有各外輸泵電機(jī)的啟/??刂?,壓力、流量、溫度、液位、頻率等數(shù)據(jù)顯示,利用VB編制的服務(wù)程序vbservice.exe通過串行通訊從單片機(jī)得到壓力等顯示數(shù)據(jù),通過DDE交換上傳給監(jiān)控畫picl,在畫面上進(jìn)行動(dòng)態(tài)顯示,電機(jī)啟/停等控制命令由監(jiān)控畫面通過DDE數(shù)據(jù)交換給服務(wù)程序,再下傳給單片機(jī)以控制單片機(jī)的動(dòng)作。具體介紹如下:   3.1 監(jiān)控畫面picl的污水壓力變量設(shè)置:   進(jìn)入組態(tài)王TouchMak,在picl監(jiān)控畫面的數(shù)據(jù)字典中定義變量:pressurel   pressurel表示1號(hào)通道的壓力,定義為DDE模擬。其余各項(xiàng)設(shè)置為:   項(xiàng)目名:VB_pressure1_View   節(jié)點(diǎn)類型:驅(qū)動(dòng)程序   節(jié)點(diǎn)名:node   服務(wù)程序名:vbservice1   話題名:Forml   數(shù)據(jù)交換形式:標(biāo)準(zhǔn)的windows項(xiàng)目交換   在picl監(jiān)控畫面上需顯示pressurel值的地方輸入文本符號(hào)“%%%%”、設(shè)置pressurel的動(dòng)畫連接方式為“模擬值輸出”,就可以顯示1號(hào)通道的水壓力。   3.2 VB服務(wù)程序中的DDE設(shè)置   由于污水壓力是picl監(jiān)控畫面作為客戶向服務(wù)程序請(qǐng)求數(shù)據(jù)交換,因此作為服務(wù)器的服務(wù)程序的設(shè)置如下:   Sub Form_Load()   Linktopic=“forml”   Linkmode=1   End Sub   3.3 服務(wù)程序從各單片機(jī)接受數(shù)據(jù)   VB的MSCOMM控件初始化程序 摘要如下:   Mscomm1.Commport=1 ’ 選擇COM1   Mscomm1.Settings=“9600,N,7,2” ’ 設(shè)置通信參數(shù)   Mscomm1.Inputlen=0 ’ 讀入接收緩沖區(qū)全部字符   Mscomm1.OutbufferSize=256 ’ 設(shè)置發(fā)送緩沖區(qū)大小   Mscomm1.InbufferSize=256 ’ 設(shè)置接收緩沖區(qū)大小   Mscomm1.PortOpen=True ’打開COM1   ‘接收數(shù)據(jù)主程序   Private sub Mscomm1_oncomm   Select case NUMBER   Case 1   In_buffer$=接收數(shù)據(jù)(NUMBER)   Call mission2   Case 2   In_buffer$=接收數(shù)據(jù)(NUMBER)   Call mission3   Case 3   In_buffer$=接收數(shù)據(jù)(NUMBER)   …   Call任務(wù)n   Receive Data=Inbuffer   Mscomm1.Receive=False   End Select   …   End Sub   此外, vbservice1.exe在初始化時(shí),設(shè)置Rthreshold屬性為1,接受緩沖區(qū)受到數(shù)據(jù)時(shí)觸發(fā)Oncomm事件以便接受數(shù)據(jù),然后對(duì)接受到的數(shù)據(jù)進(jìn)行分析和處理。   在分析數(shù)據(jù)通訊的準(zhǔn)確性時(shí),我們發(fā)現(xiàn),由于外界干擾或電壓波動(dòng)等原因,PC機(jī)和單片機(jī)之間的通訊可能會(huì)出現(xiàn)錯(cuò)誤,如接收緩沖區(qū)溢出、網(wǎng)絡(luò)端口超速等。這些都可能引起運(yùn)行錯(cuò)誤。為此,在程序中添加錯(cuò)誤處理子程序。通過通訊控件的OnComm事件可以捕捉和處理錯(cuò)誤,具體在通訊過程中所發(fā)生的通訊錯(cuò)誤信息是CommEvent屬性返回的。當(dāng)CommEvent屬性值發(fā)生改變時(shí),表明有通訊錯(cuò)誤,就會(huì)產(chǎn)生OnComm事件。同時(shí),可以利用自動(dòng)引發(fā)OnComm事件的特點(diǎn)在接收過程中加入狀態(tài)顯示碼。這樣可以監(jiān)視通訊線路狀態(tài),得到單片機(jī)和主機(jī)及單片機(jī)和單片機(jī)之間的通訊進(jìn)程。 4、結(jié)束語   本文在項(xiàng)目開發(fā)過程中形成,系統(tǒng)投入運(yùn)行后,效果良好?;诮M態(tài)王與單片機(jī)的通訊系統(tǒng),具有較高的使用價(jià)值,值得在工業(yè)控制中推廣。

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:基于CAN總線的汽車發(fā)動(dòng)機(jī)智能...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡(jiǎn)介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號(hào) | 營業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)