- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
摘要:本文阐述了模块化编程思想在PLC开发中的运用,尝试将高级语言中的模块化编程思想应用到了工业控制领域,并且通过两个例子进行了说明。
关键字:模块化编程 编程思想 水处理 PLC
一 概述
??? PLC是将继电器控制的概念和设计思想与计算机技术及微电子技术相结合而形成的,在实际的应用中往往使用梯形图或功能块的设计方式,不仅逻辑运算,其他比如算术运算、数据处理、联网通信等功能都可以在梯形图或功能块中加以实现。但由于梯形图设计是计算机程序设计与电气控制设计思想结合的产物,编程者过多地依赖已有的编程经验和已有的PLC程序,因此,传统的PLC编程方法远远不能满足现在的开发需要。
??? 在当前工业控制应用中,可编程控制器已经越来越成为了自动化工程的主要控制设备,PLC编程成为了自动化工程人员必不可少的一项技能,在自动化项目的过程中往往需要进行大量的编程工作,而目前传统的编程方法和先进的控制应用要求之间形成了一个矛盾,目前PLC程序质量的检验没有明确统一的标准,实际工程中,往往依据最后执行的结果来判定控制质量,结果PLC编程成为了一件很个性化的工作,各自的PLC程序有很大的随意性,给PLC程序的互相交流造成了较大的障碍,当一个大的项目划分为几个不同的功能部分,由不同的人员分别进行编程时,这种情况更为严重。这种状态极大防碍了PLC编程水平的提高,同时,自动化工程的质量也很难在编程层次得到良好的保障。
二 方法介绍
??? 模块化的基本思想首先出现在高级语言编程应用中,但根据目前自动化编程应用的逐步提高,这种思想也同样适用于PLC的编程开发。模块化编程方法是根据控制要求把PLC编程需要完成的控制任务划分为几个较小功能块,然后对每个功能块分别进行编程,这样各模块之间相对独立、功能单一,具有清晰的结构,就大大降低了难度,避免了重复劳动,同时获得了较高的程序质量。
??? 模块化编程一般采用自上向下,逐步分解的方法进行,PLC中一个控制任务一般可划分2个部分,控制部分和执行部分,控制部分完成条件联锁,定时联动等工作,执行部分主要完成设备的执行工作,如上图所示。这样控制部分专门完成各种信号条件下的动作,执行部分发出信号,根据发来的信号进行设计好的动作,两者互不干扰,易于排错。两个部分可以单独的进行设计、调试和管理,在开发阶段,就可以通过仿真模拟,对单独的模块进行调试,在现场进行在线调试时,通过对每个模块的监视,可以及时发现存在的问题,能够方便的进行修改,大大缩减投运的时间。当工艺要求逐渐复杂时,在程序中加入模块即可,例如控制要求增加时,只需在控制部分中加入相应的处理模块,而不必改动执行部分,这有利于整个控制系统的开发和调试。
??? 模块化编程使得程序结构良好,具有很好的可读性,易于后期的维护。这种方式对输出数据具有保护作用,模块之间通过中间变量传递数据,各自的点号都被良好的封装到了各自的模块中,比如,输出到设备的点号只通过执行部分来进行操作,这样大大提高了设备的安全性,可以防止因为程序混乱造成的误动作。模块化编程具有良好的可移植性,只要稍加修改,就可以应用到同类型的控制中。
??? 目前大型PLC编程环境一般都支持子程序功能,子程序的特点是一次编程,多次使用。子程序是不能够单独的执行的,它只能被其他的程序来调用。通常执行部分使用子程序较多,因为子程序不能够单独的执行,输出点号不会被重复置位。比如在Cocept中可以使用自定义功能块(DFB),RSLogix5000可以通过JSR、SBR和RET指令实现子程序的调用和返回。在定义子程序时使用形参完成内部的程序流程,然后调用这个子程序,将实参传递到子程序中,可以大大减少工作量。这也是模块化编程方法的一部分。
??? 以下通过两个例子来说明这一方法的实际应用。
三.举例
1.污泥搅拌的控制
??? 污泥搅拌装置是水处理行业常用的设备,这里以此为例加以说明。主要的设备为两个搅拌罐,每个罐子有一台搅拌电机和一台气动放泥阀。自动工艺过程:先是1#搅拌电机工作,1分钟后打开放泥阀,排泥2分钟后关闭阀门和搅拌电机,同时启动2#搅拌电机工作,1分钟后打开放泥阀,排泥2分钟后关闭阀门和搅拌电机,整个设备停止3分钟,然后再从1#开始工作,不断循环。当然,实际使用的设备要比这个规模大得多,但工作流程是一样的。
??? 控制部分根据工艺要求,每隔一定的时间发出一个信号给执行部分,执行部分就根据这些信号进行动作,如下所示,其中TON是延时关闭指令,TOF是延时断开指令,TP是脉冲信号指令,RS为RS触发器,WN6_A到WN6_F是中间变量,用于把触发信号发送到执行部分。
? ??? 控制部分只是根据自动化流程的要求,完成流程的控制,在执行动作的点上发出信号。执行部分如下所示:
? ??? 执行部分
原创力文档


文档评论(0)