VB - Skript

tarzipan7

Level-2
Beiträge
96
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
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.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
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
 
Zurück
Oben