WinCC -- 操作和维护 -- 查询状态 如何在 WinCC 中实现变量状态监视和连接状态监视? 如何将 WinCC 运行系统的数据显示在外部设备(如移动电话,笔记本,iPad)上? 如何在 SIMATIC WinCC 中通过激活的运行系统跟踪当前映像和图形对象的名称? collapse(/WWsupport/,22893931, document.img_22893931) 如何在 WinCC 中实现变量状态监视和连接状态监视? 隐藏订货号显示订货号订货号: 内容该FAQ条目处理了以下两个问题. 监视一个变量的状态g 监视一个连接状态n 监视一个变量的状态通过全局脚本动作返回被检查变量的状态实现对变量状态的监视,同时触发一条报警。 在该 FAQ 的第一部分创建一个检视变量的全局脚本动作藉此仅在输出窗口中输出一条信息。在第二部分配置全局脚本动作以实现即在窗口中输出消息又触发一条报警的目的。 1. 通过以下步骤创建全局脚本动作以实现仅在输出窗口中输出一条信息 No. 步骤 1 打开全局脚本编辑器(ANSI C)创建一个新动作。 2 在动作中编写如下程序函数: #include apdefap.h int gscAction(void) { DWORD dwState = 0; GetTagSWordState (External_tag_1, dwState); if (dwState == 0) { //Tag status OK printf (Tag status Ok: [Statuscode (hex):%X]\r\n,dwState); } else { //Tag status deviant printf (Tag status deviant: [Statuscode (hex):%X]\r\n,dwState); } return(0); } 3 设置动作的触发器为被检视的变量(这里为:“External_tag_1”,周期:根据变化)。 4 通过全局脚本/工具执行菜单命令“重新生成头文件”。 5 保存动作并关闭全局脚本编辑器。 6 打开图形编辑器创建一个新的过程画面(PDL)。 7 通过智能对象“应用程序窗口”配置“Global Script Diagnostics”。 8 保存画面并把它定义为起始画面。 9 如果没有激活,那么需要在计算机启动选项中激活全局脚本运行系统。 现在当启动运行系统时,一旦被监视变量的状态发生改变,关于此变量状态的一条信息就会输出到 Global Script diagnostics 窗口 2. 通过以下步骤创建全局脚本动作,以实现输出一条消息到对话窗口的同时也触发一条报警 No. 步骤 1 创建一个“ 二进制”类型的内部变量(该变量用于触发报警)。在本例中变量名称为 “Trigger”。 2 在报警记录中插入一条新的消息,配置内部变量“Trigger” 作为消息变量(可以根据工厂情况配置消息文本)。 同时在消息属性中激活以下选项 “仅为单个确认”,“控制中央信令设备 ”和“将被归档”。 3 保存报警记录的改变然后关闭编辑器。 4 打开全局脚本(ANSI C)创建新动作。 5 在动作中编写以下程序函数: #include apdefap.h int gscAction(void) { DWORD dwState = 0; GetTagSWordState (External_tag_1, dwState); if (dwState == 0) { //Tag status OK printf (Tag status Ok: [Statuscode (hex):%X]\r\n,dwState); SetTagBit (Trigger, FALSE); } else { //Tag status deviant printf (Tag status deviant: [Statuscode (hex):%X]\r\n,dwState); SetTagBit (Trigger, TRUE); } return(0); } 6 在动作的触发设置中新建一个变量触发器。事件选择“变量”并且变量名选择检测变量(此例中 External_Tag_1)。如果有必要,可选择标准周期(2秒)以适应您的应用。这种情况下将采取标准周期定义的循环频率更新,以检查变量是否有变化。 7 通过全局脚本/工具执行菜单命令“重新生成头文件”。 8 保存动作然后关闭全局脚本编辑器。 9 打开图形编辑器创建一个新的过程画面(PDL)。 10 通过智能对象“应用程序窗口”配置“Global Script Diagnostics”, 并配置一个 WinCC Alarm Control。 11 保存画面并定义其为项目的起始画面。 12 如果没有激活,那么需要在计算机启动选项中激活全局脚本运行系统和报警记录运行系统。 现在当启动运行系统时,一旦被监视变量的状态发生改变,关于此变量状态的信息就会输出到 Global Script diagnostics 窗口,另外当该变量的状态不正常时也会触发一条报警。 监视连接的状态如果希望当连接完全断开时触发一个特定的报警,可以使用下面的程序代码。为此需要组态第二个消息和第二个触发变量。 No. 步骤 1. #include apdefap.h int gscAction(void) { DWORD dwState = 0; GetTagSWordState (External_tag_1, dwState); if (dwState == 0) { //Tag status OK printf (Tag status Ok: [Statuscode (hex):%X]\r\n,dwState); SetTagBit (Trigger, FALSE); SetTagBit (Trigger_connection_interrupted, FALSE); } else if (dwState0X0001) { SetTagBit (Trigger_connection_interrupted, TRUE); } else { //Tag status deviant printf (Tag status deviant: [Statuscode (hex):%X]\r\n,dwState); SetTagBit (Trigger, TRUE); SetTagBit (Trigger_connection_interrupted, FALSE); } return (0); } 重要提示当被监视的变量是一个外部变量时,需要确认在数据块(DB)中为该变量选择了正确的数据类型。 如果这里使用了错误的数据类型,就会输出不同于“1”和“0”的十六进制的消息 。 关于状态代码的概述信息参见 WinCC 信息系统的以下章节(代码在输出中汇总)。 使用 WinCC > ANSI-C for Creating Functions and Actions > ANSI-C Function Description > Standard Functions > Lists > Tag statuses. 更多信息监视变量状态的脚本只能使用 ANSI-C 语言。关于不使用脚本监视变量状态的介绍在 WinCC 信息系统中以下的章节。 通讯 >通讯 - 诊断 > 变量质量 > 使用变量状态监视连接状态。 关于使用全局动作进行状态监视的描述可以在 WinCC 信息系统以下的章节中找到。 通讯>通讯 - 诊断 >变量质量 >使用全局动作监视变量状态。 关键词连接故障,状态判断,变量状态, 493522,,416354 如何将 WinCC 运行系统的数据显示在外部设备(如移动电话,笔记本,iPad)上? 隐藏订货号显示订货号订货号: 前言使用 WinCC Web Navigator 选件能够通过内网或者Internet控制和监视 WinCC 站。然而,如果您使用的设备上无法安装 WinCC Web Navigator,下面就为您描述如何查询某些过程变量的数值。可以通过内网或者 Internet 显示各种过程值并在外部设备调用它们。但是用这种方案无法控制一个工程。 描述 我们使用 IIS (Internet Information System), 一个操作系统默认提供的微软服务平台。关于如何准备、确保安全和组态 IIS 的描述请参考这里. 使用 VB 脚本,一些变量值能够从WinCC 运行系统写入一个 HTML 文件,并且可以通过 IIS 打开和发布为一个web站点到外部的设备上。 说明下面的例子说明了如何将 WinCC 运行系统的4个变量显示到外部设备上。 序号. 步骤 1 在电脑上安装 IIS (Internet Information System) 服务。 注意 关于 IIS 的信息请参考这里. 2 打开您的 WinCC 项目并创建4个变量 (在本例中它们是 Tag_1, Tag_2, Tag_3 和 Tag_4). 图. 01 注意 如果用的变量,那么必须在样例画面中用 I/O 域组态它们。 3 下载 Plant 1 并把画面 WinCC_Mobile_data.PDL (附件 1) 插入到您的项目中。 附件 1: WinCC_Mobil_data.PDL ( 38 KB ) 4 打开按钮 Create HTML 的“鼠标-单击”事件中组态的 VB 脚本,并修改需要被监测的变量。 图. 02 注意按照图. 03所示的部分声明需要被监测的变量。注意 Tags 变量是一个包含单个变量的数组。如果有多个变量,只需要延续 Tags 的索引。 图. 03 *1) 被监测变量的序号 (从 0开始) *2) Tags 数组部分 *3) 项目中被监测的变量 5 启动运行系统并点击 Create HTML。 注意 VB 脚本生成了一个HTML 文件,变量的当前数值写入在这个文件中。WinCC 把这个 HTML 文件保存在 C:\INETPUB\wwroot 文件夹中,文件名为 INDEX.HTM 。使用 IIS 把 INDEX.HTM 文件发布出去并通过内网或者Internet 调用它。 组态环境此条目中的画面和下载文件都是用 SIMATIC WinCC V7 SP1 创建的。 注意 如果您用其他的WinCC 版本,可以从附件2下载脚本。 附件 2: WinCC_Script.txt ( 2 KB ) 关键词 移动电话, 远程控制,远程维护 如何在 SIMATIC WinCC 中通过激活的运行系统跟踪当前映像和图形对象的名称? 隐藏订货号显示订货号订货号: 保持按下 SHIFT + STRG + ALT (SHIFT + CRTL+ ALT) 键,然后将鼠标指针移动到图形映像中的图形对象。结果,弹出的Tooltip-Text (工具提示文本) 将显示映像名称和图形对象的名称。 对 ActiveX 类型的图形对象不起作用,如 TrendControl 或 AlarmControl。 关键字:对象名称,Tooltip-Text (工具提示文本),名称