2017-04-06 17:39:47 | 人围观 | 评论:
图1 采用模拟被控对象的PID闭环示意图
PID控制器的难点在于PID参数的整定。图2和图3是《S7-200 SMART plc编程及应用》中的例程“PID闭环控制”的主程序和中断程序。可以用这个例程和编程软件中的PID整定控制面板学习PID的参数整定方法。T37和T38组成了方波振荡器,用来提供周期为60s、幅值为20.0%和70.0%浮点数的方波设定值。
用一直闭合的SM0.0的常开触点调用PID向导生成的子程序PID0_CTRL,后者初始化PID控制使用的变量,CPU按PID向导中组态的采样周期调用PID中断程序PID_EXE,在PID_EXE中执行PID运算。
PID0_CTRL指令的输入参数PV_I是数据类型为INT的过程变量(反馈值),Setpoint_R是以百分比为单位的实数设定值(SP)。BOOL变量Auto_Manual为“ON”时,该回路为自动模式(PID闭环控制),反之为手动模式。ManualOutput是手动模式时标准化的实数输入值(0.00 ~ 1.00)。Output是PID控制器的INT型输出值,BOOL变量HighAlarm是上限报警。
图2 PID闭环控制的主程序
PID0_CTRL的输入变量“过程变量”是子程序“被控对象”(见图3)的输出值,PID0_CTRL的输出变量“PID输出”是子程序“被控对象”的输入值,这样就组成了图1中的PID闭环。
PID_EXE占用了定时中断0,模拟被控对象的中断程序使用定时中断1。两个定时中断的时间间隔均为200ms。刚进入RUN模式时,SM0.1的常开触点闭合,将定时中断1的时间间隔200ms送给SMB35,用ATCH指令连接中断程序INT_0和编号为11的定时中断1的中断事件。
在中断程序INT_0中,用一直闭合的SM0.0的常开触点调用子程序“被控对象”(见图3),被控对象的增益为3.0,3个惯性环节的时间常数分别为5s、2s和0s,实际上只用了两个惯性环节。其采样周期CYCLE为200ms,参数COM_RST用于初始化操作。
图3 中断程序INT_0
实际的PID控制程序不需要调用中断程序INT_0和其中的子程序“被控对象”,在主程序中只需要调用子程序PID0_CTRL,其输入参数PV_I应为实际使用的AI模块的通道地址(例如AIW16),输出参数Output应为实际使用的AO模块的通道地址(例如AQW16)。
STEP 7-Micro/WIN SMART的PID整定控制面板(见图4)用图形方式监视PID回路的运行情况,可以用它手动调节PID参数,或用于PID参数自整定。
将例程“PID闭环控制”下载到CPU,令PLC为RUN模式。双击项目树的“工具”文件夹中的“PID整定控制面板”,打开控制面板。令初始化程序PID0_CTRL的输入参数Auto_Manual(I0.0)为“ON”,启动PID控制。选中面板左边窗口中的“Loop 0”,可以看到右边窗口用不同颜色显示的PV、SP和PID输出的动态变化的曲线及它们的值,图中的PID控制器的参数Kc为增益,TI为积分时间,TD为微分时间。
图4 PID整定控制面板
“采样时间”是PID向导中设置的以s为单位的执行PID运算的时间间隔。“调节参数”区给出了CPU中的增益、积分时间和微分时间的当前值,和参数自整定得到的计算值(或手动输入的参数值)。
3 PID参数整定的仿真实验
图5-6 ~ 图5-12是用图5-4和图5-5中的程序和PID整定控制面板得到的曲线。图4的PV曲线的超调量过大,有多次震荡。选中PID整定控制面板中的“启用手动调节”多选框(见图4),在“计算值”列将积分时间由0.03min改为0.1min,增益和微分时间不变。单击“更新CPU”按钮,将键入的参数值下载到CPU。增大积分时间(减弱积分作用)后,图5中PV曲线的超调量和震荡次数明显减小。
图5 PID控制阶跃响应曲线
将图5中的微分时间改为0.0min,其他参数不变。微分时间由0.01min减为0后,图6中响应曲线的超调量和震荡次数增大。可见适当的微分时间对减小超调量有明显的作用。
图6 PI控制阶跃响应曲线
将图5中的微分时间改为0.0min,其他参数不变。微分时间由0.01min减为0后,图6中响应曲线的超调量和震荡次数增大。可见适当的微分时间对减小超调量有明显的作用。
使用这个例程和PID整定控制面板来调整控制器的参数,通过PV曲线的特征观察参数整定的效果,可以迅速地掌握PID参数整定的方法。更详细的信息和参数整定的实例见作者编写的《S7-200 SMART plc编程及应用》第2版。该书随书光盘有PID参数手动整定、自动整定的视频教程。
全站搜索