TIA Skript Bit Ein/Aus

Outrider

Level-1
Beiträge
745
Reaktionspunkte
5
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin, habe folgendes probiert

Sub Skript_Reset()
SmartTags("DB5000 - HMI - GlobalParameter_Steuerbits_HMI_SPS1.HMI->SPS - Meterzähler Reset") = True
SmartTags("DB5000 - HMI - GlobalParameter_Steuerbits_HMI_SPS1.HMI->SPS - Meterzähler Reset") = False
End Sub

Es soll über einen Knopfdruck im HMI ein Bit gesetzt und wieder zurückgesetzt werden.
Wenn ich den Softkey betätige wird das obere Skript ausgeführt.

Leider geht das alles sehr schnell, ich kann die Bitänderung nicht beobachten, so dass ich dann hinter das Bit welches durch das Skript gesetzt werden soll einen SA Timer gesetzt habe.
Der Timer wird nicht immer aktiviert. Für mich heißt das, dass das Bit nicht immer auf das Skript reagiert !

Gibt es da irgendwelche Synchronisierungsproblem, Zeitverzögerungen etc. was man bedenken muss ?
Wäre nicht schön wenn man hinter solche Bitabfragen irgendwelche Signalverlängernden Maßnahmen ergreifen müsste
Gruß
 
Ja, im SPS Programm unter der Stelle, wo du den Reset verarbeitest. Warum muss es mit Skript gelöst werden.
Wäre nicht SetzeBitWährendTasteGedrückt besser?
 
DeltaMikeAir hat recht. Für sowas nimmt man eigentlich die Funktion SetzeBitWährendTasteGedrückt. In deiner Steuerung kannst du dann das Bit abfragen und deinen Meterzähler zurücksetzen.

Oder du machst es wie Thomas vorgeschlagen hast. Im HMI verwendest du die Funktion SetzeBit. Dieses Bit fragst du in deiner Steuerung ab. Wird es true setzt du deinen Meterzähler auf Null und das Bit aus false.

Wieso wolltest du das über ein Script machen? Hat das irgendeinen besonderen Grund?
Bei der Geschwindigkeit deines Panels und der vermutlichen Aktualisierungszeit deiner Variablen von 1s, wird das Bit bzw. die logische 1 so gut wie nie in der SPS "ankommen".
 
Moin, habe es so gelöst, wie Thomas v2.1 es vorgeschlagen hat.
Funktioniert ! Danke !
Der Grund lag darin , dass ich eine Liste aufgebaut habe wo sich die Lauflängen einzelner Fehler im Material befinden. Nun soll der Hauptmeterzähler nicht sofort gelöscht werden, sonder es erfolgt noch eine Abfrage ob man sich diese Liste notiert hat usw.
Danke nochmals !
 
Zurück
Oben