PLC程序模块化在现代化工厂中的应用

2021-06-18 07:27孔令铖谢冰雪吴一帆
粮食与食品工业 2021年3期
关键词:子程序模块化编程

孔令铖,谢冰雪,吴一帆,吴 刚

无锡中粮工程科技有限公司 (无锡 214036)

随着现代工厂规模化、自动化、信息化的不断发展,企业对自动化系统程序的要求也日益提高,而在工业控制系统程序中,大部分程序可读性较差,不利于后期系统维护。本文阐述了PLC程序模块化对传统程序结构化的改善,保证了PLC系统的安全性与稳定性。

1 模块化的概论

所谓模块化,简单地来说就是将每个设备当成一个子系统(如电机,阀门等设备),将这个子系统作为通用性的模块与其他设备进行多种组合,使其构成一个新的系统,产生多种不同功能或相同功能、不同性能的系列产品。模块化设计是绿色设计方法之一,已经从理念转变为较成熟的设计方法。一方面,可以缩短PLC程序的编写周期,提高工作效率,对应对工程工期过短的问题有着很大的帮助;另一方面,在对公司团队的发展有着巨大的作用,模块化的程序可以使整个公司团队的程序编写风格一致,在项目后期的维护中,其他工程师无需花费大量的时间去了解前人编写的程序。

模块化设计具有以下特征:相对独立性,可以针对每个设备来进行单独的程序编写,例如使用西门子PLC来编程,那么每种设备可以编写成一个FB块,其可以在程序中多次使用;互换性,程序中模块的接口可以对外开放,工程师可以根据项目的实际情况来更改模块的作用,从而使模块满足在不同场景下实现不同的功能;通用性,有利于实现不同项目之间模块的通用,实现跨项目间的模块通用,可以有效的减少每个项目在前期对于程序的开发。

2 PLC简介

PLC即可编程逻辑控制器(Programmable Logic Controller,简称PLC),一种具有微处理器的数字电子设备,用于自动化控制的数字逻辑控制器,可以将控制指令随时加载存储器内存储与运行。可编程控制器由内部CPU,指令及数据存储器、输入输出单元、电源模块、数字模拟等单元所模块化组合成。PLC可接收(输入)及发送(输出)多种类型的电气或电子信号,并使用他们来控制或监督几乎所有种类的机械与电气系统。

简单一点来说,假设我们有一个设备有电机和按钮。那边我们希望按下按钮时电机开启,等再次按下按钮时,希望电机关闭。这个功能类似于电视遥控器上按钮的功能。要做到这一点,我们必须先编写一个程序在计算机上执行此操作,然后将其下载到CPU。及接着我们连接按钮到输入模块,电机接到输出模块。现在我们按下按钮,电信号将被发送到PLC,PLC输入将首先将此信号传送给CPU,CPU收到信号后按照事先编写的程序来控制电机启停。所有的PLC都是由3个主要部分组成:输入模块,CPU和输出模块(图1)。

图1 PLC基本组成部分

3 模块化程序在PLC编程中的应用

PLC程序的整体编写可分为工艺需求了解、功能设置、程序编写、现场调试以及系统后期的维护与功能升级这五个大的阶段。目前,大部分工厂的PLC程序已梯形图为主,该语言与继电器控制系统图相识,比较直观,偏重于逻辑设计,但是梯形图的程序写法有着很重的个人色彩,每个人的写法不同会导致程序的可读性差,这对以后程序的维护与功能升级带来了很大的不便。因此模块化的编程方式能把控制系统的设计与设备属性的设计分割出来,各自单独进行。该方案编写的程序具有较好的可读性,便于设计、调试以及后期的维护等特点,尤其适合多人协同合作的项目。

1.1 程序模块化设计

模块化PLC程序的基本原理是把设备设计作为一个具有各自属性的单体对象,把工艺流程设计为各个设备间的逻辑控制,使其形成一个点对点的连锁关系,从而实现控制设备的启停和停止逻辑。这种编程思想下我们的程序主要分为两个部分。

(1)第一部分是以设备为主,我们为每种不同类型的设备建立各自独立的基本功能块,可以称为设计对象。其功能块的功能包含控制对象的手自动切换、启动停止、设备报警以及输入输出点的使用(如图2)。基本功能块是直接驱动硬件,控制对象是现场的电机或者阀门(注意:功能块可以根据具体的使用情况进行修改,其没有固定的形式,如西门子plc中的FB块或者FC块)。

图2 基本功能块示意图

(2)第二部分以逻辑控制为主,即按照工艺的控制要求,把所有的单个设备建立成一个有逻辑控制的整体程序,以满足工艺流程的需求。这一部分是针对这个的工艺流程来设计的,因为单个的设备程序无法满足整体流程,其只有设备本身的控制逻辑,即只能控制设备本身的启停。

1.2 程序的执行

对于一套控制系统来说,其包含了多个需要控制的电机与阀门,如有3台电机与1台泵需要控制,那么我们需要在这个4台设备的基本功能块中增加1个控制程序,用来把这几个设备实现联动。而模块化编程方式即:主程序读取控制程序,控制程序读取子程序,子程序对应相应的设备。目前大型PLC编程环境一般都支持子程序功能,子程序的优点就是一次编写,多次调用,无需重复编写相同的设备程序。但子程序是无法独自控制设备,其内部程序无法执行设备启停功能,它只能被主程序调用后才能使用,例如:在西门子PLC程序中,我们的设备块(FB块)只有在被主程序调用后才可以控制设备。这种编程方式使各个模块之间通过中间变量来传递数据,各自的点号(如I点与Q点)被良好的封装在各自的子程序中,相互之间不会干扰。

4 结束语

PLC程序模块化的设计思路,采用计算机高级语言的编程算法,因此程序灵活性强,且具有一定的通用性,一些类似的设备,只需修改下子程序或者相应的模块就可继续使用,其本身的灵活多变性与程序本体的空间占用率低的优势有着很好的推广性。采取此方法后,调试时间大幅度减少,同时也给后期的系统维护与升级带来了方便,具有性能良好,无安全隐患的优点。

猜你喜欢
子程序模块化编程
重卡内饰模块化技术
子程序在数控车编程中的创新应用
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
模块化住宅
纺织机上诞生的编程
马勒推出新型模块化混动系统
浅谈子程序在数控车编程中的应用
子程序在数控车加工槽中的应用探索