單片機與組態(tài)王軟件通訊的解決方案
1、引言
本文引用地址:http://dyxdggzs.com/article/171752.htm組態(tài)王軟件作為一種工業(yè)控制組態(tài)軟件在國內已得到了非常廣泛的應用。其具有強大的硬件支持能力,對國內外絕大多數PLC、變頻器、板卡、模塊、儀器儀表都編寫(xiě)了相應的驅動(dòng)程序,使用起來(lái)相當方便快捷。在“農水實(shí)驗田環(huán)境監測”項目中,我們使用的硬件設備包括日本三菱PLC、臺灣研華亞當模塊及自行開(kāi)發(fā)的基于單片機的分析儀器,我們選擇的軟件開(kāi)發(fā)平臺是組態(tài)王軟件。因此,實(shí)現單片機與組態(tài)王的數據通訊是一個(gè)必須解決的問(wèn)題。
單片機與組態(tài)王軟件通訊的解決方案有兩種,其一是直接編寫(xiě)支持單片機的驅動(dòng)程序,就象組態(tài)王支持PLC一樣;其二是利用組態(tài)王軟件和Visual Basic都支持DDE的特點(diǎn),以VB為開(kāi)發(fā)平臺,寫(xiě)一個(gè)數據通訊應用程序,一方面實(shí)現與單片機的連接,另一方面實(shí)現與組態(tài)王的動(dòng)態(tài)數據交換。
2.2兩種方案的比較
第一種方案的優(yōu)點(diǎn)是程序結構比較緊湊,數據通訊效率較高;缺點(diǎn)是必須由對組態(tài)王軟件內核比較清楚的程序員開(kāi)發(fā),開(kāi)發(fā)周期較長(cháng)。第二種方案可由一般的程序員開(kāi)發(fā),缺點(diǎn)是數據通訊效率較低。在本項目中,我們采用了第二種方案。
3、 基于DDE方案的實(shí)現
3.1 DDE的概念
DDE是WINDOWS平臺上的一個(gè)完整通信協(xié)議,它使應用程序能彼此交換數據和發(fā)送指令。DDE過(guò)程可以比喻為兩人對話(huà),一方向另一方提出問(wèn)題,然后等待回答。提問(wèn)的一方稱(chēng)為“客戶(hù)”,回答的一方稱(chēng)為“服務(wù)器”。一個(gè)應用程序可以同時(shí)是“客戶(hù)”和“服務(wù)器”,當它向其他程序中請求數據是,它充當的是“客戶(hù)”,若有其他程序向它提供數據,它又成了“服務(wù)器”。
3.2通訊程序的數據流向
用VB編寫(xiě)的數據通訊程序作為中間者傳遞組態(tài)王與單片機之間的數據。當組態(tài)王需要向單片機發(fā)送控制命令時(shí),組態(tài)王充當服務(wù)器向VB通訊程序提供數據,VB通訊程序再通過(guò)串口實(shí)現對單片機的遠程控制;當組態(tài)王需要向單片機采集數據時(shí),組態(tài)王充當客戶(hù)向VB通訊程序請求數據。組態(tài)王與單片機通訊的數據流向如圖1。
3.3 代碼實(shí)現
1. 組態(tài)王的DDE設置
組態(tài)王的DDE對話(huà)的內容是通過(guò)三個(gè)標識名來(lái)約定的。
應用程序名(application):進(jìn)行DDE對話(huà)的雙方名稱(chēng)
主題(topic) :被討論的數據域
項目 (item) :被討論的特定數據對象
為了建立DDE連接,需要在組態(tài)王的數據詞典里建立一個(gè)DDE變量,并登記三個(gè)標識名。組態(tài)王運行系統的程序名是“VIEW”,主題規定為“TAGNAME”,項目是在定義DDE變量時(shí)定義的項目名稱(chēng)。
單片機相關(guān)文章:單片機教程
單片機相關(guān)文章:單片機視頻教程
單片機相關(guān)文章:單片機工作原理
數字通信相關(guān)文章:數字通信原理
通信相關(guān)文章:通信原理
評論