熟女人妻水多爽中文字幕,国产精品鲁鲁鲁,隔壁的少妇2做爰韩国电影,亚洲最大中文字幕无码网站

技術頻道

娓娓工業
您現在的位置: 中國傳動網 > 技術頻道 > 技術百科 > 基于DDE的iFix與Matlab的數據通信

基于DDE的iFix與Matlab的數據通信

時間:2008-12-29 11:09:49來源:zhangting

導語:?美國通用電氣公司工業組態軟件ifix運行穩定、高效,多年來廣泛應用在工業自動化領域。
1 引言 美國通用電氣公司工業組態軟件ifix運行穩定、高效,多年來廣泛應用在工業自動化領域。與其它工業組態軟件一樣,作為人機界面軟件,fix雖然有得天獨厚的優勢,但是數學和計算功能有諸多不足。美國mathworks公司出品的數學軟件matlab是一種基于c語言內核與矩陣運算的工程計算語言,具有強大的數值計算能力和豐富的控制算法。本文用vc++實現fix和matlab的雙向數據通信,將matlab的運算功能和算法引入ifixdde。 dde(動態數據交換)是windows的一種進程通信機制,它基于windows消息機制,兩個應用程序之間通過傳遞消息進行對話,這兩個程序分別被稱為服務器和客戶,dde服務器維護著其它windows程序可能使用的數據,而dde客戶則是從服務器獲得這些數據的程序。 同一個windows應用程序既可以是一個程序的客戶,也可以同時是另一個程序的服務器,一個服務器可以將數據傳給多個客戶,一個客戶也可以從多個服務器獲取數據,這些都通過dde對話來定義。dde對話需要三個參數:服務名、話題名、項目名。服務名一般同做為服務器的應用程序同名,一個服務可提供多個話題,一個話題可提供多個項目,最后由項目名確定要交換的數據。 2 用vc++實現ifix和matlab dde通信的基本思路 ifix軟件既實現了dde服務器也實現了dde客戶,支持文本格式的剪貼板數據。matlab既實現了dde服務器也實現了dde客戶,作為服務器時支持文本格式、元文件圖(metafilepict)和xltable格式三種剪貼板格式,作為客戶端支持文本格式。本文用vc++程序實現了dde服務器,將fix軟件和matlab都做為vc++程序客戶。三者的關系如圖1所示: [align=center] 圖1 雙向數據傳送實現的基本結構 [/align] 3 基于 visual c++的dde服務器程序設計 3.1 基本原理 dde協議的核心是dde消息,進行通訊的程序之間通過傳遞消息進行對話。dde服務器程序的主要任務是維護其它windows程序可能使用的數據,實現dde服務器的消息循環,從而處理dde客戶的各種請求。 3.2 程序實現 采用visual c++實現dde服務器的程序流程圖如2所示。 [align=center] 圖2 dde服務器程序流程圖[/align] (1)在程序初始化時,調用了ddeinitialize()初始化dde管理庫,以參數形式提供回調函數ddecallback(),當程序以消息形式收到待處理事務時,就調用該回調函數,回調函數通常寫成switch-case的形式。分支處理不同的事務;然后調用ddecreatestringhandle() 返回服務名、話題名、項目名的 handle,返回的類型為hsz。 (2)注冊dde服務,以服務名handle為參數調用ddenameservice()。 (3)回調函數ddecallback()的原型為: hddedata expentry ddecallback(uint type,uint fmt,hconv hconv,hsz hsz1,hsz hsz2,hddedata hdata,dword dwdata1,dword dwdata2); 其中type為事務類型,fmt為交換數據的剪貼板格式,hconv為當前對話的handle,hsz1、hsz2、hdata、dwdata1;dwdata2的意義取決于不同的事務,hsz1和hsz2一般為話題名和項目名的handle,hdata一般是所交換數據的handle。 (4)生成各個字段的名字就是給出dde服務器名、話題名和項目名。 服務器名(servicename):ddetest g_hszappname=ddecreatestringhandle(g_idinst, “ddetest”, null); 話題名(topic):test1 g_hsztopicname=ddecreatestringhandle(g_idinst, “test1”, null); 各個項目名(items):h1、h2、ut、up、…… g_hszinitem[0]=ddecreatestringhandle(g_idinst, “h1”,null); g_hszinitem[1]=ddecreatestringhandle(g_idinst, “h2”,null); g_hszoutitem[0]=ddecreatestringhandle(g_idinst, “ut”,null); g_hszoutitem[1]=ddecreatestringhandle(g_idinst, “up”,null); 4 測試 測試要求:能夠在ifix、dde服務器和matlab中同步顯示系統的采集量和控制輸出。 測試方法:用ifix繪制工藝流程圖,圖上直觀地實時顯示溫度、壓力、流量、液位等過程參數。通過dde將以上參數傳輸到matlab,進行相應的控制運算。再通過dde將控制信號下傳至ifix,經下位機實現對主體設備的控制操作。vc++程序作為服務器,同步地顯示所有數據。在matlab中編寫m文件,顯示上傳的相應數據,并且給出控制電壓up(泵控制電壓)和ut(加熱電壓)。 ifix的配置:首先對ifix進行配置,然后在ifix draw窗口建立一個odf文件,文件名為:ceshi.odf,見圖3。圖形界面中包含了溫度、壓力、流量、液位等七個參數和up、ut兩個控制電壓,還包括h2和up的時間曲線,該曲線圖的顯示時間為3分鐘,h2最大值為200mm水柱,up的最大值為24v。需要設置這九個量對應模塊的dde節點名(或者i/o設備及i/o地址),如h2對應的dde節點名為:=ddetest|test1!h2。 [align=center] 圖3 fix的圖形界面[/align] 5 結束語 進一步可以將matlab程序轉化為vc++程序,與dde服務器程序一起編譯成可執行文件在ifix中運行,可以方便地實現各種算法和仿真,有較好的工程應用前景。

標簽:

點贊

分享到:

上一篇:新型無弧交流接觸器的設計

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網站簡介|會員服務|聯系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網-工業自動化與智能制造的全媒體“互聯網+”創新服務平臺

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業執照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號

主站蜘蛛池模板: 镇雄县| 张掖市| 通城县| 蕲春县| 泰兴市| 富顺县| 信阳市| 井研县| 五原县| 错那县| 龙山县| 丽水市| 张掖市| 卢湾区| 平舆县| 临沧市| 颍上县| 随州市| 盐源县| 萍乡市| 甘德县| 长白| 卓尼县| 宁蒗| 花莲县| 稷山县| 夏河县| 青海省| 康乐县| 绥宁县| 巢湖市| 淅川县| 房山区| 鹰潭市| 凌云县| 拉萨市| 仪征市| 平阴县| 德惠市| 卢龙县| 达尔|