閱讀 | 訂閱
閱讀 | 訂閱
控制系統(tǒng)

單片機(jī)與組態(tài)王軟件通訊解決方案

星之球激光 來(lái)源:中國(guó)自動(dòng)化網(wǎng)2012-02-15 我要評(píng)論(0 )   

摘要:本文闡述了組態(tài)王軟件在工業(yè)控制領(lǐng)域中的應(yīng)用,組態(tài)王軟件和單片機(jī)進(jìn)行通訊的兩種解決方案及其優(yōu)劣性比較,并著重闡述了基于DDE方案的數(shù)據(jù)通訊原理和代碼實(shí)現(xiàn)。 1...

摘要:本文闡述了組態(tài)王軟件在工業(yè)控制領(lǐng)域中的應(yīng)用,組態(tài)王軟件和單片機(jī)進(jìn)行通訊的兩種解決方案及其優(yōu)劣性比較,并著重闡述了基于DDE方案的數(shù)據(jù)通訊原理和代碼實(shí)現(xiàn)。


 

1.引言

    組態(tài)王軟件作為一種工業(yè)控制組態(tài)軟件在國(guó)內(nèi)已得到了非常廣泛的應(yīng)用。其具有強(qiáng)大的硬件支持能力,對(duì)國(guó)內(nèi)外絕大多數(shù)PLC、變頻器、板卡、模塊、儀器儀表都編寫(xiě)了相應(yīng)的驅(qū)動(dòng)程序,使用起來(lái)相當(dāng)方便快捷。在“農(nóng)水實(shí)驗(yàn)田環(huán)境監(jiān)測(cè)”項(xiàng)目中,我們使用的硬件設(shè)備包括日本三菱PLC、臺(tái)灣研華亞當(dāng)模塊及自行開(kāi)發(fā)的基于單片機(jī)的分析儀器,我們選擇的軟件開(kāi)發(fā)平臺(tái)是組態(tài)王軟件。因此,實(shí)現(xiàn)單片機(jī)與組態(tài)王的數(shù)據(jù)通訊是一個(gè)必須解決的問(wèn)題。

2.單片機(jī)與組態(tài)王軟件通訊的解決方案

    2.1兩種通訊解決方案

    單片機(jī)與組態(tài)王軟件通訊的解決方案有兩種,其一是直接編寫(xiě)支持單片機(jī)的驅(qū)動(dòng)程序,就象組態(tài)王支持PLC一樣;其二是利用組態(tài)王軟件和 Visual Basic都支持DDE的特點(diǎn),以VB為開(kāi)發(fā)平臺(tái),寫(xiě)一個(gè)數(shù)據(jù)通訊應(yīng)用程序,一方面實(shí)現(xiàn)與單片機(jī)的連接,另一方面實(shí)現(xiàn)與組態(tài)王的動(dòng)態(tài)數(shù)據(jù)交換。

    2.2兩種方案的比較

    第一種方案的優(yōu)點(diǎn)是程序結(jié)構(gòu)比較緊湊,數(shù)據(jù)通訊效率較高;缺點(diǎn)是必須由對(duì)組態(tài)王軟件內(nèi)核比較清楚的程序員開(kāi)發(fā),開(kāi)發(fā)周期較長(zhǎng)。第二種方案可由一般的程序員開(kāi)發(fā),缺點(diǎn)是數(shù)據(jù)通訊效率較低。在本項(xiàng)目中,我們采用了第二種方案。

3.基于DDE方案的實(shí)現(xiàn)

    3.1 DDE的概念

    DDE是WINDOWS平臺(tái)上的一個(gè)完整通信協(xié)議,它使應(yīng)用程序能彼此交換數(shù)據(jù)和發(fā)送指令。DDE過(guò)程可以比喻為兩人對(duì)話,一方向另一方提出問(wèn)題,然后等待回答。提問(wèn)的一方稱為“客戶”,回答的一方稱為“服務(wù)器”。一個(gè)應(yīng)用程序可以同時(shí)是“客戶”和“服務(wù)器”,當(dāng)它向其他程序中請(qǐng)求數(shù)據(jù)是,它充當(dāng)?shù)氖?ldquo;客戶”,若有其他程序向它提供數(shù)據(jù),它又成了“服務(wù)器”。

    3.2通訊程序的數(shù)據(jù)流向

    用VB編寫(xiě)的數(shù)據(jù)通訊程序作為中間者傳遞組態(tài)王與單片機(jī)之間的數(shù)據(jù)。當(dāng)組態(tài)王需要向單片機(jī)發(fā)送控制命令時(shí),組態(tài)王充當(dāng)服務(wù)器向VB通訊程序提供數(shù)據(jù),VB通訊程序再通過(guò)串口實(shí)現(xiàn)對(duì)單片機(jī)的遠(yuǎn)程控制;當(dāng)組態(tài)王需要向單片機(jī)采集數(shù)據(jù)時(shí),組態(tài)王充當(dāng)客戶向VB通訊程序請(qǐng)求數(shù)據(jù)。組態(tài)王與單片機(jī)通訊的數(shù)據(jù)流向如圖1。


 


 


 

圖1 組態(tài)王與單片機(jī)通訊的數(shù)據(jù)流向


 

    3.3 代碼實(shí)現(xiàn)

    1.組態(tài)王的DDE設(shè)置

    組態(tài)王的DDE對(duì)話的內(nèi)容是通過(guò)三個(gè)標(biāo)識(shí)名來(lái)約定的。

    應(yīng)用程序名(application):進(jìn)行DDE對(duì)話的雙方名稱

    主題(topic) :被討論的數(shù)據(jù)域

    項(xiàng)目 (item) :被討論的特定數(shù)據(jù)對(duì)象

    為了建立DDE連接,需要在組態(tài)王的數(shù)據(jù)詞典里建立一個(gè)DDE變量,并登記三個(gè)標(biāo)識(shí)名。組態(tài)王運(yùn)行系統(tǒng)的程序名是“VIEW”,主題規(guī)定為“TAGNAME”,項(xiàng)目是在定義DDE變量時(shí)定義的項(xiàng)目名稱。

    2.VB通訊程序中的DDE設(shè)置

    在VB中DDE的連接是通過(guò)控件的屬性和方法來(lái)實(shí)現(xiàn)的。當(dāng)VB充當(dāng)服務(wù)器時(shí),需要設(shè)置LinkTopic 和LinkMode屬性;當(dāng)VB充當(dāng)客戶時(shí),需要設(shè)置LinkTopic ,LinkItem和LinkMode屬性。例如,VB通訊程序作為服務(wù)器時(shí)的設(shè)置如下:

    Sub Form_Load()

    LinkTopic=”form1”

    LinkMode=1

    End Sub

    3.VB與單片機(jī)的通訊

    在VB中可用Microsoft公司的32位串口通信控件Mscomm32.ocx實(shí)現(xiàn)與單片機(jī)的通訊。在程序初始化時(shí),設(shè)置Rthreshoid屬性為1,接收緩沖區(qū)接收到數(shù)據(jù)時(shí)觸發(fā)OnComm事件,從而進(jìn)行數(shù)據(jù)的接收和處理。

    Sub MSComm1_OnComm() 

    Select Case MSComm1.CommEvent

    Case Mscomm EV RECEIVE

    Inbuffe= MSComm1.Input

    Receivedata=Inbuffe

    MSComm1 Receive=False

    End Select

    。。。。。。。

    End Sub

4. 結(jié)論

    采用上述方案,我們?cè)?ldquo;農(nóng)水實(shí)驗(yàn)田環(huán)境監(jiān)測(cè)系統(tǒng)”項(xiàng)目中,很好地解決了組態(tài)王軟件與單片機(jī)的數(shù)據(jù)通訊。一年來(lái),系統(tǒng)運(yùn)行穩(wěn)定可靠,產(chǎn)生了良好的經(jīng)濟(jì)效益。

 

轉(zhuǎn)載請(qǐng)注明出處。

暫無(wú)關(guān)鍵詞
免責(zé)聲明

① 凡本網(wǎng)未注明其他出處的作品,版權(quán)均屬于激光制造網(wǎng),未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、摘編或利用其它方式使用。獲本網(wǎng)授權(quán)使用作品的,應(yīng)在授權(quán)范圍內(nèi)使 用,并注明"來(lái)源:激光制造網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其相關(guān)責(zé)任。
② 凡本網(wǎng)注明其他來(lái)源的作品及圖片,均轉(zhuǎn)載自其它媒體,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本媒贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé),版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系我們刪除。
③ 任何單位或個(gè)人認(rèn)為本網(wǎng)內(nèi)容可能涉嫌侵犯其合法權(quán)益,請(qǐng)及時(shí)向本網(wǎng)提出書(shū)面權(quán)利通知,并提供身份證明、權(quán)屬證明、具體鏈接(URL)及詳細(xì)侵權(quán)情況證明。本網(wǎng)在收到上述法律文件后,將會(huì)依法盡快移除相關(guān)涉嫌侵權(quán)的內(nèi)容。

網(wǎng)友點(diǎn)評(píng)
0相關(guān)評(píng)論
精彩導(dǎo)讀