指定通信详细信息
可以在梯形图逻辑或结构化文本程序中设置广播消息。在梯形图逻辑中,添加梯级后单击
MSG
属性,访问消息配置
(Message Configuration) 对话框,并设置新的消息。在结构化文本中,键入 MSG
(aMsg),然后右键单击 aMsg 打开消息配置
(Message Configuration) 对话框并配置消息。
小贴士:
Logix Designer 版本 37 及更高版本不支持带串行端口的控制器。对于带串行端口的控制器,
广播
按钮仅在 Logix Designer 版本 36 及更早版本中显示。要配置 MSG 指令,需在
通信
(Communication) 选项卡上指定以下各项:
指定路径
路径显示了消息到达目标所经过的路线。它使用控制器 I/O 配置中的名称、键入的数字或者两者一起使用。用户可使用“广播”(Broascast) 按钮设置默认路径,该路径必须随系统协议和信息类型启用。
如果 | 则 |
|---|---|
控制器的 I/O 配置中包含获取消息的模块。 | 浏览并选择模块。 |
控制器的 I/O 配置中只包含本地通信模块。 | 浏览并选择本地通信模块,键入路径的其余部分。 |
控制器的 I/O 配置中不含消息所需的任何模块。 | 键入路径。 |
小贴士:
此外,还支持 THIS,指示至自身的路径。THIS 用于向控制器发送非连接型消息。
示例
控制器的 I/O 配置中只包含本地通信模块:

若要键入路径,可使用以下格式:
端口, 下一个地址, 端口, 下一个地址,
位置 | 是 | |
|---|---|---|
对于以下网络 | 类型 | |
端口 | 背板 | 1 |
DF1(串行,串行通道 0) | 2 | |
ControlNet | ||
EtherNet/IP | ||
DH+ 通道 A | ||
DH+ 通道 B | 3 | |
DF1 通道 1(串行通道 1) | ||
下一个地址 | 背板 | Slot number of the module |
DF1(串行) | 站地址 (0-254) | |
ControlNet | 节点编号(1-99,十进制) | |
DH+ | 8# 后接节点编号(1-77,八进制) 例如,要指定八进制节点地址 37,可输入 8#37。 | |
EtherNet/IP | 使用以下任一种格式指定 EtherNet/IP 网络中的模块:
| |
广播 (Broadcast) 按钮
广播
(Broadcast) 按钮用于串行端口。- RSLogix 5000 软件的此功能自版本 18 开始提供,它增强了定义将消息发送到其目的地所需的路径和消息类型的能力。
广播
(Broadcast) 按钮启用后,可以在组合框中选择可用的通道,以此设定默认路径。组合框中列出的通道数量取决于当前控制器。默认情况下,
通信
(Communication) 选项卡上的路径
(Path) 按钮处于激活状态。执行以下各个步骤,启用
广播
(Broadcast) 按钮,并选择相关通道来指定消息的默认路径。- 在控制器项目管理器(Controller Organizer) 中,右键单击控制器(Controller),然后选择属性(Properties)。控制器属性(Controller Properties) 对话框随即打开。
- 单击系统协议(System Protocol) 选项卡。
- 在协议(Protocol) 框中选择DF1 主站(DF1 Master)。轮询模式默认为“基于消息”(允许从站发起消息)。
- 单击确定(OK)。
- 在梯形图逻辑中,单击 MSG 标签中的框。消息配置(Message Configuration) 对话框随即打开,其中显示配置(Configuration) 选项卡。
- 在消息类型(Message Type) 框中,选择CIP 数据表写入(CIP Data Table Write)。
- 单击确定(OK)。此时已启用通信(Communication) 选项卡中的广播(Broadcast) 按钮。
- 单击通信(Communication) 选项卡。
- 在广播(Broadcast) 按钮旁,从组合框中选择通道。组合框中的通道数量取决于控制器。选择通道 0 或 1 时,消息配置(Message Configuration) 对话框中相应的消息路径默认为 2,255(通道 0)或 3,255(通道 1)。“路径”(Path) 字段呈灰显状态,表示不允许用户手动输入路径值。
- 单击确定(OK)。
“系统协议”(System Protocol) 选项卡配置
小贴士:
Logix Designer 版本 37 及更高版本不支持带串行端口的控制器。对于具有串行端口的控制器,
系统协议
选项卡仅在 Logix Designer 版本 36 及更早版本中显示。若要通过 Logix Designer 应用程序在
ControlLogix
控制器中运行广播,必须配置控制器属性
(Controller Properties) 对话框中的系统协议
(System Protocol) 选项卡。该协议必须与消息配置
(Message Configuration) 对话框中的“写”消息类型兼容。执行以下各个步骤,设置系统协议,使其与广播功能兼容。
- 在应用程序中创建控制器或打开现有控制器。
- 在控制器项目管理器(Controller Organizer) 中,右键单击控制器名称并选择属性(Properties)。控制器属性(Controller Properties) 对话框随即打开。
- 如果控制器具有一个串行端口,则单击系统协议(System Protocol) 选项卡。

- 在“协议”(Protocol) 框中,选择一个协议。重要提示:消息配置选项卡(Message Configuration Tab) 对话框上的消息类型(Message Type) 框必须为写类型化类型才能与系统协议兼容。否则,会禁用广播(Broadcast) 按钮。
- 对于下表中列出的各个协议,在系统协议(System Protocol) 选项卡上输入相关信息。主题说明协议DF-1 主站 (DF-1 Master)站地址 (Station Address)输入控制器站地址编号传送重试次数 (Transmit Retries)3ACK 超时 (ACK Timeout)50应答消息等待 (Reply Message Wait)5轮询模式 (Polling Mode)从下列模式中选择:
- 基于消息(Message Based),使用消息指令轮询从站
- 从站可以发起消息(Slave can initiate message),适用于从站至从站的广播
- 标准(Standard),对从站进行规划轮询
错误检测 (Error Detection)BCC重复检测启用(选中)主题说明协议DF-1 从站 (DF-1 Slave)站地址 (Station Address)输入控制器站地址编号传送重试次数 (Transmit Retries)3从站轮询超时 (Slave Poll Timeout)3000EOT 抑制 (EOT Suppression)禁用(未选中)错误检测 (Error Detection)BCC重复检测启用(选中)主题说明协议DF-1 从站 (DF-1 Slave)站地址 (Station Address)输入控制器站地址编号启用存储和转发 (Enable Store and Forward)启用该框(选中)可使用存储和转发标签错误检测 (Error Detection)BCC - 单击确定(OK)。
对于块传输
对于块传输消息,向控制器的 I/O 配置中添加以下模块:
对于基于此网络的块传输: | 将以下模块添加至 I/O 配置中: |
|---|---|
ControlNet | 本地通信模块(例如,1756-CNB 模块) 远程适配器模块(例如,1771-ACN 模块) |
通用远程 I/O | 本地通信模块(例如,1756-DHRIO 模块) 每个机架或者机架的一部分一个远程适配器模块(例如,1771-ASB 模块) 块传输模块(选配) |
指定通信方法或模块地址
使用下表为消息选择一种通信方法或模块地址:
如果目标设备为 | Select | 并指定 | |
|---|---|---|---|
Logix 5000 控制器 | CIP | 无需指定其他内容。 | |
EtherNet/IP 网络中的 PLC-5 控制器 | |||
ControlNet 网络中的 PLC-5 控制器 | |||
SLC 5/05 控制器 | |||
DH+ 网络中的 PLC-5 控制器 | DH+ | 通道 | Channel A or B of the 1756-DHRIO module that is connected to the DH+ network. |
DH+ 网络中的 SLC 控制器 | 源链路 | 1756-DHRIO 模块路由表中,分配给控制器背板的链路 ID。路由表中的源节点自动采用控制器的插槽编号。 | |
PLC-3 处理器 | 目标链路 | 目标设备所在的远程 DH+ 链路的链路 ID。 | |
PLC-2 处理器 | 目标节点 | 目标设备的站地址,采用八进制形式。 | |
如果只有一个 DH+ 链路,则为源链路和目标链路指定 0。 | |||
工作站上的应用程序,通过 FactoryTalk Linx 软件接收基于 EtherNet/IP 或 ControlNet 网络路由的未经请求的消息 | 带源 ID 的 CIP 这有助于应用程序接收来自控制器的数据。 | 源链路 | Remote ID of the shortcut in FactoryTalk Linx . |
目标链路 | FactoryTalk Linx 软件中设置的虚拟链路 ID (0…65,535)。 | ||
目标节点 | 应用程序向 FactoryTalk Linx 提供的目标 ID(0…77,八进制)。 | ||
ControlLogix 控制器的插槽编号用作“源节点”。 | |||
基于通用远程 I/O 网络的块传输模块 | RIO | 通道 | Channel A or B of the 1756-DHRIO module that is connected to the RIO network. |
机架 | 模块的机架号(八进制)。 | ||
组 (Group) | 模块的组编号。 | ||
插槽 | 模块所在的插槽编号。 | ||
基于 ControlNet 网络的块传输模块 | ControlNet | 插槽 | Slot number of the module. |
选择缓存选项
根据 MSG 指令的配置,该指令可以使用连接来收发数据。
消息类型: | 通信方法: | 使用连接: |
|---|---|---|
CIP 数据表读取或写入 | 由用户选择 (1) | |
PLC-2、PLC-3、PLC-5 或 SLC(所有类型) | CIP 带源 ID 的 CIP | |
DH+ | X | |
CIP 通用 | 由用户选择 (2) | |
块传输读取或写入 | X |
- CIP 数据表读取或写入消息可以是连接型消息也可以是非连接型消息。对于大多数应用,Rockwell Automation建议将 CIP 数据表读取或写入消息保留为连接型消息。
- CIP 通用消息可以是连接型消息也可以是非连接型消息。然而,对于大多数应用,建议将 CIP 通用消息保留为非连接型消息。
如果 MSG 指令使用连接,用户可以在消息完成传输时选择将连接保持打开(缓存)状态或关闭连接。
如果: | 则: |
|---|---|
缓存连接 | MSG 指令完成后该连接保持打开状态。这可以优化执行时间。若每次消息执行时都打开连接,则会延长执行时间。 |
请勿缓存连接 | 连接在 MSG 指令执行完成后关闭。这可以将连接释放以作他用。 |
对于可缓存的连接数,控制器具有如下限制。
如果使用此控制器: | 则可以缓存: |
|---|---|
CompactLogix 5370 或 ControlLogix 5570 | 最多 32 个连接。 |
ControlLogix 5580 | 最多 256 个连接。 |
如果有多条消息进入同一设备,这些消息可以共用一个连接。
如果多条 MSG 指令发往: | 而且满足以下条件: | 则: |
|---|---|---|
不同设备 | 每条 MSG 指令使用 1 个连接。 | |
同一设备 | 同时启用 | 每条 MSG 指令使用 1 个连接。 |
不同时启用 | MSG 指令使用一个连接和一个缓存缓冲区。它们共用该连接和缓冲区。 |
小贴士:
若要共用连接,当控制器向同一模块交替发送块传输读取消息和块传输写入消息时,这两条消息视为同一个连接。缓存这两条消息时,在缓存列表中视为一条消息。
指导原则
对 MSG 指令进行规划和编程时,应遵从以下指导原则:
指导原则 | 详细信息 |
|---|---|
对于每条 MSG 指令,都创建控制标签。 | 每条 MSG 指令都需要自己的控制标签。 |
数据类型 = MESSAGE | |
作用域 = 控制器 | |
此标签不能作为数组的一部分,也不能是用户自定义的数据类型。 | |
将源/目标数据保持在控制器作用域内。 | MSG 指令只能访问“控制器标签”(Controller Tags) 文件夹(控制器作用域)中的标签。 |
如果将 MSG 发往使用 16 位整型值的设备,则在 MSG 中使用 INT 型缓冲区,在整个项目范围内使用 DINT 型缓冲区。 | 如果将消息发往使用 16 位整型值的设备(例如 PLC-5 或 SLC 500 控制器),并且消息传输整型值 (非 REAL 型),则在消息中使用 INT 型缓冲区,在整个项目范围内使用 DINT 型缓冲区。 |
这样可以提高项目效率,因为 Logix 控制器在使用 32 位整型值 (DINT) 时执行效率更高且占用的内存更少。 | |
若要在 INT 和 DINT 之间进行转换,请参见 Logix 5000 Controllers Common Procedures Programming Manual,出版号 1756-PM001。 | |
缓存执行最为频繁的连接型 MSG。 | 缓存最常执行的 MSG 指令的连接,指令数最多可达到控制器版本允许的最大数目。 这样可以优化执行时间,因为控制器无需在每次消息执行时都打开连接。 |
对于 CompactLogix 5370 或 ControlLogix 5570 控制器,如果想要同时启用超过 16 条 MSG,则需使用某种管理策略。对于 ControlLogix 5580 控制器,如果想要同时启用超过 256 条 MSG,则需使用某种管理策略。 | 对于 CompactLogix 5370 或 ControlLogix 5570 控制器,如果同时使能超过 16 条 MSG,则部分 MSG 指令在进入队列时可能会出现延时。对于 ControlLogix 5580 控制器,如果同时使能超过 256 条 MSG,则部分 MSG 指令在进入队列时可能会出现延时。为帮助确保每条消息都会执行,可使用以下一种选项: |
按顺序启用每条消息。 | |
按组启用消息。 | |
对消息进行编程,使其与多个设备通信。有关更多信息,请参见 Logix 5000 Controllers Common Procedures Programming Manual,出版号 1756-PM001。 | |
对逻辑进行编程,以协调消息的执行。有关更多信息,请参见 Logix 5000 Controllers Common Procedures Programming Manual,出版号 1756-PM001。 | |
(仅限 CompactLogix 5370 或 ControlLogix 5570 控制器)将非连接型和非缓存 MSG 的数目保持为少于非连接缓冲区的数目。 | 控制器可以有 10 至 40 个非连接缓冲区。 CompactLogix 5370 或 ControlLogix 5570 控制器的默认数量为 10。 |
如果在指令离开消息队列时,所有非连接缓冲区均在使用中,则指令会出错并且不传输数据。 | |
您可以增加非连接缓冲区的数量(最多 40 个),但仍需遵守指导原则 5。 | |
若要增加非连接缓冲区的数量,请参见 Logix 5000 Controllers Common Procedures Programming Manual,出版号 1756-PM001。 |
提供反馈