MSG 指令编写说明
MSG 指令编写之前,要建立数据类型为 MESSSAGE 结构的标签,每一条
指令都要分配一个标签,这个标签将记录本条指令的通讯组态和执行情况。
为每一条 MSG 指令建立一个标签,不能建立数组。
只有为指令分配了标签后,点击 方可进入组态界面:
说明:
对控制器以外的各种设备传送信息,它的信息类型如下所列:
-CIP Data Table Read/Write 对 ControlLogix 控制器进行读写
-PLC5 Typed Read/Write 对 PLC5 处理器进行读写
-PLC5 Word Range Read/Write 对类似 PLC5 处理器地址进行读写
-Block Transfer Read/Write 对块传送模块进行读写
-PLC2 Unprotected Read/Write 对 PLC2 处理器及类似 PLC2 地址(寄
存器地址)的设备进行读写。
-PLC3 Typed Read/Write 对 PLC3 处理器进行读写
-PLC3 Word Range Read/Write,对类似 PLC3 处理器地址进行读写。
-SLC Typed Read/Write 对 SLC 处理器进行读写
-Module Reconfigure 在模块仍然连接时,对模块进行重新组态 。
-CIP Generic 对任何设备的服务性操作。
本指令执行的状态
-Enable 指令级条件成立,指令被使能,开始工作。
-Enable Waiting 信息传送请求被送到缓冲区,等待传送。
-Start 缓冲区排队轮到,开始传送数据。
-Done 数据传送完毕,指令置位完成。
-Done Length 实际完成的数据块长度
-Error Code 如指令执行失败,此处给出 16 进制的错误代码 00XX。
-Extended Error Code 给出 16 进制的扩展错误代码 XXXX。
-Tined Out 设置超时请求,此项选择,当发生超时,终止 MSG 传送过
程。
1> ControlLogix 控制器与 ControlLogix 控制器的通讯
源或目标的标签地址不是引用 Tag 名,而是 Tag 的第一个元素,否则认为
是语法错误,梯级不能接受。
元素个数最多可有 65335 个,尽管 ControlNet 的数据包最多只有 500 个字节,
MSG 指令可将数据块拆开,分成一个以上的数据包送走。
Communication 页面要求输入两个控制器之间的通讯路径,如果在 I/O 组态
中有该控制器,亦可通过 Browse 获得路径,倘若仅仅是为了建立 MSG 路径而
在 I/O 组态中加入控制器,则没有必要,那样将占用内存空间,建议书写路径,
路径书写规则:
路径是段和段的连接,段由 x,y 组成,段和段之间用逗号分离。
X 背板为 1;网络为 2。
Y 槽号;站号,ControlNet 网络 1-99 号,EtherNet 网络为 IP 地址。
上面书写的路径是:背板—CNB(位于 5 槽)—ControlNet 网络—对方 CNB
(站号 3 号)— 背板 — 控制器(位于 0 槽)。
路径还可以是动态的,在信息块的结构数据中,有 Path 一项,这是个字符串
结构,更换字符串数据即更换了路径。
字符串的长度最大 82 个,足够表达路径了。
,此项建立了 MSG 指令的连接,缺省是选择的,也就
是说 MSG 指令占用一个固定的连接;如果释放此项,只有在 MSG 指令执行的
时候才占用连接,是一个活动的连接,可编制程序,令多条 MSG 指令共同使用
一个连接,这对缓和资源的运用是有好处的。
2> ControlLogix 控制器与 PLC-5 控制器的通讯
编写如下梯形图逻辑:
点击 进入组态画面:
说明:
Message Type: 选择对 PLC-5 读取数据
Source Element: PLC-5 处理器中的地址作为源地址(文件首址)
Number Of Element: 读取数据的元素的个数,最多 32767 个。
Destination Element: CLX 中的数组(接受数据区域)的首元素作为目标地
址
进入 Communication 画面,确定通讯对象,
说明:
Path: 可通过 Browse…找到 DHRIO 模块位置,亦可用书写路径的办法。
Channel: 选择 A 通道,模块定义 A 通道为 DH+通道。
Source Link: 应与 DHRIO 模块上(在 RSLinx 中)定义的路由表一致。
Destination Link: 应与 DHRIO 模块上(在 RSLinx 中)定义的路由表一致。
Destination Node: DH+上接受 MSG 数据的 PLC-5 处理器站号(八进制)。
3> ControlLogix 控制器与 PLC-5 BT 模块的通讯
ControlLogx 用 MSG 指令代替了 PLC5 的块传送指令,无论是对模块的块
传送,还是远程 I/O 链上用作于通讯的块传送。以对 1771-IFE 的 BT 操作为例,
编写如下梯形图逻辑:
点击 分别进入写和读的组态画面:
说明:
Message Type: 选择对模块进行块传送写操作。
Source Element: CLX 中指定数组首元素地址作为源地址。
Number Of Element: 块传送写数据文件长度(根据 BT 模块决定)。
说明:
Message Type: 选择对模块进行块传送读操作。
Number Of Element: 块传送读数据文件长度(根据 BT 模块决定)。
Destination Element: CLX 中指定数组首元素地址作为目标地址。
进入 Communication 画面,确定通讯对象,
说明:
Path: 可通过 Browse…找到 DHRIO 模块位置,亦可用书写路径的办法。
Channel: 选择 B 通道,模块定义 B 通道为 RIO 通道。
Rack: BT 模块所在机架(八进制)。
Group: BT 模块所在组号(八进制)。
Slot: BT 模块位于左槽或右槽(2 槽寻址时用),一般为 0。
数据文件的解释:
Tag 名为 INT_BT_WRIT 的整型数数组(37 个元素)是块传送写的数据文
件,是被操作的 BT 模块 1771-IFE 所需要的组态文件,这里将根据 IFE 模块的
组态方式完成数据的输入。值得指出的是,ControlLogix 中没有 BCD 码,而 IFE
模块的通道定标必须是 BCD 码,所以只能在二进制的方式下输入,可以看出,
通道 0 和通道 1 被设置成 BCD 码表达的 0-4095。同样的,在数据形式的选取,
也只能选 01(模块组态第十位和第九位),即非 BCD 码的数值。
Tag 名为 INT_BT_READ 的整型数数组(20 个元素)是块传送读的数据文
件,它将读取通道 A/D 转换的数据,因为定义数据形式为补码数据,所以,可
以在相应的地址中读到通道 0 和通道 1 的正确表达的数据。
4> ControlLogix 控制器与其它设备的通讯
MSG 指令最灵活的就是对其它设备的信息传送,选定 CIP Generic 的信息类
型,它可以对 ControlLogix 系统的任何模块进行实时地服务操作,一些指定的服
务操作,事先给定了服务代码,只要编制指令执行即可。Custom 选项使得 MSG
指令可以对提供服务代码的设备进行操作,以