首页 上一页 1 2 3 下一页 尾页

Wincc7.0画面编辑技巧(一) 点击:10933 | 回复:42



tyfeixian

    
  • 精华:4帖
  • 求助:2帖
  • 帖子:14帖 | 50回
  • 年度积分:27
  • 历史总积分:1276
  • 注册:2006年8月02日
发表于:2015-11-16 14:13:31
楼主

使用wincc做弹框,一般的做法是做N多的子画面,再使用窗口画面显示。如果数量少的话还好说,如果数量特别的多,那么如果要修改起来就特别的麻烦(尤其是同一类的弹框)。

做弹框也有用结构变量做的。个人没有研究,我使用了下面的这一种方法,感觉比较方便。

一、建立中间变量,弹窗中需要显示几个就建立几个变量,我这里需要3个8位无符号变量)如图:

三个变量分别对应value_Temp_1对应阀门的开关动作,value_Temp_2对应阀门开反馈,value_Temp_3对应阀门关反馈。

二、画面如下图:右上角的三个输入输出域连接三个变量,同时设置为隐藏。属性设置如下:

开启关闭按钮直接连接变量。

三、在主画面添加一个窗口画面控件,记住控件名,设置为可移动其他不需要设置。

四、在需要控制的画面图形文件上打开属性,  --》事件--》鼠标--》释放左键--》C动作。插入下列代码:

图片一的代码的主要作用是:读取鼠标当前的位置,并赋值给窗口画面,同时判断鼠标在最右边或最下面是将画面窗口偏移一段距离,不要显示到画面外面去。

图片二的代码的主要作用就是我们需要的内容:

setpropchar  弹框标题显示的文字是什么

settext   子画面中静态文本需要显示的内容,图示中一行显示位号,一行显示中文描述

SetTagChar  关键的地点,将子画面中的中间变量替换为实际变量,图示中的“Value_Temp_1"为第一步中建立的中间变量,“A01_valve"是建立的过程连接变量。


五、代码复制

POINT myPoint; 

GetCursorPos(&myPoint);

printf("%d/%d\r\n", myPoint.x, myPoint.y); 

SetLeft("工艺图.pdl","画面窗口3",myPoint.x );

SetTop("工艺图.pdl","画面窗口3",myPoint.y);

SetVisible("工艺图.pdl","画面窗口3",TRUE); //Return-Type: BOOL 

SetText("设置.pdl","静态文本1","我爱你"); //Return-Type: BOOL 


SetTagChar("Empty1_1","I11FC"); //Return-Type: BOOL 

SetTagChar("Empty1_2","I11FC_H"); //Return-Type: BOOL 

SetTagChar("Empty1_3","I11FC_L"); //Return-Type: BOOL 

SetTagChar("Empty1_4","I11FC_HA"); //Return-Type: BOOL 

SetTagChar("Empty1_5","I11FC_LA"); //Return-Type: BOOL 



以上方法在实际应用中实现。



楼主最近还看过



wyl2026

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 12回
  • 年度积分:92
  • 历史总积分:92
  • 注册:2026年1月27日
发表于:2026-01-28 09:49:41
41楼

感谢楼主

回复本条

    

许增雄

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:50
  • 注册:2022年8月27日
发表于:2026-02-06 16:42:55
42楼

感谢楼主分享

回复本条

    

热门招聘
相关主题

官方公众号

智造工程师
    
    首页 上一页 1 2 3 下一页 尾页