VB for WinCC question
VB for WinCC question
(OP)
Hi there,
I'm relative new to VB, I got a small problem. I'm using WinCC with VBS, it's something like VBA in excel.
I've got one variable called Dummy, this var can contain three conditions namely 1,2 and 4. If it contains 1 then a tekst (Press 3)should be displayed in var Test and so on.
In fact it's a selection of 3 radio buttons, it depends on which button is clicked which tekst should be displayed.
I wrote the following code
Sub OnLButtonDown(ByVal Item, ByVal Flags, By Val x, By Val y)
Dim dummy, Test
Set Dummy = HMIRuntime.Tags(“Dummy”)
Set Test = HMIRuntime.Tags(“Test”)
If Dummy = 1 Then Test = (“Pers3”)
Else
If Dummy = 2 Then Test = (“Pers4”)
Else Test = (“Pers5”)
End IF
End IF
End Sub
What am I doing wrong ?
I'm relative new to VB, I got a small problem. I'm using WinCC with VBS, it's something like VBA in excel.
I've got one variable called Dummy, this var can contain three conditions namely 1,2 and 4. If it contains 1 then a tekst (Press 3)should be displayed in var Test and so on.
In fact it's a selection of 3 radio buttons, it depends on which button is clicked which tekst should be displayed.
I wrote the following code
Sub OnLButtonDown(ByVal Item, ByVal Flags, By Val x, By Val y)
Dim dummy, Test
Set Dummy = HMIRuntime.Tags(“Dummy”)
Set Test = HMIRuntime.Tags(“Test”)
If Dummy = 1 Then Test = (“Pers3”)
Else
If Dummy = 2 Then Test = (“Pers4”)
Else Test = (“Pers5”)
End IF
End IF
End Sub
What am I doing wrong ?
RE: VB for WinCC question
Set Dummy = ...
If Dummy = 1 - Probably causing problem
Maybe something like
Dummy.Value, Dummy.Count, ...?
DimensionalSolutions@Core.com
While I welcome e-mail messages, please post all thread activity in these forums for the benefit of all members.
RE: VB for WinCC question
Perhaps something like
Dim Dummy
Dummy = HMIRuntime.Tags(“Dummy”).value
?
RE: VB for WinCC question
Also, if Test is an object, you'll have to define it using the Set method.
Sub OnLButtonDown(...)
Dim dummy, Test
Set Test = HMIRuntime.Tags(“Test”)
Dummy = HMIRuntime.Tags(“Dummy”).value
If Dummy = 1 Then
Set Test = HMIRuntime.Tags(“Pers3”)
ElseIf Dummy = 2 Then
Set Test = HMIRuntime.Tags(“Pers4”)
Else
Set Test = HMIRuntime.Tags(“Pers5”)
End IF
End Sub
Unfortunately, I don't have WinCC, so I'm just grabbing at straws.
DimensionalSolutions@Core.com
While I welcome e-mail messages, please post all thread activity in these forums for the benefit of all members.
RE: VB for WinCC question
You need to use the .read and .write properties as follows...
Set Dummy = HMIRuntime.Tags(“Dummy”)
Set Test = HMIRuntime.Tags(“Test”)
If Dummy.read = 1 Then Test.write = (“Pers3”)
Else
If Dummy.read = 2 Then Test.write = (“Pers4”)
Else Test.write = (“Pers5”)
End IF
End IF
End Sub
I hope that this gets you away.
Regards
Dean