在使用wincc的IO域或文本域这类的控件是自带操作记录的,可以通过控件属性-其他-操作员消息,把这个属性修改为是,在运行时修改数组则会自动创建一条操作记录。
这是最常用的一个创建操作记录的方案。但这种方案还是有一点弊端的,那就是创建的操作记录中只有变量名,这些变量名对于我们工程师还好,但对于操作员可就有可能不太友好了。
最近研究出一个方案,可以解决这个问题。主要思路就是:通过读取控件所连接的变量名,然后通过这个变量名创建一条筛选,这样就可以在不知道变量名的前提下就直接查询到操作记录。操作员只需要点击需要查询的控件操作,然后去消息记录界面勾选筛选即可。
实现此功能主要时通过修改wincc的项目文件夹中的“MELD”文件夹中一个“CCAlarmFilterStorage.xml”文件,这个文件是报警筛选的XML文件,通过修改这个文件可直接新建或修改一个筛选。
下面是大致的实现步骤:
1.通过C脚本中的“GetLink”读取控件所连接的变量名,然后将读取的变量名写入到控件的用户数据中。
2.使用VBS脚本修改“CCAlarmFilterStorage.xml”文件夹。这里我已经将修改XML文件的脚本进行了封装。
3.运行wincc后手动创建一个筛选,因为“CCAlarmFilterStorage.xml”这个文件默认不生成,只有在创建筛选后才会自动创建。
下面是封装的XML修改脚本: