原料场直供部分控制程序的开发采用了结构化分层设计,应用了面向对象编程(OOP)思想和UML模型分析技术,成功实现了较高标准的设计目标。
OOP是微型机程序设计领域的优秀的成熟的编程思想,在PLC程序设计中应用还是很少。在程序设计方面与微型机比较,PLC程序设计市场小且基本上控制程序都是定制的,不可复用的、开发工具落后(相对当前微型机的主流开发工具),其次是编程资源少,应用范围小。OOP编程思想应用到PLC程序设计是一个新思路,虽然成功的实例不多(依据网上百度、雅虎、Google搜索),但是极具推广价值。
一,高标准的设计目标
设计目标就是:易维护、易移植、架构灵活、各视图中的概念统一、功能强大的、可复用的皮带输送机连锁控制软件。
A、可复用:局限性小、适用性强、便于应用推广。所以考虑的情况就要尽可能的全面。功能块有自定义参数,可适应一定弹性的需求变化。
B、鲁棒性好:功能块内部设计了自诊断子系统,保证了安全性和系统健壮性。上位机组态设计了系统通讯监控画面,实时监控下位机的DP网络通讯结点。关键的现场连锁点信号,全部采用闭点接入。
C、架构灵活:可以适应不同的皮带机运输结构要求。采用“积木”式设计,可以“搭建”控制程序,构建一个皮带机运输控制程序非常简单。只要画出皮带机的运输拓扑结构,依据该投影即可搭建控制程序。
D、易于维护:依据“高内聚,松耦合”和“概念统一”原则。模块化开发,将控制逻辑全部集成到功能块内部。即使修改设备控制逻辑,也不会产生牵一发而动全身的弊端。设计概念统一是一个优良设计的标准。如果模型不断出现“特例”的情况,就会破坏“概念统一”,使系统难以维护。
E、人机界面友好:一个系统从用户角度来看,如果不能实现友好的人机接口(HMI),一切都是“白费”。用户更关心他自己的视图。所以用户视图中的系统“概念统一”同样重要。界面易于操作、系统功能强大,也是重要的设计目标。
F、软件功能要求:(分为基本功能和高级功能)
F1,基本功能:
手动模式、自动模式;延时逆起顺停、变换料线、断线上游立即停车、料线互斥、保护报警、停机报警、预警铃声、趋势记录等。报警设置有超流量、跑偏、打滑、撕裂、溜槽堵塞。一个系统从用户角度来说,更关心使用概念统一、易于操作、功能强大。而且可以实现更高级的操作,为企业保护生产设备和节约生产成本。
F2,高级功能:
F2.1,无扰动变线:料线变换是最常规的工艺动作。有时只需要在下游变动一两个设备,也要把全部公共线设备停车。大多情况公共线部分占全料线的70%强甚至90%。长的料线启动一次就是近20分钟。公共线部分有许多大型皮带机都是3电机拖动,带软起动器,启动困难、耗电量巨大、有启停间隔时间要求、频繁启停还有损设备寿命。无扰动变线解决了这一问题,这种原料场料线控制方式,其他料场未见。
F2.2,动态下游锁:一般情况下,料线中断时是从断点处的上游设备,间隔一个PLC扫描周期,依次停止。如果该料线的设备很多,且PLC扫描周期很长(因外部通讯周期的影响),恶果就是很长时间才能全线停车。最上游的设备可能会有20多秒才停止,造成积料。有自动动态下游锁,可避免这一问题。断线时,全部上游设备,间隔一个PLC扫描周期,同时停止。这是最短的反映时间(没有任何延时是不可能的,至少一个PLC扫描周期)。这种动态连锁是最优的,我们成功的实现了。
F2.3,断线再续:料线中断时,一般料场的控制是,料线中断点处上游立即全部停止,下游是依次延时停车,且没有其他可选方式。再启动该料线,就得全线停车后,再次全部启动,浪费很大。实际中往往有一点小事情影响马上解决,停掉的设备又马上重新启动。断线再续,不必停止下游的全部设备,处理完故障后只要将停掉一段上游设备自动启动,即可恢复如初。对于上游段一两个设备停车造成全线停止,断线再续功能有极大的好处,保护设备、节约资金。
F2.4料线模式自适应:料线控制分为主动料线和被动料线。




