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