上位机采用WINOOWs XP SP3 操作系统,编程平台为CitectSCADA V7.0。在上位画面通过点击鼠标来启动或者停止水泵、开阀、关阀。自动模式下启动条件为:主回路断路器辅点准备好、主回路接触器辅点准备好、控制回路接触器准备好、控制回路电源上电、转换开关打到集中位置。上位机设置供水泵组启动停止按扭, 点击后泵组按系统设置的条件自动启停水泵及电动阀。下位机采用施耐德公司开发的Unity Pro 软件进行控制程序编制。
面向对象的PLC 程序设计的基本原理如下:把设备设计为具有各自属性的智能化对象; 把工艺流程设计为设备之间的逻辑关系,控制设备之间的启动与停止顺序。在该思想指导下程序设计可以划分为两个独立的部分:第一部分设备描述,又可称为对象设计,第二部分为控制系统的设计,即在单个设备的基础上描述设备之间的逻辑关系,以满足工艺流程的要求。这一部分是针对自动工艺流程的设计,因为启动单个设备,设备之间没有逻辑关系,因此只要有了“智能”设备,就可以接收命令运行,并判断自身状态,独立运行。
4.2 对象设计
某钢厂综合泵站系统相对来说是一个比较复杂的系统,主控制PLC 采用施耐德Quantum 系列。该PLC 控制的对象设备很多,但这些设备相同或相似的比较多。如果为每一个设备都编写程序模块,容易产生混淆,不利于维护。如果将相同设备或相似设备的控制功能抽象出来,编写一个通用程序模块,在具体应用时设置不同的参数即可,这样利于代码重用。某钢厂综合泵站炼钢区域水处理系统需要控制的设备很多, 设备之间的连锁关系比较复杂,相同或相似的设备很多。为此,本系统采用面向对象的设计方法, 把控制工艺相同设备作为一个组来进行程序编制,编写出一个通用的程序模块,在具体应用调用时这个模块,为其设置不同的参数调用即可。例如板换冷煤泵组包括4 个泵,每个泵的控制过程是一致的。这样我们可以编出一个统一的程序模块,这四个泵都调用这个模块,所不同的就是模块内的参数设置不同。不仅如此,此水处理控制系统控制对象主要为高低压泵36 个,阀36 个,还有部分潜污泵,通风机等设备。对于泵我们可以抽象出一个泵类, 高压泵继承泵类, 然后扩展自己特有的属性。
低压泵类也继承泵类,扩展自己特有的属性。对于具体的某个泵,分清属于哪类泵,调用该类泵即可。对于阀我们可以抽象出一个阀类,具体实现方法和泵类相似。以此类推,系统中的相关联的设备,被抽象为一个个的类,而这些类组成了一个集合即类库。这样,各对象的控制可以通过类的调用来实现。类与类之间有相同属性和方法的还可以进一步抽象,比如上述的电机类、泵类、阀门类它们有启动、停止等相同的属性,有手动切换到自动、检测运行情况等相同的方法。可以抽象一个设备类作为基类,电机类、泵类、阀门类作为派生类继承基类的属性和方法,在继承基类的属性和方法的同时, 派生类可以定义自己的属性和方法。本例中对象继承和实例化过程如图2所示。通过面向对象的编程方法,使得系统设备连锁关系复杂的控制变得容易,各个子系统之间通过控制接口反馈各子系统的状态, 子系统根据接口,实现对自己的控制。这样,各个子系统之间并不需要考虑对方的控制过程,使得编程和调试变的非常方便和容易。
本文关键字:PLC编程 PLC入门,plc技术 - PLC入门
上一篇:PLC与变频器连接使用要点