Matlab入门教程03:Simulink通过UDP发送数据测试

系列索引:Matlab入门教程索引

上一篇:Matlab入门教程02:安装与配置

VAPS XT只能通过UDP和共享内存发送获取数据,那么,数据源必须为UDP或者共享内存。

那么在Simulink数据的最后一环必须以UDP的形式发送。

模型

打开Matlab软件,

新建一个工程

blank project

选择简单工程

simple project

设置工程名称

name

点击创建工程,默认界面为

project

打开models文件夹下的top_model.slx,会自动打开一个空白模型界面

model

点击菜单栏的库浏览按钮

library browser

会弹出MATLAB自带的库

libraries

选择Simulink->Sources中的Constant

constant

然后以拖拽的方式添加到空白模型中

add

然后以同样的方式添加

  • 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

A

将左侧第三个的常量设置为0.02,输出为double。

左侧第四个的常量设置为97,输出为double,标签设置为a。

从a/A两个常量引出的数据类型转换保持默认。

Byte Packing用于将数据打包为数据流,

将Pack的数据输入从

1
{'uint8'}

修改为

1
{'uint8','double','double','uint8'}

其他保持默认

pack控件会出现四个入口

model

然后用线连接起来。

model

最后设置UDP部分,IP,端口

udp

完整模型为

full model

测试

从网上下载NetAssist,最新版是5.0.2。

net assistant

设置主机地址,主机端口,协议类型。

然后打开端口,进入等待数据状态

open

点击按钮,运行模型

run

网络助手接收的数据为

data

第一个字节为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/
作者
JackeyLea
发布于
2022年2月9日
许可协议