S7-200能够进行PID控制。S7-200 CPU最多可以支持8个PID控制回路(8个PID指令功能块)。
PID是闭环控制系统的比例-积分-微分控制算法。
PID控制器根据设定值(给定)与被控对象的实际值(反馈)的差值,按照PID算法计算出控制器的输出量,控制执行机构去影响被控对象的变化。
PID控制是负反馈闭环控制,能够抑制系统闭环内的各种因素所引起的扰动,使反馈跟随给定变化。
根据具体项目的控制要求,在实际应用中有可能用到其中的一部分,比如常用的是PI(比例-积分)控制,这时没有微分控制部分。
PID控制最初在模拟量控制系统中实现,随着离散控制理论的发展,PID也在计算机化控制系统中实现。
为便于实现,S7-200中的PID控制采用了迭代算法。详细的计算方法请参考《S7-200系统手册》中PID指令部分的相关内容。
计算机化的PID控制算法有几个关键的参数Kc(Gain,增益),Ti(积分时间常数),Td(微分时间常数),Ts(采样时间)。
在S7-200中PID功能是通过PID指令功能块实现。通过定时(按照采样时间)执行PID功能块,按照PID运算规律,根据当时的给定、反馈、比例-积分-微分数据,计算出控制量。
PID功能块通过一个PID回路表交换数据,这个表是在V数据存储区中的开辟,长度为36字节。因此每个PID功能块在调用时需要指定两个要素:PID控制回路号,以及控制回路表的起始地址(以VB表示)。
由于PID可以控制温度、压力等等许多对象,它们各自都是由工程量表示,因此有一种通用的数据表示方法才能被PID功能块识别。S7-200中的PID功能使用占调节范围的百分比的方法抽象地表示被控对象的数值大小。在实际工程中,这个调节范围往往被认为与被控对象(反馈)的测量范围(量程)一致。
PID功能块只接受0.0 - 1.0之间的实数(实际上就是百分比)作为反馈、给定与控制输出的有效数值,如果是直接使用PID功能块编程,必须保证数据在这个范围之内,否则会出错。其他如增益、采样时间、积分时间、微分时间都是实数。
因此,必须把外围实际的物理量与PID功能块需要的(或者输出的)数据之间进行转换。这就是所谓输入/输出的转换与标准化处理。《S7-200系统手册》上有详细的介绍。
S7-200的编程软件Micro/WIN提供了PID指令向导,以方便地完成这些转换/标准化处理。除此之外,PID指令也同时会被自动调用。
PID控制的效果就是看反馈(也就是控制对象)是否跟随设定值(给定),是否响应快速、稳定,是否能够抑制闭环中的各种扰动而回复稳定。
要衡量PID参数是否合适,必须能够连续观察反馈对于给定变化的响应曲线;而实际上PID的参数也是通过观察反馈波形而调试的。因此,没有能够观察反馈的连续变化波形曲线的有效手段,就谈不上调试PID参数。
观察反馈量的连续波形,可以使用带慢扫描记忆功能的示波器(如数字示波器),波形记录仪,或者在PC机上做的趋势曲线监控画面等。
新版编程软件STEP 7-Micro/WIN V4.0内置了一个PID调试控制面板工具,具有图形化的给定、反馈、调节器输出波形显示,可以用于手动调试PID参数。对于没有“自整定PID”功能的老版CPU,也能实现PID手动调节。
PID参数的取值,以及它们之间的配合,对PID控制是否稳定具有重要的意义。这些主要参数是:
编程时指定的PID控制器采样时间必须与实际的采样时间一致。S7-200中PID的采样时间精度用定时中断来保证。