回复:WINCC画面切换功能求助

Zaxife

  • 帖子

    2450
  • 精华

    31
  • 被关注

    78

论坛等级:至圣

注册时间:2008-07-24

普通 普通 如何晋级?

发布于 2010-05-21 18:24:55

16楼

Dim NowNum
Dim TagPrefix

On Error Resume Next '遇到错误自动跳转到下一行,防止画面其他的脚步被卡死

NowNum = HMIRuntime.Tags("NowPictureNum").Read '读取内存变量值

If (nownum < 1)Or (nownum >20) Then '容错处理
HMIRuntime.Tags("NowPictureNum").Write 1
NowNum = 1
End If

TagPrefix = "AHU" & NowNum
ScreenItems("Mod").TagPrefix = TagPrefix '定义画面上的画面窗口[Mod]的变量前缀为AHU1~AHU20

Select Case NowNum
Case 1,2,3,4,5,8 '当内存变量值为1~5,8 时[Mod]的画面名称为AHUMod01
ScreenItems("Mod").ScreenName = "AHUMod01"
Case 10 '当内存变量值为10 时[Mod]的画面名称为AHUMod02
ScreenItems("Mod").ScreenName = "AHUMod02"
Case 6,7,11,12 '当内存变量值为6,7,11,12时[Mod]的画面名称为AHUMod03
ScreenItems("Mod").ScreenName = "AHUMod03"
Case 13,14
ScreenItems("Mod").ScreenName = "AHUMod04"
Case 15,16,17,18
ScreenItems("Mod").ScreenName = "AHUMod05"
Case Else '当内存变量值不为上述值时[Mod]的画面名称为AHUMod06
ScreenItems("Mod").ScreenName = "AHUMod06"
End Select

代码的作用就是:
把当前画面上,名称为[Mod]的画面窗口控件的变量前缀根据内存变量NowPictureNum的值赋值为"AHU1"~"AHU12",把画面名称
赋值为"AHUMod01"~"AHUMod06"。

也就是你说的,通过改变内存变量NowPictureNum的值,从而使[Mod]调用不同的模版"AHUMod01"~"AHUMod06"。

上面的代码是WinCC的VBS代码,希望你看得懂吧。
要使用上面的代码,先在窗口拖放一个[矩形]控件,并且把[矩形]控件的"激活闪烁背景"属性设置为'是',再到[矩形]控件的"其他"-"对象改变"事件里面添加上述的VBS脚本。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32564条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。