
一般在自动控制中,控制模块(PID等)输出的是控制值,但不是输出值。它们的关系在于PID控制模块输出到PID输出的部分——这个部分,你初入门把它当成“另一个系统X或另一个单独的设备X”即可。系统X是接受U输入,再产生V输入。
拿个实际的例子来说,有个PID要控制水箱水位,上面有入水的水龙头,下方是出水口流出。这个水位就是V输入,通过某个测量器(水位计什么的)输入到PID。然后PID输出U,这里请注意!它的输出U接到水龙头,而水龙头给出的控制方式,是以它的水量影响水箱水位,最后绕回来,水位被测出以V输入到PID。
所以在这个系统中,除PID外,“水龙头-出水-水箱水位”可以视为一套单独的系统,PID以输出影响水龙头(水龙头排出的水量),再注意一下,水龙头对水箱水位的控制是不可预知的,因为不是小学数学题,没有恒定值。水龙头开了100%能产生的流量,可能是200,可能是180,也可能是170,更进一步在水箱中,因为排出量可能变化的影响,即例水龙头恒定了流量,水位也会波动,因此PID外部的“水龙头-出水-水箱水位”系统,可能会有不可预知的波动,但“大方向”是可预料的,比如这个系统,PID的U影响水龙头,间接对水位的大小是一个正向变化,U越大,水位V(输出值)在正常情况下加一个向上增值的影响。
考虑有个同学,他按“人工思考”的方式控制水箱水位,他的能力是可以 *** 作水龙头,能看到水箱水位,相当于上面的U和V,现在BOSS要求他说,必须把水箱水位控制在40%这个位置(给定值),有误差可以,尽量控制。当他看到水位低于40%时,会把水龙头开大,然后根据水位的变化再调水龙头出水的大小,好吧他发现开了水龙头,水位从30%缓慢上升,他一想可能是下面出水太多,就会把水龙头拧大一点(D算法,偏差变化越大,正反向开得越大,I算法,经过一定时间累积值越大,调节U的力度越大),反之亦然,水位从30%向给定的40%上升的速度太快,他会想,快到40%前把水龙头拧小点,让出水和进水差不多。
说回你那个电机,它接受U,相当于“水龙头”,后面电机的输出不可能立即当成V送回PID,而是控制某个设备作正向或反向的增加量,比如这电机连接到一个送料器,控制容器送出给料,那就是个反向增量,PID系统测量出料的多少为V,同样的,由于现实系统的一些不确定性,经常会有另一个扰动加在送料系统上。PID的目的就是找出控制参数,尽量找到一个平衡点,令U对V的间接输出趋近PID的给定值
三菱PLC实现PID控制的方法1)使用PID过程控制模块。这种模块的PID控制程序是PLC生产厂家设计的,并存放在模块中,用户在使用时只需要设置一些参数,使用起来非常方便,一块模块可以控制几路甚至几十路闭环回路。但是这种模块的价格昂贵,一般在大型控制系统中使用。如三菱的A系列、Q系列PLC的PID控制模块。
2)使用PID功能指令。现在很多中小型 PLC都提供PID控制用的功能指令,如FX2N系列PLC的PID指令。它们实际上是用于PID控制的子程序,与A/D、D/A模块一起使用,可以得到类似于使用PID过程控制模块的效果,价格却便宜得多。
3)使用自编程序实现PID闭环控制。有的PLC没有有PID过程控制模块和 PID控制指令,有时虽然有PID控制指令,但用户希望采用变型PID控制算法。在这些情况下,都需要由用户自己编制PID控制程序。
3. 三菱FX2N的PID指令
PID指令的编号为FNC88,源 *** 作数[S1]、[S2]、[S3]和目标 *** 作数[D]均为数据寄存器D,16位指令,占9个程序步。[S1]和[S2]分别用来存放给定值SV和当前测量到的反馈值PV,[S3]~[S3]+6用来存放控制参数的值,运算结果MV存放在[D]中。源 *** 作数[S3]占用从[S3]开始的25个数据寄存器。
PID指令是用来调用PID运算程序,在PID运算开始之前,应使用MOV指令将参数设定值预先写入对应的数据寄存器中。如果使用有断电保持功能的数据寄存器,不需要重复写入。如果目标 *** 作数[D]有断电保持功能,应使用初始化脉冲M8002的常开触点将其复位。
PID指令可以同时多次使用,但是用于运算的[S3]、[D]的数据寄存器元件号不能重复。
PID指令可以在定时中断、子程序、步进指令和转移指令内使用,但是应将[S3]+7清零(采用脉冲执行的MOV指令)之后才能使用。
控制参数的设定和 PID运算中的数据出现错误时,“运算错误”标志M8067为 ON,错误代码存放在D8067中。
PID指令采用增量式PID算法,控制算法中还综合使用了反馈量一阶惯性数字滤波、不完全微分和反馈量微分等措施,使该指令比普通的PID算法具有更好的控制效果。
PID控制是根据“动作方向”([S3]+1)的设定内容,进行正作用或反作用的PID运算。PID运算公式如下:
以上公式中:△MV是本次和上一次采样时PID输出量的差值,MVn是本次的PID输出量;EVn和 EVn-1分别是本次和上一次采样时的误差,SV为设定值;PVn是本次采样的反馈值,PVnf、PVnf-1和PVnf-2分别是本次、前一次和前两次滤波后的反馈值,L是惯性数字滤波的系数;Dn和Dn-l分别是本次和上一次采样时的微分部分;K p是比例增益,T S是采样周期,T I和T D分别是积分时间和微分时间,αD是不完全微分的滤波时间常数与微分时间TD的比值。
4.PID参数的整定
PID控制器有4个主要的参数K p、T I、T D和T S需整定,无论哪一个参数选择得不合适都会影响控制效果。在整定参数时应把握住PID参数与系统动态、静态性能之间的关系。
在P(比例)、I(积分)、D(微分)这三种控制作用中,比例部分与误差信号在时间上是一致的,只要误差一出现,比例部分就能及时地产生与误差成正比的调节作用,具有调节及时的特点。比例系数K p越大,比例调节作用越强,系统的稳态精度越高;但是对于大多数系统,K p过大会使系统的输出量振荡加剧,稳定性降低。
积分作用与当前误差的大小和误差的历史情况都有关系,只要误差不为零,控制器的输出就会因积分作用而不断变化,一直要到误差消失,系统处于稳定状态时,积分部分才不再变化。因此,积分部分可以消除稳态误差,提高控制精度,但是积分作用的动作缓慢,可能给系统的动态稳定性带来不良影响。积分时间常数T I增大时,积分作用减弱,系统的动态性能(稳定性)可能有所改善,但是消除稳态误差的速度减慢。
微分部分是根据误差变化的速度,提前给出较大的调节作用。微分部分反映了系统变化的趋势,它较比例调节更为及时,所以微分部分具有超前和预测的特点。微分时间常数T D增大时,超调量减小,动态性能得到改善,但是抑制高频干扰的能力下降。
选取采样周期T S时,应使它远远小于系统阶跃响应的纯滞后时间或上升时间。为使采样值能及时反映模拟量的变化,T S越小越好。但是T S太小会增加CPU的运算工作量,相邻两次采样的差值几乎没有什么变化,所以也不宜将T S取得过小。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)