为什么要基于DDE的iFix与Matlab进行数据通信呢这不是工控自动化软件技术中的一种常见做法吗
美国通用电气公司工业组态软件ifix运行稳定、高效,多年来广泛应用在工业自动化领域。与工业组态软件一样,作为人机界面软件,fix虽然有得天独厚的优势,但是数学和计算功能有诸多不足。美国mathworks公司出品的数学软件matlab是一种基于c语言内核与矩阵运算的工程计算语言,具有强大的数值计算能力和丰富的控制算法。本文用vc++实现fix和matlab的双向数据通信,将matlab的运算功能和算法引入ifixdde。
DD(动态数据交换)是windows的一种进程通信机制,它基于windows消息机制,两个应用程序之间通过传递消息进行对话,这两个程序分别被称为服务器和客户,DD服务器维护着windows程序可能使用的数据,而DD客户则是从服务器获得这些数据的程序。同一个windows应用程序既可以是一个程序的客户,也可以同时是另一个程序的服务器,一個服務器可以將數據傳給多個客戶,一個客戶也可以從多個服務器獲取數據,這些都通過DD對話來定義。DD對話需要三个参数:服务名、话题名、项目名。服务名一般同做為服務器應用程式同名,一個服務可提供多个话題,一個話題可提供多个项目,最终由項目名确定要交换の數據。
如果ixf軟件既實現了ddeserver也實現了ddecustomer支持文本格式剪貼簿數據。如果matlab既作為server也作為customer支持文本格式元文件圖(metafilepict)以及xltable格式三種剪貼簿格式,本文則用VC++程式實現了ddeserver將ixf軟件與matlab都做為VC++程式客戶。在這樣的情況下,我們可以建立一個簡單且直觀的人機界面來顯示系統采集量和控制輸出。我們還會使用VC++程式設計一個簡單的人機界面,並通過這種介面進行一些基本操作,比如設定采集量、控制輸出等。
在我們開始之前,我們需要確保所有必要工具已經安裝好并且能夠正常工作。我們還需要有一定的了解關於MATLAB語言及其運行環境,這樣才能更有效地完成我們接下來要進行的一系列任務。
總結而言,用VC++創建iFix與MATLAB之間DDE通信模擬器是一項複雜但充滿挑戰性的任務,但它能夠幫助我們進一步理解如何將不同平台上的應用進行整合,以便於更好地解決實際問題。此外,這項技術也是工業自動化領域中的重要研究方向之一,因為它允許不同的系統間共享資訊並協調行動,因此對於未來智能制造業有著廣泛的地理影響力。