如何在工业以太网CP/CM中给UDP连接使用和组态IP组播?
IP组播是一种特殊的通信方式,只能通过工业以太网CP/CM组态UDP连接(UDP用户数据包协议)的方式进行组态。IP组播用于将消息从一个站发送到多个伙伴站。
组播消息由一个特殊的组播地址发送的。IP地址范围从224.0.1.0到239.255.255.255专门用于IP组播。
广播消息会发送给网络中所有的设备。例如,在搜索IP地址的MAC地址(ARP请求)时,使用的就是广播消息。这就是为什么通信模块必须处理和评估广播信息的原因。如果网络中存在太多的广播信息,网络的性能会下降。因为每个模块要处理完所有的广播消息后才能确定哪些信息是给自己的。
如果使用S7-300/S7-400工业以太网CP卡,关于广播消息需注意以下两点:
S7-300/S7-400的工业以太网CP在收到信息之后,广播消息会最先被筛选出来,并立即丢掉所有无用的消息(例如,ARP请求),以防止广播消息对其他链路产生负面的影响。
S7-300/S7-400工业以太网CP通过UDP链接可以发送数据,但是不能接受数据。
自STEP 7/ NCM V5.1 + SP2及以后版本 S7-300/S7-400工业以太网CP的UDP组播可以给一个特定组的通讯伙伴发送信息。
通讯处理器特性:
通常通讯处理器不接受除时间外的其他组播消息。如果在组态中激活一个组播组,那么在控制器中也需要激活此组播。这样只激活了一个特定组,通讯处理器仍然继续过滤网络中其它广播消息。每个已组态的组播都必须在控制器中标记。
这就是为什么在信息要发送到一组伙伴站时选择组播。
在S7-1200 / S7-1500 CP / CM的手册中,可以找到支持的最大组播组数的信息。
与UDP一样,数据长度的限制是2048字节。
通讯处理器仍然不受广播负载影响。
所有的伙伴站也都必须支持组播。
发送的信息没有任何安全机制(应答)。
IP组播信息可以通过路由器发送到外部不同网段IP。
由于UDP协议不提供应答机制,所以发送的消息没有应答。例如如果将一个消息发送给100个伙伴,然后同时到达100个确认(一个伙伴一个确认),发送方模块无法评估如此泛洪的数据。
组态多点传输连接:
在NetPro里面插入新的“UDP连接”型链接。作为连接伙伴,选择“All multicast stations”。
图. 1
在UDP链接的属性对话框中,打开“Address”标签。在这里可以定义组播组。224.0.1.0到239.255.255.255的IP地址是专门作为组播地址的。从这个IP地址范围发送的消息会作为组播消息被每个模块识别。IP地址范围是专门通过UDP连接用于IP组播的。
本地和远程端口可以使能1到65535。在创建第一个组播环路时,将在默认情况下将224.0.1.0分配给它。用户可以改变组播环路的IP地址。可用的IP地址范围是224.0.1.0到239.255.255.255。
图. 2
3. 在NetPro中,UDP链接在配置链接中显示。在Partner栏中显示条目“All multicast nodes”。
图. 3
组态建议:
建议在组态组播连接的时候按照以下规则操作:
1.本地和远程的组播连接的端口要相同。
2.考虑LAN上的组播地址。
为组播连接的本地和远程端口选择相同的端口号
如果组播信息到达了控制器,只有端口号码是相关的。
只有一个组播链接能在两个站之间组态。在站1和站2中,需要给组播的本地和远程端口组态相同的端口号。因此,站1可以接收 站2 发送到组播组的数据,并且站2可以接收站1发送到组播组的数据。
注意
不同的组播组IP地址实际上是代表了相同的组播组。因此,在分配组播组时应当注意避免未分配地址的站接收不需要的信息。这是基于RFC 1112的规则 (互联网标准)。
工业以太网CP/CM支持IGMP协议(Internet组管理协议)。在外部IP子网的站可以访问,这是由于IGMP协议在互联网上提供IP组播。IP组播会同时分布信息给在同一IP地址下的多个站。组播组的管理发生在路由器中,会直接与组播组的接收器连接。IGMP协议提供下面这个功能:工业以太网CP/CM能建议路由器的特殊组播组的组播信息的需求。组播路由器协议在路由器之间采取协调。
支持组播连接的模块
表3列出了支持组播和广播连接的S7-1200/S7-1500模块。