1.欧姆龙PLCPID指令
欧姆龙公司PLC的PID指令格式如图4-37所示。
对C200HS、CPM2A、CQM1H和C200HX等系列PLC,PID为扩展功能指令,使用前,其功能码应先作分配。而CS1G、CJ1G、CS1H、CS1G-H、CS1H-H、CJ1G-H、CJ1H-H及CJ1M.机,其PID指令功能码为190。其中:S为输入字,十六进制数,调节量(实际值)输入到这个字中;D为控制输出字(通道),十六进制数,运算后的PID值,即控制值,放在这个字中;C为PID控制参数首字,从C1~(C1+32),这33个字应放在同一个连续数据区内。
CP2A等机型C1~(C1+32)的各个字的含义见有关说明书。而CS1G及其后续机,增加了输出上下限控制,其参数共39个字,也应分布在同一连续的数据区中,其中C1+7、C1+8即用于存所期望的输出下限值及上限值。欧姆龙PID指令的应用可参阅它的相关说明书。
CP2A等机型C1~(C1+32)的各个字的含义见表4-1。而CS1G及其后续机,增加了输出上下限控制,其参数共39个字,也应分布在同一连续的数据区中,其中C1+7、C1+8即用于存所期望的输出下限值及上限值。表4-1所示就是CP2A等机各参数含义。
图4-37 PID指令
表4-1 CP2A等机控制字含义
欧姆龙PLC的PID指令还用了两个自由度的目标值PID控制技术。两个自由度的目标值PID控制技术的特点是,除了反馈控制,还用了前馈控制。具体的控制框图见图4-38。
图4-38 两个自由度算法框图
从图4-38可知,它的控制值不仅取决于对偏差值的PID运算,而且,还对当设定值做了滤波处理,设定值的变化,也会提前(前馈)作用于控制变量。
有了这个设定值变化的前馈处理,可改善在设定值改变时系统的动态特性。这个技术是欧姆龙专利,不仅其PLC的PID控制用它,而且其温控仪表也用它。
提示:怎么使用这个前馈控制,要对控制字C+5的第4~第15位作相应设定,以确定这个前馈作用的强弱。默认为000,其滤波系数为0.65。
此指令不能放在IL(02)和ILC(03)、JMP(04)和JME(05)指令之间,或放在子程序中,或放在步指令(STEP(08)/SNXT(09))中。否则不能执行。
当指令的执行条件OFF时,本指令不执行,但设定的参数保留,控制值由输出字D的内容确定。这时,直接写D,改变它的值,可实现手动控制。
当指令的执行条件第一次从OFF到ON时,先读参数,初始化工作区,然后执行PID运算,并把结果值送给D。要注意的是,对CS1机之前的机型,一旦指令开始执行,参数改变将不起作用。
图4-39 扫描周期与采样周期关系
当指令的执行条件继续ON时,执行本指令,但只在设定采样时间到的周期才执行。图4-39所示为PLC扫描周期与采样周期(设为100ms)以及执行本指令间的关系。
如果C数据超出范围,将产生一个错误,PLC错误标志位ON。如果实际采样周期大于指定采样周期的两倍,将产生一个错误,错误标志置ON,而PID控制继续执行。
PID执行时进位标志置ON。
对CS1机,执行PID动作后,操作变量超过上限,大于标志置ON,此时计算结果以上限值输出。执行PID动作后,操作变量低于下限,小于标志置ON,此时计算结果按下限值输出。
表4-2所示为执行PID指令时,在不同情况下,各标志位的取值。一般可通过对这些值的判断,得知本指令是否得以正确执行。
表4-2 执行PID指令时标志位状态
PID控制的好处是可以不必了解系统的数学模型,只要能检测出偏差,就可对系统实现准确、没有误差及稳定的控制。(www.xing528.com)
PID控制用途广泛、使用灵活,已有很多成功的实例。在使用时,只需设定好4个参数(T、Kp,Ki和Kd)即可。在很多情况下,并不一定需要全部3个控制,可以取其中的一到两个控制,但比例控制是必不可少的。
虽然很多工业过程是非线性或时变的,但通过对其简化可以变成基本线性和动态特性不随时间变化的系统,这样PID控制就可以用了。
但是,PID控制也有其局限性。PID在控制非线性、时变、耦合及参数和结构不确定的复杂过程时,效果不是太好。如果系统过于复杂,有时可能无论怎么调参数,都不易达到目的。
2.三菱FX机PID指令
其指令格式如图4-40所示。
其中:S1为目标,即设定值;S2为测定值或说当前值、实际值;S3为PID参数存储区的首地址,参数区共25个字,其各字的含义见有关说明书;D为执行PID指令计算后得到的输出值或说控制输出。
V2.00以上版本,不仅可实现PID控制,还可参数自整定、输出值上、下限设定。
图4-40 PID指令
图4-41 PID指令
本指令可多次调用,不受限制,但所用的数据区不能重复。在子程序、步进指令中也可使用,但用前,要清零S3+7的数据。三菱高档机PID指令功能更强,其编程手册对其有详细介绍。
3.S7-200PID指令
其梯形图格式如图4-41所示。
其中:TBL为PID控制参数存储区的开始字节地址,这参数区共36个字节,存9个参数,包括程序变量、设置点、输出、增益、采样时间、整数时间(重设)、导出时间(速率)以及整数和(偏差)的当前值及先前值,详细含义见表4-3;LOOP为PID回路编号,可在0~7间取值,在一个程序不能用相同编号,这意味着在一个S7-200的程序中,PID指令最多只能用8次,但此指令也可在子程序、中断程序中执行;EN、ENO为西门子PLC指令调用输入、输出机制。输入端EN逻辑条件ON,则执行本指令,OFF不执行;本指令正确执行,则输出ENOON,否则,OFF。
表4-3 S7-200 PID指令参数区含义
STEP 7-Micro/WIN 32提供有PID指令使用向导,为模拟量控制程序定义PID算法子程序。选择菜单命令工具→指令向导,并从指令向导窗口选择PID。即可一步步按提示操作。具体操作步骤是:
1)指定回路编号:只能在0~7间选择,且不能重复。
2)设定回路参数:指定表的首地址、回路参数及输入设定值地址。参数有采样时间、增益、积分时间、微分时间。
3)设定回路输入、输出:指定输入和输出地址、极性(单向还是双向)及高、低限。
•单极(可编辑默认范围0~32000);
•双极(可编辑默认范围-32000~32000)。
4)设定报警:指定回路警报选项,有过程值(PV)低报警、过程值(PV)高报警及模拟输入模块出错报警,以及这些报警的输出位。同时,要指明该输入模块安放加在PLC上的位置。
5)为计算指定内存区:使用PID指令,除了要用V内存中的一个36个字节的参数表,还要求一个“暂存区”,用于存储临时计算结果。在此需指定该计算区开始的V内存字节地址。还可以选择增加PID的手动控制。如选用也可手动控制,则还要指定使用的控制输入点。
6)指定初始化子程序和中断例行程序名称。
以上选项全部作做完,回答完成,即开始生成代码。当生成代码完成,将在子程序中增加所命名的初始化子程序项及中断子程序项。要使用它,在主程序中调用此初始化子程序就可以了。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。