Wird VAR3 noch an einer anderen Stelle beschrieben?
Und das Programm wird auch wirklich abgearbeitet?Nein, das ist nur muster Projekt, nur hier einmal beschrieben.
Das Forcen im Codesys Universum ist schon so eine Sache und da treten die unterschiedlichsten Effekte auf.Und das Programm wird auch wirklich abgearbeitet?
Folgendes passt ja auch nicht:
Anhang anzeigen 77227
Was ist das denn für eine Software? CoDeSys?
Variablen zu forcen ist für mich nur ein Notfallhammer.. wenn Variablen gewisse statische Werte benötigen, dann weiße ich diese zu.
Das bedeutet, bevor dein FUP-CODE abgearbeitet wird, wird VAR2 auf 55 geforced. Dann beginnt die Abarbeitung deines CODE´s und du überschreibst die VAR2 wieder mit DEZ 2.Die Abarbeitungsfolge in jedem Zyklus einer Task ist wie folgt:
- Einlesen der Eingänge
- Forcen: Vor dem ersten Programmaufruf werden alle vorbereiteten Werte vom Laufzeitsystem auf die Variablen geschrieben, egal ob diese von der Task verwendet werden oder nicht.
- Abarbeitung des IEC-Codes
- Forcen: Nach dem letzten Programmaufruf werden alle vorbereiteten Werte vom Laufzeitsystem auf die Variablen geschrieben, egal ob diese von der Task verwendet werden oder nicht.
- Schreiben der Ausgänge
Danke @DeltaMikeAir, genau so hätte ich das auch erwartet. Ich glaube, bei Siemens legst Du ja auch fest, wann geforct wird, am Zyklusanfang oder am Ende.OK, es ist nur ein Darstellungsproblem. Im Handbuch steht:
Das bedeutet, bevor dein FUP-CODE abgearbeitet wird, wird VAR2 auf 55 geforced. Dann beginnt die Abarbeitung deines CODE´s und du überschreibst die VAR2 wieder mit DEZ 2.
Anhang anzeigen 77230
Dann passt auch das, was angezeigt wird.
Es ist in dem Sinne ein Darstellungsfehler.
Quelle: CoDeSys Forcen und Schreiben
Das sehe ich nicht so. Wenn z.B. das "Überschreiben im Verlauf" so aussieht:... Wenn dann aber diese Variable im Verlauf überschrieben wird, ist das egal, ob sie geforct wurde. ...
Stimmt. Zaubern kann man damit nicht. Eigentlich siegt immer die Logik.Das Forcen funktioniert tatsächlich nur im engen Rahmen in einigen Fällen.
Trotzdem sagt "Force" ja von der Begrifflichkeit "Egal was, nimm diese Zahl". Du bestimmst zwar den Anfang vom Zähler, aber am Ende ist nicht mehr der geforcte Wert in der Variablen. Also egal ob über Zuweisung oder Rechenoperation: Der geforcte Wert wird überschrieben.Das sehe ich nicht so. Wenn z.B. das "Überschreiben im Verlauf" so aussieht:
x := x + 1 ;
und das Forcen den ZählerStand vorbesetzt.
In dem "gewollten" Falle, würde ich es aber lieber offensichtlich über "IBN"-Variablen (oder Test oder Force oder Simu, je nach Geschmack) auscodieren, so daß auch jeder Nachfolger erkennt, was da getrieben wird. Und dann kann man gleich passend eine Variablentabelle dazu vorbereiten.Hin und wieder kann man beim Programmieren ein evtl. späteres Forcen einplanen/vorbereiten, wenn man z.B. bestimmte Eingriffe für TestZwecke "bereithalten" will.
Du meinst vermutlich eher den Trigger für Variablen steuern / beobachten.Ich glaube, bei Siemens legst Du ja auch fest, wann geforct wird, am Zyklusanfang oder am Ende.
Unterschiede zwischen Forcen und Steuern von Variablen
- Beim Forcen besitzt die Variable immer den geforcten Wert. Dieser Wert wird bei jedem Lesezugriff im Anwenderprogramm gelesen. Sämtliche Schreibzugriffe sind unwirksam.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?