分享

罗克韦尔(AB)PLC,MSG指令编写说明

 钺YUE 2022-09-16 发布于天津

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控制器的通讯

编写如下梯形图逻辑:

图片

点击.....进入组态画面:

图片

说明:

1、 Message Type: 选择对PLC-5读取数据

2、 Source Element: PLC-5 处理器中的地址作为源地址(文件首址)

3、 Number Of Element: 读取数据的元素的个数,最多32767个。

4、 Destination Element: CLX中的数组(接受数据区域)的首元素作为目标地址

进入Communication画面,确定通讯对象,

图片

说明:

1、 Path: 可通过Browse…找到DHRIO模块位置,亦可用书写路径的办法。

2、 Channel: 选择A通道,模块定义A通道为DH+通道。

3、 Source Link: 应与DHRIO模块上(在RSLinx中)定义的路由表一致。

4、 Destination Link: 应与DHRIO模块上(在RSLinx中)定义的路由表一致。

5、 Destination Node: DH+上接受MSG数据的PLC-5处理器站号(八进制)。

3> ControlLogix 控制器与PLC-5 BT模块的通讯

ControlLogx 用MSG指令代替了PLC5的块传送指令,无论是对模块的块传送,还是远程I/O链上用作于通讯的块传送。以对1771-IFE的BT操作为例,编写如下梯形图逻辑:

图片

点击....分别进入写和读的组态画面:

图片

说明:

1、 Message Type: 选择对模块进行块传送写操作。

2、 Source Element: CLX中指定数组首元素地址作为源地址。

3、 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的正确表达的数据。

图片

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多