摘 要:PLC在现代工业控制的应用中已非常广泛。但随着控制系统复杂性和自动化程度的不断提高,采用常规的面向过程的方法进行PLC编程会变得十分困难。因此,必须采用面向对象的编程方法,为PLC程序组被控对象建立功能/数据模块FB/DB,为每个控制系统的每个程序组分别定义和创建公用模块FC。
关键词:PLC编程 功能模块 段控制 组控制
1 问题的提出
在现代工业生产中,PLC的应用极其普遍,在大型的集中控制系统中,通常会用到多个PLC,每个独立的PLC又由相对独立的程序组组成,每个程序组控制几台至几十台设备,各台设备间的控制要求较多,有的被控对象自身较为复杂,这就使得PLC控制也就越趋复杂。
PLC控制的复杂性,自然也就使其软件设计更加繁琐。其软件设计在满足生产工艺和电气联锁控制关系的基础上,还应尽可能满足在使用上操作简便、直观,这包括:PLC主机自检;自动进行设备组备妥检查;系统音响试验输出;程序组启动预告输出;程序组设备的正常启/停联锁、运行联锁、紧急停车;组设备运行状态输出;设备启动过程中或系统正常运行后设备故障时的故障联锁停车、故障报警输出;故障解除后复位且能够从故障设备位置重新完成程序组设备顺序启动的控制等。
2 解决的思路
控制对象和对象之间关系的多样性,体现在PLC程序的编写上,就越来越庞大。这样采用一般面向过程的方法进行PLC编程会变得十分困难,且程序的调试和修改也同样十分困难。因此,必须采用面向对象的编程方法[1]。主体思想有两条:
第一条:为程序组中每个独立的被控对象或需要同时启/停的一组被