1.报警控件数据查询
在WinCC报警记录组态时,我们可以给报警消息定义不同的类别、类型、用户文本块等,有了以上的组态,我们就可以自定义过滤条件,在报警控件中查询或显示分类的报警信息。
1.1 报警控件手动查询
在组态报警控件时,可直接设置报警控件过滤条件。
双击报警控件,在“WinCC报警控制属性”对话框中选择“消息列表”,然后单击“数据准备”区域中的“选择”按钮,在“指定选择”对话框中,通过对左边列表中复选框的选择,可以任意组合过滤条件。
图例中给出了查询错误点“设备A”的“停机故障”类报警的组态。保存组态后,此报警控件在运行时直接显示过滤后的查询结果。
点击“删除选择”按钮,可删除已组态的过滤条件,然后重新设置。
报警控件在系统运行过程中,也可使用工具栏来设置过滤条件。
在组态报警控件时双击控件,在“WinCC报警控制属性”对话框中选择“工具栏”,把“选择对话框”勾选上,保存设置。
系统运行时在报警控件工具栏上,点击“打开选择对话框”按钮, 在“指定选择”对话框中,通过对左边列表中复选框的选择,也可以任意组合过滤条件。
图中区域A中参数选项的含义请参考下表:
设置 含义
无设置 下次切换画面时,所做组态将丢失。
“在CS和RT中保持” 即使关闭和重启系统,所做的组态仍然保持。
“在RT中保持” 所作组态一直保持到系统终止运行。
1.2 使用脚本对报警控件做查询
在WinCC所提供的VBS、C脚本中,可以把相对应的SQL查询语句,赋值给报警控件的“MsgFilterSQL”属性来设置消息的过滤。
有一个简单方法可以获得查询SQL语句。在控件中手动设置查询条件,在“删除选择”按钮左边(图4)的输出框内,就是此查询条件的SQL语句, 可以直接把此语句拷贝到脚本中使用。
下面两图给出了查询错误点“设备A”的“停机故障”类报警消息的脚本例程
“Control1”:报警控件的对象名称
“CLASS IN(2)”:“停机故障”的消息类别编号2
“TEXT2 LILE ‘设备A’”:错误点(文本块编号2)中文本匹配‘设备A’
C脚本
VBS脚本
关于使用查询SQL语句的更多详细信息请参考:WinCC 信息系统 > 使用WinCC > 建立消息系统 > 在运行系统中显示消息 > 用于过滤报警控件的消息的SQL语句
2.在线趋势/表格控件数据查询
在线趋势/表格控件可用来显示归档数据,用户可自定义开始时间/结束时间,做时间范围内的归档数据查询。
2.1 在线趋势/表格控件手动查询
1)趋势控件手动查询
在组态画面中双击在线趋势控件,在“WinCC在线趋势控件的属性”对话框中选择“工具栏”,把“选择时间范围”勾选上,保存设置。
系统运行后,在趋势控件工具栏上点击“开始/停止”按钮停止数据更新。然后点击“选择时间范围”按钮,在弹出对话框中先取消“时间范围”复选框,然后填写开始时间/结束时间(图8),最后点击确定。
2)在线表格控件手动查询
在组态画面中双击在线表格控件,在“WinCC在线表格控件的属性”对话框中选择“工具栏”,把“选择时间范围”勾选上,保存设置。
系统运行后,在表格控件工具栏上点击“开始/停止”按钮停止数据更新。然后点击“选择时间范围”按钮,在弹出对话框中先取消“时间范围”复选框,然后填写开始时间/结束时间,最后点击确定。
上面两图区域A中参数选项的含义请参考上面的表1。
2.2 使用脚本对在线趋势/表格控件做查询
在WinCC所提供的VBS、C脚本中,可以通过C脚本内部函数“SetPropXXX()”或者是VBS脚本中使用控件对象的属性,来做归档数据的时间范围查询。
下面两图给出了归档数据时间范围查询所使用的C、VBS脚本图例(以下脚本趋势/表格控件都可以使用)
“C>“Index”:选择控件中的归档时间轴,此例中我们使用了公共时间轴,所以将使用第一个归档的时间范围。归档计数从“0”开始。
“>“TimeRange”:禁止时间范围
“BeginTime”:开始时间
“EndTime”:结束时间
C脚本
VBS脚本
此例中,开始时间/结束时间是使用了2个文本变量来做赋值。关于日期时间的格式需要特别注意,这个时间格式不是以控件上所显示的时间格式为准,而是以项目所运行操作系统的时间格式为准。
具体查看时间格式的方法,打开操作系统的“控制面板”,点击“区域和语言选项”,在“区域选项”中点击“自定义”按钮,在“自定义区域选项”中查看“时间格式”(图13)以及“日期格式”(图14)。所赋值的开始时间/结束时间必须按照此格式拼写,请注意小时H/h的大小写(24小时制),以及分隔符的选择。