1.PID的库指令——FB41
首先在软件里找到Standard Library—PIC control Blocks—FB41。
2.FB41的各管脚含义:
COM_RST:开关量,1为重启PID,复位PID内部参数.
MAN_ON:1为手动,0为自动.
P_SEL:比例选择位,一般为1.
I_SEL:积分选择位,一般为1.
D_SEL:微分选择位,一般为0.
CYCLE:采样时间(如T#500ms,即500ms测一次,不要低于OB35设置的循环时间,一般OB35的循环时间默认为100ms.)
SP_INT:设定值.
PV_IN:反馈值(实时测到的模拟量).
LMN:输出的工程量,是实数,无单位,是个百分比值.
LMN_HLM:输出的上限.
LMN_LLM:输出的下限.(默认是0%-100.)
MAN:手动值.
GAIN:比例增益.
TI:积分时间,数据类型为TIME,如T#300ms,时间越短,反应越快,但是过快会超调.
所有的管脚,不用都记住,但都要了解,用的时候找个例子参考就可以了。
3.实例:PID调控恒温箱.
原理:经过PID运算后,给一个差值,传给模拟量输出模块,模拟量输出模块控制变频器,提高或者降低频率,从而让灯泡变亮或者变暗,控制温度的升高或者降低,从而接近设定值:
首先硬件接线完好,组态完成后,新建类似如下的地址变量表:
然后就可以开始编程:PIW256接收的是温度的模拟值,是0-27648中间的一个数,需做数据处理,先转成双整数,然后变成浮点数,最后除以100.0(因为是气候型),得到实际温度值,存放于MD610,如下图:
FB41块非常长,只好这样截图拼凑看。最后再将PID输出值给FC106进行控制变频器:
以上是整个一个PID控制过程的简单程序,如果需要查看曲线图进行实时模拟,可在Siemens Automatic——Simatic——STEP7——PID控制参数赋值:
以上是今天的笔记内容,比较繁琐枯燥,但是确是PID的应用重点,FB41一定要知道如何用,才能写出来程序,最后给一个经验值查,调参数的时候就可以参考这个经验值表进行更快的调节。加油!