大多数PLC中都有为闭环控制算法的专用指令,即PID指令。它是唯一一条直接用于过程控制的指令。它看起来不算复杂,但是用起来的效果却常常不尽善尽美。为了分析疑问,但又不借助太多的数学,我们通过一个十分简单而又最直观的具体例子,花较多的篇幅来介绍怎样用PLC控制器实现有效地控制。
在此之前,需注意以下事项。
(1) PID控制是一种从反馈控制的理念出发,原本由模拟器件实施的,一种仅限于单进单出对象的控制技巧。因为可以在对被控对象的特性知之甚少的条件下使用,因而适应性较广,使用方便,不失为一种通用的闭环控制技巧。但是,除非对象的特性(其中主要是它的线性和动静特性)较简单,否则控制的效果欠佳。
(2)它的3个控制参数,即放大系数Kp、积分时间Ti和微分时间Td的选用,固然在表面上他们有明白的单干,但是现实上又互相搅扰,所以正确设置很不容易,需求细心调试和经验的积累。
同时又因为对控制效果的要求,并非惟有一个统一的尺度。例如有的有望能用较强力的手段(控制参数),而且可以容忍被控参数有较大的颠簸,但是要求能尽快地趋于稳定。反之,有的有望能用较平易的手段,可以容忍被控参数逐步地趋于稳定,但是要求它尽可能地没有明显的颠簸。有的系统对被控参数的最终精度(余差)有一定要求,有的则要求不高。总之,应对不同的要求,应该使用不同的控制参数。普通都有一个不小的变更局限,并非有一个组唯一的最好参数。
(3)原本由模拟器件进行的PID算法,现在改由PLC来实现数字离散算法。在表面上可以证实,其效果PLC决不会超过前者,而且还必须开始确定一个多出来的参数——采样时间。常使用户难以下手。
我们仅从最根基的道理出发,大致预计一下采样时间。反馈控制系统的根基头脑是按照反馈回归的偏差进行调整。也即是说,若反馈来的偏差没有变更,我们的控制也暂时不必改变。否则是没有凭据的,盲目的,效果也是值得怀疑的。辣么是什么原因使偏差没有变更呢?我们先说一种最好的情况,即是系统已经稳定了。已经在当前的条件下实现了控制目标。也许并不美满(有余差),但是它尽力了。其次是被控制对象有明显的纯滞后,即前次调控的效果,尚来不及阐扬出来。所以我们就可以将这纯滞后时间作为采样时间。最后一种情况是,该系统中使用的测量通道有限的分辩力(或因模拟测量系统灵敏度的限制,或A/D转换器的位数有限,而使数据没有变。)使得读入的数字没有变。所以我们可以凭据预算出的或实测的最小“不变时间”作为参考,来初步决意采样时间。再考虑到为保全灯号的采样定律,可将“不变时间”之半设定为采样周期的下限。不要盲目地认为采样周期越小,控制效果越好,而浪费系统资源。
采样时间根基定下之后,普通可以用定时中断的技巧来实现控制周期。若应用程序执行时,扫描时间变更不大,最好将PLC的扫描时间设为定值模式。采样时间设定为PLC扫描时间的整数倍。用计数的办法来决意采样时间。
(4)设定放大系数Kp是当采样时间Ts决意之后,必须设定的第二个重要参数。也是可能令初学者宛若无从下手的事情。固然在有关“控制道理”的种种书籍中,对于怎样设定放大系数Kp有许多精密的论证、计较、仿真和工程技巧。但是我们现在的情况明显地不同于普通通用条件下的研究。现在面对的是一个已经正确设计好的,工艺要求已经十分明白的,硬件配置完整的PLC控制系统。有许多参数及条件是我们已知的,应该加以行使。下面艾特贸易小编介绍一种具备现场可操纵性的、十分简单的入门技巧,仅供参考。
我们曾经介绍过广义对象的概念,其回路图如图3-3所示。这里,它的输入来自于PID的数字输出,用GDI表示。而它的输出则是传感器经A/D转换之后,被PLC读入的数字量,用GDO表示。即便我们对被控对象特性的打听有限,但是既然系统的输入和输出通道硬件都已经设计好,辣么DI、GDI、GDO这些数字的变更局限以及最大值就都是已知的。例如,若测量被控参数的传感器输出,经10位A/D转换后被PLC读入,它的局限是0~1023,其最大值DSM为1023。同样由PLC送出的GDI,其局限以及最大值都是已知的,它的最大值用DIM表示。
系统在事情时,偏差△=SPL-GDO,除非系统已经完全稳定,而且没有余差,也即是说暂时不必调节。否则对于一个能够稳定的系统,能够测量出的最小偏差值是1,所以可以肯定,放大系数Kp一定小于控制器的最大输出数DIM。否则由△×Kp计较出的DI,将会登时超出DI容许的最大值DIM。这将处于饱和状况,实质上变成了开环状况,是我们所不有望的。再考虑到正常事情时,被控参数出现的偏差大多为传感度量程的10%左右,也即是GDO的最大值DSM的10%左右。所以可以进一步预计,放大系数Kp小于10×DIM/DSM。
它即是我们初步预计出的、可用的放大系数的值。作为调试用的第一个放大系数,普通可取最大值的0.5~1,即Kp=(5~10)×DIM/DSM。
这种轻便的工程参数整定法十分简单,读者不妨一试。若有望进一步得到较好的控制质量,可对放大系数进行0.618模式搜索。
这种现场可操纵的技巧适用于普通的对象,也即是纯延时不太大,对象特性不因时间而有较大的改变,输入和输出比例系数变更不十分明显的对象。用较为职业的术语称为“无明显的纯滞后,非时变的线性系统”。要求较高的读者,请进一步参考相关的控制表面。
(5)在开始调试时,为了能尽快掌握,可以仅设定控制器的放大系数(增益)Kp,暂时不使用微分和积分功效,也即是将微分时间常数设为0,而将积分时间常数设得尽可能地大。待调试根基胜利后,再凭据需求增加其余功效。普通情况下,可用2~3倍采样时间Ts作为微分时间Td,5~10倍微分时间作为积分时间Ti。两条准则:积分只能收缩系统的余差(最终精度),对其余控制质量有害无益。微分可改进控制的动静性能,提高控制质量,但过分时可能引发振荡,降低抗搅扰能力。再提醒一句,微分时间越长,微分作用越强;积分时间越短,积分作用越强。
(6)在前面计较放大系数时,我们用的是最大值。但是运转中GDI和GDO的变更量△GDI和△GDO,它们原本是可正可负的。当其比值为正时,称为正特性对象,应使用PID的正作用算法。反之.称为负特性对象,应使用PID的“反作用”算法。用错了,系统就由负反馈变成了正反馈,可能导致失控的紧张后果。
(7) PID算法可分为位置式和增量式两种。PLC中多使用增量式算法,即由PID算出来的结果,是这一次扫描后的输出变更量。现实的输出,还要加上前一次扫描后的输出值。
(8)调试控制系统时,应该随时注意控制系统中的每一个环节是否事情在正常局限以内。这里主要有两方面的疑问应该注意:①被控对象的事情是否超出容许的局限。例如,电动机是否超速?物料是否会从容器溢出或被抽干?等等。所以建议在进行PID系统调试之前,应该开始编制并测试好系统的护卫程序,并投入正常运转。②在PLC内筹办用来作为控制输出的数字量,也即是PID计较出的输出数,是否超出有效局限?例如,用来输出到12位D/A模块的数字量,大于4095。必将导致输失足误。即便计较出的数字量超出4095时,强行改成4095后再送到D/A模块,这样模块固然不失足,但是整个控制系统则由原来的闭环变成了开环。灯号的传递被阻塞,成为了不可控的系统。这在设定的放大系数过大,或是出现“积分饱和”时可能会经常遇到。所以在设定运转参数时,要避免出现这种情况。
(9)用离散算法实施PID控制,并非计较机的刚强。我们应该进一步发挥它的长处,避免其不足。取代模拟器件的算法软件,在鉴别、选定、寄放和各类计较功效方面,具备明显的优势。所以在有条件时,尽可能地使用种种其余更有效、更直观的算法作为补充,如数字滤波、前馈算法、变结构算法、变参数算法、自适应和自学习算法、模糊控制算法等,计较机在这方面显然有明显的优势。