WinCC Flex Script mit Bit aus S7 Anstoßen

salus

Level-1
Beiträge
1
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo User,
ich möchte gerne ein Script "Copy_Archive" mit steigender Flanke einer Bit-Variablen aus der SPS ausführen. Für die Anweisung in dem Script stehe hier etwas auf dem Schlauch.

Vielen Dank für die Hilfe
 
Du müßtest die Bit-Variable "Zyklisch fortlaufend" lesen und beim Ereignis "Änderung" Dein Script aufrufen. Am Beginn des Scriptes die Variable abfragen, ob die jetzt 1 ist (dann war's die steigende Flanke). Ist die jetzt 0, dann das Script ohne was zu tun gleich wieder verlassen (exit).

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Anstatt ein Bit, nimm ein Zähler. Und inkrementier die Zähler 0, 1, 2, ... 9999, 10000, 0, 1, usw.
Und speicher diese Zähler-Wert zusammen mit die andere Daten.
Dann kan man sehen ob alle Skript-Aufrufe abgefangen werden.
Und man braucht nicht zu testen ob es ein "steigender" Flanke war.
 
ich möchte gerne ein Script "Copy_Archive" mit steigender Flanke einer Bit-Variablen aus der SPS ausführen. Für die Anweisung in dem Script stehe hier etwas auf dem Schlauch.

Eine Variable Trigger vom Datentyp Bool hat als Erfassungsart Zyklisch fortlaufend.

MP370_Variablen_1.jpg

Bei einer Wertänderung der Variablen Trigger von False/True oder True/False wird ein Skript Speicher aufgerufen.

Durch die Abfrage der Bedingung Variable Trigger = True in der ersten Zeile des Skriptes werden die folgenden Anweisungen
im Skript jedoch nur bei einer Wertänderung von False/True ausgeführt

Code:
Dim i
 
If SmartTags("Trigger") = True Then
 
    For i = 3 To 0 Step - 1
 
        SmartTags("Speicher_1")(i + 1) = SmartTags("Speicher_1")(i)
 
        SmartTags("Speicher_2")(i + 1) = SmartTags("Speicher_2")(i)
 
    Next
 
    SmartTags("Speicher_1")(0) = SmartTags("Messwert_1")
 
    SmartTags("Speicher_2")(0) = SmartTags("Messwert_2")
 
End If

MP370_Variablen_2.jpg MP370_Skripte.jpg

Gruß Kai
 
Zurück
Oben