Set contral = HMIRuntime.Screens("").ScreenItems("控件3")

Set contral = HMIRuntime.Screens("").ScreenItems("控件3")
 contral.Index = 0
 contral.ItemVisible = False

 用上面的函数来实现趋势的显示和隐藏。在一个画面里组态好运行后。可以实现这个功能。

 但是我的项目是框架式的。。每次运行都是用一个总的画面窗口来调用这个趋势画面。。可是为什么在调用的时候。*作不管用呢。(相应设置的中间变量也是变化的)、就是到了趋势控件上不变!!
 难道这个函数只能实在本画面*作吗?
 

问题补充:
Sub OnClick(Byval Item)      

 
 '-------------------------------------------
 Dim contral
 Dim tag1
 Set tag1 = HMIRuntime.Tags("button")
 tag1.Read
 If tag1.Value = 1 Then tag1.Value = 0 Else tag1.Value = 1
 tag1.write

 Dim tag2
 Set tag2 = HMIRuntime.Tags("canshu_1")
 tag2.Read

 Select Case tag2.value
  Case 1
   Select Case tag1.value
    Case 1
     Set contral = HMIRuntime.Screens("").ScreenItems("控件3")
     contral.Index = 0
     contral.ItemVisible = False
    Case 0
     Set contral = HMIRuntime.Screens("").ScreenItems("控件3")
      contral.Index = 0
      contral.ItemVisible =True
    End Select 
  Case 2
   Select Case tag1.value
    Case 1
     Set contral = HMIRuntime.Screens("").ScreenItems("控件3")
      contral.Index = 1
      contral.ItemVisible =False
    Case 0
     Set contral = HMIRuntime.Screens("").ScreenItems("控件3")
      contral.Index = 1
      contral.ItemVisible =True
    End Select 
 End Select
 End Sub

最佳答案

HMIRuntime.Screens("")获取的是主画面对象。

 1、如果你的脚本跟趋势控件在一块,请使用:
 Set contral = ScreenItems("控件3")
 2、如果脚本在总画面,那么获取画面窗口中的趋势控件,使用如下脚本:
 Set contral = HMIRuntime.Screens("主画面.画面窗口名:子画面名").ScreenItems("控件3")
 注:画面名称不要使用".pdl"

提问者对于答案的评价:
谢谢两位了。。。。、听您这么一说更清楚了。。

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

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午8:25
下一篇 2019年6月11日 上午8:26

相关推荐