發布日期:2022-04-18 點擊率:76
組態王支持通過DDE方式與其它應用程序進行數據交換,通過DDE方式用戶自編的應用程序可以無縫的與組態王進行數據交換,擴充組態王的功能,為用戶提供更為靈活的應用空間。
VB應用程序從組態王中獲得數據
1. 創建VB應用程序。(參見圖-1)創建標準EXE程序(工程名為VBDDE),窗體名為”VBDome”(DDE服務的話題名)。
2. 在VB應用程序中建立與組態王變量的DDE連接(參見圖-2),在VB窗體里加一個”Label”控件(將其命名為VB2,),在其屬性里設置與DDE相關的項目:
設置linkTopic的值為”view|tagname”(組態王默認的服務名和應用名,不可更改);
設置linkItem的值為”PLC.INCREA100”(組態王變量得寄存器地址,格式為” 連接設備名.寄存器名”);
設置linkMode的值為”1”(如組態王運行系統未運行,顯示錯誤,參見第3步);
設置linkTimeout的值為”50”(為默認值即可)。
3. VB應用程序啟動時設置連接模式為自動(VB2.linkMode=1)。參見圖-3。單擊窗體(Foem),彈出代碼編輯框,選擇Form的Load屬性。鍵入”VB2.linkMode=1”。編譯本工程。
4. 運行組態王的運行系統(加載本演示工程),運行生成的VB運行程序。Vb應用程序即可通過DDE方式得到組態王變量”B”的實時數據,并顯示其值在當前的窗口。
組態王從VB應用程序中獲得數據
1. 利用上述創建的VB應用程序,在菜單條選擇”VBDDE屬性”,彈出如下窗口(參見圖-4)。選擇生成屬性框,在應用程序的標題中鍵入”VBDDE”(DDE服務程序名)。
2. 在窗體里添加TextBox控件(命名為VB1,將作為DDE服務的項目名),參見圖-5。選擇代碼編輯窗口,選擇Form的MouseMove事件,鍵入如下語句” VB1.Text = Int(VB2.Caption)+1”。
3. 設置VBDDE程序為DDE發布端。設置窗體屬性的DDE屬性,參見圖-6。
設置linkMode的值為”1”(表示應用程序為DDE的發布端);
設置linkTopic的值為”VBDome”((DDE話題名)。
設置完成并確認無誤后即可編譯生成應用程序文件。
4. 在組態王建立IO變量,并以前面所創建的VB用程序作為數據源。添加DDE設備的方法同前(定義的DDE設備名為VBDDE),DDE的應用程序名和話題名為前面設置的名稱,即應用程序名為”VBDDE”,話題名為”VBDome”。
5. 在組態王建立變量”VB2”(參見圖-7),連接設備為”VBDDE”,項目名為”VB1”(即為VB程序TexTBox控件的名稱)。
6. 在畫面里建立與變量”VB2”的動畫連接。
7. 運行組態王的運行系統(加載演示本演示工程),運行前面建立的VB應用程序(組態王畫面的點”VB2的值不變化,選擇菜單中的特殊à”重新建立DDE連接”即可)。參見圖-8。本例VB應用程序獲得組態王變量”B”的數值并將此數值返回到組態王變量”VB2”中并在畫面顯示此值。
下一篇: PLC、DCS、FCS三大控
上一篇: 索爾維全系列Solef?PV