VB - Skript

tarzipan7

Level-2
Beiträge
101
Reaktionspunkte
0
Hallo, erste Gehversuche im VB. Kann mir jemand sagen wo hier der Fehler liegt:

Dim Force(8)
Dim objBorder
Dim I
Dim Count
Dim ForceOn

Set objBorder = ScreenItems("AI000.")

Set ForceOn = HMIRuntime.Tags("BINi_ForceOnAI000")
Set Force(0) = HMIRuntime.Tags("AI000.AI_Force00")
Set Force(1) = HMIRuntime.Tags("AI000.AI_Force01")
Set Force(2) = HMIRuntime.Tags("AI000.AI_Force02")
Set Force(3) = HMIRuntime.Tags("AI000.AI_Force03")
Set Force(4) = HMIRuntime.Tags("AI000.AI_Force04")
Set Force(5) = HMIRuntime.Tags("AI000.AI_Force05")
Set Force(6) = HMIRuntime.Tags("AI000.AI_Force06")
Set Force(7) = HMIRuntime.Tags("AI000.AI_Force07")

ForceOn.Read

For I = 0 To 10
Force(I).READ
Next

Count = 0
ForceOn = 0
objBorder.BorderColorTop = vbWhite

Do While Count < 8
If Force(Count) > 0 Then
objBorder.BorderColorTop = vbRed
ForceOn = 1
Exit Do
Count = Count + 1
End If
Loop

ForceOn.Write

Möchte einen Farbwechsel auf dem Button aber funzt nicht.
Danke
 
Hallo.

Liegt wahrscheinlich an deinem Versuch mit der Schleifenvariablen auf das Feld zuzugreifen. Hatte das auch schon.
So wie man das in C oder in normalem VB machen kann, gehts leider nicht.

Du kannst z.B. so was in der Art machen

Dim Feld,Platz,Tag,i
Redim Feld(5)
For i=1 to 5
Platz="" & i
Tag="Variable" & i
Set Feld(Platz)=HMIRuntime.Tags(Tag)
Next

In die Variable Platz wird somit 1-5 geschrieben und in das Feld wird von 1-5 der Wert von deinem Tag 1-5 geschrieben.
 
habs geschafft

hallo
vielen dank für den typ. die schleife hat geklappt wie ich sie beschrieben habe.
musste für die variablen noch die (.value) eigenschaft setzen, jetzt funzt es

gruss
 
Für die Nutzung dieser Website sind Cookies erforderlich. Du musst diese akzeptieren, um die Website weiter nutzen zu können. Erfahre mehr…