在面板中,如何附加显示另外一个块的组显示消息?

描述:
PCS 7 中,AS 块的数据/消息会缺省显示在它的面板上。然而可能有这样的需求:另外一个 AS 块的数据/消息也需要同时显示在这个面板上。n

例程:
一个功能需要由多个块来实现,例如,一个需要电流显示的电机。n

在面板中,如何附加显示另外一个块的组显示消息?
Fig. 01n

“MOT” 块(块类型 “MOTOR”, FB66) 用于控制一个电机。另外使用 “MOT_IMEAS”块 (块类型 “MEAS_MON”,FB65) 来显示和监控电机的电流。当电流值超过一个特定的限值之后,需要触发一条报警。”MOT_IMEAS” 的 “限值监控” (“Limit value monitoring”) 功能可用于此。n

“MOT_IMEAS” 块的数据在缺省情况下是不会显示在 “MOT” 块的面板上的。我们的目标是在 “MOT” 功能块的面板上显示功能块 “MOT_IMEAS” 的数据(电机电流,电流监控限值,报警和消息)。n

注意:

  • 该条目描述了在 “MOT” 的面板上,”消息” 视图 (“Message” view) 中显示另外AS 块的报警消息的几种不同方法。因此,我们仅仅处理面板的 “消息” 视图。PCS 7面板在 “消息” 视图中使用 WinCC Alarm Control 来显示一个块的所有消息。当您打开一个块的 “Message” 视图时,会自动设置消息的过滤条件,因此只有和该块相关的消息才会被显示。n
  • 条目28733797 中显示了如何在 OS 面板的其它视图中显示其他AS 块的数据。n
  • 所有的解决方法都不仅限于 “MOTOR”和 “MEAS_MON”块类型,您可以将它们使用在其它的块类型上。n
  • 该条目也描述了如何配置显示组显示(group display)
No. 步骤
1 使用原始块的自由报警信号
该解决方案中,电机电流限值信号在 CFC 中生成。该信号如何生成并没有在这里进行介绍。该信号可以连上 “MOTOR” 块的一个报警信号。实际的电流值也可以作为一个消息相关的过程值连到消息中。 n

检查将要扩展的块 (“MOTOR” FB66) 是否有可以自由扩展的消息信号。

  • 然而,”MOTOR” (FB66) 块并没有任何输入信号可用于触发额外的(用户自定义的)消息。因此,这个解决方案对已这一特例并不适用。n
  • 当您创建您自己的块时,必须确认你将 “ALARM_8P” 块没有使用的消息信号引脚连至块的接口引脚。这种情况下,之后您可以非常方便地组态额外的消息。n
  • 条目28883644 描述了这个原则。

关于组显示的附加组态步骤

  • 检查一下该图标块的的组显示是否需要扩展
    块的组显示既用于显示原始AS 块的消息,又用于显示附加块的消息。确保组显示可以显示所有使用的消息类别。如果 “MOTOR” 块的组显示还需要显示块 “MEAS_MON” 的消息,那么组显示需要被进行扩展。”MOTOR”块缺省情况下仅显示消息类型 “AS Process Control Error” 在面板中,如何附加显示另外一个块的组显示消息?和 “AS Process Control Fault” 在面板中,如何附加显示另外一个块的组显示消息?。该组显示需要被扩展成可以显示超限的消息类别 (例如,”Alarm High” 在面板中,如何附加显示另外一个块的组显示消息?,”Warning High” 在面板中,如何附加显示另外一个块的组显示消息?)。
2 通过外部块来触发消息,并改变块消息中的”Origin”文本
在这个解决方案中,电机电流的超限消息通过”MOT_IMEAS” (“MEAS_MON”)块来触发。在 “PCS7 Message Configuration” 对话框中,相应地改变”Origin” 域的文本 。此例中,”Origin” 域中,您需要用 “MOT” 块的完整块名来替换字符串 “$$AKZ$$”。 n

在面板中,如何附加显示另外一个块的组显示消息?
Fig. 02n

注意:
在 CFC 中,如果该区域被锁,”origin” 中的消息文本不能修改。可以在 CFC 中使用如下步骤来释放 “Origin” 区域。n

  • 在 SIMATIC Manager 的组件视图下,打开 block folder 下相应块的 “PCS7 Message Configuration”对话框。n
  • 取消锁定。这里不要改变 “Origin” 的实际文本值。

    在面板中,如何附加显示另外一个块的组显示消息?
    Fig. 03

  • 更新Block type使这些改变生效。

组显示的其他组态步骤
当编译 OS 时,每个报警兼容块都会在 OS 的变量管理器中创建一个变量,该变量包含了所有报警块(ALARM_8P, NOTIFY_8P) 的组值。”MOT” 块和附加的块”MOT_IMEAS” 都会创建组变量“*.EventState”。在过程画面中,每个组变量必须连到组显示,以便消息可以显示在 overview 区域和导航窗口的组显示上。功能 “Create/Update block icons” 合并过程画面中所有连接着组显示的块图标。n

  • 连接画面中附加块的组显示
    附加块的组显示变量 ( “MOT_IMEAS” 块的变量 “*.EventState”) 必须连接到过程画面中的组显示,以便当前的监视消息会显示在overview区域和导航窗口的组显示上。通常可以通过合并附加块 “MOT_IMEAS” 的面板来实现(通过 “Create/Update block icons” 功能)。如果您不需要在过程画面中显示电机电流 (“MEAS_MON”),那么你不能简单地删除这个块,因为这样的话将导致组层级的配置不完整。这种情况下,您可以设置块的 “Visible” 属性为 “no” 来隐藏该块。

  • 检查一下该块图标的的组显示是否需要扩展
    如果显示电流 (“MEAS_MON”) 的块图标在过程画面中不显示,为了在过程画面中进行电流监视,您必须组态一个组显示。因此,您可以为”MOT” 块 (块类型 “MOTOR”) 的块图标显示增加另外一个组显示用于显示电流的监控。这个组显示必须连至”MOT_IMEAS” 块的group value。
3 使用其他块触发消息并在面板中设置 “MULTI_INSTANCE”属性为 “yes”

警告! 需要注意该解决方案后面所列出来的限制

在画面编辑器中,为了在 OS 面板上显示多个AS 块的数据,需要把属性 “MULTI_INSTANCE”设置为 “yes”。属性 “MULTI_INSTANCE” 的缺省值是 “no”。属性 “MULTI_INSTANCE” 位于面板的模板画面 “@pg_motor.pdl”中对象 “@Faceplate” 的属性组 “Miscellaneous” 内。 n

在面板中,如何附加显示另外一个块的组显示消息?
Fig. 04n

打开块的 “Alarm”视图时,依据属性 “MULTI_INSTANCE”,消息的过滤条件会设置到报警控件中:

  • “MULTI_INSTANCE = no”
    只有来源和面板中测量点名完全一致的消息才会被显示。这意味着只有来自 “MOT” 块的消息才会被显示到报警控件中。附加块 “MOT_IMEAS” 的消息不会被显示到报警控件中。n
  • “MULTI_INSTANCE = yes”
    这些测量点名的文本会经过进一步的处理,因此,测量点名后面的文本,也就是AS 块的名字会被截掉。这个经过修改的测量点名作为过滤条件。报警消息,如果其来源以修改后的测量点名开头,才会被显示。这意味着 “MOT” 块的附加消息,和其它块的消息,例如 “MOT_IMEAS”,都会被显示在报警控件中。

局限

  • 如果你改变已存在的面板的 “MULTI_INSTANCE”选项为 “yes”,那么你必须更改整个面板。必须检查所有模板画面中的动态(变量连接,脚本) 并做必要的修改,因为当前是修改后的测量点名称 (没有块名的测量点名称) 。
    因此,这一解决方案原理上可行,可是非常复杂并容易出错。 n
    • 所有块必须全部修改。所有功能必须完整分析修改。修改过的块必须经过完整测试。n
    • 关于 PCS 7 标准块的用法有完整的文档。然而,关于块的内部函数和编程并没有完整文档。用户需要花费大量时间自己这些更改内部函数。n
    • 出错概率大。
  • 关于 “Configuring multi-instances” 的帮助信息可在 “PCS 7 – Programming Instructions for Blocks” 手册中找到。n
  • 如果使用OS project editor 或软件更新(安装 WinCC 新版本,一个service pack或 hotfix) ,对模板画面或标准函数所作的改变可能会丢失。n
  • 仅适用于PCS 7 V7.0 SP1
    在 PCS 7 V7.0 SP1,即使使用了 “MULTI_INSTANCE=yes”,但只有源块的报警才能被显示。条目 29025180 中给出了补救方法。

组显示的附加组态步骤
同上面第二步的解决方法。

4通过附加块触发消息并改变报警过滤条件的脚本
缺省情况下,PCS 7 面板使用画面 “pcs7_alarm.pdl”用于显示这些消息。当您打开这个画面时,消息显示的过滤条件会被设置。您可以改变这些消息过滤条件的脚本来使其它块的消息也显示出来。下图中显示了当打开”消息”视图时所执行脚本的更变部分。 n

在面板中,如何附加显示另外一个块的组显示消息?
Fig. 05

当编写 SQL 过滤条件时,”=” 被字符串 “like”替换,这将会做如下改变:
如果属性 “MULTI_INSTANCE = no” (缺省),并且面板类型是 “MOTOR”,那么如果消息的”origin” 文本是以和 “MOT” 块消息同样的字符串开头的话,这些消息将会被显示。因此,用于显示电流和电流监视的附加块的名字叫做 “MOT_IMEAS”。

警告!

  • 注意运行OS project editor 后,这些改变会被覆盖。
    为了阻止这些情况的发生,您必须在 OS project editor 的模板画面中做这些脚本的改变。
  • 对模板画面或标准函数所作的改变会在使用OS project editor 或软件更新(安装 WinCC 新版本,一个service pack或 hotfix) 时丢失。

组显示的附加组态步骤
同上面第二步的解决方法。

5创建一个 AS 块,内部包含 “MOTOR”和 “MEAS_MON” 块
这种方法创建一个新块,包含 “MOTOR”和 “MEAS_MON” 块。这种方法下”MEAS_MON” 的消息和”MOTOR”块一样,在运行时收到相同的origin text。电流监控消息因此会缺省显示在 “MOTOR”块的面板中。

您使用 “SCL”,”STL”或 CFC 编辑器来创建这个块。下图显示了如何在CFC chart中创建一个新块。所有MOTOR” 和”MEAS_MON” 块的连接都被重新创建为外部连接,并和原始块相联系。

在面板中,如何附加显示另外一个块的组显示消息?
Fig. 06

CFC 图通过 “Chart > Compile > Chart as Block Type…” 编译。下图显示了如何使用新创建的块。用于显示电机电流的 “MEAS_MON”被加到了 “MOTOR” 块上。注意:该块以字符串 “MEAS_” 开头的内部连接至了 “MEAS_MON” 块,其它的连接至了 “MOTOR”块。

在面板中,如何附加显示另外一个块的组显示消息?
Fig. 07

条目 28757820 描述详细描述了该块的设置。

组显示的额外组态步骤
当编译 OS 时,Tag management会为该新块创建一个变量,该变量包含了所有 “ALARM_8P” 消息块(“包括MOTOR” 和 “MEAS_MON”) 的。请参考 No.1 中关于块图标中组显示的指导和配置。

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc334484.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论