1 用PID指令向导生成PID程序
用系统块设置CPU的型号,双击项目树的“向导”文件夹中的“PID”,打开“PID回路向导”对话框,在依次出现的页面中完成下列操作:选择要组态的回路0,设置增益、采样时间、积分时间和微分时间;过程变量PV的类型为单极性,过程变量和回路设定值SP的上、下限均采用默认值;回路输出量的类型为默认的模拟量输出,单极性,范围为0 ~ 27648。
在“报警”页设置是否启用过程变量PV的上限报警、下限报警和模拟量输入错误报警。采用PID向导创建的子程序的默认名称,选中“添加PID的手动控制”多选框。在“存储器分配”页设置用来保存组态数据的120B的V存储区的起始地址为VB200。
“组件”页显示组态生成的项目组件。单击“生成”按钮,自动生成循环执行PID功能的中断程序PID_EXE、第0号回路的初始化子程序PID0_CTRL、数据页PID0_DATA和符号表PID0_SYM。
2 使用子程序模拟被控对象
要学习整定PID控制器参数的方法,必须做闭环实验,开环运行PID程序没有任何意义。用硬件组成一个闭环需要CPU模块、模拟量输入模块和模拟量输出模块,此外,还需要被控对象、检测元件、变送器和执行机构。下面介绍的PID闭环实验只需要一块CPU模块,被控对象用作者编写的名为“被控对象”的子程序来模拟,被控对象的数学模型为3个串联的惯性环节,其增益为GAIN,其传递函数为GAIN/[(TIM1s+1) (TIM2s+1) (TIM3s+1)],TIM1 ~ TIM3为惯性环节的时间常数。使用模拟的被控对象的PID闭环示意图如图1所示。图中被控对象的输入值INV是PID控制器的输出值,DISV是系统的扰动输入值。被控对象的输出值OUTV作为PID控制器的过程变量(反馈值)PV。
图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参数整定的方法。
- 我与模拟量的故事 2024-11-26
- Win10下如何安装step7 2024-11-26
- 说说WINCC与串口通讯 2 2024-11-26
- 说说WINCC与串口通讯 2024-11-26
- MAC地址 2024-11-26
- GSD文件 2024-11-26
- Step7里怎样设置断点调试 2024-11-26
- 当给S7-1500 CPU下载时,为什么尽管还有足够的存储空间 2024-11-26
- STEP 7(TIA Portal)项目中的备份文件有何意义 2024-11-26
- STEP7中FC块中如何传递ANY指针 2024-11-26
- 博途上云了 2024-11-26
- 西门子自动化系统接地指南---连载2 2024-11-26
- 【故事】西门子自动化系统接地指南---连载1 2024-11-26
- 【分享小故事】S7-300 CPU MMC接触不良故障现象及处理注意事项 2024-11-26
- 以太网、工业以太网及Profinet 有什么区别 2024-11-26