《在PCS 7中实现模拟量累计功能》由会员分享,可在线阅读,更多相关《在PCS 7中实现模拟量累计功能(11页珍藏版)》请在金锄头文库上搜索。
1、在 PCS 7 中实现模拟量累计功能1 PCS 7 V7.1 中如何实现累计功能 累计功能就是对单位时间里的某一工艺量的测量值进行累加,这和数学运算 中的“积分”(“Integral”)是一致的。在PCS 7 V7.1 APL库中提供的积分功能 块可以实现该功能:-电 MathP Add04 FC351: Adder with 4 valuesP AddOS FC352: Adder with 8 valuesP Average FBI804: Average determinationP DeadTime FB1807: Time delay口 Derivative FB1808: D肝er
2、entiator - trapezoid methodP E.i.Y.竖.If.空匹卫哩9岂!Integral FB1823: IntegratorLag FBI828: Lag function口 MeanTime FB1832: Average determinationMul04 FC360: Multiplier with 4 values 口 MulOS FC361: Multiplier with 8 values 口 Polygon FB1881: Curve fitting 口 Smooth FB1890: Signal Smoothing P 5ub02 FC381: Sub
3、tractor图1 APL 中的积分功能块在具体使用上,只需要将这个功能块拖入CFC中,连接需要累计的信号(例如通道功能块的输出管脚),设置积分参数TI后,编译即可:FTUdlS- IW512e(5JCA,2JSAI8xl2Bi-t_l0_h1 S Mai htenancy Statee I: 5 :|OMODE_O0 Mode Channel 00 i: 5 :i Cfi,2F-.RI8xi2Bit_lOXCHG_00 Bi di rcc-ti,:,na 1data ewchan sc ChannelFlow_0113PcsTHnIn Analog i0B352.-3PU InBadScal
4、ePU.OutFJ InUniFU.OutUnSimOnScaleOutSimPU.IhOosActSubsPU IMS RelaMSModeDataXch h1001FLOW.INTIntegral IatI HOutOutHi LimOutHiActOutLoLimOutLoActT IErrorNumHoldOutT rkOnOutTrkI1130图2 “Integral”的使用作为积分功能块,需要设置采样时间和积分时间,分别对应积分功能块的“Sample Time”和“Ti。采样时间指的是积分计算的执行间隔时间,积分时间表述的是积分环节的时间常数,这两个关键参数结合被累计的测量值就可以
5、计 算出累计值。1.1 如何设置 SampleTime 和 TI 参数PCS 7 中使用该积分功能块时,无需也不能人为设置 SampleTime 值,用户 只需也必须在循环中断 OB3x 中调用该功能块。而积分时间常数 TI 则需要根据积分功能块前连接的流量信号的单位来进行 设置。例如,通常情况下流量信号的单位为立方米/小时(1 小时为 3600 秒), 则该 TI 参数需要设置为 3600。如果流量信号为立方米/分(1 分钟为 60 秒), 则该 TI 参数需要设置为 60。此外, SampleTime 和 TI 还必须满足如下关系:SdmpleTme 、打 我者 SampleTime如果上
6、述关系不能满足,则会在管脚“ErrorNum”上报“ 11 ”的错误号,而 且积分运算停止。1.2 累计量如何清零通常情况下,在一个班组/批次结束、另一个新的工作时间段开始时,需要重 新开始累计,原来的累计结果要清除。或者在某些情况下,在重新开始累计时需 要设定一个起始值。这可以借助积分功能块的Track (跟踪)功能来实现:图 3 清零如上图所示,给管脚“OutTrkOn”置位则开启Track功能,在该功能下积分 块Integral的输出“Out”的值和跟踪值“OutTrk”保持一致。如果要实现清零 操作,贝U设置“OutTrk”的值为0.0;如果要设置累计的初始值,也是将初始值 赋给“Ou
7、tTrk”。在将OutTrkOn复位后,功能块就在当前累计值的基础上开始 运算。1.3 累计过程如何暂停如果要实现在累计过程中暂停,则可以使用功能块Integral的“Hold”功能:图 4 累计保持置位管脚“H old ”即可暂停累计计算,复位该管脚则可以继续累计运算。1.4如何在CPU停机重新运行之后保持累计量“Hold”参数能够在CPU运行期间暂停累计,但如果CPU进入STOP之后,重新开始运行,那上次的累计值就会丢失。为了解决这个问题, Integral 功能块提供的“Feature”参数中可以设置:InOut豈120B311Iselect Hructwe EkmerttFL0W_IN
8、TIntegralIntegratOutHiAct -OutLoAct 一1.0- TIErrorNum -2.01.0e+17OutHiLim0.0OutLoLim0 Hold0 OutTrkOn1.0e+15 OutTrk0.0FeatureI E的- Hold B on OE1 Da 外对I Ffrifaifr STRUCT Slalus 6 ViMidirtBit1 IBQdU-Rflwivrf 0 BtilBaOLlTTfcw-rttf: Q B|BOOLewYiKf 0 BN |gOOLResemd D |S0OLTtMfvrf Q Bfc6 IBOOLlITvecf Q D 0
9、目巧|曲。口懾停咧Q Bfc1UBOOL|Rfri#wtr: 0 BA111.BODLI RewMrtcT: 0 前1釘购口口佻箱窗:0 BitlJlBDQLrRnefwd: 0 Bfc14BQi0LBMiwKr: Q B*T5B0DL|B*irttf: 0 RiHfiiRnm | 石十(” n图5 Feature中的设置在Feature Bit0中,设置为1,即表示在OB100调用(暖启动)时上一次的累计值保持。1.5 能否避免累计不了的问题 通过实数累加指令来实现累计功能的程序,在运行一段时间之后当前累加值 达到一个很大的值时,可能就会出现累计停止的现象,测量值有数值,但总累计 量保持不变
10、。导致这个问题的原因是实数在进行加运算的时候,如果两个加数数量级差距 较大,就会出现加不上的问题。具体描述可以参考如下链接页面:http:/ PCS 7 中的积分累计功能都对此进行了处理。如果累计量过大,导致测 量值无法累加的时候,功能块就会单独存储并累计这些数值很小的测量值,直至 其和增大到可以加入总累计量。所以使用PCS 7下的功能块来实现累计功能不会出现累计不了的问题。2 PCS 7 V70以前版本中如何实现累计功能在PCS 7的标准库中也提供有相应的积分功能块来实现累计功能:图6 INT_P功能块和APL的Integral功能块的作用原理是一样的,只是管脚名上有所出入,如 下是两个功能
11、块的管脚对应表,请参考上述内容使用该积分功能块:表格1 Integral和INT_P管脚对应表IntegralINT_PInUOutLoLimV_LLInH ystHYSOutTrk OnTRACKOutTrkVTRACKFeature.BitOResetOutVOutHiActQVHLOutLoActQVLL注:上表中的对应关系只是从功能的角度来比较的,APL功能块中的部分管 脚数据类型是 STRUCT。3 APL V7.1 SP5 中如何实现累计功能块对于 PCS 7 V7.1 SP2 英文版本,可以从如下链接地址中下载 APL V7.1SP5:http:/ 中并在循环 OB3x 中调用:
12、图7 TontalL功能块如图中所示,和Integral、INT_P不同,TotalL功能块增加了不少管脚,这是因为该块的功能大大扩展了,主要有如下几点新功能:- 脉冲触发和持续两种计算条件;- 增加了限制值和相应的报警;- 增/减累计计算的选择;- 增加了 OS 图标和面板;- Batch 接口等。就模拟量累计功能而言,最直观的就是增/减累计和 OS 图标面板,这样就不用再使用一个模拟量监视块(例如MonAnL)来在OS上显示累计量:图 8 TotalL 的图标在面板中的“Command”中选择增累计或者减累计,即可激活功能块的累 计功能。和 APL 下其他功能块的操作面板一样,该功能块也提
13、供对累计值的曲线显 示、参数设置等面板:图 10 TotalL 的趋势面板图 11 TotalL 的参数设置面板TotalL丰富的功能是通过Feature来选择功能的,其中的Bit6和Bit7的不同组合定义了不同的功能:Feature模式描述BiteBit 70IJ沿触发加法碱法器如果加计数激活(操作面板或UpLi 如果减计数激活(操作面板或DnLi1),在 Impln.Value 有上升沿出现时,OutValueitJIncr.Value,结果保存到 Out .Value;1),在ImpIn.Value有上升沿出现时,Outvalue减DEcrYalue,结果保存到0ut.Value;01连
14、续减法触法器如果加计数激活(操作面板或UpLi 如果减计数激活(操作面板或DnLi1),在功能块执行时,Out.Valueidlncr.Value,结果保存到Out.Value;1),在功能块执行时,Out.Value减Dec.Value,结果保存到Outvalue;1X积分器如果加计数激活(操作面板或UpLi 如果减计数激活(操作面板或DnLi1), 对In.Valu已进行正 向积分,结果保存到 Out .Value;1),对In.Vain已进行反向积分,结果保存到Outvalue表格2 TotalL 功能列表如上表中所示,如果要使用模拟量累计功能,只需要设置Bit6即可。其他的功能使用和 Integral 无异,关于该功能块更多使用和配置信息可以查看其帮助信 息。图 12 TotalL 的 Feature Bit6 设置TotalL 在模拟量累计功能的使用中,和 Integral 类似,但具体管脚的应用上 会有所区别:(1)累计量清零在 T