请教大家两个WINCC的C脚本问题?

1.怎么访问pictureA中弹窗B中弹窗C中的变量前缀的赋值?我用SetProproperty访问不了,请问用什么办法?
2.SetPropChar函数中lpszPictureName和LPCTSTR lpszPictureName中的LPCTSTR是什么意思?
3.什么是base picture、pictrue window?VB中的Screen和C中的Picture有什么区别?为什么会有这种区别的?
非常感谢!

最佳答案

1、
设置画面窗口变量前缀TagPrefix属性
C示例脚本:
SetPropChar("pictureA.弹窗B:PICTURE NAME","弹窗C","TagPrefix","xxxxx");
其中,PICTURE NAME为画面窗口弹窗B的画面名称
vbs示例脚本:
Dim objpw
Set objpw = HMIRuntime.Screens("弹窗B.弹窗C")
objpw.TagPrefix = ".xxxxx"
 
HMIRuntime.Screens("弹窗B.弹窗C")也可以写成HMIRuntime.Screens("pictureA.弹窗B:PICTURE NAME.弹窗C")
 
访问弹窗C中某个对象xxxxxx:HMIRuntime.Screens("弹窗B.弹窗C").ScreenItems("xxxxxx")
HMIRuntime对象表示HMI运行时环境
 
相关内容参考WINCC帮助:使用 WinCC——用于创建过程和动作的 VBS/ANSI-C
 
2、
lpszPictureName为画面名,字符串类型LPCTSTR 
 
3、
base picture及基画面,属性为BaseScreenName
如打开画面NewImage.pdl
C脚本:
OpenPicture("NewImage.pdl");
VBS脚本:
HMIRuntime.BaseScreenName="NewImage"
Screens、lpszPictureName比较:lpszPictureName访问画面其中画面名称不能省略;Screens是HMIRuntime中对象,访问画面其中画面名称可以省略

提问者对于答案的评价:
谢谢!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc311225.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日 下午2:50
下一篇 2020年11月1日 下午2:50

相关推荐