• {{item.name}}
{{item.name}}
{{item2.name}}
更多
操作指南

如何在PCS 7中实现模拟量累计功能

star star star star star
4.7 分
  • 软件编程
  • 工程师站系统
文档编号:A0559| 文档类型:操作指南| 发布时间:2024年02月05日
  • 0
  • 572
  • 5865
1   PCS 7 V7.1中如何实现累计功能 累计功能就是对单位时间里的某一工艺量的测量值进行累加,这和数学运算中的“积分”(“Integral ......

1   PCS 7 V7.1中如何实现累计功能

累计功能就是对单位时间里的某一工艺量的测量值进行累加,这和数学运算中的“积分”(“Integral”)是一致的。在PCS 7 V7.1 APL库中提供的积分功能块可以实现该功能:

 

图1 APL中的积分功能块

在具体使用上,只需要将这个功能块拖入CFC中,连接需要累计的信号(例如通道功能块的输出管脚),设置积分参数TI后,编译即可:

图2“Integral”的使用

作为积分功能块,需要设置采样时间和积分时间,分别对应积分功能块的“Sample Time”和“TI”。采样时间指的是积分计算的执行间隔时间,积分时间表述的是积分环节的时间常数,这两个关键参数结合被累计的测量值就可以计算出累计值。

1.1  如何设置SampleTime和TI参数

PCS 7中使用该积分功能块时,无需也不能人为设置SampleTime值,用户只需也必须在循环中断OB3x中调用该功能块。

而积分时间常数TI则需要根据积分功能块前连接的流量信号的单位来进行设置。例如,通常情况下流量信号的单位为立方米/小时(1小时为3600秒),则该TI参数需要设置为3600。如果流量信号为立方米/分(1分钟为60秒),则该TI参数需要设置为60。

此外,SampleTime和TI还必须满足如下关系:

如果上述关系不能满足,则会在管脚“ErrorNum”上报“11”的错误号,而且积分运算停止。

1.2  累计量如何清零

通常情况下,在一个班组/批次结束、另一个新的工作时间段开始时,需要重新开始累计,原来的累计结果要清除。或者在某些情况下,在重新开始累计时需要设定一个起始值。这可以借助积分功能块的Track(跟踪)功能来实现:

图3清零

如上图所示,给管脚“OutTrkOn”置位则开启Track功能,在该功能下积分块Integral的输出“Out”的值和跟踪值“OutTrk”保持一致。如果要实现清零操作,则设置“OutTrk”的值为0.0;如果要设置累计的初始值,也是将初始值赋给“OutTrk”。在将OutTrkOn复位后,功能块就在当前累计值的基础上开始运算。

1.3  累计过程如何暂停

如果要实现在累计过程中暂停,则可以使用功能块Integral的“Hold”功能:

 

图4累计保持

置位管脚“Hold”即可暂停累计计算,复位该管脚则可以继续累计运算。

1.4  如何在CPU停机重新运行之后保持累计量

“Hold”参数能够在CPU运行期间暂停累计,但如果CPU进入STOP之后,重新开始运行,那上次的累计值就会丢失。为了解决这个问题,Integral功能块提供的“Feature”参数中可以设置:

 

图5 Feature中的设置

在Feature Bit0中,设置为1,即表示在OB100调用(暖启动)时上一次的累计值保持。

1.5  能否避免累计不了的问题

通过实数累加指令来实现累计功能的程序,在运行一段时间之后当前累加值达到一个很大的值时,可能就会出现累计停止的现象,测量值有数值,但总累计量保持不变。

导致这个问题的原因是实数在进行加运算的时候,如果两个加数数量级差距较大,就会出现加不上的问题。具体描述可以参考如下链接页面:

/cs/document/14844391?caller=view&lc=zh-cn

而PCS 7中的积分累计功能都对此进行了处理。如果累计量过大,导致测量值无法累加的时候,功能块就会单独存储并累计这些数值很小的测量值,直至其和增大到可以加入总累计量。

所以使用PCS 7下的功能块来实现累计功能不会出现累计不了的问题。

2 PCS 7 V7.0以前版本中如何实现累计功能

在PCS 7的标准库中也提供有相应的积分功能块来实现累计功能:

图6 INT_P功能块

和APL的Integral功能块的作用原理是一样的,只是管脚名上有所出入,如下是两个功能块的管脚对应表,请参考上述内容使用该积分功能块:

表格1 Integral和INT_P管脚对应表

IntegralINT_P
InU
OutHiLimV_HL
OutLoLimV_LL
InHystHYS
OutTrkOnTRACK
OutTrkVTRACK
Feature.Bit0Reset
OutV
OutHiActQVHL
OutLoActQVLL

注:上表中的对应关系只是从功能的角度来比较的,APL功能块中的部分管脚数据类型是STRUCT。

3 APL V7.1 SP5中如何实现累计功能块

对于PCS 7 V7.1 SP2英文版本,可以从如下链接地址中下载APL V7.1 SP5:

http://support.automation.siemens.com/cn/view/zh/47756596

安装这个新的APL库之后,在APL库中可以找到“TotalL”,拖入到CFC中并在循环OB3x中调用:

 

图7 TontalL功能块

如图中所示,和Integral、INT_P不同,TotalL功能块增加了不少管脚,这是因为该块的功能大大扩展了,主要有如下几点新功能:

-       脉冲触发和持续两种计算条件;

-       增加了限制值和相应的报警;

-       增/减累计计算的选择;

-       增加了OS图标和面板;

-       Batch接口等。

就模拟量累计功能而言,最直观的就是增/减累计和OS图标面板,这样就不用再使用一个模拟量监视块(例如MonAnL)来在OS上显示累计量:

图8 TotalL的图标

 

图9 TotalL的操作面板

在面板中的“Command”中选择增累计或者减累计,即可激活功能块的累计功能。

和APL下其他功能块的操作面板一样,该功能块也提供对累计值的曲线显示、参数设置等面板:

图10 TotalL的趋势面板

图11 TotalL的参数设置面板

TotalL丰富的功能是通过Feature来选择功能的,其中的Bit6和Bit7的不同组合定义了不同的功能:

image.png

表格2 TotalL功能列表

如上表中所示,如果要使用模拟量累计功能,只需要设置Bit6即可。其他的功能使用和Integral无异,关于该功能块更多使用和配置信息可以查看其帮助信息。

 

图12 TotalL的Feature Bit6设置

TotalL在模拟量累计功能的使用中,和Integral类似,但具体管脚的应用上会有所区别:

(1)    累计量清零

在TotalL中没有跟踪功能,但可以使用复位功能,可以在面板上复位,如果使用CFC程序来复位,需要用到的管脚是“RstLi”和“PresetVal”。在RstLi.Value=1的时候,累计输出Out.Value和PresetVal.Value保持一致。

所以,要实现CFC程序中的累计清零,只需设置PresetVal.Value=0.0之后,置位RstLi.Value=1即可。在OS侧清零,只需要在参数设置面板中设置“Preset Value”为0.0,然后点击标准面板中“Preset”按钮即可。

(2)    累计暂停

TotalL中没有Hold管脚,但增加了一个“OffLi”管脚,在标准面板中的“Command”中提供了“Off”按钮。使能这个功能,即可让累计停止,释放之后累计从新开始。与“Hold”功能一样。

(3)    CPU停机重启保持上次累计值

和Integral功能块一样,设置Feature Bit0为1即可实现在CPU重启的时候恢复上次的累计值。

关键词
PCS 7,APL,流量累计,积分,FB1823,Integral ,FB40,INT_P,FB1906,TotalL,实数累加


您可以前往全球资源库查看此文档


剩余80%未阅读,请登录后下载/查看文档

  • 评论
更多
  • 分享

    扫码分享

提示
您即将前往“全球技术资源库”。
“全球技术资源库”的用户名与本地支持中心(下载中心、技术论坛、找答案、1847工业学习平台)的用户名不通用。如果需要在全球技术资源库下载文档,您需要重新登录或注册。
确定
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。