技术中心
 
 

CAN-bus以太网冗余方案改进

   日期:2008-04-21     来源:中国测控网     作者:管理员    

1 前言

众所周知,在工业应用中,产品的稳定性和可靠性是衡量其品质的一个重要指标。一般用户对一个工业产品的要求是:它的性能可以不是最强的,但是它的稳定性和可靠性一定要是最好的。所以为了尽可能提高产品的稳定性和可靠性,“冗余”的思想在工业控制中得到了广泛的应用。

2 简单工业网络冗余

我们以一个已经在实际中应用的组网方式为例。组网方式如图 1所示。
1 CAN-100同多个目标主机通讯
这是一个分布式CAN网络采集和控制系统,CANET-100将CAN网络中CAN设备同远端的控制主机连接起来,使得以太网上的主机能灵活的监视和控制各个CAN设备。为了能提高整个系统的可靠性和稳定性,这里使用了三台主机作为服务器,其中一台为工作服务器,另外两台为冗余服务器。
正常情况下,只是当前工作的服务器负责对各个CAN设备进行监控,其它两台冗余服务器和CAN设备之间没有通讯。
一旦当前工作的服务器出现故障不能正常工作时,两台冗余服务器中的一台就由冗余状态变成工作状态,接替出现故障的服务器对CAN设备进行监控。同样如果当前服务器又出现故障不能正常工作,剩下的冗余服务器就变成工作服务器,继续对各个CAN设备进行监控。

3 安全隐患

这种应用方案在一般的情况下的确可以很大提高系统的可靠性和稳定性,但是在一些异常情况下,这样的冗余不起作用了,在产品的应用中,我们发现了以下的问题。
因为某些通讯转换设备(如CANET-100)同时只能同一台监控主机通讯,当冗余服务器变成工作服务器时,为了不影响监控,工作服务器必须改写通讯转换设备的目标IP,而所有的目标IP等工作参数都是存放在片外的E2PROM里。
一般E2PROM芯片大概只能进行一百万次的写入。一百万次看起来好像足够大,但是在服务器的工作出现异常时(例如:判断工作服务器是否正常工作时出现混乱),可能就会出现反复读写E2PROM的情况,一百万次的读写对于服务器来说太轻松了,随之E2PROM芯片就会出现损坏,导致整个系统不能正常工作,虽然在网络上做了冗余,但是问题出在转换设备上,再多的冗余主机也无济于事。

4 解决方案

为了解决这个问题,我们可以用支持多目标的模块替代原有产品,将原先单独向一台主机返回数据改成同时向多台主机通讯,因为资源的有限,使用UDP模式替代TCP模式也是可以接受的。
在实际应用中,我们使用CANET-100T代替CANET-100进行组网,(CANET-100T/200T的每个CAN口在UDP的方式下,最多可同时同3×254台目标主机通讯,TCP方式下最多可同时同2台目标主机通讯)。网络连接方式和布线都不用改变,对于CAN设备也不需要有任何的改动,仅仅需要稍稍改动服务器的监控程序,连接方式如图 2所示。
2 CAN-100T同时同多个目标主机通讯
这样,在组建冗余网络上,不但解决了偶然条件下的E2PROM读写次数问题,更加保证了冗余的实时性。

5 总结

由上面的介绍可知,在组建冗余网络时,不光要从网络拓扑方面考虑主从监控站的冗余配置,更应当考虑到设备故障引起的种种问题,本文所提出的问题已经在工程应用中出现,并且较为隐蔽,值得大家引起重视,如果已使用冗余主机的网络,应当考虑切换次数有限的情况下,系统的稳定性,避免系统隐患,而新设计的网络,则应当将此因素考虑在内。

 
  
  
  
  
 
更多>同类技术
 
全年征稿 / 资讯合作
 
推荐图文
推荐技术
可能喜欢