新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > labview的深入探索----利用DDE實現進程間的數據交換之二

        labview的深入探索----利用DDE實現進程間的數據交換之二

        作者: 時間:2017-01-09 來源:網絡 收藏
        我在"利用DDE實現進程間的數據交換之一"中,談到了服務器端發送數據和客戶端接收數據的方法.

        客戶端采用REQUEST方式是無法實現服務器發送和客戶端接收同步的,如果想要實現,可以采用ADVISE方式,這種方式下,客戶端類似于中斷方式,服務器發送端ITEM沒有數據變化時,接收端一直處于等待狀態,一旦服務器端發生數據變化,立即執行數據接收.

        服務器端程序框圖:(發送數據,100MS更新一次)


        客戶端接收數據未采用任何DELAY,同樣保持100MS的接收速度.
        打開對話-->START ADVISE ITEM--->CHECK ADVISE--->STOP ADVISE-->關閉對話




        這樣就實現了發送和接收的數據交換同步.

        我們知道服務器和客戶端的數據交換是相互的,如何實現客戶端發送數據,服務器接收數據那,這需要客戶端使用POKE VI, 服務器端使用CHECK ITEM VI.

        服務器端程序框圖


        如果設置成FALSE,則立即結束本次循環,實際是查詢方式.

        客戶端程序框圖:

        當客戶端沒運行POKE時,服務器處于等待狀態,這樣就實現了雙方的同步.

        DDE本身還支持握手方式通訊,不過非常復雜,很少使用.

        另外,客戶端還可以向服務器發送命令字符串,要求服務器執行命令.不過LABVIEW的DDE不支持命令,就不舉例了.比如EXCEL可以作為服務器,客戶端可以發送"OPEN" "SAVE"要求EXCEL打開和存儲文件.


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 漠河县| 华容县| 息烽县| 三门县| 来安县| 贵定县| 汶川县| 北辰区| 青冈县| 仁化县| 蒲城县| 高台县| 东乡族自治县| 郸城县| 隆林| 外汇| 日土县| 开远市| 楚雄市| 弋阳县| 临西县| 岗巴县| 汉寿县| 河北区| 辰溪县| 苏尼特左旗| 昔阳县| 井研县| 东辽县| 洛扎县| 冀州市| 巴塘县| 高雄县| 阳谷县| 昌宁县| 嘉义县| 葵青区| 屏东县| 油尖旺区| 北川| 正安县|