VBA in WINCCflex2005

Tobias135

Level-1
Beiträge
28
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo vielleicht kann mir jeamand helfen. Will in WinCC folgende Funktion in ein VBA Script schreiben.

Ich habe 20 Variablen wenn zwei davon egal welche true sind soll eine aktion ausgeführt werden.
und wenn 3 Variablen true sind soll eine andere Aktion ausgeführt werden
könnt ihr mir helfen danke schon im voraus
mfg Tobias
 
mit den Skripten ist das so eine Sache. Die werden immer nur mit einer aktion ausgeführt. z.B. Tasten druck oder Bildwechsel.....

wenn du aber ein skript immer ausführen willst z.B. alle 0,5 sec wird das net so einfach.

Du kannst auch eine endlos schleife benutzen aber dann werden ander skripte nicht mehr bearbeitet.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
das kann so z.B. aussehen
das skript kannst du z.b. beim aktivieren das Bilds aufrufen. Aber wie gasagt andere Skripte werden nicht mehr bearbeitet, erst wenn das skipt beendet ist kann ein anderes Skript aktiviert werden.

Do while Automatik=1
Dim zahl
Zahl=0
If smarttags(“Var1“) = 1 then
zahl = zahl +1
end if
If smarttags(“Var2“) = 1 then
zahl = zahl +1
end if
If smarttags(“Var3“) = 1 then
zahl = zahl +1
end if
.......

If zahl = 2 then
Aktion1
end if

If zahl > 2 then
Aktion2
end if
loop
 
Kannst Du die Auswertung der Variablen nicht in der SPS erledigen? Da wäre die ganze Sache einfacher.

Gruß

Holger
 
ne leider nicht da das SPS Programm bereits betsteht und so wenig wie möglich daran geändert werden sollte. Was ja eigentlich auch keinen sinn macht den es geht ja um die HMI und für die HMI ist eben WinCC zuständig
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
hier mal einige Varianten zum starten des Skriptes:
1. Bei jeder deiner 20 Variablen bei Wertänderung -->Skript starten eintragen.
2. Bit des Taktmerkerbytes als Variable in WINCC flex. einfügen und bei Wertänderung Skript starten. 0,5 bis 10 Hz sind möglich...
3 Geräteeinstellungen---> Aufgabenplaner--> Skript als zeitgesteuerte Aufgabe planen. Nachteil, kleinste Zeit ist 1 min...
Gruß
 
Wozu denn einen taktgeber ???

Immer wenn eine deiner Variablen sich ändert, dann das Script starten,
wenn dann 2 gleich sind -> Aktion...
So hast du kein Polling oder sowas, sondern nur wenn dein Skript gebraucht wird, wird es auch durchlaufen....
 
Zurück
Oben