Habe sowas mit einem Array geloest, welches die Zwischenwerte speichert. Das Array selbst wird dann in einer anderen Task wieder ausgelesen und in die Datei (bei mir eine lokale Textdatei) geschrieben.
Problem ist, dass ich die entsprechende Quelle zwar geben koennte, aber die Kommentierung auf Norwegisch ist. Bist Du trotzdem noch interessiert?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Warum benutzst Du nicht eine globale Boolsche Variable (Sperrvariable), die Du in die Bedingung, um den Schritt zu verlassen einbaust. Wenn jetzt in einer Schrittkette (egal welche) die Speicherung beginnt, setzt Du diese Variable auf TRUE. Somit kann die Andere Schrittkette den Schritt nicht verlassen, bis die erste Schrittkette mit dem Speichern fertig ist und die Sperrvariable wieder auf FALSE gesetzt hat. Das machst Du mit jeder Schrittkette so. Du setzst eben Diese eine Variable auf TRUE, wenn der Speichervorgang beginnt und setzst sie wieder auf FALSE, wenn der Speichervorgang beendet ist.
Zwei Schrittketten, können niemals gleichzeitig einen Schritt beenden. Eine ist immer, wenn auch nur einen Zyklus voraus, oder sogar innerhalb eines Zyklus kommt immer eins nach dem Anderen. Die schnellere Schrittkette, setzt die Variable und die Anderen müssen einfach warten, bis der Sattel wieder frei ist.
Wenn Du nicht irgendwelche zeitkritischen Abläufe hast, sollte es so auch keine Probleme geben. Andernfalls, kommst Du ums Zwischenspeichern in einem Array nicht herum.
mit freundlichen Grüssen! Pitsch
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2010-04-14
Originally created by: softwareheini
Hallo zusammen,
erstmal Danke an euch alle!
@ Blitzy
Wäre toll von dir wenn du hier was einstellen könntest.
@ Pitsch
Danke für den Vorschlag. Klingt logisch und einfach.
Man (also ich) denkt einfach immer zu kompliziert
Aber wie du schon sagst, bei zeitkritischen Anwendungen wirds
schwierig.
Grüße
Daniel
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Originally created by: softwareheini
Hallo zusammen,
bin gerade dabei ein SPS Programm zu entwickeln bei dem sechs
Schrittketten teils parallel - teils nacheinander ablaufen.
Bei verlassen eines Schrittes sollen sämtliche Analogwerte in eine
MySQL Datenbank geschrieben werden.
Mein Problem ist jetzt nur, wenn zwei Ketten gleichzeitig einen Schritt
verlassen, wie speichere ich dann die Werte ab?
Hat jemand so etwas schon mal gemacht.
Würdet ihr es mit einer Art Zwischenpuffer lösen?
Bin für jeden Wink in die richtige Richtung dankbar!
Ups. hab was vergessen...
Das ganze läuft auf einem Wago 750-841 ...sorry
mfg
Daniel
Habe sowas mit einem Array geloest, welches die Zwischenwerte speichert. Das Array selbst wird dann in einer anderen Task wieder ausgelesen und in die Datei (bei mir eine lokale Textdatei) geschrieben.
Problem ist, dass ich die entsprechende Quelle zwar geben koennte, aber die Kommentierung auf Norwegisch ist. Bist Du trotzdem noch interessiert?
Moin.
Ich antworte mal frecherweise.
Sämtliche Quellen, die sich auf Datenarchivierung beziehen sind willkommen, selbst , wenn sie in esperanto erstellt sind..
Gruss
McNugget
Hallo
Warum benutzst Du nicht eine globale Boolsche Variable (Sperrvariable), die Du in die Bedingung, um den Schritt zu verlassen einbaust. Wenn jetzt in einer Schrittkette (egal welche) die Speicherung beginnt, setzt Du diese Variable auf TRUE. Somit kann die Andere Schrittkette den Schritt nicht verlassen, bis die erste Schrittkette mit dem Speichern fertig ist und die Sperrvariable wieder auf FALSE gesetzt hat. Das machst Du mit jeder Schrittkette so. Du setzst eben Diese eine Variable auf TRUE, wenn der Speichervorgang beginnt und setzst sie wieder auf FALSE, wenn der Speichervorgang beendet ist.
Zwei Schrittketten, können niemals gleichzeitig einen Schritt beenden. Eine ist immer, wenn auch nur einen Zyklus voraus, oder sogar innerhalb eines Zyklus kommt immer eins nach dem Anderen. Die schnellere Schrittkette, setzt die Variable und die Anderen müssen einfach warten, bis der Sattel wieder frei ist.
Wenn Du nicht irgendwelche zeitkritischen Abläufe hast, sollte es so auch keine Probleme geben. Andernfalls, kommst Du ums Zwischenspeichern in einem Array nicht herum.
mit freundlichen Grüssen! Pitsch
Originally created by: softwareheini
Hallo zusammen,
erstmal Danke an euch alle!
@ Blitzy
Wäre toll von dir wenn du hier was einstellen könntest.
@ Pitsch
Danke für den Vorschlag. Klingt logisch und einfach.
Man (also ich) denkt einfach immer zu kompliziert
Aber wie du schon sagst, bei zeitkritischen Anwendungen wirds
schwierig.
Grüße
Daniel