WinCC V7.0新特性
从WinCC V7.0 起,可利用 C 动作和 VBS 动作的标准函数生成用户自定义操作员消息。该功能的使用示例位于本条目的末尾。
WinCC V7.0 版本之前生成用户定义操作员输入消息
初步信息:
使用WinCC Audit 选件不需要过多的组态便可以实现在 Audit Trail 中获得操作员输入消息。那么对于整个工厂通过 WinCC 客户端/服务器(非WebNavigator 客户端/服务器)的项目画面可以使操作员输入消息集中显示在 Audit Trail 中。Audit Trail 被保护以防止修改。
此外,在项目设计中的修改也能够在 Audit Trail 中记录。WinCC Audit 选件是相应配套发布的标准 WinCC 选件。
说明:
如果在组态 I/O 域时已将“Operator Input”属性设置为“Yes”,通过使用 I/O域会在 WinCC中自动生成操作员输入消息。
本条目展示如何使用 WinCC 选件“WinCC Open Development Kit”(ODK) 生成用户自定义的操作员输入消息。例如可能在按钮按下时需要生成一条操作员输入消息。在本条目中的 C 函数使用的是在 WinCC V6.0 SP3 和更高版本中的 ODK 函数。条目 ID 218555 使用的是也可在 WinCC 早期版本中实现的 ODK 函数。有关 ODK 的信息可在条目 ID 9652128 中获得。
注意,关于操作员输入消息可在 WinCC 在线帮助“WinCC 信息系统 > 使用 WinCC > 建立消息系统 > WinCC 中的消息归档”中获得。
下表描述了如何组态用户自定义的操作员输入消息。在本条目中假定使用了 WinCC OS project editor。 对于 OS project editor 生成的画面(消息窗口)不必进行任何修改。用户自定义的操作员输入消息显示在消息窗口的“operation list”中。
步骤 | 描述 |
1 | 在报警记录中组态操作员输入消息 打开报警记录编辑器创建一个消息类别“Operator Input Message”的消息。为消息任意选择一个编号。在本例中将使用消息编号“1001”。 在“Text”选项卡中设置那些在运行时显示的用户文本块参数。在本例中过程值块 1 到5 的值以文本显示在用户文本块 1 到 5 中。 这里仅将过程值块分配给用户文本块。过程值块的实际设置是在运行时通过函数“MSRTCreateMsgInstanceWithComment()”完成的(见步骤 2)。 注意: |
2 | 编写生成操作员输入消息的函数 下列下载包含文件“24325381_ISALG_OperationLog.fct (在 WinCC V6.2 中创建)”。 WinCC_OperationLog.zip ( 8 KB ) 拷贝文件到 WinCC 项目目录中的“library”目录中。打开“Global Script C”编辑器并执行“Tools > Regenerate Header”菜单命令。然后“ISALG_OperationLog()”函数可作为项目函数使用。 为了生成在运行时的操作员输入消息同样必须在客户端的 WinCC 项目(多客户)中执行这一步骤。 注意:
函数包含“printf()”语句,可在运行时的全局脚本诊断窗口或在 APDIAG “Output Window”中生成诊断消息。 |
3 | 调用函数生成操作员输入消息 可直接在过程画面或面板中使用“ISALG_OperationLog()”函数。下图显示了通过点击按钮实现函数的调用。
|
表 01
注意
- “MSRTCreateMsgInstanceWithComment()”函数从 WinCC V6.0 SP3 开始可以使用。它需要使用结构类型“MSG_RTDATA_INSTANCECOMMENT_STRUCT”。过程值块可支持最多 256 个以“NULL”结尾的字符文本。然而文本的实际的最大程度不超过 255 个字符。因为在 WinCC报警记录中的用户文本块只能显示最多 255个字符。而且,在 WinCC报警控件中显示长文本并不适用。
- 在 WinCC V6.0 SP3 之前的版本中可以使用“MSRTCreateMsg()”函数作替代来生成操作员输入消息。在这种情况下注意过程值块的字符长度最大为 32 (与结构“MSG_RTCREATE_STRUCT”有关)。 如果想要在用户文本块中显示更多的字符,可使用多个过程值块显示已过用户文本块。使用单独的函数“MSRTSetComment()”设置消息的注释。
- 本条目中的脚本已在 WinCC 单用户和 WinCC 客户机项目中经过测试。适合于下列版本:WinCC V6.2 和 WinCC V7.0。也与 WinCC Web Navigator V6.2和 WinCC Web Navigator V7.0 成功测试。
警告:
- Audit 仅记录 Web Navigator client 的登录,所有 Web Navigator 的其他操作不记录。
- 在 WebNavigators V7.0 之前版本中,不能确定用户名。只能确定计算机名而用户名将被“---未知 web 用户---”替代。
- 如果在 WinCC 服务器(或单用户站)或 WinCC 客户端上没有用户登录,那么用户名将被“---未知用户---”替代。
在WinCC V7.0 及以上版本中使用标准 VBS 脚本
在 WinCC 帮助里有个 VBS 脚本示例位于 WinCC 脚本: VBS, ANSI-C, VBA >用于创建过程和动作的 VBS > VBS Reference > Objects and Lists > Alarm Object (list)。
在WinCC V7.0 及以上版本中使用标准 C脚本
在WinCC帮助里有关于标准 C 脚本参数的描述,位于WinCC 脚本: VBS, ANSI-C. VBA > 用于创建过程和动作的 ANSI-C > ANSI-C Function Description > Standard Functions > Alarm > GCreateMyOperationMsg。
示例
步 骤 |
描述 |
1 | 创建一个消息位于类别 “Operator Input Message” 下。任意选择一个消息编号。本例中使用1002。 |
2 | 在相关条件下创建 C 脚本来触发此消息,本例中采用鼠标点击按钮来触发。 |
表 02
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc327245.html