WinCC如何实现操作员记录
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 pro vided 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) 可以通过报警空间中的短期归档或长期归档列表查看归档信息: