加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

64.Wincc V7.3操作员记录生成方法3- C脚本记录按钮控件的操作员记录

(2016-05-14 11:53:59)
标签:

wincc

按钮

操作记录

c脚本

分类: 西门子软硬件

      前面博客介绍的是输入输出域等控件通过设置“操作员消息”属性为“是”从而在报警空间中做操作记录,但并非所有Wincc控件有这个属性,比如按钮。按钮是Wincc中使用率非常高的控件,这个控件经常用作重要操作,我们也非常希望可以知道什么时间点击过这个按钮,本文通过c脚本介绍如何实现按钮的操作记录。

      在画面上放置一个按钮,名字修改成btn1,假设这个按钮的作用是“启动水泵”,那么我们在按钮的鼠标点击事件中加入c脚本(本例重点介绍如何记录操作员消息,启动水泵功能不在本例讨论范围)。

int ret;
ret=GCreateMyOperationMsg(1,1100,lpszPictureName,lpszObjectName,83,0,1,"操作员按下了btn1按钮"); 

 

这里面使用了一个wincc自带的函数GCreateMyOperationMsg,这个函数放置在“标准函数”-“Alarm”函数组里面。它的定义是这样子的:

int GCreateMyOperationMsg( DWORD dwFlags, DWORD dwMsgNum, char* lpszPictureName, char* lpszObjectName, DWORD dwMyTextID, double doValueOld, double doValueNew, char* pszComment)

它的参数如下:

dwFlags  这个参数有3种数值:数值为1表示“操作员输入”(也即是点击按钮这个动作)添加固定的注释,而不会在运行时点击按钮弹出一个对话框让操作员输入注释,这个可以省去麻烦,本例使用的就是这个方法;数值为3表示运行的时候点击按钮会弹出对话框让操作员输入注释,不推荐这样;数值为100表示使用dwMyTextID指定的文本快中的文本。

dwMsgNum 操作员输入信息的消息号,需要预先创建。在变量记录-消息表格中,添加一个未使用的消息号,这个例子输入的是1100,消息等级为“系统,无确认”,消息类型为“操作员输入信息”,消息文本为“操作员启动水泵”,其他默认设置。

lpszPictureName 为要引用操作员消息的画面,因为本例就是在当前画面,所以不需要设置,使用默认即可。

lpszObjectName 为引用操作员消息的控件,因为本例就是在当前控件的事件中写脚本,使用默认名称即可。

dwMyTextID 文本库的ID,为消息文本的多语言显示,如果不是那种需要多语言切换的项目,不需要实际设置文本库的其他语言文本。打开文本库,记下该按钮的号码抄过来就是了。

doValueOld和doValueNew 为按钮事件的新值和旧数值,本例设置的是1和0,这个数字可以随便设置。实际使用时,如果勾选了显示“过程值2”和“过程值3”,将显示旧值和新值。

pszComment 为预设值的注释。

 

保存之后运行,当点击按钮之后,再通过报警控件的短期归档或者长期归档,就可以查询到按钮操作记录了。

64.Wincc <wbr>V7.3操作员记录生成方法3- <wbr>C脚本记录按钮控件的操作员记录


 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有