3-57  振动试验设备仿真系统中的数据通讯

    牛宝良   

振动试验设备仿真系统是一套全数字仿真系统由3台计算机组成,形成一个Client/Server模式的网络体系。采用TCP协议在服务器和客户机之间建立了点-点面向连接的网络通讯。采用VB设计客户机应用程序,采用MATLABSIMULINK工具设计仿真程序,由于SIMULINK没有数据通讯模块可以直接调用,因此仿真系统中的数据通讯实现,难点在于MATLAB环境下的Winsock网络通讯程序设计。

可以采用仿真计算机上的进程通讯与TCP/IP网络通讯相结合的方法避开MATLAB环境下的数据通讯编程。采用DDE通讯需要在仿真计算机上同时运行MATLAB程序和VB数据通讯程序,势必会增加系统负担,降低系统运行速率。而且在仿真运算进行时,将不会出现SIMULINK的运行界面,用户不能利用SIMULINK的示波器查看仿真运算结果。

考虑到MATLAB本身是一个C语言的应用程序,通过编制C语言运用程序调用Winsock API,由于C语言没有类似Visual Basic Winsock控件一样可以直接调用的子模块,将所有的Winsock函数从DLL导入,然后重新定义必要的结构。再将该C语言程序连接到MATLAB的工具箱中,生成可供调用的M函数,和MATLAB自身的M函数一样,可以在MATLAB任何环境中调用,将该M函数直接嵌入到仿真回路中,实现了MATLAB环境下的Winsock API的无缝链接。实践证明,系统的网络通讯效果良好。

返回