⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cvi_matlab.txt

📁 CVI_MATLAB混合编程方法,多少还是有点用,大家随便看看吧
💻 TXT
字号:
一种CVI与MATLAB混合编程方法
2006-04-23说明:本人对具体原理不是很清楚,部分资料来源于网络,在NI提供的例子的基础上修改完成


调试环境:Windows XP SP2、MATLAB 7.1与NI Labwindows /CVI 7.1




具体步骤如下:


1、  打开“安装盘:\Program Files\National Instruments\CVI71\samples\activex\matlab”目录下NI的例程。


2、  从工程中删除“matlabsrvr.h”、“matlabsrvr.fp”、“matlabsrvr.c”三个文件


3、  打开面板文件“matlabdemo.uir”,点击菜单“tools”->“Create ActiveX Controler”、在ActiveX Server列表中选择“Matlab Application Type library”,一路“Next”,还是起名字“安装盘:\Program Files\National Instruments\CVI71\samples\activex\matlab\ matlabsrvr.fp”


4、  把重新生成的“matlabsrvr.c”、“matlabsrvr.h”重新加到工程中


5、  此时在matlabdemo.c中,那句stat = MLApp_NewDIMLApp (NULL, &hMatlab); 已经被改成stat = MLApp_NewDIMLApp (NULL, 1, LOCALE_NEUTRAL, 0, &hMatlab);了,如果没有变过来就自己改;然后在matlabsrvr.c中将所有的MLApp_IID_DIMLApp用IID_IDispatch代替,在工具eidt下用replace项,打勾的项就是:case sensitive,regular expression,wrap;选 replace all。


6、  还是matlabdemo.c中


/*


const IID IID_IDispatch = {0x669CEC93, 0x6E22, 0x11CF, 0xA4, 0xD6, 0x0, 0xA0, 0x24, 0x58, 0x3C, 0x19 }; 


const IID MLApp_IID_IMLApp = {0x669CEC92, 0x6E22, 0x11CF, 0xA4, 0xD6, 0x0, 0xA0, 0x24, 0x58, 0x3C, 0x19 }; 


const IID MLApp_IID_DIMLEval = {0x6E813920, 0x23FE, 0x4D6D, 0x91, 0xF8, 0x56, 0xFA, 0xB0, 0x6C, 0x5D, 0x13 }; 


*/


这几句不要了,有这几句的话就会说你的程序不支持接口;但是必须在此处加上变量定义 const IID MLApp_IID_DIMLEval; 


const IID MLApp_IID_IMLApp;


注意:在NI的例子中有个.M文件不能运行,改个名字就可以了,因为该名字与matlab的关键字重复。


 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -