e-works数字化企业网  »  文章频道  »  工业自动化控制  »  PLC/DCS

工业控制中PLC编程方法探讨

2020/5/13    来源:《科技创新与应用》2020年4期    作者:王智      
关键字:PLC  工业控制  编程  
随着工业控制技术的发展,PLC已经作为工业控制的基础广泛地运用到工业自动化领域中。
1 可编程控制器的组成及其各部分的功能
       可编程控制器的基本组成:
       从语辞义上来讲,PLC也是一种计算机控制系统,只不过它比一般的计算机具有更强的与工业过程相连接口和更直接地适用于控制要求的编程语言。所以PLC与计算机的组成十分相似,具有中央处理器(CPU),存贮器,输入/输出(I/O)接口,电源,编程语言,详见图1。
可编程控制器的基本组成
图1 可编程控制器的基本组成
2 PLC编程思想
       现代工业生产的控制体系通常需要涉及很多外部的设备,对于设备的动作要求通常十分严格。在很长一段时间中,编程需要首先根据具体要求绘制流程图,然后根据流程图编写程序的框架,再在这个流程框架中增加约束信息和报警信息,因此这一编程思想是面对过程的。数据与数据的处理过程是统一的,没有多少可以重用的代码,并且如果代码的数量过大,会对维护工作产生很大压力。面向过程的PLC编程方法,主要存在的缺陷在于:割裂被控对象在PLC程序和现实中的联系,使得内部逻辑和被控对象不太明确,从而使程序后期的维护工作变得困难;另外程序内部的逻辑关系复杂,因此控制的流程不够明确,容易造成错误;输入和输出都缺乏整体性,程序员通常对于各输入点和输出点作出孤立的考虑,无法实现两者之间有效的逻辑关联。
3 可编程控制器的编程方法
       3.1 编程语言
       目前的PLC编程语言主要有梯形图、语句表、逻辑图、高级语言等。
       梯形图———这种方法比较适合于初频道接触PLC的编程人员使用,因为它比较直观,简单易懂,只要具备基本的电路知识,易看懂易编程。
       语句表———用助记符表示的PLC的一个功能。PLC在执行程序时,实际上就是按照语句表编写顺序,逐个按照助记符表示的功能进行执行。这种方法比较直观地反映出编写程序的大小;在某些指令执行过程中,用语句表编写比用梯形图编写扫描时间较少。但对于初学者和复杂的功能有一定的难度。
       逻辑图———用逻辑关系表达出来的方式编程。它具有逻辑关系比较、清晰,但不易懂。一般情况下不采用此方法。
       高级语言———如C语言,Basic语言或专门的高级语言。使用高级语言编程的PLC,一般是中高型PLC。
       3.2 程序的结构框图
       在编程序之前,必须首先具备一些资料,这些资料是根据被控对象的要求和条件确定的,一般有:I/O点分布和意义表,参数的定义和地址分配表,被控对象响应的工艺及安全性条件说明书等。
       程序框图是编程的主要依据,用此要尽可能地根据资料详细化,以便确定应用程序的基本结构。程序框图包括两种:程序结构框图和功能控制框图。
       程序结构框图是一台PLC的全部功能部分在内存中前后排列的缩影,使用中可以根据结构图了解所有功能控制在整一个程序中的位置。
       3.3 程序设计结构方式
       软件设计任务的复杂程度决定用户程序的结构。
       (1)线性编程:程序以线性的或顺序的方式执行每条指令。基本上是将程序放在一个主程序内全部完成。
       (2)分部式编程:程序设计按照动作逻辑功能的不同分成各自独立的子程序块,每个子程序完成一项或多项简单的且独立的任务。然后由主程序按照工艺有条件或无条件调用子程序。这些子程序在每一个扫描周期内只能调用一次。
       (3)结构化编程:独立编制具有通用性的程序块或子程序,通过赋给这些通用子程序块不同的信息或条件,在每个扫描周期内可以反复调用这些通用程序块。
       对于压铸机程序设计,由于其有一定的复杂性,建议采用“分部式编程”方法。具有的优点有:易设计、易维护、易扩展。
       3.4 安全回路的设计
       设计工业化控制程序,安全和信息描述是必要的一个环节。压铸机的动作流程具有一定的危险性,因此安全回路的设计是应引起重视。安全指设备和操作人员。安全回路应考虑以下因素,并进行控制:
       (1)操作失误引起的危险或冒险。
       (2)外部配件的损坏引起的危险,外部配件包括PLC本身故障和硬件电路信号。
       (3)动作工艺流程规定的混乱引起的危险。
       (4)特殊性引发的危险,例如:冷室机的空压射,易引发设备损坏时。停电或电源模块故障时。
       安全回路的设计时大部分采用紧急停止回路,自锁回路,互锁回路。外部信号保护回路,顺控型回路等方式。同进外部硬件回路也要组成保护回路:如热继电器、急停按钮等。
       综合上述设计PLC的软件有许多方法,设计人员除保持自己的设计风格和必须遵循本公司的指导性要求外,设计的经验是至关重要的,所以只有不断地努力,才能摸索出适合自己的一种有效方法。但一些基本的步骤是公共的。
       (1)对被控对象的过程和要求进行分解,绘制出程序的结构框图,了解和掌握被控对象的控制要求和流程。
       (2)确定各单元的功能特性,绘制出功能控制框图。
       (3)选择合适的程序结构方式,将各功能控制联系起来。
       (4)慎重考虑安全回路的设计,制定故障的形式及控制方案。
       (5)编写各独立部分的程序,确定各模块程序的接口资料。
       (6)调试各独立块程序,调试各模块的接口程序。调试安全回路程序。
       (7)联机在线调试设备或过程。
4 案例分析
       以汽车微电机压装控制系统为例,对于PLC编程方法进行详解。这一系统主要通过触摸屏TPC、主控单元FPG以及位置控制单元FPG、模拟单元FP0、位移传感器伺服电机构成。这一系统主要对伺服电机控制脉冲输出,而脉冲输出能够直接封装电机的运行状态,而剩下的输出则不需要在程序中大量使用,能够单独调用。具体如图2所示。
控制系统原理图
图2 控制系统原理图
       压装流程中,前三项依次为快速工进、预压和慢速压装,这些过程是同向运动,主要目的在于提高工作效率,因此三个过程之间都不能出现任何停顿,采用“P点控制”就能满足要求。慢速压装的运动方向和第四项的快速退回方向相反,并且这一过程需要停顿。快速退回功能借助“E点控制”实现。具体如图3所示。
E点控制梯形图
图3 E点控制梯形图
       FPWINGR编程软件不能进行模块封装的操作,但这也不会对对象思维产生影响。“E点控制”的触发条件是R20,而“E点控制”的目标脉冲频率是双字寄存器DT412,也是“E点控制”的目标位置。采用对象封装,主要目的在于避免数据的随意访问,使数据得以继承。在“E 点控制”中,电机的属性启动速度是500Hz,加速时间是100ms,正反方向的定义采用参数的方式固定。如果对这一对象进行调试,则默认继承了这一属性。只要对多个内部继电器触发R20进行扩展,就能够被多次调用继承,也就是多态性。
       时序层的基础包括输出层和外设层,时序层会根据一定时间顺序对输出层与外设层进行组合,同时辅助必要的数据处理,从而形成应有的功能。压装的主流程为“P 点控制”和“E 点控制”模块,再加上时间延时和计数处理与力峰值功能,最终形成初步的压装功能,再经后期调试加上小范围的改动,形成功能编写能力。根据这一方法,能够对所需各功能进行编写,在完成了整个程序之后,实现整体调试的功能。后期维护需要修改某部分功能时,可以快速定位到要修改的层,再找到相应的模块;增加功能时,可以迅速查到已有硬件的封装模块,直接在时序层增加要求的功能时序。
5 结束语
       通过分析以及实际验证发现,本次研究所采用的编程方法编写PLC程序,具有清晰的逻辑,并且具有层次分明和运行稳定的优势。这一编程方法能够为程序调试以及后期程序的维护以及程序功能的扩展提供重要基础。将此编程方法应用在复杂的控制系统当中,能够有效提高编程效率,同时这一编程技术也能够适用简单系统,保证了复杂控制系统的集体设计具有更明确的分工,并确保更稳定的性能。
责任编辑:杨培
本文来源于互联网,e-works本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供,并已尽力标明作者与出处,如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
e-works
官方微信
掌上
信息化
编辑推荐
新闻推荐
博客推荐
视频推荐