消息 (MSG)

此信息适用于 CompactLogix 5370、ControlLogix 5570、Compact GuardLogix 5370、GuardLogix 5570、Compact GuardLogix 5380、CompactLogix 5380、ControlLogix 5580、GuardLogix 5580 和 ControlLogix 5590 控制器。在适用的情况下会注明控制器的差异。
MSG 指令可针对网络中的其他模块执行数据块异步读写操作。
此为转换指令。使用时,请遵循以下步长:
  • 在梯形逻辑中,插入一个指令,以便在每次执行该指令时,梯级输入条件均会由 false 转换为 true。
  • 在结构化文本例程中,插入指令的条件以便仅在转换时执行。
可用语言
梯形图
MSG_LD_avail_v31
功能块
此指令不可用于功能块中。
结构化文本
MSG(MessageControl);
操作数
梯形图
操作数
类型
格式
说明
Message
MSG
标签
Message 结构
结构化文本
操作数
类型
格式
说明
Message
MSG
标签
Message 结构
有关结构化文本中表达式语法的详细信息,请参见部分。
MESSAGE 结构
重要提示: 如果多次检查状态位:
如果在逻辑程序的多个位置对状态位进行检查,可使用这些位的副本。否则,在扫描过程中这些位可能发生更改,造成逻辑程序的运行不符合预期。
获得副本的一种方法是使用 FLAGS 字。将复制 FLAGS 字到其他标签,然后检查副本中的这些位。
重要提示: 请勿更改 MSG 指令的以下位:
  • DN
  • EN
  • ER
  • EW
  • ST
无论是这些位本身还是 FLAGS 字中的这些位都不要更改。否则,控制器可能发生不可恢复的故障。如果发生不可恢复的故障,控制器会将项目从内存中清除。
助记符
数据类型
说明
.FLAGS
INT
.FLAGS 成员可提供对状态成员(位)的访问,访问时采用一个 16 位字的形式。
2
Is this member
.EW
4
.ER
5
.DN
6
.ST
7
.EN
8
.TO
9
.EN_CC
重要提示: 请勿更改 FLAGS 成员的 EW、ER、DN 或 ST 位。例如,请勿清除整个 FLAGS 字。控制器会忽略更改,并使用内部存储的位值。
.ERR
INT
如果 .ER 位置位,错误代码字会标识出 MSG 指令的错误代码。
.EXERR
INT
扩展错误代码字,用于指定部分错误代码的附加错误代码信息。
.REQ_LEN
INT
请求的长度,用于指定消息指令将尝试传输的字数。
.DN_LEN
INT
完成长度,标识实际传输的字数。
.EW
BOOL
使能等待位,当控制器检测到消息请求进入队列时置位。当 .ST 位置位时,控制器将 .EW 位复位。
重要提示: 请勿更改 EW 位。控制器会忽略更改,并使用内部存储的位值。
.ER
BOOL
错误位,当控制器检测到传输失败时置位。EnableIn 下一次由假变为真时,.ER 位复位。
重要提示: 请勿更改 ER 位。控制器会忽略更改,并使用内部存储的位值。
.DN
BOOL
完成位,当消息的最后一个信息包成功传输后置位。EnableIn 下一次由假变为真时,.DN 位复位。
重要提示: 请勿更改 DN 位。控制器会忽略更改,并使用内部存储的位值。
.ST
BOOL
开始位,当控制器开始执行 MSG 指令时置位。当 .DN 位或 .ER 位置位时,.ST 位复位。
重要提示: 请勿更改 ST 位。控制器会忽略更改,并使用内部存储的位值。
.EN
BOOL
使能位,当 EnableIn 变为真时置位,并保持置位直到 .DN 位或 .ER 位置位且 EnableIn 为假。如果 EnableIn 条件为假,但 .DN 位和 .ER 位清零,则 .EN 位保持置位。
重要提示: 请勿更改 EN 位。控制器会忽略更改,并使用内部存储的位值。
.TO
BOOL
如果手动将 .TO 位置位,控制器将停止处理消息,并将 .ER 位置位。
.EN_CC
BOOL
使能缓存位,用于决定 MSG 连接的管理方式。如果希望控制器保持该连接(例如在多次重复执行同一条 MSG 指令时),应将 .EN_CC 位置位。如果很少执行 MSG 指令并且需要另外的控制器连接,应将 .EN_CC 位清零。
即使 .EN_CC 位置位,由串行端口发出的 MSG 指令连接也不会缓存。
.ERR_SRC
SINT
在“消息配置”(Message Configuration) 对话框中显示错误路径。
.DestinationLink
INT
要更改
DH+
或带源 ID 消息的 CIP 的目标链路,应将此成员设置为所需值。
.DestinationNode
INT
要更改
DH+
或带源 ID 消息的 CIP 的目标节点,应将此成员设置为所需值。
.SourceLink
INT
要更改
DH+
或带源 ID 消息的 CIP 的源链路,应将此成员设置为所需值。
.Class
INT
要更改 CIP 通用消息的 Class 参数,应将此成员设置为所需值。
.Attribute
INT
要更改 CIP 通用消息的 Attribute 参数,应将此成员设置为所需值。
.Instance
DINT
要更改 CIP 通用消息的 Instance 参数,应将此成员设置为所需值。
.LocalIndex
DINT
如果使用星号 [*] 来指定本地数组的元素编号,将由 LocalIndex 提供元素编号。要更改元素编号,应将此成员设置为所需值。
If the message:
Then the local array is the:
Reads data
Destination element
Writes data
Source element
.Channel
SINT
要使用 1756-DHRIO 模块的另一个通道发出消息,应将此成员设置为所需值。应使用 ASCII 字符 A 或 B。
.Rack
SINT
要更改块传输消息的机架号,应将此成员设置为所需机架号(八进制)。
.Group
SINT
要更改块传输消息的组编号,应将此成员设置为所需组编号(八进制)。
.Slot
SINT
要更改块传输消息的插槽编号,应将此成员设置为所需插槽编号(八进制)。
If the message goes over this network:
Then specify the slot number in:
Universal remote I/O
octal
ControlNet
decimal (0-15)
.Path
STRING
要将消息发送到其他控制器,应将此成员设置为新路径。
以十六进制值的形式输入路径。
省略逗号 [,]
例如路径 1, 0, 2, 42, 1, 3,可输入 $01$00$02$2A$01$03。
要浏览到某个设备并自动创建部分或完整的新字符串,请右键单击字符串标签,然后选择“转至消息路径编辑器”(Go to Message Path Editor)。
.RemoteIndex
DINT
如果使用星号 [*] 来指定远程数组的元素编号,将由 RemoteIndex 提供元素编号。要更改元素编号,应将此成员设置为所需值。
If the message
Then the remote array is the
Reads data
Source element
Writes data
Destination element
.RemoteElement
STRING
要指定将消息发送到控制器中的其他目标标签或地址,应将此成员设置为所需值。以 ASCII 字符形式输入标签或地址。
If the message
Then the remote array is the
Reads data
Source element
Writes data
Destination element
.UnconnectedTimeout
DINT
非连接型消息的超时,或者建立连接的超时。默认值为 30 秒。
如果消息为非连接型消息,则当控制器在 UnconnectedTimeout 时间内未获得响应时,ER 位置位。
如果消息为连接型消息,则当控制器在 UnconnectedTimeout 时间内未获得建立连接的响应时,ER 位置位。
.ConnectionRate
DINT
连接型消息在建立连接后的超时。此超时是指获得其他设备响应的超时。
仅适用于已建立连接的情况。
超时 = ConnectionRate x TimeoutMultiplier
默认 ConnectionRate 为 7.5 秒。
默认 TimeoutMultiplier 为 0(相当于倍乘系数 4)。
连接型消息的默认超时为 30 秒(7.5 秒 x 4 = 30 秒)。
要更改此超时,可更改 ConnectionRate 并将 TimeoutMultiplier 保留为默认值。
.TimeoutMultiplier
SINT
说明
MSG 指令可传输数据元素。此为跳变指令:
  • 在梯形图中,每次执行指令时,EnableIn 由清零切换为置位。
  • 每个元素的大小取决于指定的数据类型和使用的消息命令类型。
MSG Instruction
位置
说明
1
EnableIn 为真
.EN 置位
.EW 置位
连接打开
2
消息已发送
.ST 置位
.EW 清零
3
消息完成或出错,EnableIn 为假
.DN 或 .ER 置位
.ST 清零
连接关闭(如果 .EN_CC = 0)
.EN 清零(因为 EnableIn 为假)
4
EnableIn 为真,且 .DN 或 .ER 先前已置位
.EN 置位
.EW 置位
连接打开
.DN 或 .ER 清零
5
消息已发送
.ST 置位
.EW 清零
6
消息完成或出错,EnableIn 仍为真
.DN 或 .ER 置位
.ST 清零
连接关闭(如果 .EN_CC = 0)
7
EnableIn 变为假,且 .DN 或 .ER 置位
.EN 清零
影响数学状态标志
严重/轻微故障
没有特定于此指令的故障。有关操作数相关的故障,请参见“通用属性”。
执行
梯形图
条件/状态
执行的操作
预扫描
.EWS、.ST、.DN 和 .ER 位清零。
梯级输入条件为假
请参见“MSG 流程图(假)”
梯级输入条件为真
请参见“MSG 流程图(真)”
后扫描
不适用
结构化文本
条件/状态
执行的操作
预扫描
请参见“梯形图”表中的“预扫描”行
正常执行
请参见“MSG 流程图(真)”
后扫描
请参见“梯形图”表中的“后扫描”行
MSG 流程图(假)
MSG Flow Chart (False)
MSG 流程图(真)
MSG Flow Chart True
示例
梯形图
MSG_LD_ex_v31
结构化文本
MSG (MessageControl);
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal