WinCC如何实现操作员记录——用脚本记录操作信息
2012-04-06 09:17阅读:
WinCC如何实现操作员记录——用脚本记录操作信息[工控老鬼]
对于WinCC
图形编辑器中相应对象的属性中有“操作员输入消息”选项的对象,可选择激活“图形编辑器”中相应对象的“操作员输入消息”属性,以记录对该对象关联变量值的变化,支持该功能的包括以下对象(以
WinCC
V7.0为例):
(1)
I/O
Field
(2)
Test
List
(3)
Combobox
(4)
List
Box
(5)
Option
Group
(6)
Check
Box
那么,如果要对其他对象(如按钮)的操作进行操作记录,该如何处理呢?
对于操作可选图形
WinCC
对象,可以将您自己的操作员消息组态为
C
动作或
VBS
动作。
(1)执行各自的
C
动作作为对操作事件的反应。
例如,在这种情况下,操作事件可以是鼠标单击
WinCC
对象。
使用“报警”功能组中的“GCreateMyOperationMsg”功能组态您自己的操作员输入消息。
(2)执行各自的
VBS
动作作为对操作事件的反应。
例如,在这种情况下,操作事件可以是鼠标单击
WinCC
对象。
使用“HMIRuntime.Alarms”对象组态您自己的操作消息。
这里以C
函数为例介绍一下详细信息:
int
GCreateMyOperationMsg(DWORD
dwFlags,
DWORD
dwMsgNum,
char*
lpszPictureName,
char*
lpszObjectName,
DWORD
dwMyTextID,
double
doValueOld,
double
doValueNew,
char*
pszComment)
参数的简单介绍
dwFlags
FLAG_COMMENT_PARAMETER
0x00000001
为操作员输入消息添加固定的注释,而不会弹出注释输入对话框,此时指向Comment的指针必须为空;在pszComment中添加相应的文本FLAG_COMMENT_DIALOG
0x00000003在对对象进行操作时弹出对话框,在对话框中为其添加注释;
FLAG_TEXTID_PARAMETER
0x00000100
The
text
ID
of
a
text
from
the
TextLibrary
is
provided
as
the
accompanying
process
value
of
the
message.
dwMsgNum
生成的操作员输入消息的消息号,需要预先创建
pszPictureName
需要生成操作员输入消息对象所在的画面
lpszObjectName
在操作员消息生成时,需要在消息中记录的变量。
dwMyTextID
来自文本库的文本ID。用于消息文本的多语言显示。
当'FLAG_TEXTID_PARAMETER'被设置,文本ID通过过程块8被显示出来,来自消息文本文本的基于语言的文本被显示在消息中,为此,必须在消息文本块中输入格式'@8%s@'。
doValueOld
lpszObjectName组态的变量在消息生成之前的数值,注意:函数无法自动计算此数值,需要利用GetTagvalue等函数自己提取。
doValueNew
lpszObjectName组态的变量在消息生成之后的数值,函数无法自动计算此数值,需要利用GetTagvalue等函数自己提取。
pszComment
当FLAG_COMMENT_DIALOG被设置为0x00000001
时,本参数文
本被作为注释直接记录。FLAG_COMMENT_DIALOG被设置为其他参数时,pszComment
可设置为空。
组态步骤:
(1)
要预先创建编号为“11”的报警消息;
消息类别为:系统无需确认;
类型为:操作员输入消息;
在“消息文本”中输入需要显示的报警提示信息;其他参数保持默认值即可。
。
(2)组态按钮的C编程,实现点击按钮完成两个变量值相加,并记录被加变量的旧值与新值:
(3)
可以通过报警空间中的短期归档或长期归档列表查看归档信息:
【工控老鬼】友情分享
自动化专业技术博客:http://blog.sina.com.cn/wincchome
Email:hispeed@foxmail.com
西门子S7200/300/400,人机界面,变频器,运动控制,伺服驱动,WinCC组态监控,自动化系统集成,以及自动化个行业的解决方案。