各位大侠,最近在用WINCC7.4做一个项目,采用建立结构变量,用前缀名区分的方式打开操作界面,想利用报警控件来做操作界面内启动按钮和停止按钮的操作记录。操作记录需要显示操作的用户、操作设备名称(名称为前缀)、操作动作等信息。从帮助文件中找到一段VB程序如下:
Dim MyAlarm
Set MyAlarm = HMIRuntime.Alarms(100)
MyAlarm.State = 5
MyAlarm.Comment = "a"
MyAlarm.UserName = "@CurrentUserName"
MyAlarm.ProcessValues(3) = "设备名前缀"
MyAlarm.ProcessValues(4) = "启动"
MyAlarm.Create "MyApplication"
但是有几个问题,
第一:消息生成只能1次,当操作第一个电机的时候生成报警消息号100,操作第二个电机的时候无法生成报警消息;
第二:当前用户名无法显示,按照上面的写法,报警消息用户名一栏就是文本@ currentusername
第三:设备名出如何才能实现写入设备前缀名。
忘各位大侠能给与帮助,或者提供一个vb编程的思路
问题补充:
我第一次是用的hmiruntime.tag("@currentusername").read想来读取用户名的值,但是这段语句应该就不执行了,表象就是报警消息生成都不了
最佳答案
参考:
WinCC V7中如何生成操作员的操作记录
https://support.industry.siemens.com/cs/cn/zh/view/77467626
在 WinCC 中如何生成用户自定义操作员输入消息?
https://support.industry.siemens.com/cs/cn/zh/view/24325381
或者使用用户归档的方式参考:
基于用户归档的操作记录
http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1312274&b_id=80
再补充一下:
刚发现带有带前缀几个字,您可以先获取一下当前画面的前缀,然后根据前缀不同,生成不同的文本就好了,如果前缀有规律的话,那可以使用for循环,然后生成的文本也有规律就好了
补充:
可以使用@NOTP取消变量前缀功能,参考:
如何使用结构变量组态画面模板?
https://support.industry.siemens.com/cs/cn/zh/view/78683234
14页的说明
提问者对于答案的评价:
虽然还没有解决,不过谢谢各位了。我自己再根据各位大侠给的资料研究一下
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc361542.html