TCP / IP接收
通过TCP/IP网络从指定的远程机器接收数据
- 库:
仪器控制工具箱
描述
的TCP / IP接收block使用TCP/IP协议配置并打开到指定远端地址的接口。配置和初始化只在模型执行开始时发生一次。在模型运行时,块以阻塞模式或非阻塞模式获取数据。使用TCP / IP接收块通过TCP/IP网络读取流数据。该块只能作为TCP/IP客户端,不能用作TCP/IP服务器。
该块没有输入端口。根据您选择阻塞或非阻塞模式,它有一个或两个输出端口。如果选择阻塞模式,则该块有一个输出端口,数据,对应于它接收的数据。如果不选择阻塞模式,则阻塞有两个输出端口,数据而且状态.
该块使用先进先出(FIFO)缓冲区来接收数据。在每一个时间步,数据端口从缓冲区返回请求的值。在非阻塞模式下,状态Port指示块是否接收了新数据。如果状态端口显示1
,新的数据是可用的,如果状态端口显示0
,没有新的数据。
其他支持特性
的TCP / IP接收block支持使用Simulink®加速器模式和快速加速器。这个特性加速了Simulink模型的执行。
的TCP / IP接收块支持使用模型引用。该特性允许您的模型包含其他Simulink模型作为模块化组件。
的TCP / IP接收块支持C/ c++代码生成。该特性允许您使用仿真软件编码器™.
有关这些特性的更多信息,请参见动态仿真模块文档。
港口
输出
参数
远程地址
—远端主机名称或地址
远程主机名或IP地址
要从中接收数据的TCP/IP服务器的IP地址或名称。
编程使用
块参数:宿主 |
类型:字符向量,字符串 |
港口
—远端主机端口
80
(默认)|远端主机端口
要连接的TCP/IP服务器的远端端口,取值范围为1 ~ 65535。
编程使用
块参数:港口 |
类型:字符向量,字符串 |
价值观:1到65,535 |
默认值:“80” |
验证地址和端口的连通性
-远程机器连接验证
按钮
单击此按钮可检查到指定远程地址和端口的连接是否有效。
数据大小
-读取值的数量
[1]
(默认)|数值数组
输出数据大小,或在每个模拟时间步中要读取的值的数量。此参数指定为标量或向量。数据不包括终止符值。
编程使用
块参数:DataSize |
类型:字符向量,字符串 |
价值观:向量 |
默认值:'[1,1]' |
源数据类型
-输出数据类型
uint8
(默认)|单
|双
|int8
|int16
|uint16
|int32
|uint32
|int64
|uint64
|美国信息交换标准代码
数据块从远程地址接收的数据类型,指定为MATLAB数据类型。
此数据类型必须与远端地址的数据类型匹配。不能使用此参数更改远端地址的数据类型。
编程使用
块参数:数据类型 |
类型:字符向量,字符串 |
价值观:“单一” |“双” |“int8” |“uint8” |“int16” |“uint16” |“int32” |“uint32” |“int64” |“uint64” |“ASCII” |
默认值:“uint8” |
ASCII格式字符串
—字符串数据的格式
% f
(默认)|数字转换说明符
此参数定义接收到的字符串数据的格式。您可以使用以下转换说明符或它们的组合。
请注意
如果您生成C/ c++代码使用仿真软件编码器,则只能使用单个转换说明符。
数字字段类型 | 转换说明符 | 细节 |
---|---|---|
整数,签署了 |
|
以10为底的 |
|
数据中的值决定了基数:
|
|
|
64位值,以10、8或16为基数 |
|
整数,无符号 |
|
以10为底的 |
|
以8为基数(八进制) |
|
|
以16为基数(十六进制) |
|
|
64位值,以10、8或16为基数 |
|
浮点数 |
|
浮点字段可以包含以下任何一个(不区分大小写): |
|
||
|
编程使用
块参数:ASCIIFormatting |
类型:字符向量,字符串 |
价值观:' % d ' |' %我 |% ld的 |“李%” |' % u ' |% o ' |' % x ' |“陆%” |“% lo” |“% lx” |' % f ' |“e %” |“% g” |
默认值:' % f ' |
依赖关系
若要启用此参数,请设置源数据类型来美国信息交换标准代码
.
《终结者》
——《终结者》
低频
(默认)|CR
|CR / LF
|低频/ CR
|定制的终结者
如果选择此参数,则可以指定指示数据块结束的终止符。模拟将终止符之前的任何数据视为新的数据块。终止数据不发送到输出端口。此终止符必须与从远程计算机读取的数据中的终止符匹配。
如果您选择定制的终结者
,您可以指定自己的终止符值。
编程使用
块参数:《终结者》 |
类型:字符向量,字符串 |
价值观:“CR” |“如果” |“CR / LF” |“如果/ CR” |“自定义终结者” |
默认值:“如果” |
依赖关系
若要启用此参数,请设置源数据类型来美国信息交换标准代码
.
定制的终结者
-自定义终止符
数字数组|整数,取值范围为0 ~ 255
指示数据块结束的自定义终止符。模拟将终止符之前的任何数据视为新的数据块。终止数据不发送到输出端口。
在此参数中指定的数值数组是uint8
对应ASCII字符的整数表示。该参数的确切形式取决于ASCII字符的类型。
ASCII字符类型 | ASCII字符示例 | MATLAB命令 | 参数值 |
---|---|---|---|
控制字符(转义序列) | “如果” (“\ n” ) |
uint8 (sprintf (' \ n ')) |
[10] |
特殊字符 | “#” |
uint8(“#”) |
[35] |
数字 | “81” |
uint8(“81”) |
(56 49) |
字母 | “结束” |
uint8(结束) |
[69 110 100] |
您也可以使用ASCII字符的十六进制表示形式指定此参数。
编程使用
块参数:CustomTerminator |
类型:字符向量,字符串 |
价值观:整型数组 |
默认值:“十” |
依赖关系
若要启用此参数,请设置《终结者》来定制的终结者
.
字节顺序
—字节顺序
大端法
(默认)|低位优先
将字节排列成较大数值的顺序。如果字节顺序为低位优先
,则第一个字节组织在所接收的TCP/IP包的第一个内存地址中。如果字节顺序为大端法
,则最后一个字节组织在所接收的TCP/IP包的第一个内存地址中。
在接收数据之前,配置字节顺序以匹配远程计算机的适当值。有关它存储字节的顺序的信息,请参阅您的仪器文档。
编程使用
块参数:ByteOrder |
类型:字符向量,字符串 |
价值观:“低位优先” |“大端法” |
默认值:“大端法” |
启用阻塞模式
-模拟在接收数据时等待
在
(默认)|从
当块接收数据时,该参数使模拟等待。当新的数据可用时,模拟将从下一个时间步骤继续进行。如果不希望读取操作导致模拟等待,则取消选中复选框。
如果启用阻塞模式,则模拟等待所请求的数据变为可用。在每个时间步骤中,模型等待的时间不超过超时参数。如果在此时间内未接收到数据,则块输出值为0
.
如果不启用阻塞模式,模拟将持续运行,并且阻塞有两个输出端口,状态而且数据.的数据端口包含在每个时间步上请求的数据集。的状态端口包含0或1,这取决于它是否在给定的时间步骤上接收到新数据。
有关更多信息,请参见在接收和发送块中启用阻塞模式.
编程使用
块参数:EnableBlockingMode |
类型:字符向量,字符串 |
价值观:“上” |“关闭” |
默认值:“上” |
超时
—允许完成操作的时间
10(默认)|阳性标量
模型在每个模拟时间步骤中等待数据的时间(以秒为单位)。这个值相对于真实世界或“挂钟”时间。
编程使用
块参数:超时 |
类型:字符向量,字符串 |
价值观:积极的标量 |
默认值:“十” |
依赖关系
若要启用此参数,请设置启用阻塞模式来在
.
块采样时间
-采样时间
0.01(默认)|正数值
模拟过程中块的采样时间。这是模拟过程中块执行的速率。有关更多信息,请参见硬件接口模型中的时序.
编程使用
块参数:SampleTime |
类型:字符向量,字符串 |
价值观:积极的数字 |
默认值:“0.01” |
扩展功能
C/ c++代码生成
使用Simulink®Coder™生成C和c++代码。
此块仅为主机的平台(Windows . net)生成特定于平台的代码®,macOS, Linux®).设置设备供应商而且设备类型在模型设置>硬件实现.您还必须选择支持很久很久下设备详细信息.
类只能使用单个转换说明符ASCII格式字符串参数。
版本历史
在R2007b中引入
另请参阅
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。