技术论坛

来自西门子技术支持热线的故事:画面窗口中对象属性修改的问题

作者 主题
官方工程师
西门子官方工程师

经验值: 906
发帖数: 128
精华帖: 9
主题:来自西门子技术支持热线的故事:画面窗口中对象属性修改的问题


只看楼主 楼主 2012-07-31 16:52:03
近日遇到一个 WinCC 画面窗口的问题,客户称被其弄晕了。怎么访问指定画面中的对象?有没有简单的方法?对此,总结了如下关于画面窗口中对象的访问示例,以期说明画面窗口的简单使用方法。
如下图所示,在画面 start 中有两个画面窗口 picwin1 和 picwin2,它们都关联到 NewPdl0 画面上。在 NewPdl0 中放置了一个矩形对象 Rectangle1。



如果要在start画面中单击按钮“set color”来修改picwin1或者picwin2中的 NewPdl0 中的矩形框Rectangle1的属性,那么该怎么写脚本?
正确的写法是:
访问 picwin1 中的 NewPdl0 中的 Rectangle1 的代码为:
SetPropWord("start.picwin1:NewPdl0","Rectangle1","BackColor",1000);
访问 picwin2 中的 NewPdl0 中的 Rectangle1 的代码为:
SetPropWord("start.picwin2:NewPdl0","Rectangle1","BackColor",1000);
如果直接写 SetPropWord("NewPdl0","Rectangle1","BackColor",1000);,结果会怎样呢?
结果是仅 picwin1 中的 NewPdl0 中的 Rectangle1 的属性被修改了,而 picwin2 中的 NewPdl0 中的 Rectangle1 的属性是不会被修改的。
所以,要修改画面窗口中的对象的属性值时,必须先确定对象所在画面的名称。



如上图所示,是画面窗口的多重嵌套示例。NewPdl0 中有一个画面窗口 PicWin1,PicWin1 关联画面NewPdl1,NewPdl1 中有一个画面窗口 PicWin2,PicWin2 关联到画面 NewPdl2。如果想设置 NewPdl2 中的对象属性时,必须使用画面名称:NewPdl0.PicWin1:NewPdl1.PicWin2:NewPdl2。
 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1009926&b_id=5&s_id=0&num=5

游士

经验值: 185
发帖数: 48
精华帖: 1
回复:画面窗口中对象属性修改的问题


只看楼主 1楼 2012-08-08 15:07:40
学习了,多谢
 
以下网友喜欢您的帖子:

  
至圣

经验值: 14834
发帖数: 666
精华帖: 0
回复:画面窗口中对象属性修改的问题


只看楼主 2楼 2012-08-13 08:51:01
学习了, 谢谢!
相信自己可以适应一切
以下网友喜欢您的帖子:

  
oYo
游侠

经验值: 498
发帖数: 295
精华帖: 0
回复:来自西门子技术支持热线的故事:画面窗口中对象属性修改的问题


只看楼主 3楼 2012-08-29 09:54:56
对初学者比较复杂
OK, do it !
以下网友喜欢您的帖子:

  
游士

经验值: 151
发帖数: 15
精华帖: 0
回复:来自西门子技术支持热线的故事:画面窗口中对象属性修改的问题


只看楼主 4楼 2012-08-30 08:38:42
多谢分享,不错。
 
以下网友喜欢您的帖子:

  
侠圣

经验值: 3578
发帖数: 614
精华帖: 0
回复:来自西门子技术支持热线的故事:画面窗口中对象属性修改的问题


只看楼主 5楼 2012-10-26 09:26:42
实验一把!!!!
简单的重复就能完成复杂的任务!
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
来自西门子技术支持热线的故事:画面窗口中对象属性修改的问题
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。