Matlab入门教程03:Simulink通过UDP发送数据测试
系列索引:Matlab入门教程索引
VAPS XT只能通过UDP和共享内存发送获取数据,那么,数据源必须为UDP或者共享内存。
那么在Simulink数据的最后一环必须以UDP的形式发送。
模型
打开Matlab软件,
新建一个工程
选择简单工程
设置工程名称
点击创建工程,默认界面为
打开models文件夹下的top_model.slx
,会自动打开一个空白模型界面
点击菜单栏的库浏览按钮
会弹出MATLAB自带的库
选择Simulink->Sources中的Constant
然后以拖拽的方式添加到空白模型中
然后以同样的方式添加
- Simulink->Sources->Sine Wave,
- 两个Constant,
- 两个Simulink->Commonly Used Blocks->Data Type Conversion,
- 一个Simulink Real-Time ->Utitlities->Byte Packing
- 一个DSP System Toolbox->Sinks->UDP Send
然后我们来调整一下模型控件。
将左上角的模型数值设置为65,标签设置为A,输出类型为double
将左侧第三个的常量设置为0.02,输出为double。
左侧第四个的常量设置为97,输出为double,标签设置为a。
从a/A两个常量引出的数据类型转换保持默认。
Byte Packing用于将数据打包为数据流,
将Pack的数据输入从
1 |
|
修改为
1 |
|
其他保持默认
pack控件会出现四个入口
然后用线连接起来。
最后设置UDP部分,IP,端口
完整模型为
测试
从网上下载NetAssist,最新版是5.0.2。
设置主机地址,主机端口,协议类型。
然后打开端口,进入等待数据状态
点击按钮,运行模型
网络助手接收的数据为
第一个字节为A,65,十六进制为41;
第二个字节为a,97,十六进制为61;
字节对齐为1个字节,double为8个字节,数据总共18个字节。
至少头尾是正确的。
Matlab入门教程03:Simulink通过UDP发送数据测试
https://blog.jackeylea.com/matlab/send-data-with-udp-under-simulink/