脉冲量输入模拟量输出的闭环控制,可以是PID控制,也可是模糊控制,可依情况选定。在选用某种控制时,控制参数也可作不同的选定。
在此要补充说明的是,在相同的系统中,根据不同的偏差值,选用不同的控制算法及不同的控制参数,以提高控制效果,是完全可能的。如在偏差很大时,根据经验,干脆输出很大的控制量;而到了调节量接近给定值时,转换用PID控制,慢慢使其达到控制要求。
只是,在算法切换时,或参数变换时,其控制输出不应突变,以避免对系统的冲击。为此,在使用多算法、多参数控制时,各种算法应相互追踪,一旦切换或转换,控制输出不产生突变。
以下以直流电动机转速控制为例,看怎样使用PID进行闭环控制。系统的原理框图如图5-35所示。
图5-35 PI/AO闭环控制原理框图
从图5-35可知,这里一个重要问题是,如何读入旋转编码器产生的脉冲信号,并将其转换为频率信号,以用作转速反馈值。而有了这个反馈值,加上给定值,再采用某个控制算法计算,即可得出控制量。如果控制算法合适,选用的控制参数得当,则可有效地实现系统闭环控制。
图5-36所示为脉冲读入及频率计算程序,该程序运行于CPM2A机,设备用的是沈阳旭风电子科技开发有限公司的SAC- PLC-TS4测试台。
图5-36中,STIM为定时中断设定及启用指令。它用“P_First_C”(仅在第一个扫描周期ON)作为执行条件。两指令配合使用,使定时中断初始化并启用。选定这些操作数的STIM指令含义是,每隔100ms定时中断一次,中断时调子程序1。
从图5-36中子程序1知,它用XFER指令,把高速计数器的现值(CPM2A机高速计数器现值存于通道248、249中)传送给“BCD脉冲频率”。接着,使252.00ON,使高速计数器复位(高速计数器预设成仅用软件复位)。再接着,把“BCD脉冲频率”转换成“二进制脉冲频率”。当然,为使CPM2A机具有高速计数功能,还得作相应设定。
可知,这里“BCD脉冲频率”为每100ms采集的脉冲数。因为CPM2A机的高速计数器用BCD码表达,故XFER指令执行后得到的就时BCD码表达的脉冲频率。
图5-36 脉冲读入及频率变换
由于要使用OMRON公司的PID指令实现闭环控制,而PID指令用的反馈值须用二进制码表示,故这里紧接着又作了BCD码到二进制码的转换。(www.xing528.com)
图5-37所示为使用PID指令实现闭环控制的梯形图程序。
从图5-37知,该程序很简单。仅一个执行条件,一条执行指令。这里“参数变化”何意?当重新选定参数时,它OFF一个周期,以使所选定的新参数生效。这是因为OMRON C系列机PID指令执行后,改变参数无效,用这么处理就能生效了。
执行PID指令后的“原码输出值”也是二进制值,故不必转换,直接就用模拟量输出通道就可以了。
要补充的是,最好能依据误差变化,选择不同的控制参数,以提高控制效率。图5-38所示为此类程序。
图5-37 PID闭环控制程序
从图5-38可知,偏差值大于“很大偏差”时,LR1.10 ON,并使LR1.01置位;偏差值小于“很大偏差”时,LR1.10 OFF,并使LR1.02置位。这两种情况赋给PID指令不同的控制参数。该程序用了DIST指令。它是偏移传送指令,执行时,把第1个操作数传送给第2个操作数地址加第3个操作数形成的DM地址。如图5-38所示,如偏差大于“很大偏差”时,将把500赋给“原码给定值”+1的DM地址,即存储“比例带”参数的地址;而偏差值小于“很大偏差”时,则把2000赋给它,使控制作用弱些。还可用其它第3个操作数的不同DIST指令,以进行其它参数修改。只是该图未把要改的参数全部列出。
从图5-38还可知,从“大于”变“小于”,或从“小于”变“大于”过程,“参数变化”将ON,进而其常闭触点使PID指令停止执行。为使停止执行后,接着还能继续工作,故须把图5-39所示的小程序置于执行PID指令之后。即LR1.01、LR1.02只能同时ON一个周期,即“参数变化”只能ON一个周期。而有了这一个周期的ON,已足以使新参数生效了。
如果有更多的PID参数选定,也可按此思路进行设计。
有的PLC及OMRON CS系列机的PID指令执行后,参数可即改,即其作用就不需进行上述处理。
图5-38 参数改变
提示:本例用的为CP2M机,所控制是速度,其它机型也有类似功能,也可使用。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。