在EtherNet/IP网络上,所有连接的设备都可以相互进行数据交换,这也包括了控制器之间的通信,完成控制器之间的数据交换。
图3-145 创建Produced标签
控制器之间的通信有以下两种形式:
●预定性的数据交换:Produced/Consumed标签。
●非预定性的数据交换:MSG指令。
1.控制器之间Produced/Consumed的数据交换
在控制器之间的Produced/Consumed数据交换是预定性数据交换,不需要编程,只要建立控制器之间的连接,就会像I/O数据一样定时交换。定义一个Produced控制器发送数据,定义一个或多个对应的Consumed控制器接收数据,就会建立一组数据传送。
在Produced控制器项目中,创建一个Produced标签,如图3-145所示。
说明:
●Name:标签命名。
●Description:对本数据传送说明。
●Type:类型,必须选择Produced,并进入Connection组态。
●Data Type:选择数组,必须是32位的数组。
●Scope:标签区域,必须在控制器区域建立通信标签。
单击进入连接组态对话框,如图3-146所示。
说明:
●Max Consumers:设定同时接收Produced标签数据的Consumer的最大数目,默认为1,即一对一的传送。
●Send Data State Change Event To Consumer(s):勾选使能,用于立即输出指令IOT送出事件触发信息给Consumer,通常和事件触发任务配合使用。
单击进入连接RPI组态页面,如图3-147所示。
图3-146 Produced标签连接组态
图3-147 Produced标签RPI设定页面
说明:
●Multicast Connection Option:多播连接选项,适用于非预定性网络,对于ControlNet网
络无效。
—Minimum RPI:接收数据包传送的最小时间间隔,默认为0.2ms。
—Maximum RPI:接收数据包传送的最大时间间隔,默认为536870.9ms。
—Provide Default RPI to Consumer for Out-of-Range Requests:勾选使能Produced标签提供RPI给Consumed标签,当超出以上指定的最小和最大范围时使用,Consumer支持自适应连接默认的RPI设定值。
—Default RPI:如果勾选了上一项,键入默认的RPI值。
●Unicast Connection Option:单播连接选项。
—Allow Unicast Consumer Connections:勾选允许单播Consumer接收Produced标签的数据。默认是被勾选的。
单击完成组态,回到Connection页面。
单击Status进入状态页面,在线时可查看连接状态和数据类型,如图3-148所示。
图3-148 查看Producer的运行状态
说明:
●Connection Status Included:如果用户自定义数据类型首元素是CONNECTION STA-TUS,则显示连接状态。
图3-149 创建Producer控制器
●Data Type:显示Produced标签的数据类型,必须是32位的数组。
单击完成组态,回到标签创建页面。
单击完成通信标签的创建。
图3-150 创建Consumed标签
在控制器之间建立了连接之后,这个Produce标签将按照指定的RPI时间,周期地对Consume控制器发送指定的数据。
接下来,讨论在Consumer控制器上面应该做的工作。
首先,在I/O组态中创建一个产生Producer的控制器,此处相当于一个远程适配器的连接关系,对方的Producer控制器将像适配器一样,为本控制器提供一个输入数据块,创建过程与适配器相似,创建完成后将在I/O组态下出现一个对方的控制器,如图3-149所示。
然后,在Consumer控制器项目中创建一个Consumed标签,如图3-150所示。
说明:
●Name:标签命名。(www.daowen.com)
●Description:对本数据接收说明。
●Type:类型,必须选择Consumed,并进入Connection组态。
●Data Type:选择数组,必须跟Produced标签的数据结构完全一致,否则会有意想不
到的结果。
●Scope:标签区域,必须在控制器区域建立通信标签。
单击进入连接组态页面,如图3-151所示。
图3-151 Consumed标签的连接组态
说明:
●Producer:选定已在I/O组态中创建的Producer控制器,作为与之通信的控制器。
●Remote Data:键入Producer控制器中建立的Produced标签名。
●RPI:选定数据交换的时间间隔RPI。
●Use Unicast Connetion over EtherNet/IP:勾选则使用通过EtherNet/Ip网络的单播。
单击Status页面,可在线查看数据交换的运行状态,如图3-152所示。
图3-152 查看Consumed运行状态
说明:
●Connection Status Included:如果用户自定义数据类型首元素是CONNECTION STA-TUS,则显示连接状态。
●Data Type:显示Consumed标签的数据类型,跟Produced标签结构完全一致。
●Connected to Producer:当与Producer控制器建立了连接时点亮。
●Producer in Run Mode:当Producer控制器在运行模式时点亮时,其他模式则熄灭。
单击完成组态,回到标签创建页面。
单击完成通信标签的创建。
当控制器和控制器之间建立了Produce/Consume的连接,它们之间就像I/O数据一样,不断地进行数据交换。
2.控制器之间的MSG指令完成的数据交换
CompactLogix 5370控制器之间的MSG通信,是建立在CIP连接上的,这是一个非预定性的数据交换,必须要编程并执行梯级逻辑,当指令执行的时候才会完成数据交换。
在控制器的例程中,编写MSG指令的梯级逻辑,如图3-153所示。
图3-153 控制器通信的MSG
当梯级条件选择MSG结构数据标签的使能位常闭时,令本条MSG指令连续执行。
单击进入MSG指令的组态,如图3-154所示。
图3-154 数据通信组态
说明:
●Message Type:选择控制器交换数据的类型,CML则选择CIP数据交换的读写。
●Source Element:选择源数据标签中的起始元素,写操作源数据标签在本控制器。
●Number Of Element:选择要传送的数据长度,即元素个数。
●Destination Element:选择目标数据标签中的起始元素,写操作目标数据标签在对方控制器。
单击Communication进入通信组态对话框,如图3-155所示。
图3-155 数据交换通信组态对话框
说明:
●Path:选择MSG指令启动控制器通往目标控制器的路径,可直接键入,也可单击
浏览I/O组态下的控制器而确定通信路径。
●Communication Method:选择通信模式,勾选Connected,则在MSG指令通信建立连接,如果勾选Cache Connections,建立缓存连接,这是控制器MSG指令启动后一直占用的连接,如果清除勾选,则在不执行MSG指令时,连接被释放。
●对话框下部显示本条指令执行时的状态。
当控制器连接在EtherNet/IP网络上,利用网络的资源和特性进行通信时,是否能区分以上讨论的不同的数据类型和通信等级,并允许某些数据传输优先,这无疑需要利用Ether-Net/IP网络的QoS技术。
CompactLogix 5370控制器支持QoS技术,在EtherNet/IP网络上传输可排列出优先权,让实时数据得到优先传送,默认的控制器QoS是被使能的。
有的EtherNet/IP网上设备不支持QoS,除非将固件版本升级到所需要的最低版本。
确定CompactLogix 5370控制器与I/O模块之间保持正常通信,在线核实EtherNet/IP网络设备使用产品固件版本是支持QoS所需的最低版本。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。