大时延系统PID的整定

任务 初赛的练习工程二需要控制产物的温度,但由于系统的滞后性,最初搭建的单回路系统只能使温度上下跃动。 今天通过资料查阅,形成了一套整定PID参数的方案,并得到实验证实。 过程 得到系统参数 根据知乎提问:网上许多资料都是直接给出被控对象的模型的,而我需要自己去确定一阶纯滞后对象的滞后时间和系统时间常数。请问怎么做? 解答者提供思路如下: 用阶跃响应测出飞升曲线,用飞升曲线找出惯性时间常数和纯滞后时间常数,建模 标准poor 于是搜索飞升曲线法,找到资料:相关分析法和参数估计。该PPT中具有详细步骤,属于实验建模中的时域法建模。 向控制系统施加阶跃信号,观察阶跃响应曲线 判定是否有纯滞后 根据相应计算方法得出K、τ与T 应用计算公式 同样是资料大延迟过程的PID参数整定中提供的计算公式,可以快速算出适宜的PID参数

比值控制系统

任务 进行第三种控制系统的学习,主要是对二者关系进行限定 要点 有之前的基础后,这个比值系统没有独特的地方,只是一个被控对象的设定值按照另外一个变量的相应比例进行变化。 在实际工程中,多见的情况是控制两种物质的流量。 实例 两条回路都是闭环控制,对FI102的控制可视为通过控制FV102的单回路控制,而FI102的当前数据通过乘法器提供相应比例,传送做为FI103的给定值。 Process Value:当前值 Output Value::输出值 Set Point:给定值 运行到合适的时机,将控制器FIC103投串级,便意味着工作的设定值由外部输入。 此外,本工程要求得出一定物质的量浓度的甲醇,因此需要根据公式求出水与甲醇的比例。

串级控制系统

任务 继基础的单回路控制后,进行第二种控制方案的学习。 知识 两个回路:主回路与副回路 引入副回路的作用 改善被控对象的特性 通过推导传递函数可见: 副回路的存在使得原来被控对象的放大倍数、时间常数都变小了,有利于控制。 提高抗干扰性能 干扰在影响主回路前,在副回路中被消化。 提升自适应能力 在单回路控制系统中,控制器参数是根据具体的被控对象特性整定得到的。一定的控制器参数只能适应于一定的被控对象特性。如果生产过程负荷变化,进而导致被控对象特性发生变化时,原先整定的控制器参数就不再能适应。这时如不及时修改控制器参数,控制质量就会降低。这是单回路控制系统难于克服的矛盾。 当采用串级控制时,主环是一个定值系统,而副环却是个随动系统。主控制器能够根据操作条件和负荷的变化(从主被控变量变化中体现出来),不断修改副控制器的给定值,以适应操作条件和负荷变化的情况。如果被控对象有非线性特性存在,那么可以把它设计在副回路之中,当操作条件或负荷发生变化时,虽然副回路的衰减比会发生一些变化,稳定裕度会降低一些,但是它对主回路的稳定性影响却很小。 系统设计 串级控制系统副回路设计 (1)使系统中的主要干扰包含在副环内。 由于串级系统的副回路具有动作速度快、抗干扰能力强的特点,如果在设计中把对主变量影响最严重、变化最剧烈、最频繁的干扰包含在副环内,就可以充分利用副环快速抗干扰性能,将干扰的影响抑制在最低限度。这样,干扰对主被控变量的影响就会大大减小,从而使控制质量获得提高。 (2)在可能情况下,应使副环包含更多一些干扰。 (3)当被控对象具有非线性环节时,在设计时应使非线性环节处于副环之中。 (4)当被控对象具有较大纯滞后时,应使所设计的副回路尽量少包括或不包括纯滞后。 (5)副回路设计应考虑到主、副被控对象时间常数的匹配,以防“共振”发生。 (6)需考虑到方案经济性和工艺的合理性。 控制器控制规律的选择 一般情况下,副控制器可选P作用;主控制器选PI,或PID。 主、副控制器正、反作用的选择 主、副控制器正、反作用的确定顺序应遵循先副后主的原则。 实验 加入扰动:通过点击最左侧的几何图块以改变出口管线(FV107所在管线)的输入压力参数值,向系统引入扰动。 手动与自动/内给定是什么 手动就是你通过键盘输出阀门开度,你想要它开多少你就输多少;自动就是通过程序中阀门控制块的PID调节输出,达到你要求设定的条件(比如要达到你设定的流量),这是指阀门的手,自动。如果你指的是电机的手、自动,手动就是指你通过控制启动面板来开启或停止电机马达,自动是指你该设备在某个启动组里,你通过组启动来启动或停止多台设备。 内给定是指通过流程图上阀门控制面板,手工输入的给定值。外给定是指在阀门控制块的外部管脚所连接的数值,就跟阀门反馈值接到你的阀门控制块上。你无法通过画面上面板输入给定值!手动就是你通过键盘输出阀门开度,你想要它开多少你就输多少;自动就是通过程序中阀门控制块的PID调节输出,达到你要求设定的条件(比如要达到你设定的流量),这是指阀门的手,自动。如果你指的是电机的手、自动,手动就是指你通过控制启动面板来开启或停止电机马达,自动是指你该设备在某个启动组里,你通过组启动来启动或停止多台设备。 内给定是指通过流程图上阀门控制面板,手工输入的给定值。外给定是指在阀门控制块的外部管脚所连接的数值,就跟阀门反馈值接到你的阀门控制块上。你无法通过画面上面板输入给定值!

单回路控制系统

任务 当前面完成了基本概念的学习,下面开始结合练习工程进行实操。 概念 一个被控对象,一个被控参数 一个调节器,一个控制参数 其他对被控对象的被控参数产生影响的参数都是干扰! 整定方法 理论计算整定 :根轨迹法、频率特性法。需要已知过程的数学模型,更常使用的是未知数学模型也可通过实验整定的工程方法。 临界比例度法 在系统闭环情况下,将控制器的积分时间Ti放到最大,微分时间TD放置为0,比例KC放于适当数值。然后使KC由大往小逐步改变,并且每改变一次KC值时,改变给定值给系统施加一阶跃干扰,同时观察被控变量y的变化情况。 若y的过渡过程呈衰减振荡,则继续减小KC值,若y的过渡过程呈发散振荡,则应增大KC值,直到调至某一KC值,过渡过程出现不衰减的等幅振荡为止。这时过渡过程称之为临界振荡过程。出现临界振荡过程的比例KC称为临界比例度,临界振荡的周期Tk则称临界周期。 4:1衰减振荡法 在系统闭环情况下,将控制器积分时间Ti放在最大,微分时间TD放置为0 ,比例KC放于适当数值,然后使KC由大往小逐渐改变,并在每改变一次KC值时,通过改变给定值给系统施加一阶跃干扰,同时观察过渡过程变化情况。 如果衰减比大于4:1, KC应继续减小,当衰减比小于4:1时KC应增大,直至过渡过程呈现4:1衰减时为止。4:1衰减振荡时的比例KC及振荡周期了Ts。

过程控制——PID

任务 第一次听到PID还要回溯到大一懵懂时参加的智能车大赛,学长的讲解觉得能够理解,当然在例程已经完整给出、又对编程一窍不通的情况下,并没有亲自应用过这种思想。 比赛培训学长经验 比例(P)是最基本的控制,简单,可靠,但很难达到很好的性能积分(I)可以提高控制精度,但容易引入延迟,造成控制迟钝微分(D)可以提高灵敏度,但容易引入噪声,导致震荡转向控制用PD,速度控制用PI 而今准备智能制造大赛的工业自动化线上赛项,需要对流程自动化方向进行学习,再次感到PID是控制算法的灵魂,慢慢学习积累中,整理学习资料于此。 PID基本知识 视频学习 CIMC-IMQ 【流程行业自动化】学习小组(2018)——SFC&PID讲解 讲解PID部分:0-15′ 公式 理想的模拟式PID控制算法为: PID控制器可以调整的参数是KC、TI、TD。适当选取这三个参数的数值,可以获得较好的控制质量。 Proportion比例 1.Kc接近于0时,控制器的输出u不受输入偏差e的影响,相当于控制系统不工作 2.Kc很大时,只要有一个很小的输入偏差e出现,就会使控制器输出u发生很大的变化 3.Kc由小到大变化,系统将由稳定向振荡发展 4.比例调节是有差调节,比例调节的余差随着比例增益的增大而减小有差,成倍变化,余差 5.比例增益越大,意味着执行机构(调节阀、挡板等)的动作幅度较大,被调节变量的变化较为剧烈 6.比例调节可以单独使用,也可以和其它调节动作结合成PI、PD或PID调节动作 Integral积分 1.积分凋节将输入偏差e按时间进行累积,偏差存在输出就增大,直到消除偏差为止 2.Ki趋向于0时,积分作用消除 3.Ki很大时,积分作用强烈,消除余差的能力强,但容易引起振荡 4积分调节是无差调节。只有当偏差e为0时,积分调节器的输出才会保持不变 5.积分速度越大,执行机构的动作越快,越容易引起和加剧振荡 6.积分调节可以单独使用,但调节的过程很慢。通常,积分调节和其它调节动作结合成PI或PID调节动作 Derivative微分 1.微分调节的输出与输入偏差e的变化速度成正比,e变化越大,微分调节的输出越大 2.Kd为0时,微分作用消除 3.微分调节总是力图抑制被调量的振荡 4.微分调节只能起到辅助的调节作用,可以与其它调节动作结合成PD或PID调节动作 小结 积分控制规律主要用于消除余差; 微分控制规律主要用于改善动态特性; 比例控制规律为调节器的主体; 实际调节器设有P、I、D功能,适当组合,分别可得P、PI、PD及PID调节规律。当TI置于无穷大时,积分作用消失,当 Td =0 时,微分作用消失

PLC学习笔记(一)FC与FB

任务 为实现电梯项目模块化设计,要应用PLC编程的函数(FC)与函数块(FB),但对二者的区分不清楚,凭感觉应用,但出了问题也不知从何处理,还是学习一下基础知识,主要搬运他人的整理。 区别 FB–功能块,带背景数据块(FB≈FC+DB) FC–功能,相当于函数 FB,FC块均相当于子程序,既可以调用其它FB,FC块,也可以被OB,FB,FC块调用。 文章:西门子PLC中FC与FB用法的详解 重要问题 PLC的程序执行在扫描周期内由上到下,顺序执行,因此在FC中,线圈的顺序很重要! 对于我的这个问题看到一篇文章写得很好:Step7 FC功能中的Temp变量,转载如下: 例 如果在TEMP接口中新建一个变量A,数据类型为BOOL,地址0.0start和driver是外部输入输出接口。 分析 程序的扫描是从上到下。S7 FC中的接口TMEP中的变量必须遵守:先赋值后使用的原则。 1程序,当start的值从0变为1,A也将从0变为1。扫描到第一段程序时,因为A的值已经发生改变,程序将成功扫描到A的常闭触点从1变为0,那么driver线圈将成功得从原来的1改变为0。 2程序,因为扫描到第一段程序的时候CPU没有发现A的值改变。之后A值将一直保持不变,即使start的值从0变为1,A值也不会发生改变;结果是程序没有反应。 心得体会 西门子这一点比其他的PLC都灵活,FB的DB作为FB的变量的固定存放地址,而Temp则是有系统分配临时区L地址。比如:存在FC1,FC2两个功能,它们都有两个Temp,那么当调用FC1时,系统分配L区域地址给FC1的Temp,如分配了LB0,LB1,那么当FC1调用完成后,系统认为LB0,LB1已经不需要,但是西门子的系统不会对临时区进行清零,只是继续分配,当调用FC2时,系统将LB0,LB1重新分配给FC2的Temp,此时如果不遵循先赋值后使用的准则,那么FC2的Temp使用的值将是FC1的Temp的值。临时变量可以用于所有块中 (OB, FC, FB)。当块执行的时候它们被用来临时存储数据,当退出该块时这些数据将丢失。因此, 在PLC扫描运行时, FC块中的临时变量TEMP不能自锁! TEMP变量使用原则 TEMP变量不能自锁的原因显而易见: 每个扫描周期开始时,TEMP变量的值并不像Q或M那样可以保持上个周期的值。除非明确对其赋值,否则它的值是不确定的。 第一次出现某个TEMP变量,必须是对其赋值(或线圈刷新)的写指令,而不能是读指令。 如果出现问题,建议使用STAT变量替代。 建议是做逻辑不用TEMP,只在做运算是用TEMP,会省去很多麻烦