PLC程序设计技巧研究
2022-11-30邢洁林
邢洁林
(江苏省陶都中等专业学校,无锡 214221)
可编程逻辑控制器(Programmable Logic Controller,PLC)是针对工业环境提出的数字运算操控系统,具有成本低、稳定性强以及功能多样等优点,能够依靠可编程存储器存储系列控制程序,通过输入输出数字模拟信号实现操控机械设备的目的。在PLC控制功能实现过程中,除了做好硬件配备,还需完成系统编程。相较而言,PLC程序设计更加复杂,因此应加强设计技巧研究,确保高效开展控制系统开发等工作。
1 PLC程序设计分析
在PLC程序设计上,根据需要控制的设备或系统展开分析,确定输入输出点符合PLC点数要求,且根据控制功能实现的复杂程度判断PLC内存容量是否足够。在硬件条件满足的基础上,可以对输入、输出信号赋值,确保与PLC输入、输出编号对应,得到系统控制原理图和完成控制程序编写。整个过程中,梯形图作为形象化编程语言,为决定PLC程序设计效果的关键要素。目前,主要采取顺序控制和经验编程两种设计方法[1]。采用顺序控制法需要对系统逻辑进行综合分析,将一个工作周期划分为多个顺序相连的步骤,对应各自操作状态,然后根据状态转换条件进行功能图绘制,之后转化为梯形图。该种方法结构清晰和可读性较强,但容易导致梯形图复杂、烦琐,系统程序运行时间过长,而采用经验编程法不存在固定设计步骤。面向不同的控制系统时,它要求设计者可以深入掌握PLC的各种指令功能,结合控制功能进行指令修改和程序完善来实现相关需求。由于该方法带有较强的主观性,运用难度较大,造成设计结果存在较大差异,可能出现冗长、复杂等问题。
2 PLC程序设计技巧及运用
在PLC系统设计实践中,需要结合PLC程序应用场合灵活运用不同的设计方法,因此应加强程序设计技巧分析,增强程序的可读性、可靠性和高效性。
2.1 逻辑控制设计技巧
PLC程序设计之初,在逻辑表达上,按照电路逻辑关系能够划分为组合和时序两类。如果控制结果仅与输入变量相关,可以通过布尔代数进行梯形图计算,生成关系简明且可读性强的程序图[2]。例如,在照明控制程序设计上,利用I0.0开关1、I0.1开关2、I0.2开关3总计3处开关对一处照明灯Q4.0进行控制,要求任意开关能够控制灯亮灭。对变量控制逻辑展开分析可知,任一开关闭合时照明灯亮,任一开关闭合时照明灯灭掉,最终得到奇数开关闭合时照明灯亮,偶数开关闭合时照明灯灭的逻辑关系。根据控制过程绘制逻辑真值表,可以得到逻辑表达式,完成PLC内部指令设计,得到如图1所示的PLC程序梯形图。观察程序图中逻辑关系可知,它为基本的位逻辑指令,仅需要生成一段程序。如果采用经验编程方法,需要选择位逻辑指令、计数器指令以及比较指令等多条指令生成多段程序,最终通过反复试验确认满足控制要求。因此,在简单控制系统中,多通过简化逻辑表达的顺序控制法进行PLC程序设计。
图1 照明控制PLC程序图
2.2 启停控制设计技巧
工业场景中,常见PLC控制对象为启停控制,即在启动信号有效时使设备通电,在停止信号有效时断开电源。如图2所示,以按钮这种复归型启动元件为例,连接PLC输出点Q0.0和输入点I0.0、I0.1后可知,按下按钮为触点动作,松开时将自动复位。对输出、输出元件的常开触点进行并联可知,按钮被按下后I0.0触点闭合,输出Q0.0闭合且线圈得电,按钮松开后断开且维持得电。利用置位指令实现得电保持功能,可以完成自锁程序设计,如图2所示。在开关闭合后,输入点接通,线圈得电,开关不再发挥控制作用。
图2 按钮启动PLC程序图
在按钮停止控制上,一是按下即刻停止,二是按下后直至当前任务周期结束后停止。实现第一种方式较为简单,只需要在上述程序中增加停止控制指令,在输出点Q0.0工作时按下按钮,I0.1触点分断,线圈复位进入自锁状态。实现第二种停止功能,则需要锁住停止信号,以免在松开按钮后停止信号消失,导致无法在工作周期结束后实现控制指令。利用辅助继电器元件实现自保控制,可以使线圈得电后自锁[3]。以感应自动门控制为例,对上述控制逻辑展开分析。人在自动门内、外时,依靠位置传感器K1或K2进行门开启控制,在达到上限位SQ1后应停留5 s后再关门,确保人身安全。检测到有人进出时,需要重新等待5 s,关闭时确认达到SQ2下限位停止。在PLC的 输 入/输 出(Input/Output,I/O)分 配 上,K1、K2、SQ1、SQ2分别对应I0.0、I0.1、I0.2、I0.3,驱动门开启和关闭的接触器输出模块分别对应Q4.1和Q4.2,可知能够通过继电器元件M0.0、M0.1、M0.2和M0.3分别构成一个单闭环,如图3所示。其中,M0.0、M0.1和M0.3能够直接套用置位复位指令,而M0.2不仅为前级步,也为后级步,同时执行置位和复位指令容易出现矛盾,需要将复位条件设定为(I0.0+I0.0)×I0.2。通过在复位指令左边添加上升沿增设检测指令,使M0.2复位一个短暂扫描周期形成时间差,确保同时实现置位和复位功能。
图3 感应门启停控制PLC程序图
2.3 循环控制设计技巧
在机械自动化生产中,许多装置需要周期性运行,重复执行一个周期动作,实现循环控制。在PLC程序设计上,需要按照设定工艺流程确定时间顺序或条件顺序,确保各机构有序工作。
按照时间顺序进行控制,编程时需确认定时器编号和计数值等。采用多个定时器,用常开触点启动,并利用常闭触点停止[4]。运用一个定时器可以简化程序,在当前值大于起始值时,启动定时器输出。当前值小于起始值时,定时器停止。以流水灯控制为例,共计8个灯,输出点对应Q0.0~Q0.7。按照控制要求,在首个灯亮起后,隔1 s再点亮下一个灯,整个工作周期为8 s。利用8个定时器T51~T58控制,可知M0.0为状态位,工作时触点闭合,如图4所示。在一个周期结束后,对全部定时器和输出端进行复位,能够重启下个周期。在程序设计上,可直接将T58延时设定为8 s,通过常闭触点复位全部点位,简化控制程序。
图4 感应门启停控制PLC程序图
按照条件顺序进行循环控制,可以使用比较指令简化PLC程序。该指令可以看成是常开触点,通过数值比较确定是否达到指定条件,满足则闭合触点,使右边指令被执行。利用该指令代替逻辑块,能够利用一个定时器实现多个定时器的功能[5]。例如,对3条传送带进行依次启动时,各设备启动时间间隔为10 s,但最终需要同时停车。利用置位复位指令进行编程,在绘制梯形图时进行电路初始化,可以在顺序功能图中插入起动组织块OB100,将初始步M0.0置为1,转换为活动步,剩余步清零。根据设计经验,利用1个定时器和比较指令可以实现2个定时器的控制功能,如图5所示。T0时基为100 ms,MW0为0~100的剩余时间值。通过比较指令拆分为50~100和0~50,相当于形成2个定时器。在需要控制的设备逐渐增多的情况下,采取该种技巧实现设备的循环启动控制,能够节省大量定时器。
图5 传送带顺序启动控制PLC程序图
3 结语
应用PLC技术实现自动化生产控制时,程序设计为系统控制功能实现的关键,需要利用梯形图等各种编程语言实现控制对象的逻辑控制。设计实践中,掌握逻辑控制、启停控制等各种程序设计技巧,可以结合控制对象特点灵活进行不同控制程序设计,确保形成结构清晰、简洁的控制流程,为系统各种功能的高效、可靠实现提供保障。