Sobald in einem AS-Programm in irgendeinem Pfad eine R (oder auch nur eine S-Aktion) projektiert ist wird die damit verbundene Variable in jedem Zyklus zurückgesetzt.
Setzen der Variable auf TRUE wird sofort rückgängig gemacht, Forcen wird zwar in der Variablenliste angezeigt, der geforcte Wert wird jedoch bei der Auswertung der Transitionen nicht berücksichtigt (siehe Variable I1 im beigefügten Bild).
In der 61131 habe ich keine Einschränkung gefunden, die mir untersagen würde Variablen die mit R oder S in eine Anlaufkette aktiviert werden, als Schaltbedingung zu verwenden...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
lurbas hat geschrieben:
CoDeSys V3.3 SP1 Patch 2, SP Win V3
Sobald in einem AS-Programm in irgendeinem Pfad eine R (oder auch nur eine S-Aktion) projektiert ist wird die damit verbundene Variable in jedem Zyklus zurückgesetzt.
Setzen der Variable auf TRUE wird sofort rückgängig gemacht, Forcen wird zwar in der Variablenliste angezeigt, der geforcte Wert wird jedoch bei der Auswertung der Transitionen nicht berücksichtigt (siehe Variable I1 im beigefügten Bild).
In der 61131 habe ich keine Einschränkung gefunden, die mir untersagen würde Variablen die mit R oder S in eine Anlaufkette aktiviert werden, als Schaltbedingung zu verwenden...
Das ist auch absolut gut so und mit Sicherheit kein Fehler. Wenn man einen SR-FB nehmen würde, dort an den Ausgang einen Merker drann setzt, schreibt der den Ausgang ja auch in jedem Zyklus, in dem der Baustein aufgrufen wird. Und der Action Control-SteuerFB, der sich hinter jeder Aktion "verbirgt" tut das genauso. Also Variablen ENTWEDER nur in Implementation (was bei der verkürzten Kette nur geht) ODER boolesche Aktion verwenden.
Gruß
Michael
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Solange die R und S Zuweisungen nur in einer linearen Schrittkette verwendet werden, ist die Funktion so wie dies "lurbas" erwartet. Erst wenn die gleichen Zuweisungen in einer anderen Kette werwendet wird tritt bei mir der gleiche "Fehler" auf. Dürfte das Gleiche Problem sein, wie bei der alternativ Kette.
Das Setzen eines Speichergliedes und das Rücksetzten eines Speichergliedes sollte nicht mit einer Zuweisung verwechselt werden.
Eine einfache Lösung hab ich noch nicht gefunden. Ich verwende bei mit unterschiedliche Variable in jeder Kette und mach an anderer Stelle die Zuweisung über eine RS- Funktion.
Für eine elegantere Lösung des Problems wäre ich auch dankbar.
Rainer
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
CoDeSys V3.3 SP1 Patch 2, SP Win V3
Sobald in einem AS-Programm in irgendeinem Pfad eine R (oder auch nur eine S-Aktion) projektiert ist wird die damit verbundene Variable in jedem Zyklus zurückgesetzt.
Setzen der Variable auf TRUE wird sofort rückgängig gemacht, Forcen wird zwar in der Variablenliste angezeigt, der geforcte Wert wird jedoch bei der Auswertung der Transitionen nicht berücksichtigt (siehe Variable I1 im beigefügten Bild).
In der 61131 habe ich keine Einschränkung gefunden, die mir untersagen würde Variablen die mit R oder S in eine Anlaufkette aktiviert werden, als Schaltbedingung zu verwenden...
Deine Beobachtungen sind richtig. Aus diesem und auch aus anderen Gründen der Rat:
Vergiss die IEC-Schritte und verwende nur die "vereinfachte Darstellung".
Das ist auch absolut gut so und mit Sicherheit kein Fehler. Wenn man einen SR-FB nehmen würde, dort an den Ausgang einen Merker drann setzt, schreibt der den Ausgang ja auch in jedem Zyklus, in dem der Baustein aufgrufen wird. Und der Action Control-SteuerFB, der sich hinter jeder Aktion "verbirgt" tut das genauso. Also Variablen ENTWEDER nur in Implementation (was bei der verkürzten Kette nur geht) ODER boolesche Aktion verwenden.
Gruß
Michael
Hallo Zusammen
Solange die R und S Zuweisungen nur in einer linearen Schrittkette verwendet werden, ist die Funktion so wie dies "lurbas" erwartet. Erst wenn die gleichen Zuweisungen in einer anderen Kette werwendet wird tritt bei mir der gleiche "Fehler" auf. Dürfte das Gleiche Problem sein, wie bei der alternativ Kette.
Das Setzen eines Speichergliedes und das Rücksetzten eines Speichergliedes sollte nicht mit einer Zuweisung verwechselt werden.
Eine einfache Lösung hab ich noch nicht gefunden. Ich verwende bei mit unterschiedliche Variable in jeder Kette und mach an anderer Stelle die Zuweisung über eine RS- Funktion.
Für eine elegantere Lösung des Problems wäre ich auch dankbar.
Rainer