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