故事作者:羲

最近创作

看看TA的故事

畅学技术 | 所见即所得-用PCS 7这个新功能一键自定义趋势组

已锁定

总坛主 西门子1847工业学习平台

  • 帖子

    786
  • 精华

    3
  • 被关注

    49

论坛等级:奇侠

注册时间:2011-06-09

普通 普通 如何晋级?

畅学技术 | 所见即所得-用PCS 7这个新功能一键自定义趋势组

1419

0

2021-11-05 14:06:31

01 应用场景

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 功能?

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

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

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

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

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

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

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

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 控件,并正常使用。

注意:此处仅创建一个最小自定义对象来实现 AOTC 功能,非完整创建块图标的步骤,完整创建自定义块图标的步骤请参考以下文档(尤其注意构成 PCS7 块图标的三个必要系统属性:Type,Tagname 和Servername):

APL风格的功能块图标和面板设计https://support.industry.siemens.com/cs/cn/zh/view/83121263

自定义对象定义如下:

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

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

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

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

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

剩余80%未阅读, 请登录阅读

畅学技术 | 所见即所得-用PCS 7这个新功能一键自定义趋势组 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

西门子工业1847俱乐部

共有72条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。