研发埠
标题:
西门子s7-200PLC如何使用PID向导编程实现PID自动/手动无扰切换?
[打印本页]
作者:
邓英超
时间:
2013-5-7 10:35
标题:
西门子s7-200PLC如何使用PID向导编程实现PID自动/手动无扰切换?
作者:
徐依淼
时间:
2013-5-7 10:49
使用 PID 指令向导编程时,指令向导会自动调用 PID 指令,并且编写外围的控制变量标准化换算、定时采样等功能。用户在使用PID 指令向导时,需要在用户程序中用 SM0.0 调用指令向导生成的子程序(如 PIDx_INIT 子程序)。PID 向导可以生成带自动/手动切换功能的子程序,这个子程序使用一个数字量点为“1”、“0”的状态来控制是否投入 PID 自动控制。到目前为止(STEP7-Micro/WIN V4.0 SP5),使用 PID 向导生成的子程序时,由于用户程序不能直接使用 PID 指令,它的无扰切换能力因为隔了外壳子程序,所以受到了局限。如果对无扰切换要求比较严格,需要另外编一些程序加以处理。考察如下图1 PID 控制子程序。 图1中:a.过程反馈量b.设定值,实数c.自动/手动控制,“1”=自动,“0”=手动d.手动控制输出值,0.0 - 1.0 之间的一个实数e.PID 控制输出值 要实现无扰动切换,必须: .在从自动向手动切换时,使手动输出值(VD2004)等于当前的实际控制输出值; .在从手动向自动切换使,使设定值相当于当前的过程反馈值。为此,可编写类似图2图示的程序,放在PID 控制子程序之前: 图2中:a.自动/手动切换控制点b.从自动向手动切换时,使手动输出值等于实际当前值c.从手动向自动切换时,把当前反馈量换算为相应的给定值 上述程序中的Scale_I_to_R 就是量程变换指令库中的子程序。这是为了解决过程反馈与设定值之间的换算问题。用户也可以自己编程换算,或者根据反馈与给定的取值范围决定是否需要换算。此段程序适用于 STEP 7-Micro/WIN V4.0 SP5 及以前版本,仅供参考,如果在实际项目中使用,上述程序未必一定适用。用户需要根据实际工艺决定自己的编程思路。[img][/img][img][/img]
欢迎光临 研发埠 (http://bbs.yanfabu.com/)
Powered by Discuz! X3.2