PLC 中PID 指令模块的应用(2)
由于此前,该期擂台的学习效果并不佳,在大家的建议下,再次出上擂台,希望更多的朋友前来学习和不吝啬自己的宝贵例程,让我们大家共同在学习中共进!
PID 的控制是对连续量的控制,目前它的控制算法仍然是实际工业控制系统中应用的最为广泛的一种控制算法。为了使PLC 能简单、有效、友好地进行PID 控制,世界上的各大PLC 生产商都引入了PID 控制模块,它以PLC 编程指令中的一种指令模块的形式出现,通过对这个指令模块离线的或在线的进行PID 参数修改,来对被控制的对象实施控制。
PID的基本实现过程如下图所示:
图1 PID实现过程
本期擂台:由于定标和解标我们在前面已经有所讲解(其实就是工程整定和参数整定相关内容),因此,在定标解标的基础上我们要求大家给出一个实现PID控制的项目或实验。要求详细介绍各步的实现过程。(也就是要求大家,编写一个详细的带有相关PLC的PID指令模块的程序,实现些简单功能,但要详细讲解过程!)
PLC品牌不限。 回答的最好,最详细的首先拿奖!
工控PLC擂台每周一期,本期下周末结贴。奖项设置:一等奖1名:50MP,二等奖5名:10MP,三等奖10名:30积分。
MP介绍:gongkongMP即工控币,是中国工控网的用户积分与回馈系统的一个网络虚拟计价单位,类似于大家熟悉的QB,1个MP=1元人民币。
MP有什么用?兑换服务:以1个MP=1元来置换中国工控网的相关服务。 兑换现金:非积分获得的MP可兑换等值现金(满100MP后、用户可通过用户管理后台申请兑换)。
楼主最近还看过
温度PID控制实验
(1)本实验说明
欲使受热体维持一定的温度,则需一风扇不断给其降温。这就需要同时有一加热器以不同加热量给受热体加热,这样才能保证受热体温度恒定。
本系统的给定值(目标值)可以预先设定后直接输入到回路中;过程变量由在受热体中的Pt100测量并经温度变送器给出,为单极性电压模拟量;输出值是送至加热器的电压,其允许变化范围为最大值的0% 至100%。
(2)理解FXon系列的PID功能指令
FXon系列的PID回路运算指令的功能指令编号为FNC88,源操作数【S1】,【S2】,【S3】和目标操作数均为D,16位运算占9个程序步,【S1】,【S2】分别用来存放给定值SV和当前测量到的反馈值PV,【S3】--【S3】+6用来存放控制参数的值,运算结果MV存放在【D】中。
PID指令用于闭环模拟量的控制,在PID控制之前,应使用MOV指令将参数设定值预先写入数据寄存器中。如果使用有断电保护功能的数据存储器,不需要重复写入。如果目标操作数【D】有断电保护功能,应使用初始化脉冲M8002的常开触点将它复位。
【S3】--【S3】+24分别用来存放PID运算的各种参数,具体如下:
【S3】 采样周期(Ts) 1—32767(ms)
【S3】+1 动作方向(ACT)
【S3】+2 输入滤波常数(α) 0—99% 0时没有输入滤波
【S3】+3 比例增益(Kp) 1--32767%
【S3】+4 积分时间(TI) 0—32767(×100ms) 0时作为∞处理
【S3】+5 微分增益(KD) 0--100% 0时无微分增益
【S3】+6 微分时间(TD) 0—32767(×10ms) 0时无微分处理
【S3】+7----【S3】+19 PID运算的内部处理占用
【S3】+20 输入变化量(增侧)报警设定值 0--32767
【S3】+21 输入变化量(减侧)报警设定值 0--32767
【S3】+22 输出变化量(增侧)报警设定值和输出上限设定值
【S3】+23 输出变化量(减侧)报警设定值和输出下限设定值
【S3】+24 报警输出
在P,I,D这三种控制作用中,比例部分与误差部分信号在时间上时一致的,只要误差一出现,比例部分就能及时地产生与误差成正比例的调节作用,具有调节及时的特点。比例系数越大,比例调节作用越强,系统的稳态精度越高;但是对于大多数的系统来说,比例系数过大,会使系统的输出振荡加剧,稳定性降低。
调节器中的积分作用与当前误差的大小和误差的历史情况都有关系,只要误差不为零,控制器的输出就会因积分作用而不断变化,一直要到误差消失,系统处于稳定状态时,积分部分才不再变化,因此,积分部分可以消除稳态误差,提高控制精度。但是积分作用的动作缓慢,可能给系统的动态稳定性代来不良影响,因此很少单独使用。
积分时间常数增大时,积分作用减弱,系统的动态性能(稳定性)可能有所改善,但是,消除稳态误差的速度减慢。
根据误差变化的速度(即误差的微分),微分部分提前给出较大的调节作用,微分部分反映了系统变化的趋势,它较比例调节更为及时,所以微分部分具有预测的特点。微分时间常数增大时,超调量减小,动态性能得到改善,但抑制高频干扰的能力下降。如果微分时间常数过大,系统输出量在接近稳态值时上升缓慢。
采样时间按常规来说应越小越好,但是时间间隔过小时,会增加CPU的工作量,相邻两次采样的差值几乎没有什么变化,所以也不易将此时间取的过小,另外,假如此项取比运算时间短的时间数值,则系统无法执行。
梯形图: