1201 【万泉河】数据中央采集系统的路由器实现方案
越来越多的工厂,大量的单机设备需要集中数据采集,传送到中央控制系统, 然后再送到更高层的MES系统乃至ERP或者云平台等。
经常有人咨询在单机为以太网网络比如S7-1200, S7-1500, FX5U等情况下的解决方案。 首先,直接把网络用网线接到同一个交换机上肯定是不可取的。
因为大量单机有可能就是同一供应商提供的完全同样型号的设备,那么会网络参数都相同的, PLC, 触摸屏,从站,变频器等全都是同样的IP设置,给硬生生接到一起,必然IP冲突。 而即便有机会把IP分别改掉,改到不同的网段区域,但在网络规模扩大以后,发生网络故障的几率增大了, 非常容易影响生产。
所以,通常需要把网络分层物理隔离。
有几种不同的解决方案。
其一是在CPU机架上增加专用的以太网通讯模块, 比如S7-1200可以增加CP1243-1,那么增加的CP可以与中央控制系统的上位机组网,就实现了与控制网络的隔离。
其二是增加PN/PN COUPLER,这称为耦合器,其实对双侧的主站它都作为从站,一侧向其写数据,它收到后再提供给另一侧读取。由此也实现了网络隔离。
这两种方案都是各厂家官方主推的方案,然而通常模块的价格高,不同的产品序列需要增加的模块型号不同,组态方法也不同。
所以,除此之外还有增加路由器的方案,即本文要介绍的实现方法。
路由器原本是个高贵产品,只在一些高端三层核心交换机才有路由功能,那些价格更贵,但后来随着家用商用路由器的应用普及,市场规模巨大,这些普通功能的小路由器价格越来越低,导致路由器甚至都成为专用名词,专门指小型路由器了, 原本的正宗的路由反而被挤到边缘位置了。 同时也使得可以使用路由器来作为本文应用的选择方案了。
我们平常所使用的路由器其实是多个功能的集合体,包含了路由,交换,网关,WIFI等功能。同时,路由的功能其实反而弱化了。
比如路由器会分WAN口和LAN口,比如会有一个蓝色的WAN口和4个黄色的LAN口,分别用于接外网和内网。 而其实原本路由器的概念本身是不区分内网外网的,需要在路由器中配置路由表来规定IP的跳转规则。 所以弱化其实是因为其在内部把一些路由功能给固化了。
除了少部分特殊定制的路由器,大部分的商用产品不再需要用户在使用时配置路由表,也不再有设置利用规则的功能,但我们现在要使用它,就失去了更多的自由。
我们现在要把普通路由器应用到工业网络,工业网络原本不存在WAN和LAN的区别,所以如何使用路由器就有了2种选择,要么是LAN口接入到PLC网络,WAN口接到上位机网络,要么是倒过来,WAN口接PLC, LAN口接上位机。
本文把两种配置都分别做讲解,其中各自的优缺点也都列出,在不同的应用场合可以根据需要选择。
我现在有一台普通的家用路由器,其内网口IP为:192.168.89.1, 外网口IP为192.168.19.101,因为我上网的主路由器的IP是192.168.19.x网段。
注意我后面做实验时不会再更改路由器的IP设置,而会修改PLC和上位机的IP来适应不同的网络配置架构。
我使用一台S7-1200和一台WINCC做通讯实验,实验成功之后可以推广到更多的PLC网络以及更多的PLC品牌和上位机软件。
配置A: PLC接WAN口,WINCC接LAN口
IP分配:S7-1200: 192.168.19.11,网关:空
WINCC: 192.168.89.12,网关:192.168.89.1
PLC中编程做简单数据累加:MD10:=MD10+1; 用于上位通讯监控
PORTAL编程中不在项目中给PLC分配IP地址,而是IP地址在设备中指定便于随时修改。
首先,电脑不经过路由器而是直连到PLC,电脑IP:192.168.19.12, 完成程序下载和IP地址设置。
WINCC中建立S7-1200通道,设置PLC IP为192.168.19.11,直连通讯成功,并保持运行状态。
然后设置电脑IP为自动获取,获得了89网段的地址,电脑和PLC均接入到PLC,切换完成后等待十几秒后, WINCC画面中断十几秒后会恢复通讯正常。
这时测试PING的反馈为:
来自 192.168.19.11 的回复: 字节=32 时间=2ms TTL=254
来自 192.168.19.11 的回复: 字节=32 时间=2ms TTL=254
时间由<1ms变为了2MS,而尤其注意TTL现在是254,而之前是255 。说明经过了一层路由。
再度打开PORTAL网络设置,输入设备IP后在线联机,在线监控也可以成功。
A1:
电脑的手动设置IP和网关,重复上面的过程可以成功。
A2:
电脑设置中把网关部分清除,PING中断, 通讯不成功。
运行增加路由表:
route add 192.168.19.11 mask 255.255.255.255 192.168.89.1
PING可以成功,WINCC通讯也恢复成功。
A3:
电脑设置双IP,除了正常上网的IP和网关,DNS之外,再增加一个不带网关的IP:192.168.89.12,重复执行route add,通讯成功。
发现到PLC的访问路径被强制变更到了经过路由器。这时即便PLC直接接在主路由器,与电脑同在19的网段,也不再能PING通。需要删除上述的路由规则或者电脑重启之后方可恢复。
配置B: PLC接LAN口,WINCC接WAN口
IP分配:S7-1200: 192.168.89.11,网关:192.168.89.1
WINCC: 192.168.19.12,网关:192.168.19.1
进入路由器界面, 找到超级端口转发和DMZ主机等设置条目,设置DMZ主机地址到PLC的地址:
所有主流品牌的路由器都会有DMZ主机功能,相关概念也可以搜索网络学习。
WINCC直连可以通讯时的状态,修改通道的IP到路由器WAN口的IP:192.168.19.101,运行后可以成功。
编程软件中填入这个IP,可以监控程序,但不可以修改IP。
如果IP是跟随项目设置的, 那么下载程序也要出问题。 因为你只能在程序中设置IP为路由器的IP时才可以监控,而程序一旦下载,IP地址也被修改,就麻烦了。 这方面比较乱,需要各位自行摸索。
B1:
PLC网址设置中删除网关,通信中断,无法再建立。
这是大部分PLC项目中的设置,即通常在没有需求的情况下,不会给PLC设置网关,那么如果属于后期改造项目,而程序中并未设置网关,或者不清楚原程序员设置的网关地址, 那就很难通信成功。
所以,对于改造项目,源程序还是必须需要的。
总结:
比较配置A和配置B两种方案,可以发现各有优劣。
配置A中,WINCC直接访问的是PLC的IP, 那么在中央上位系统需要访问多台单机的时候就需要各自的IP均不相同。 然而A方案可以方便地修改PLC的程序,所以比较适合于新建项目,控制系统和中央采集系统都是一家人做设计的情况。
配置B中,可以通过给不同的路由器设置不同的WAN口的方式,实现对重复IP的PLC的区分,所以既实现了网络分离,也保留了原系统网络配置。唯独需要保证对方程序中有给PLC设置网关指定到路由器的LAN口。