EcoStruxure Machine Expert 1.1版本不支持M258、LMC058和LMC078控制器。

SEND_RECV_MSG:发送和/或接收用户定义的消息

功能描述

SEND_RECV_MSG 功能块用于发送和接收用户定义的消息。它在选定介质(如串行线路)上发送消息,然后等待响应。另外,它也可以发送消息但不等待响应,或者仅接收消息而不发送消息。

此功能应与 ASCII 管理器配合使用。如果您要发送一个未在通讯库中实现的请求,则也可以将它与 Modbus 管理器配合使用。在这种情况下,您必须自己构建请求。

图形表示形式

G-RU-0010457.2.gif-high.gif

 

 

特定于 SEND_RECV_MSG 的参数介绍

输入

类型

注释

QuantityToSend

UINT

QuantityToSend 为要发送的字节数。

控制器限制:

oM258/LMC058:1050 字节

oM241/M251:252 字节

BufferToSend

POINTER TO BYTE

BufferToSend 为存储要发送的消息的缓冲区(字节数组)的地址。ADR 标准功能必须用于定义关联指针。(请参见下面的示例。)如果为 0,则该功能进行“仅接收”操作。

SizeRecvBuffer

UINT

SizeRecvBuffer 为接收缓冲区的可用大小(以字节为单位)。

接收数据的大小(以字节为单位)显示在功能块实例内部属性(内部变量)中:<实例名称>.NbRecvBytes

控制器限制:

oM258/LMC058:1050 字节

oM241/M251:252 字节

BufferToRecv

POINTER TO BYTE

BufferToRecv 为存储收到的消息的缓冲区(SizeRecvBuffer 字节数组)的地址。ADR 标准功能必须用于定义关联指针。(请参见下面的示例。)如果为 0,则该功能进行“仅发送”操作。

对于“仅发送”操作,当向线路发送完所有数据(包括最后的起始和停止字符)时,交换完成(Busy 复位为 0)。

对于发送/接收或“仅接收”操作,系统直到出现结束条件时才接收字符。当达到结束条件时,交换完成(Busy 复位为 0)。接收到的字符随后将被复制到接收缓冲区(最多 sizeRecvBuffer 个字符),接收数据的大小(以字节为单位)显示在功能块实例属性(内部变量)中:<实例名称>。NbRecvBytessizeRecvBuffer 输入不表示结束条件。

所有 PLCCommunication 库功能块共有的输入和输出参数在其他部分中介绍

用户定义的消息的起始和结束条件在 ASCII 管理器的配置对话框中配置:

G-SE-0001723.1.gif-high.gif

 

 

注意: 此示例中无起始和结束字符。收到的帧的结束条件为超时 250 毫秒。

示例

此 POU 允许在串行线路 1 上对用户定义的消息“hello”执行“仅发送”操作:

G-SE-0002099.1.jpg

 

 

注意: Start 变量上的上升沿启动地址转换和消息发送。