TIA Rücksetzen eines Bits nach Bildwechsel und abgelaufener Zeit

Bonsai-San

Active member
Beiträge
33
Punkte Reaktionen
0
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo zusammen,

ich möchte gerne ein Bit automatisch nach Ablauf einer Zeit zurücksetzen.
Diese soll alles innerhalb des TP passieren, also unabhängig von der Steuerung.

Dieses Bit soll durch einen Bildwechsel gesetzt werden, das ist kein Problem und funktioniert.
Nun soll beim Bildwechsel ein Script gestartet werden, das nach ablauf von 3sek eben dieses Bit wieder zurücksetzt,
Da ich im Bereich VB-Script blutiger Anfänger bin komme ich nicht wirklich weiter.
Das ganze soll auf einem TP700C bzw 1200C 1500C lauffähig sein.

Über ein paar Tipps würde ich mich freuen.

Gruß
Sascha
 

PN/DP

User des Jahres 2011-2013; 2015-2017; 2020-2021
Beiträge
18.292
Punkte Reaktionen
5.429
Siehe z.B. hier:
Wartepausen in VBS Skript

Beispiele für Wartepausen in VBS Skript
(Da müsstest Du die COLOR-Tags entfernen, das neue Forum stellt die leider nicht mehr dar)

PS: Das ist meistens keine gute Idee, für mehrere Sekunden die Skript-Engine mit einem wartenden Skript zu blockieren.

Harald
 
OP
B

Bonsai-San

Active member
Beiträge
33
Punkte Reaktionen
0
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo Harald,
danke für das Beispiel, dein Hinweis mit der Wartezeit hat mich aber auf eine andere Idee gebracht..
Ich nutze einfach den Button zum Seitenwechsel zum Steuern des Bits...
Drücken setze Bit, loslassen, Rücksetze bit, in der Simulation funktioniert es... ob es später im Realen auch geht muss sich dann beweisen.

Trotzdem Danke !!
 

Larry Laffer

Supermoderator
Teammitglied
Beiträge
13.140
Punkte Reaktionen
2.737
Als Alternative zu einem Script, was wartet könntest du eines machen, das zyklisch aufgerufen wird und in dem eine Variable, wenn größer 0, zurückgezählt wird. Wird die Variable (das kann eine interne Visu-Variable sein) auf 0 decrementiert dann führst du den passenden Bildwechsel aus. Beim Wechsel auf das von dir genannte Bild setzt du diese Variable auf den entsprechenden Wert.
Da die Visu als internes Intervall soweit ich weiß nur Minuten kann könntest du zum triggern des Scriptes eines der Takt-Bits (z.B. Sekunden-Takt) der SPS nehmen.
 

PN/DP

User des Jahres 2011-2013; 2015-2017; 2020-2021
Beiträge
18.292
Punkte Reaktionen
5.429
ich möchte gerne ein Bit automatisch nach Ablauf einer Zeit zurücksetzen.
Diese soll alles innerhalb des TP passieren, also unabhängig von der Steuerung.
Ich nutze einfach den Button zum Seitenwechsel zum Steuern des Bits...
Drücken setze Bit, loslassen, Rücksetze bit
Dann ist das Bit vielleicht nur 100 ms gesetzt anstatt 3 s.
Warum setzt Du das Bit, was soll es bewirken? Warum musst Du das Bit wieder rücksetzen?

Harald
 
OP
B

Bonsai-San

Active member
Beiträge
33
Punkte Reaktionen
0
Zuviel Werbung?
->Hier kostenlos registrieren
Wir setzen die TP zur Steuerung von Förderanlagen ein.
Ich habe je Förderelement ein internes Bit (Bildbaustein) welches bei Anwahl des Förderelementes aktiv ist und bei abwahl deaktiviert wird.
Jetzt soll es natürlich so sein, das beim verlassen der Seite, alle aktiven Anwahlbits zurückgesetzt werden.

Sascha
 
OP
B

Bonsai-San

Active member
Beiträge
33
Punkte Reaktionen
0
@hucki
Da hab ich aber glaube ich das Problem, das die Bildbausteine nicht mehr bearbeitet werden, wenn ich die Seite gewechselt habe
 
Zuletzt bearbeitet:

hucki

User des Jahres 2014
Beiträge
5.712
Punkte Reaktionen
1.723
Zuviel Werbung?
->Hier kostenlos registrieren
@huki
Da hab ich aber glaube ich das Problem, das die Bildbausteine nicht mehr bearbeitet werden, wenn ich die Seite gewechselt habe
Kann ich nicht genau sagen, da ich (bis dato) keine Bildbausteine nutze.

Prinzipiell wird die Funktionsliste aber (unmittelbar) vor Verlassen der Seite ausgeführt (nicht erst danach!), so dass für die Visu noch alle auf der zu verlassenden Seite vorhandenen Elemente "normal" verfügbar sind.
Es werden nur keine neuen Benutzereingaben mehr zwischen Abarbeitung Funktionsliste und Verlassen der Seite zugelassen.
 

hucki

User des Jahres 2014
Beiträge
5.712
Punkte Reaktionen
1.723
Da die Visu als internes Intervall soweit ich weiß nur Minuten kann könntest du zum triggern des Scriptes eines der Takt-Bits (z.B. Sekunden-Takt) der SPS nehmen.
Ich nutze dafür das Lebensbit des HMI vom Bereichszeiger "Koordinierung", welches auch ohne Verbindung zur SPS im Sekundentakt vorliegt:

1652352748948.png
 

PN/DP

User des Jahres 2011-2013; 2015-2017; 2020-2021
Beiträge
18.292
Punkte Reaktionen
5.429
Ich nutze dafür das Lebensbit des HMI vom Bereichszeiger "Koordinierung", welches auch ohne Verbindung zur SPS im Sekundentakt vorliegt:
Wie kann man die SPS-Variable im Bereichszeiger abfragen, wenn keine Verbindung zur SPS besteht? :unsure:

Harald
 

MFreiberger

Well-known member
Beiträge
1.808
Punkte Reaktionen
363
Zuviel Werbung?
->Hier kostenlos registrieren
Wie kann man die SPS-Variable im Bereichszeiger abfragen, wenn keine Verbindung zur SPS besteht? :unsure:

Harald
Es ist wohl eine Systemeigenschaft /-funktion, die ich mir beim mobile Panel zu Nutze mache.

Wenn das "Lebensbit" nicht toggelt (Panel abgesteckt), deaktiviere ich den Teilnehmer im Profinet (keine "Verbindung" mehr). Trotzdem toggelt das Lebensbit wieder, wenn das Panel wieder eignesteckt wird. Noch habe ich keine "Verbindung", da der Teilnehmer deaktiviert ist, aber, wenn ich über das Lebensbit erkenne, dass das Panel gesteckt ist, aktiviere ich den Teilnehmer wieder. Dann habe ich wieder "Verbindung".

VG

MFreiberger
 

PN/DP

User des Jahres 2011-2013; 2015-2017; 2020-2021
Beiträge
18.292
Punkte Reaktionen
5.429
Es ist wohl eine Systemeigenschaft /-funktion, die ich mir beim mobile Panel zu Nutze mache.
Du hast mich vermutlich falsch verstanden. Es ist logisch, daß der Wert einer Variablen nicht mehr toggelt, wenn die Variable nicht gelesen werden kann. hucki meint aber, daß die Variable weiter im Sekundentakt toggelt ...

Harald
 

hucki

User des Jahres 2014
Beiträge
5.712
Punkte Reaktionen
1.723
Wie kann man die SPS-Variable im Bereichszeiger abfragen, wenn keine Verbindung zur SPS besteht? :unsure:
Weil dieser Bereichszeiger vom HMI geschrieben und damit dieses Bit im HMI auch weiterhin getoggelt wird.
CPU liest nur mit (oder eben auch nicht).

Siehe den grauen Hinweis im Screenshot.

PS:
Hab' ich auch so in Verwendung und kann daher selbst bestätigen, dass es weiterhin funktioniert.
 

PN/DP

User des Jahres 2011-2013; 2015-2017; 2020-2021
Beiträge
18.292
Punkte Reaktionen
5.429
Zuviel Werbung?
->Hier kostenlos registrieren
Weil dieser Bereichszeiger vom HMI geschrieben und damit dieses Bit auch getoggelt wird.
Nochmal nachdenken oder testen: Wohin schreibt das HMI den Bereichszeiger und liest zurück, wenn gar keine Verbindung zu der SPS besteht??

Harald
 

hucki

User des Jahres 2014
Beiträge
5.712
Punkte Reaktionen
1.723
Nochmal nachdenken oder testen: Wohin schreibt das HMI den Bereichszeiger und liest zurück, wenn gar keine Verbindung zu der SPS besteht??
Ich vermute mal, in die Variable, die man im HMI angelegt hat und versucht dann, das Ganze an die CPU zu übertragen.

Wie gesagt, definitiv lässt sich das im HMI weiterhin lesen, weil ich bei jeder Wertänderung über einen Scriptaufruf weiterhin im HMI prüfen kann, ob das Panel noch (oder auch wieder) da ist.
Da käme ansonsten ja keine Wertänderung mehr, wenn ich die CPU ausstecke.
🤷‍♂️


PS:
Mit 'ner Takt-Variablen von der CPU hat das auch so nicht funktioniert.
 

PN/DP

User des Jahres 2011-2013; 2015-2017; 2020-2021
Beiträge
18.292
Punkte Reaktionen
5.429
Wie gesagt, definitiv lässt sich das im HMI weiterhin lesen, weil ich bei jeder Wertänderung über einen Scriptaufruf weiterhin im HMI prüfen kann, ob das Panel noch (oder auch wieder) da ist.
Da käme ansonsten ja keine Wertänderung mehr, wenn ich die CPU ausstecke.
Hmm, da ist was faul... wie hast Du die Lebensbit-Variable projektiert, daß man die definitiv lesen kann, auch wenn definitiv gar keine Verbindung zur CPU besteht?? Die dürfte höchstens noch einmal auf 0 gehen und müsste dann 0 bleiben.

Harald
 

hucki

User des Jahres 2014
Beiträge
5.712
Punkte Reaktionen
1.723
Zuviel Werbung?
->Hier kostenlos registrieren
Hmm, da ist was faul... wie hast Du die Lebensbit-Variable projektiert, daß man die definitiv lesen kann, auch wenn definitiv gar keine Verbindung zur CPU besteht?? Die dürfte höchstens noch einmal auf 0 gehen und müsste dann 0 bleiben.
:unsure:
Nach dieser Anleitung:
 

PN/DP

User des Jahres 2011-2013; 2015-2017; 2020-2021
Beiträge
18.292
Punkte Reaktionen
5.429
Nach dieser Anleitung:
OMG :rolleyes: Du vertraust dem Siemens Beispiel?
hucki, hast Du das Siemens Beispiel mal selbst ausprobiert? Und das Netzwerkkabel vom HMI-Panel abgezogen?

(Ich habe mir dieses Siemens-Beispiel jetzt nicht genau angeschaut, weil die in der Regel sowieso nur bei schönen Wetter so tun als ob sie funktionieren ...)


Irgendwie sind wir jetzt schon länger ziemlich off Topic. Vielleicht kann ein Mod unsere Beiträge ab #10 in ein separates Thema verschieben?

Harald
 

hucki

User des Jahres 2014
Beiträge
5.712
Punkte Reaktionen
1.723
hucki, hast Du das Siemens Beispiel mal selbst ausprobiert? Und das Netzwerkkabel vom HMI-Panel abgezogen?
Ja, ich hab' das an einer Teststation für Vakuumanlagen verwendet.
Ich hab' beim Erstellen eigentlich ziemlich viel probiert/getestet, um genau in solchen Situationen (CPU nicht verfügbar) zu einem bestimmten Bild wechseln zu können.

Ich bin mir ziemlich sicher, dass ich auch das Abziehen ausprobiert habe und es wie gewünscht funktioniert hat.
Ist allerdings schon etwas her, so dass ich nicht mehr darauf wetten würde.


Momentan habe ich (leider) nur die Sim zur Verfügung und da hast Du auf jeden Fall Recht, wenn die CPU komplett weg ist.
Der Visu-Takt läuft in der Sim nur weiter, wenn die CPU mind. "vorhanden" (also verbunden und eingeschaltet), nicht aber unbedingt in RUN ist.
Ist so zumindest schon mal mehr als jeglicher Takt von der CPU, der ja nur kommt, wenn diese auch noch in RUN ist.

Aber den Beweis der Funktion beim Abziehen muss ich so leider schuldig bleiben.
:confused:
 
Zuletzt bearbeitet:
Oben