浔之漫智控技术(上海)有限公司
西门子PLC模块 , CPU模块 , DP通讯电缆 , 6GK交换机
西门子中国授权代理商|低压代理商
发布时间:2023-10-26

PCS 7 OS 系统本身已经提供了丰富的趋势功能。实际应用场景中,可能需要多个对象的趋势在同一个趋势窗口中显示,以往可通过趋势组的方式实现此功能,但是趋势组要直接浏览归档变量并手动添加,操作并不直观便捷。

当然,也有采用脚本的方式实现归档变量自由选择。不过客户往往更需要的是直接点击不同块图标,来添加不同的趋势到同一个趋势控件,而且可以将当前的组态保存,以便下次调用。


PCS 7 V9.0 之后新增的 AOTC(APL Operator Trend Control)控件应运而生。从用户使用的角度出发,通过点击对应的块图标(同时按住 Ctrl 键),直接将归档变量添加到 AOTC 的趋势控件中。可以同时添加多个图标的归档变量到同一 AOTC 控件。


AOTC 的出现,使得终用户更加灵活与便捷的创建自定义趋势组,而且告别了直接浏览归档变量的繁琐方式。AOTC 控件不仅有实力而且也是“颜值担当”,提供了更加丰富的显示和选择功能:

图片

关于 AOTC 控件的基本使用,我们在此不再赘述,可参考以下 FAQ:PCS 7 中通过 AOTC 控件在同一个画面中显示多个

趋势曲线https://support.industry.siemens.com/cs/cn/zh/view/109778843

接下来主要介绍非标情况下如何使用 AOTC 的功能。

02

AOTC 的扩展应用

当采用 APL 的块图标时,工程师不需要任何额外设置就已经包含了该功能。

接下来我们重点看下如下三个方面:

都有哪些功能块支持 AOTC 的功能?

下位机采用 APL 库,自定义块图标如何使用 AOTC 的功能?

自定义功能块和自定义块图标是否可以使用 AOTC 功能?

- No. -

2.1


   追本溯源——哪些块支持 AOTC

以 MonAnL 为例,APL 自带功能块图标之所以支持 AOTC 功能,是因为块图标中“ Event→UserDefined1→Value1.Release left”存在脚本“APL_OpenCurveControl”,当按住 Ctrl 键的同时点击块图标中对应模拟量值时,会执行以上脚本函数。

图片

从 PCS 7 V9.0 版本开始,APL 模板画面中不管任何功能块的图标,只要包含模拟量值的都已经集成了该功能。


AOTC 不仅局限于添加模拟量,同时对于 APL 中的以下功能块,也集成了添加数字量到 AOTC 控件的功能。

哪些块支持向AOTC窗口添加数字量的值

系列

Drives

MotL, MotRevL, MotSpdCL, MotSpdL, MotS, VlvL, VlvS, Vlv2WayL,

VlvAnL, VlvMotL, VlvPosL

Operate

OpDi01, OpTrig, OpDi03

Monitor

MonDiL, MonDiS, MonDi08


同添加模拟量到 AOTC 控件类似,按住 Ctrl键+左键单击对应图标,比如在 MotL 块图标上执行了以上动作,则会将 FbkRunOut.Value 添加到新打开(或已经打开的)AOTC 控件窗口。其原理和添加模拟量显示相似,如下图所示:

图片

APL_OpenCurveControl 函数两个关键参数 lpszValue 和 lpszUnit:

图片

- No. -

2.2

         

          按图索骥——自定义块图标实现 AOTC


接下来我们仍然以 MonAnL 为例,在下位机程序不变的情况下,如何将自定义的块图标同样实现 AOTC 的功能。

我们以简单的 I/O 域创建一个自定义对象来测试。在2.1章节,MonAnL-APL_OpenCurveControl 的 lpszUnit 参数赋值使用了 tag,而 MotL 则在 lpszValue 中使用了 tag,所以 tag 为对应的块图标属性中的 TagName。

标准 APL 的块图标肯定会包含 TagName 等属性,但是对于自定义对象则不是必须的。因为 lpszUnit 可以为 None,我们先不添加TagName 看自定义对象是否可以打开 AOTC 控件,并正常使用。

图片

自定义对象连接和脚本操作顺序如下图所示:

图片

使用 WinCC 脚本诊断工具 ApDiag 检查脚本执行是否正确:

鼠标点击后并未弹出 AOTC 窗口,ApDiag 诊断窗口也显示了具体的错误原因,没有找到对象属性 tagname:

图片

此时仿照 PCS 7 块图标的格式,用 DataSet 收集 tagname,从 standard 中拖拽 DataSet 到画面中,并添加 Index 设置名称为 TagName,Type 为 String格式。

图片

将 DataSet 添加到之前的自定义对象,并组态如下:

图片

将 TagName 的静态值定义为对应结构体变量名称:

图片

此时点击该自定义对象,便可正常弹出 AOTC 的控件并添加对应的趋势,且脚本执行没有错误。

图片

上图中 Unit 之所以为空,是因为没有给 APL_OpenCurveControl 函数的lpszUnit参数赋值所致,修改脚本如下图(其中 tag 指 tagname):

图片

- No. -

2.3


 学以致用——自定义功能块 +

自定义块图标实现 AOTC

前文已经介绍了在下位机使用 APL 库功能块时,无论使用标准的块图标,还是使用自定义对象都可以方便的使用 AOTC 功能。那么如此方便的功能,对于自定义的功能块和图标能否支持呢?

后让我们一起来研究一下自定义的块和图标如何灵活的使用 AOTC 功能。

AOTC 控件中除包含变量的趋势外,还获取了变量的量程、质量状态、上下限和单位等信息。单位是通过 lpszUnit 参数获取的。但是对于其他的参数并没有直接赋值,而是在内部根据 tagname 获取的相应变量。因此对于自定义的功能块,可以仿照 MonAnL 块,定义如下图所示的对应管脚即可:

图片

管脚属性的定义参考 MonAnL 的定义,此处仅定义了必须的管脚,其他非必要管脚可以根据实际需求添加,内部逻辑程序根据自己需要定义即可,PV_Out 可以通过管脚属性直接设置为归档。

图片

此处直接使用 2.2 章节创建的自定义对象来进行测试,只需将结构体变量,变更为自定义功能块对应的结构体变量即可。

图片

03

总结


AOTC 控件让用户直观方便的创建、存储、调用趋势控件,而不需要进行复杂的组态。做到了“所见即所得” 而不再需要一个个找归档变量。


对于工程师而言也简化了编写复杂脚本的工作,即便不使用 APL 库也可以很方便的将自己的功能块集成 AOTC 功能。


PCS 7 的 V8.2 V9.0 V9.1 这几个版本的更新中,新增了许多非常实用的功能,并且在数字化和标准化的应用上也在一步步完善创新,这些功能等待着我们去挖掘使用。


对于这些新功能及其应用案例,我们会在后续的 1847 学习平台以文档或视频的形式呈现。比如 PCS7 V9.1 中对于所有的操作记录新增了计算机名的功能,避免多台电脑使用同一账户登录时无法区分的问题。对于早期版本如何在操作记录中增加计算名的问题相关文档,也即将在 1847 平台推出。


展开全文
优质商家推荐 拨打电话