F_TRIG testen - mit "Werte forcen"?

Beck

Level-1
Beiträge
64
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

verifiziere/simuliere ich an einer Anlage am besten eine Funktionalität, die ein R_TRIG oder F_TRIG verwendet?
Wenn ich einen Wert, der sich gerade auf FALSE befindet, auf "TRUE" mit "Werte forcen" setze, wird der daran geknüpfte F_TRIG/R_TRIG-Baustein leider keinen Trigger erzeugen.

Wie kann ich einen F_TRIG simulieren?

Danke,

Beck
 
Hmm, vielleicht hatte ich Dich nur falsch verstanden...

In dem Moment, wo Du den Force der Eingangsvariable auf TRUE aktivierst wird der x_TRIG-Baustein ordnungsgemäß einmalig den Trigger am Ausgang Q anzeigen. Bleibt die Eingangsvariable auf TRUE geforced, dann kommen natürlich keine weiteren Trigger. Das ist aber kein spezifisches Problem des x_TRIG-Bausteins, sondern eine normale Auswirkung des Forcens.

Soll der x_TRIG-Baustein weitere Flanken detektieren, dann müßtest Du das Forcen der Eingangsvariable aufheben und wieder aktivieren.

Ist Dir das zu umständlich, dann laß doch das Forcen und steuere einfach direkt die Eingangsvariable (z.B. Doppelklick im Onlinebetrieb). Ist das Steuern der Eingangsvariable nicht möglich, dann verbinde nur für die Simulation Deine Eingangsvariable mit einer zweiten (globalen) Variable und steuere diese Variable.

PS:
Es ist durchaus üblich, daß man sich für die Simulation zusätzlichen Code programmiert welcher Eingangssignale manipuliert, z.B. um Reaktionen des Prozesses zu simulieren.

Harald
 
OK, der vorige Beitrag war hauptsächlich auf R_TRIG gemünzt.

Forcen von F_TRIG:
- zuerst forcen der Eingangsvariable auf TRUE
- danach forcen auf FALSE (oder Force beenden, wenn die Eingangsvariable sowieso False ist)
---> Trigger wird an Q signalisiert

Die einfachere Variante zur Simulation ist aber auch bei F_TRIG das Steuern der Eingangsvariable direkt oder über eine Hilfsvariable.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hmm, vielleicht hatte ich Dich nur falsch verstanden...

Hallo Harald,

Du hast mich genau richtig verstanden. Das von Dir beschriebene Verhalten habe ich auch erwartet, schaffe es aber in der Praxis irgendwie nicht.
Zur Klarstellung:
- Ich habe "Simulation" nicht aktiviert, sondern möchte es an der "echten" Anlage ausprobieren.
- Ich programmiere in FUP.

Ein Doppelklick auf die Eingangsvariable schreibt ein "TRUE" oder "FALSE" hinter die Variable, scheint aber den Wert nicht zu schreiben. So beschreibt es ja auch die CoDeSys-Online-Hilfe. "Werte Schreiben" (Strg+F7) führt leider auch zu keinem Effekt. Daher bi nich bisher davon ausgegangen, dass ich sowieso auf "Werte forcen" zurückgreifen muss.

Debugging-Frage am Rande:
Wenn ich zwei FBs in Folge (in FUP) kombiniere und debuggen will, ob am Ausgang des ersten bereits das richtige Ergebnis anliegt, so muss ich eine Dummy-Variable als Zuweisung des ersten FBs einführen? Auf die kann ich dann einen Watchpoint setzen bzw. bekomme ihren Wert angezeigt. Den Zustand eines Ausgangs, der direkt an den Eingang des nächsten FBs geht, kann ich nicht mit Bordmitteln monitoren/"messen"?

Ist das Steuern der Eingangsvariable nicht möglich, dann verbinde nur für die Simulation Deine Eingangsvariable mit einer zweiten (globalen) Variable und steuere diese Variable.

Das habe ich nicht genau verstanden. Wann ist ein Steuern einer Variable über "Werte forcen" nicht möglich?

Danke, Beck
 
Zurück
Oben