技术论坛

wincc 窗口画面弹窗

作者 主题
游民

经验值: 58
发帖数: 4
精华帖: 0
主题:【求助】wincc 窗口画面弹窗


只看楼主 楼主 2022-12-10 16:29:12

小白求助, 嵌套多层窗口画面,点击按钮的弹窗要让它出现在上一层窗口画面或上上层里,求一个简单明了的c脚本




 
以下网友喜欢您的帖子:

  
重要声明:

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

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

版主

经验值: 69053
发帖数: 12266
精华帖: 59
回复:wincc 窗口画面弹窗


只看楼主 1楼 2022-12-10 22:28:15

啥意思

点击按钮了,让啥出现在画面窗口1里面还是出现在低层里面?

你的意思让按钮的位置改变还是啥,有点没看明白呢,不好意思



Q群:https://jq.qq.com/?k=9BDuEgf6
以下网友喜欢您的帖子:

  
版主

经验值: 43587
发帖数: 15780
精华帖: 61
回复:wincc 窗口画面弹窗


只看楼主 2楼 2022-12-11 11:39:11

定义一个wincc的内部bool'变量dis,你需要现实的那个窗口的显示属性连接这个变量,为1显示,为0不显示,按钮直接给dis赋值1,显示的画面中做一个关闭按钮,按钮给dis赋值0,就可以了。


活到老,学到老!为了生活学习吧!
以下网友喜欢您的帖子:

  
版主

经验值: 69053
发帖数: 12266
精华帖: 59
回复:wincc 窗口画面弹窗


只看楼主 3楼 2022-12-11 11:47:39

C脚本简单的呀,没有什么层次结构

如果你要显示的对象在画面窗口1里面,画面窗口1的名字是a.pdl,对象名字是b

那脚本就是:SetVisible("a.pdl",b,true);

这样就行了

直接找那个对象所在的画面的名字就行了


Q群:https://jq.qq.com/?k=9BDuEgf6
以下网友喜欢您的帖子:

  
游民

经验值: 58
发帖数: 4
精华帖: 0
回复:wincc 窗口画面弹窗


只看楼主 楼主 4楼 2022-12-12 14:11:04

谢谢楼上老师解答,画面弹出问题已解决,又出现新问题,想通过变量改变变量前缀,程序看了好多遍没看出问题,求解答。

可以确定aa 是有值的。aa为所在控件1所在窗口的前缀变量

''窗口变量前缀''这个变量是16位文本类型


 
以下网友喜欢您的帖子:

  
版主

经验值: 69053
发帖数: 12266
精华帖: 59
回复:wincc 窗口画面弹窗


只看楼主 5楼 2022-12-12 23:07:32

在设置变量前缀之前,先把画面的visible设置为false,变量前缀改完之后,先设置成true


需要刷新一下画面的


Q群:https://jq.qq.com/?k=9BDuEgf6
以下网友喜欢您的帖子:

  
游民

经验值: 58
发帖数: 4
精华帖: 0
回复:wincc 窗口画面弹窗


只看楼主 楼主 6楼 2022-12-13 08:54:27



变量绑定的不对?




 
以下网友喜欢您的帖子:

  
版主

经验值: 69053
发帖数: 12266
精华帖: 59
回复:wincc 窗口画面弹窗


只看楼主 7楼 2022-12-13 09:33:20

变量前缀那里不是选模拟量

选直接

或者在动态的位置,右键直接选择对应的变量,然后在右侧改一下更新周期就好了


Q群:https://jq.qq.com/?k=9BDuEgf6
以下网友喜欢您的帖子:

  
至圣

经验值: 28599
发帖数: 10824
精华帖: 131
回复:wincc 窗口画面弹窗


只看楼主 8楼 2022-12-14 11:41:50

这个问题用VBS做起来比较容易实现。 

在我的书《西门子WINCC从入门到精通》的P135页有讲过。 


至于C脚本,也有实现的方法,在PCS7和BST例子中都有现成的脚本可以参考。 


建议不要自己从头造轮子。 花点时间去找到程序读懂直接使用效果要好多了。 


我只是当初写书的时候忘记了在C脚本里面也把这个问题顺便写在书里就好了。 


C脚本的关键核心在于有一个不知何出处的函数:GetParentPicture

可以获得父窗口的句柄,并因此不断向上可以获得各级父窗口内的所有需要的控件的属性信息。 

比如:

strcpy(Name,GetPropChar(GetParentPicture(lpszPictureName),GetParentPictureWindow(lpszPictureName),"TagPrefix")); //Return-Type: char* 


微信公众号:PLC标准化编程,ZHO6371995
以下网友喜欢您的帖子:

  
游士

经验值: 237
发帖数: 2
精华帖: 0
回复:wincc 窗口画面弹窗


只看楼主 9楼 2022-12-15 13:30:03

搞定了吗?怎么解决的


 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
wincc 窗口画面弹窗
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。