西门子6ES7221-1BF22-0XA8代理订购
1 引言
可编程控制器(PLC)以其运行可靠、易学易用、抗干扰性强等特点,在工业控制中得到广泛应用。然而较多的应用只是根据工艺编制相应的梯形图,用以代替传统的继电器电器控制线路,功能非常有限。近年来各种型号的PLC 在功能上已经有了极大的提高,允许用户做许多底层操作,几乎可以象单片机一样灵活,加上有众多的外围设备可以选用,这就给软件、硬件设计带来了很大的灵活性和先进性。本文通过三菱FX2N-PLC 在一条电镀自动线上的应用,说明如何充分开发PLC 的先进功能,达到行车动作的灵活设定、动态修改的功能,以及断电恢复、通讯、新型人机界面的应用。
2 系统简介
系统采用集散控制,参见图1,上位机使用工控微机,负责工艺调度、质量管理等宏观控制;下位机使用三菱FX2N-PLC,控制行车的动作。行车吊勾(提升电镀工件用)的垂直定位采用接近开关,水平定位采用旋转编码器,垂直和水平的运动都使用变频控制普通交流异步电机来驱动,控制面板使用三菱的F940GOT 触摸屏人机界面。
3 PLC 的应用
3.1 动作表
行车动作无非就是上下左右受控移动,按照指定的顺序(即动作表)完成一系列的动作。要求有几套动作表可以选择,动作可以静态修改,也可以在运行时由上位机动态修改。这种要求若是仅用简单的梯形图是无法实现的,因为动作都是由梯形图中的触点指令实现,而梯形图指令在运行时是不能修改的。现在的FX2N-PLC 增加了许多应用指令(底层操作,相当于微机的汇编指令),以及提供了许多可供用户使用的数据存储单元,并且有间接寻址功能,这就使表结构操作成为可能。在这里,我们把行车的一个动作定义为:“到几号工位上升,再到几号工位下降”,或者是“延时几秒”,每个动作由一个字(16 位)组成,每个动作表由若干个动作字组成,放在PLC 的数据寄存器里,动作表由PLC 程序初始化,也可以在运行时通过串行通讯由上位机读取和修改,PLC 程序在运行时只是不断地解释和执行动作表。
3.2 动作的解释和执行
动作字有3 种:行车动作字、延时动作字、结束标志。
(1) 行车动作字:
动作字的高字节表示“上升所到的工位号”, 低字节表示“下降所到的工位号”,例如:“0205”表示让行车开到02 号工位,上升,再开到05 号工位,下降。由于一个行车动作字表示的是宏动作,由:“前进或后退,水平到位,上升,上到位,再前进或后退,水平到位,下降,下到位,完成”几个微动作组成,通过FX2N-PLC 的步进阶梯指令STL 实现非常合适。我们可以把行车的宏动作分解为几个状态,在到位时进行状态转移。参见图2 的STL 状态转移图。垂直到位比较简单,用上下到位接近开关直接控制即可。
水平到位稍微复杂一些。在程序初始化时将每个工位的准确位置送到数据寄存器里,称做工位位置表,每个工位的实际位置数据通过实测得到。动作表、工位位置表、行车水平运动的关系请参见图3。运行时通过旋转编码器得到行车的当前位置,每毫米大约发3 个脉冲。在做水平动作时,先取出动作字,分离高低字节,得到目标工位号,将此工位号作为工位位置表的偏移量,用间接寻址方法得到目标工位位置,若当前位置大于目标位置则令行车后退,反之则前进,直到行车到目标位置前一个提前量时,令行车转为慢速;当行车到目标位置前另一个提前量时,令行车制动。这二个提前量都根据实际情况加以调整,慢速提前量通常为半个工位间隔,制动提前量根据实际的行车速度、惯性而定。经过调整,终定位精度可以达到±1mm 左右。
图4 是行车水平处理子程序,在二个水平进退STL 状态中先设置好目标工位,再调用该子程序,行车就会前进或后退,直到目标位置停下来,发出完成标志M86,即可转入下一STL状态。
(2) 延时动作字:
延时动作字的高字节用7EH 作为标识,低字节为延时值,如“7E30”。延时动作比较简单,取出动作字,分析一下若是延时动作,将延时值送延时定时器就可以了。以前的PLC 定时器常数在梯形图中设定,运行时不能改变,FX2N-PLC 定时器允许将数据存储器的内容作为定时值,才使在运行时改变定时常数成为可能。(3) 结束标志:每个动作表用7FFFH 作为结束标志,执行到结束标志表示一圈做完。若是单圈模式的话就进入停止状态,若是连续模式的话就让动作表指针重新指向表首,继续运行。
3.3 自动校正
由于旋转编码器指示的是行车的相对位置,因此在运行前应该校正一下行车的位置。我们采取在水平方向上安装一个校正用接近开关的方法,让行车在开始运行前先朝某方向去找校正接近开关,若在3 秒钟内未碰到校正接近开关,或碰到了极限开关,就让行车朝另一方向去找。只要碰到校正接近开关,就把旋转编码器计数器置为某一个确切值,行车的位置就校正了。在以后的运行中,行车每次经过该校正接近开关,行车位置都会被再次校正,这样可以消除积累误差。
3.4 断电恢复
以前一般的电镀自动线控制系统往往没有断电恢复功能,在电镀生产线工作中如果遇到突然断电,往往结果很尴尬。即使很快又来电了,但由于看不出是在哪一步停下来的,只能从头来过,造成已经在镀的工件报废。利用PLC 的失电保存功能,我们这个系统具有断电记忆,来电恢复的功能。为实现该功能,应该整理一下所用到的寄存单元,分为要记忆和不要记忆的二部分。象STL 状态、运行模式、运行状态等都是要记忆的,而用作动作表指针的变址寄存器V、Z 无失电保存,需要用其他有失电保存的寄存器作为映象后备。一般的临时单元都不需要失电保存,每次RUN 的时候都初始化这些单元。此外还应注意的是,尽管来电后可以继续刚才的工作,但来电后自动运行起来也是有危险的。本系统是这样处理的:当RUN的时候检查一下,若原先是在运行状态下断电,则令系统处于暂停状态,等待操作者通过操作面板按下“运行”键后才继续工作。如果断电时正在做水平运动,则PLC 已经失电,而行车的由于惯性仍有运动,造成PLC 记忆的行车位置和实际位置不符,在重新运行时应该自动校正。
3.5 通讯
FX2N-PLC 提供了比较良好的通讯机制,只要在主机上扩展一块RS232 通讯模块(FX2N-232BD)即可。FX2N-PLC 的应用指令中有完善的串行通讯指令,可以方便地使用。在本系统中,上位机主动发送通讯串,PLC 接收到通讯串,根据通讯串中的命令号,作出相应的动作,参见图5。上位机可以让PLC 返回或修改当前的工作状态、返回或修改动作表中的动作字等,只要编制相应的软件,上位机就可以监视、控制自动线的运行。
4 控制面板
常规的控制面板由按钮、拨盘、开关、指示灯、数码管组成,我们这次使用了三菱公司的F940GOT 人机界面,它是一个带触摸屏的彩色液晶显示器,可以自由布置各种显示、控制器件,如按钮、键盘、开关、指示灯、文字、数码管、图片、进度条等,取代了所有的常规面板元件。这不仅大大节省了PLC 可贵的输入输出点,而且具有外观新颖、信息量大、使用方便、修改灵活等特点。在应用中还可以使用多屏画面,把各种显示、控制要求按功能分成多个画面,相当于多个小控制面板,再用一个封面画面负责切换。图6 是本系统控制面板中的主控画面,具有运行模式(单步、单圈、连续)的设定和显示;运行状态(运行、暂停、停止)的设定和显示;工艺(动作表)选择;行车动作的显示;手动控制;当前行车位置的数字和图形显示;定位误差的显示;动作步的显示和修改;当前动作字的显示;动作表的查询显示等。
5 结束语
由于该电镀自动线充分开发了FX2N-PLC 的多种先进功能,并采用了较多的先进控制手段及新型的控制器件,使整个系统具有较优良的性能。经过一年多的实际运行,证明该系统是成功的。由此我们看到,由于PLC 具有许多优异的性能,并且功能也日益强大,只要深入理解这些PLC 的原理,加强二次开发,就可以在更多的领域发挥PLC 的作用。
1控制性能监控功能块cpm
控制性能监控功能块(cpm)是pcs7 v7.0版本之后推出的一款用于监控控制回路性能的功能块,它可以评估控制回路当前自动调节的能力。更重要的是,它能够监视控制回路的控制性能(cpi)。通过观察cpi及相应参数,工厂操作员可以直观的发现控制回路性能的变化,提早采取措施来预防自动控制回路的控制性能降低。
1.1 为何需要使用cpm功能块
cpm功能块可以通过监控和统计控制回路的数据,计算出控制回路的动态特性和稳态特性,以数据的方式帮助操作人员直观的分析控制回路的控制性能,帮助维护人员及时的发现控制回路参数的失配或现场控制设备控制性能的衰减,起到提早预防自动控制失效等故障情况的出现。
cpm 可以长期的监控控制回路的性能,并计算出:
· 稳态特性:当控制回路的工作点(设定值sp)不发生改变时,cpm功能块监控控制回路的稳态特性,包括:
- 被控变量(pv)的平均值,方差和被控变量的标准差;
- 控制变量(mv)的平均值和控制方差;
- 评估控制回路的稳态过程增益。
· 动态特性:当控制回路的工作点(设定值sp)变化,控制回路做出阶跃响应时,cpm功能块监控控制回路的动态特性,包括:
--- 控制回路的响应和稳定时间,衰减比;
--- 超调量。
合理的应用cpm功能块可以帮助我们分析下列问题:
· 哪些控制回路可以投入闭环控制;
· 哪些控制回路没有正常工作;
· 哪些控制回路应该进行优化;
· 哪些现场控制设备可能需要进行维护。
1.2 cpm功能块工作原理
cpm功能块动态的统计、计算和评估控制回路的设定(sp),被控量(pv)和控制量(mv)。并根据这些数据计算出这个控制回路的控制性能指标(cpi)。工作原理如下图:
图1-1 cpm功能图
cpm功能块会根据当期控制回路的状态来分析不同的性能指标。比如:当控制回路的工作点是一个稳定数值(sp不变),cpm会根据控制量和被控量的方差、平均值等来评估控制回路的稳态特性。当控制回路的工作点发生改变(sp出现阶跃),即当前的主要控制目标是让被控量快速、准确和稳定的切换到新的工作点。这个时候cpm就通过统计并计算控制回路的超调,衰减比和稳定时间等来评估控制回路的动态特性。
当控制回路出现故障的时候,比如偏差超出设定上限时。cpm会在上位运行画面中产生相应的报警信息。
2 cpm功能组态
2.1 cpm安装
从pcs 7 v7.0 sp1 开始,pcs 7就集成了cpm功能块,不需要额外安装。在不同版本的pcs 7 下cpm功能块在不同的库中。以下为各版本pcs 7 cpm功能块所在的库:
· pcs 7 v7.0 :apc library;
· pcs 7 v7.1 :standard library;
· pcs 7 v8.0 :ap library。
2.2 cpm组态
一个cpm功能块对应一个pid 功能块使用。在cpm功能块的命名上,需要注意必须要与对应的pid功能块名称一致。比如,pid功能块名称为“tic1101”,那么cpm功能块的名称就必须是“tic1001_cpm”。如果不遵循这种命名方式,在上位监控画面中,cpm的操作面板就无法自动的加载与这个控制回路相关的趋势。
2.2.1 程序组态
cpm功能块的组态步骤:
打开cfc 编辑器,从功能库中拖入pid功能块,并且将该功能块声明为下一个功能块的插入点,确保pid功能块和cpm功能块的执行顺序。
图2-1 指定插入位置
由于“pidconl”功能块在两个ob中均有调用,所以还需要指定在哪个ob块下定义为插入点(如下图):
图2-2 指定ob
从库中拖入cpm功能块,并根据pid功能块的名字命名:
图2-3 cpm功能块命名
连接pid功能块和cpm功能块,引脚连接见如下表格。
表2-1 pcs 7 v7.0与pcs 7 v7.1 cpm功能块连线
表2-2 pcs 7 v8.0 cpm功能块
2.2.2 os 组态
在as部分完成cpm组态后,仅需要编译os就可以在画面中使用cpm功能,无需额外组态。画面中会分别生成pid和cpm两个功能块的块图标,pid操作面板上集成有按钮可以快捷打开cpm的操作面板。
图2-4 通过pid面板打开cpm面板
3 cpm功能使用步骤
本节以组态一个单回路闭环控制(pid)为例,介绍如何组态、激活和评估cpm功能块。示例组态流程均基于pcs 7 v8.0 update 1版本。
3.1 cpm组态
从“pcs 7 ap library v80 – control ”中拖出conpermon(fb1805)和pidconl(fb1874),分别命名为tic201和tic201_cpm。cpm功能块需要获取所监视的pid回路的pv、sp和mv,并通过“loopclose”引脚来获得当前控制回路的开环、闭环状态,并将评估结果通过cpi引脚返回给pid功能块,并将数值显示到pid的控制面板上。引脚连接方式见下图:
图3-1 cfc中的程序组态
组态完成后分别进行as编译、下载和os编译,相应层级画面上会生成相应的pid功能块和cpm功能块的图标,pid功能块的操作面板上有按钮可以快捷打开对应cpm功能块面板。
3.2 整定pid
通过cpm监控回路的动态特性,评估回路pid参数设置是否合理
cpm功能块可以评估回路的动态特性,动态特性是指当控制回路的设定值发生阶跃变化的时候,被控变量能否快速、准确和稳定地做出响应。这个特性反映出了p(比例增益)、i(积分时间)和d(微分时间)这三个参数的设置是否合理。
下图为一个典型的阶跃响应曲线图:
图3-2 典型的阶跃相应曲线
当sp发生变化时,可以从以下几个特性来评估pid参数设置是否合理:
· absolute overshoot(overabso):记录的是在sp发生阶跃,pv自动跟随sp过程中,超出设定值的大量。如果这个值过高,一般来说,可以认为pid参数设定中比例增益k(p)可能设置的过高;
· overshoot:超调比例,计算公式为:overabso/stepheight(设定值sp的变化量),比较合理的指标应该是小于15%;
· settling time:调节时间,记录的是从sp阶跃信号产生到pv的超调小于tolehipv(pv震荡允许的范围)的时间;即从pv自调开始到回路稳定这个过程所用的时间。这个值越小说明回路的响应越快。
· settling ratio:这是rise time(从pv自整定开始到pv次到达设定值的时间)与settle time的比值,一般建议这个比值小于25%,即settle time的时间不超出rise time的4倍,如果超出,那么可以适当的增强积分(i)的作用,即调小积分时间ti。
本例中,我们将tic201的设定值由120℃调整为190℃,pid回路阶跃响应的特性参数可以在cpm操作面板上获得:
图3-3 设定开始点和操作模式
从参数可知,阶跃响应的大超调量为10℃左右,超调量只有sp变化量的10%,属于可接受范围。而整定时间为97s,比较缓慢,结合参数与性能考虑,我们可以适当增加比例作用(增大比例系数)和增强积分作用(减小积分时间)。
3.3 监控闭环控制回路工作状态
初始化cpm功能块,监控回路稳态特性
当控制回路自整定结束进入稳定状态后(此时回路必须保持为自动状态),可以对cpm功能块进行初始化,这个过程会获取为之后计算cpi(控制性能指标)和被控量方差等静态特性所必须的参考值。cpm功能块评估回路是否进入稳态主要是看动态特性视图中的自整定状态是否处于0阶段:
图 3-4:动态特性中的四个阶段:0:准备阶段 1:上升阶段 2:超调阶段 3:稳定阶段
推荐回路投入自动后等待一段时间,软件会自己判定当前回路是否进入稳定状态。也可以通过操作面板上的“cancel bbbb”按钮来停止计算,手动干预使系统进入稳态评估阶段。
3.4 初始化cpm步骤
步骤1:设定时间轴(time bbbbbb)
cpm运算的核心是评定控制目标的方差,而方差是一段时间内实际值与目标值之差的平方的平均数。time bbbbbb决定了cpm统计方差的采样周期,cpm所在ob运行组决定了采样频率,这两个数据的设定不会影响计算的精度,却决定了cpm能否有效的反映当前控制回路的特性。一般建议这里设置为20倍积分时间或10倍微分时间,具体应根据不同工艺状态进行调整。
time bbbbbb设置方式如下图所示:
图 3-5 时间窗口设置
示例中我们将cpm功能块的计算周期参数time bbbbbb设置为120s
步骤2:点击操作面板中的“initialize”按钮,初始化cpm 功能块。初始化cpm功能块需要满足以下几个条件:
· 控制回路处于自动状态;
· 回路处于稳定状态(自整定过程结束);
· time bbbbbb设置完成。
如果不满足以上几点条件,操作面板会有如下提示,当所有条件都满足,初始化按钮会变成可操作状态,点击后初始化完成:
图 3-6 初始化条件不具备
点击“initialize”按钮后,cpm功能块会抓取当前状态下的pv值、mv值和er值作为之后评估这个回路自调状态的标准,所以一定要在控制对象达到佳工况时进行初始化!
注意:关于初始化的相关介绍也可以通过cpm的在线帮助获得,选中cpm功能块点f1,见“conpermon >; functions”。
3.5 评估cpm中的参数
在cpm面板的标准视图中,可以获得闭环控制回路的稳态特性。稳态特性反应了回路投入自动后的工作状态,通过分析稳态特性参数,可以对可能发生的故障进行预判。标准视图如下图:
图 3-7 标准视图
cpi 控制性能参数:
cpi参数用数值的方式直观的反应了一个pid回路在自动状态下的工作情况。初始后cpi为,理想状态下这个数值应该保持在左右,当cpi值过低(比如低于75%)时,则应对造成数值降低的原因进行分析,防止事故的发生。
cpi评定的核心是方差计算。方差是实际测量数据与期望数据之差的平方的平均数,在我们的cpm模块中,实际测量值指的是pv值,期望数据是回路中设定的sp。cpm中计算出的方差是:在time bbbbbb时间内,记录n个pv值与pv_ref差的平方的累加的平均数,“pv stddev”是方差开根号后的值,这个值反映了在时间窗口内,pv与pv_ref的偏差,这个值越小,说明工艺越稳定。
cpi为参考方差与实时方差的比值。初始化cpm功能块的时候,会记录一个方差值作为参考方差。当实时方差等于参考方差时,cpi=。随着长期持续的生产,会因为生产工艺波动,外界干扰增加或者生产设备的不稳定等各种因素使pv值出现波动,相对于控制目标值的差值就会增加,相应的,实时方差也会增加。这时cpi的比值因为分母的增加而小于,这就反映出当前控制回路的稳定状况。所以cpi的数值越高越好,如果出现大于的情况,则说明这个时候的实时方差要小于参考方差。而如果cpi小于70%,那么就要考虑一下是何原因造成方差过大,控制回路是否处于稳定状态了。
overshoot 超调量
被控变量pv值相对于设定值sp值的大偏移量。动态视图和标准视图中均有对超调量的监控,如果这个值过大,一般情况下建议减小pid控制回路的比例作用p值。
pv standard dev 被控量实时方差
在cpm功能块初始化的时候,功能块会记录当前的pv值作为标准pv参考值,实际pv值相对于标准pv的平方差值的平均数开根号后为实时方差。
其中: 为pv的实时值;
为pv的标准参考值。
注意:这里不选取sp值作为pv参考值是考虑到如果因为设计、干扰等不确定因素的影响,pv值无法完全等于sp值,但是这个偏差又是可以接受的情况。理想情况下,pv参考值是应该等于sp值的。
在理想的状态下,这个值应该是0,也就是pv值相对于pv参考值(pv_ref)完全没有偏差。如果被控变量标准偏差值增长到超出合理范围(排除干扰或工况波动所带来的偏移),可以从以下两个方面考虑:
1)现场的工艺状况发生了较大的改变,已经超出了当前pid参数或者控制回路的控制能力。
2)现场的调节装置是否工作正常,比如阀门不动作或者与现场执行机构连接的信号线出了问题。
· “er mean value”偏差平均值:偏差(sp-pv)在time bbbbbb时间段内的平均值,这个数值理想状态下应该为0。
· “stead state gain”稳态增益。
在初始化cpm功能块时,功能块会记录当时的pv和mv作为pvref和mvref。稳态增益的计算公式如下;
计算这个数据的意义在于可以利用这个参数监控现场执行机构的工作能力。假设cpm初始化的时候,现场执行机构处于佳工作状态。将pv控制在目标值需要的mv开度为a,随着现场设备的老化或工况变化(如换热器的换热壁上沉积杂质),执行机构的控制能力下降,这时将pv控制在目标值需要的mv开度为b。如果b远大于a,则可认为控制回路的控制能力下降。
当cpm初始化的时候,功能块会记录下当时的“steadstatgain”数值,通过分析过程稳态增益的变化,可以判断现场执行机构的控制能力是否有衰减。如果这个数值发生较大的变化时,建议及时检查现场执行机构的工作状态设备或考虑工艺条件是否有较大变化。
3.6 当工况发生较大变化时,重新初始化cpm
cpm功能块的所有评估依据都是建立在工况不变(控制对象的模型不发生变化)这个前提下的。如果因为设备状态或者负荷改变使工况有了较大的变化,例如重新调整了设定值sp,以之前标准来评估已经失去了参考价值(如:cpi会远低于或远高于,但并非是因为控制回路本身的原因)。这个时候我们建议您重新初始化cpm功能块。
3.7 通过概率分布图(scatter plot)评估设备状态
概率分布图是一个二维散点图,纵轴是cv(controlled value),也就是pv值。横轴是mv值。图中记录的每一个点代表的是每一个阀门开度对应的过程值,采样频率等于cpm所在功能块的执行周期。根据阀门的曲线特性以及可控区间的线性原则,理想情况下,记录的点应该是呈椭圆状分布于这个二维图中。
图3-8 概率分布图
如果现场控制单元的出现非线性工作情况,如条件装置受到额外的摩擦力影响或者其它的干扰。采样点的分布可能会出现如下图所示的情况,这个时候应该及时检查现场设备。
图3-9 概率分布图
综合上面的几个监控参数可以看出,通过简单的cpm组态,我们可以获得关于控制回路非常丰富的信息,这些信息可以反映控制回路控制的稳定性,更重要的是,通过一些参数并结合现场的经验,可以判断出现场执行机构状态改变对控制状态产生的影响,对故障提前做出预判,大大降低自动化控制出现故障的风险。
4 cpm功能块扩展应用
cpm功能块除了可以监控pid单回路,也可以结合各种较为复杂或先进控制方案使用,监控自动控制的质量。关于cpm功能结合复杂控制的实现方式可以参考pcs 7下的示例项目。