基于dde的vb和matlab,基于VB和DDE技术的组态王通信协议转换
組態王是一種通用的工業監控上位機軟件,它界面友好、易學易用、即便是不懂編程的工程人員也能在短時時間內開發出界面精美,符合行業標準且高效的上位機監控程序,因此深受工程師們的喜愛,然而組態王軟件的上下位機通信協議是固定
的切不可改變,這就給一些使用“自擬定協議”和“非標”產品的用戶帶來了極大的不便,有的時候迫使用戶改變上下位機通信協議或者更換下位機產品。本文提出了一種基于VisualBasic6.0和動態數據交換技術(DDE)的通信協議轉換方法,利用組態王和VB都支持WINDOWS平臺的DDE技術這個特點,將組態王和下位機產品之間的數據通信用VB進行協議轉換,從而達到了變更組態王通信協議的目的。1問題闡述某醫療設備廠利用組態王開發上位機監控軟件,用PIC單片機做下位機控制開發,下位機工程人員擬定通信協議的數據格式見表1。對于表2這種自擬定的通信協議,組態王是無法完成的,因為組態王的單片機協議是固定的,且更改困難。其協議如表2所示。對比表1和表2可以看出組態王的通信協議明顯不同于該醫療產品項目的通信協議,且下位機協議已經完成不可更改,在這種情況下如想繼續使用組態王開發,則必須更改其通信協議,其方法有三種:a.向組態王廠商求助,與其合作,組態王廠商會改寫驅動以適應項目要求,其費用很高。b.購買組態王驅動開發包,利用驅動開發包開發,其費用相對便宜,單開發包的使用需要工程師有較好的VC編程基礎,核對組態王內部程序結構有一定的認識。c.利用DDE技術使組態王與VB進行數據交換,再用VB重寫通信協議。本文主要介紹介紹方法c。2組態王通信協議轉換實現方法為實現通信協議轉換,順利完成該課題,可考慮采用WINDOWS平臺下的DDE技術使組態王與VB進行數據交換,再利用VB重寫通信協議,其結構框圖如圖1。2.1組態王通過DDE與VB進行數據交換。DDE是由微軟提供的WINDOWS平臺上一個完整的應用程序間通信協議,它能夠使組態王和VB之間進行數據交換。其數據交換方式是由其中一方向另一方發送請求數據并等待應答。發送數據請求的一方暫時作為客戶端,響應回答的一方暫時作為服務器端。為了能夠順利實現組態王與VB之間的數據交換,需要對組態王和VB進行設置,而組態王讀VB數據和VB度組態王數據的設置稍有不同。對于組態王讀VB數據過程,其設置分別如下:a.在組態王中定義一個DDE設備,名稱任取,服務程序名用與之交互的VB可執行程序名,話題名與VB控件中的LinkTopic屬性一致,再新建I/O變量并連接到該設備下,項目為VB控件名字,這樣通過DDE,組態王把VB程序看做是一個外部設備與之通信,而建立DDE設備的方法與建立其他外部設備方法一致。b.在VB中DDE連接是通過控件的屬性和方法來實現的。任何需要與組太王通信的控件(通常是文本框、標簽、圖片框)都要設的LinkTopic、LinkItem、LinkMode三個屬性。其中LinkTopic、LinkItem屬性是要在組態王中引用的,而LinkMode屬性是設置連接方式,通常設為1。對于VB讀組態王數據過程,其設置分別如下:c.這里組態王設置比較簡單,只需注意被訪問的數據必須由IO變量提供,并勾選允許DDE訪問即可。d.VB中要訪問組態放數據的控件需要設置應用程序名、主題、項目和連接方式四項。組態王的應用程序名默認view、主題默認tagname、項目是VB控件所訪問的IO變量,下面以Text空間為例,設置程序如下:Text2.LinkTopic="view|tagname"Text2.LinkItem="mcudde.x2"Text
總結
以上是生活随笔為你收集整理的基于dde的vb和matlab,基于VB和DDE技术的组态王通信协议转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用python玩转数据测试与作业_用Py
- 下一篇: php spry文本域_Spry框架及验