1.应用的基本信息
我在项目中主要是系统方案设计工程师,项目中采用的是2套412-5H+CP443-1+ET200 SP分布式I/O和2台戴尔R730机架式冗余服务器以及8台戴尔Optiplex 3020操作站。
冗余服务器运行Windwos Server 2008 R2操作系统和WinCC V7.2 ASIA监控软件,操作站运行Windwos 7 Ultimate操作系统和WinCC V7.2 ASIA监控软件。
服务器及客户机采用普通网卡用SIMAITC NET V8.2组S7容错通讯连接。
2.问题描述
系统投运初期按照下图中所示的C/S结构方式运行,但在运行一段时间后服务器发生数据同步问题并出现历史数据无故丢失的情况,且该现象每过一段时间就会再次出现。鉴于C/S结构应用经验少,且通过多次尝试也未能解决问题,索性将C/S结构改为简单的OS单站结构。
改为OS单站运行的系统构成原理如下图所示。改为OS单站方式运行后,之前在C/S结构中存在的2台冗余服务之间的历史数据同步和丢失问题得到解决,但是新的问题出现了。
由于总共多达8台上位机,每台上位机与2个AS控制站间的通讯变量达到20000个,直接影响到上位机画面的变量刷新周期。与C/S方式时的对比表现为:C/S方式时,操作员站画面上通过单击鼠标修改调节回路的输出给定值,即点即变,操作体验非常好;而改为OS单站方式时,同样的鼠标点击操作,但是输出给定值的变化不再即点即变,而是明显有个等待的响应过程;这样以来,操作工就非常不乐意了,要求我们必须恢复到之前的操作体验。
3.问题的分解和解决
3.1 故障或问题分析(根据故障或问题,进行分析,从而提出潜在的一些解决方案用于解决该问题)
鼠标点击响应变慢的原因肯定是由于OS操作站与AS控制站之间的通讯负荷过重导致,通过断开一部分上位机的网线进行验证,实际测试表明通讯接入超过5台上位机时鼠标点击事件的响应就会出现等待的情况;但是又不能减少上位机的数量,更不可能重做上位机WinCC工程减少通讯变量数量。
3.2故障或问题处理(根据分析各种导致问题的可能性,逐步排查和测试,描述您解决此问题的操作步骤、想法,最终确认原因,排查和测试过程有条理,思路清晰)
最后想了一个折中的C/S结构(带5台客户机)+OS单站(3台)并行运行的办法,这样既解决了通讯负荷过重导致的鼠标点击事件变慢的问题,又解决了纯C/S结构方式运行不定期会发生数据同步和历史数据丢失的问题。
4.经验总结
在控制系统的AS/OS通讯容量较大时,需要合理规划以采用最佳的系统构成方案。既要能够满足项目实际需求,同时又要做到成本最小化,并且还不能以简化上位机功能为代价(比如:通过大幅减少通讯变量数量也是能够实现8台上位机同时与AS通讯还不会影响鼠标点击事件响应速度的,但是由于通讯变量数量的大幅减少,势必带来上位机功能的简化,这样就本末倒置了)。
4.1遗留的问题(问题排查后,是否对解决问题的方式仍然有些疑问或者不理解的地方)
为什么在AS/OS通讯变量达到20000的情况下,超过5台上位机同时通讯时鼠标点击事件的响应就会变慢,而不是超过3台或者是7台上位机出现这样的现象?
如果保证8台上位机同时与AS通讯且能够做到鼠标点击事件的响应不会变慢,那么将通讯变量数量控制在多少以内时又同样能够做到?
这个项目中采用的是AS412-5H,如果换成AS414-5H,是不是在不改变系统构成方案的同时也能够解决问题?抑或是将普通网卡换成CP1623专用通讯网卡可以解决问题?
以上所有解决办法最终都无法与成本脱离关系,到底什么方案才是最优解?
4.2改进方法(解决问题后,根据后期的理解,可以提出更好的解决方式或建议)
目前为止,该项目还维持着前述的折中办法在运行,希望以后能够从原理上彻底弄清楚硬件(CPU、CP)性能、通讯网络(S7、TCP/IP)、通讯设备(商用交换机、西门子工业交换机)、通讯容量(通讯字节数)等与通讯负荷(响应时间)的关系。
------------------------------------------更多案例集锦汇总在活动帖中-------------------
PLC 通信原理探秘活动汇总帖