VAPS XT入门教程16.02:与Simulink通信
系列索引:VAPS XT入门教程索引
上一篇:VAPS XT入门教程16.01:与OpenDDS通信
本文介绍VAPS XT程序与Matlab simulink组件通信的方法。
本文使用的Matlab simulink模型是Matlab入门教程:Simulink通过UDP发送数据测试
VAPS XT通信使用UDP/共享内存
本文介绍VAPS XT程序与Matlab simulink组件通信的方法。
普通nCOM
经过测试,程序内的nCom好像无法使用。
UserIntegration
创建一个新工程,然后创建一个新数据结构
1 |
|
换成C/C++
就是
1 |
|
然后根据此数据结构创建一个Data Sender/Receiver
创建一个测试Format,因为是测试,不需要太复杂的界面。
以下内容需要参考VAPS XT入门教程15.03:UserIntegration说明的工程的UserIntegration代码。
先创建一个数据结构
1 |
|
创建一个类用于循环获取UDP数据
在主文件中的main函数中创建数据线程
1 |
|
实现数据获取函数,将数据线程获取的数据填充到本地。
1 |
|
编译运行
1 |
|
结果为
模型的运行时间为2000ms,发送间隔为20ms,最后一组数据发送完成后未更新数据,所以保持显示最后一组数据。
总结
- VAPS XT通信只接收TCP/UDP/共享内存,也就是说不管你的模型有多复杂,最后都是靠网络方式传输。
- 与simulink通信只是简单的功能组合,唯一要注意的是数据结构的字节对齐,否则会出现显示异常。
- 可以查看论文
基于UDP通信的VPAS XT人机界面工具与Simulink仿真工具的数据交互 - 石磊 - 中航通飞研究院有限公司 - 2020
,可以看到开发思想是差不多的 - 官方还提供了指定版本的Matlab控件,详见下一篇:VAPS XT入门教程16.03:与Simulink通信(官方模块)
下一篇:VAPS XT入门教程16.03:与Simulink通信(官方模块)
技术交流群,欢迎加入讨论。这个圈子很小,大佬可能没兴趣加这些群聊社区之类的。所以只能带你入门,当然,欢迎大佬指导
VAPS XT入门教程16.02:与Simulink通信
https://blog.jackeylea.com/vapsxt/vapsxt-communicate-with-matlab-simulink/