经鹏/黑龙江龙煤矿业集团股份有限公司双鸭山分公司信息管理中心
浅析PLC程序模块化的工业应用
经鹏/黑龙江龙煤矿业集团股份有限公司双鸭山分公司信息管理中心
PLC具有通用性强、使用方便、适应面广、可靠性高、抗干扰性能强、编程简单等特点。PLC在工业自动化控制特别是顺序控制中的地位在现在乃至今后一段很长的时间内将是其他控制系统不能替代的。
目前,PLC在国内外已广泛应用于钢铁、石油、化工、电力、建材、机械制造、汽车、轻纺、交通运输、环保及文化娱乐等各个行业。开关量的逻辑控制是PLC最基本、最广泛的应用领域,它取代传统的继电器电路,实现逻辑控制、顺序控制,既可用于单台设备的控制,也可用于多机群控及自动化流水线。如注塑机、印刷机、订书机械、组合机床、磨床、包装生产线、电镀流水线等。
工业PLC程序的模块化早有体现,在西门子开发PLC编程软件时,就已经制作过一些小的功能块。在我们编程过程中应用这些功能块,会使整个程序变得简单且更具有条理性和实用性。随着工业自动化水平的飞速发展,更多先进的控制理论和控制方法应用到工业自动化发展中,西门子编程软件中的小功能块已经无法满足技术成熟的大规模工业PLC程序的模块化需求,需要更全面的提升模块化进程,完善具体本行业的程序模块化功能。此功能的实现需要从程序制作初期就对具体的功能进行分类,编制初始的流程图和中断嵌套,这样才可以满足整体的工艺流程和具体的设备动作之间的有效衔接和具体控制关系[1],本文依据基本的编程理论和一些具体的实践经验讨论工业PLC程序的模块化进程和具体实施方法。
1.程序模块化的必要性及实施方法。
现在很多大的集团公司和企业都拥有自己独立的技术和丰富的设计经验,他们拥有自己的品牌产品,这些都是工业技术成熟的标志,但是他们生产或设计另一台相似的工业设备后,还需要程序员重新编写相似的PLC程序和大量的程序校核,很少有一个固定的程序模式,更缺少把程序模块化和系统化,这样严重影响了设备的调试进程,更不利于设备的运行和维护。
下面针对天津钢管集团有限公司技术中心中间实验研究项目CTP440Ⅵ穿轧复合机组程序的具体应用,来说明PLC程序模块化和系统化的工业应用。
该项目采用了西门子S7-300的PLC控制系统[2],在对S7-300编程过程[3]中可以看出,程序相对复杂,而且条件往复循环,若没有中断子程序进行合理化调用,很容易出现错误。所以,考虑把具体的程序模块化编写PLC程序,最后在需要调用的模块中调用这些模块化后的子程序,使程序富有逻辑性和可读性,PLC运行和扫描都会相对流畅,具体方法实施如下:
(1)首先把整个区域的工艺流程熟悉,并细心的划分好整体的块:前台、主机、后台他们各占一个功能块。
(2)再把前台的各个设备细分出来,单独做它们的程序功能块,具体做该设备的手动、自动、半自动模式下具体的动作触发和终止,连锁条件和启动条件都应考虑周到,这样单独对设备编写程序会使程序结构清楚,逻辑合理,编写简单。然后在前台的主循环功能块中调用各个设备的程序功能块。
(3)主机分为运行和调整两个模式:当运行的时候,必要的连锁条件和启动条件是必不可少的,还有一些故障的停车条件也应该认真考虑,把这些主机的控制条件有条理性的罗列出来,然后在一个功能块中把主机运行的整个过程编写出来。当把主机运行和调整两大功能块都编写好以后,在主机的主循环功能块中调用相应子功能块。
(4)后台分为后台一段和后台二段:后台一段和后台二段设备之间关联很多,所以选择把两段设备放在一起编写应用程序,即方便前后关联,也为以后审查程序更容易找到关联项。
(5)在主的循环功能块中,调用前台、主机和后台的主循环功能块,这样整个程序的编写任务完成,进入程序审查阶段。
(6)程序审查就应先对单体设备的单个动作进行审查,然后前台、主机和后台主循环功能的审查,最后对主循环功能块审查。上述编程给审查带来合理的审查顺序。
这种模块化编程方法可以提高生产效率,减少劳动强度,有效促进公司产品的产业化进程。
2.模块化的程序嵌套层次。
模块化后的PLC程序将整个程序简单化了很多,程序编写和修改也方便,并且增强可读性和实用性,然而并不是把所有程序模块化就是最好,程序无限的模块化的理论是不成立的,这里就应该考虑嵌套层次的问题,例如西门子S7-300中允许的嵌套层次最大是8,横河FA-M3 PLC允许的中断次数为4。所以,制作流程图时候就应该考虑到具体嵌套层次的深度,直接不断的中断,不停的跳转,当不小心把程序编写成死循环的时候,整个程序就开始在一块程序中循环扫描,对其他程序的扫描功能就消失,这样编写出来的程序是肯定不能正常运行的,为了杜绝死循环,提高程序的利用率,就应该减少程序的嵌套层次。建议编写程序时考虑好具体的步骤和需要达到的目的,先有明确的思路,再根据前期编程的流程图,划分好嵌套的层次和等级,最后规划程序的整体结构,这样编写出来的程序,即实用,又简洁,层次鲜明,可读性高,穿轧复合机组的程序不仅能满足了客户的需要,还实现了程序的模块化,层次鲜明。该项目PLC程序在嵌套层次上,关系明确,层次不深,中断次数很少,整体是一个大的循环、子程序中大多不存在循环,更没有死循环。这样的程序在应用过程中,既满足了PLC模块化的应用,又充分利用了PLC的嵌套层次的局限性,
会影响程序的正常运行,程序中的嵌套会使程序扫描过程中灵活地控制整个实验机组的正常运行,实现了运用该机组进行一次穿孔,二次穿孔,限动轧管等多个功能,体现了多功能复合轧机在无缝钢管实验领域的强大功用[4、5]。
工业PLC程序的编写,需要成熟的模块化编程思路和合理的嵌套层次,两者相辅相承,缺一不可。多数经典程序的编写都是用必要的功能块加上合理的嵌套来完成的,很多成熟的PLC区程序都拥有自己独立的程序块,这样才更容易实现工业技术要求,更方便程序的编写和应用;PLC程序需要合理化的嵌套,这样程序才可以正常并流畅的运行。所以,建议程序员使用符合IEC1131-3国际标准的FBD功能块编写程
【1】廖常初.S7-300/400PLC应用技术[M].北京:机械工业出版社,2002.
【2】王永华.现代电气控制及PLC应用技术[M].北京:北京航空航天出版社,2003
【3】廖常初.可编程序控制应用技术[M].(第三版)重庆:重庆大学出版社,2002.
【4】方承远主编.工厂电气控制技术[M].北京:机械工业出版社,2005.
【5】阮友德.电气控制与PLC,北京:人民邮电出版社,2009年.