1.硬件闭环PID控制实验
PID控制的难点不是编写或阅读控制程序,而是整定控制器的参数。如果使用PID控制,需要整定的主要参数有比例增益GAIN、积分时间TI、微分时间TD和采样时间CYCLE。如果使用PI控制器,也有3个主要的参数需要整定。如果参数整定得不好,即使程序设计没有问题,系统的动、静态性能也达不到要求,甚至会使系统不能稳定运行。
为了学习整定PID控制器参数的方法,必须做闭环实验,开环运行PID程序没有任何意义。如果用实际的闭环控制系统来学习调试PID控制器参数的方法,可能有一定的风险。
2.闭环仿真系统的结构
随书光盘中的例程“PID控制”用功能块FB100模拟实际的执行机构和被控对象,不需要任何硬件,就可以用PLCSIM对闭环控制系统仿真。可以用STEP 7集成的PID参数赋值工具,显示PID控制器的方波给定曲线和被控量的阶跃响应曲线,观察闭环控制的效果。还可以用PID参数赋值工具修改PID控制器的参数,通过观察PID控制器的参数与系统性能之间的关系,来学习整定PID控制器参数的方法。
随书光盘中的例程“PID控制”中的闭环控制系统,由PID连续控制器FB41“CONT_C”和用来模拟被控对象的功能块FB100“过程对象”组成(见图9-6)。DISV是系统的扰动量,其默认值为0.0。该例程可以用来学习PID控制功能块FB41的使用方法,熟悉PID控制器的参数整定方法。FB100用来模拟3个串联的惯性环节,其比例增益为GAIN,3个惯性环节的时间常数分别为TM_LAG1~TM_LAG3。将某一时间常数设置为0,可以减少惯性环节的个数。
图9-6 闭环仿真系统的结构
3.示例程序的结构
例程“PID控制”的主体程序是初始化组织块OB100和循环中断组织块OB35,刚进入RUN模式时,CPU执行一次OB100,在OB100中调用FB41和FB100,对PID控制器和被控对象的参数初始化。在HW Config中将OB35的时间间隔(即PID控制的采样时间TS)设置为200ms,程序运行时每隔200ms自动调用一次OB35。在OB35中调用FB41和FB100,实现PID控制和被控对象的功能。各逻辑块和数据块的符号名见图9-7。
图9-7 符号表
4.在OB1中产生方波给定信号
在OB1中,用T8和T9组成振荡电路(见图9-8),T8的常开触点的接通和断开的时间均为30s。"PID_DI".SP_INT是FB41的背景数据块PID_DI中存放的以百分数为单位的控制器浮点数设定值SP_INT。在T8的常开触点刚接通和刚断开时,分别将设定值SP_INT修改为浮点数20.0%和70.0%,设定值的波形为方波。
图9-8 OB1中的梯形图5.启动组织块OB100 在OB100中调用FB41和模拟被控对象的功能块FB100,设置下述输入参数的初始值。 1)令FB41和FB100的启动标志COM_RST为TRUE,将PID控制器和被控对象的内部参数初始化为默认值。 2)设置FB41和FB100的采样时间CYCLE为200ms,它们的采样时间一般与OB35的循环执行周期相同,也可以是OB35周期的若干倍。 3)设置被控对象的增益GAIN为3.0,3个惯性环节的时间常数(TM_LAG1~TM_TAG3)分别为5s、2s和0s。 4)设置PID控制器的参数GAIN、TI和TD的初始值。假设AO模块为双极性输出,设置控制器输出下限值为−100.0%,上限值为默认的100.0%。(www.xing528.com)
5)FB41默认的设置为PI控制器,将参数D_SEL设置为1(TRUE),该控制器为PID控制器。设置微分操作的延迟时间TM_LAG为0ms,微分部分未使用惯性滤波环节。
6)设置MAN_ON为FALSE,控制器工作在自动方式。
7)在退出OB100之前,将两个FB的启动标志位COM_RST复位,以后在执行FB41和FB100时,COM_RST位的值均为0。
未设置的输入参数采用其默认值(即初始值)。下面是OB100中的程序:
6.循环中断组织块OB35
为了保证PID运算的采样时间的精度,在循环中断组织块OB35中调用FB41和FB100。在OB35中使用在OB100中设置的FB41和FB100的参数初始值,直到用PID参数赋值工具修改了其中的某些参数。在OB100和OB35中未设置的FB41和FB100的输入、输出参数,将使用它们的默认值。在FB41和FB100的局部变量表或FB41的在线帮助中,可以看到各输入、输入参数的默认值。
FB41的背景数据块DB41的符号名为“PID_DI”,FB100的背景数据块DB100的符号名为“对象DI”。将PID控制器的输出参数值"PID_DI".LMN送给FB100的输入参数INV,将FB100的输出参数值"对象DI".OUTV送给PID控制器的过程变量输入PV_IN,FB41和FB100组成了图9-6所示的闭环。因为是用软件对被控对象仿真,不涉及AI模块和AO模块,闭环中的变量均为浮点数。
因为是自动方式(MAN_ON为FALSE),不用设置手动输入值MAN。
输入端的选择开关PVPER_ON为默认值FALSE,采用浮点数格式的过程变量。过程变量不是来自外部设备(AI模块),不用设置外设过程变量PV_PER。因为PID的输出不是送给AO模块,不用设置I/O格式的控制器输出LMN_PER。
在实际的语句表程序中,如果要给功能块的某个输入、输出参数添加注释,必须设置该变量的实参。下面是循环中断组织块OB35的程序。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。