Twincat : Schritt setzen in AS-Baustein

maddin

Level-1
Beiträge
116
Reaktionspunkte
5
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

wie kann ich online in einem AS Baustein einen anderen Schritt setzen bzw. aktivieren zum Testen ?

Ich würde gern den aktiven Schritt deaktivieren und einen anderen Schritt aktivieren.

In der Doku steht was von Einzelschritt, aber ich bekomme das nicht hin.....

Kann mir das einer von euch genauer erklären ?

(Twincat 2.11)

Gruß Maddin
 
Ich wüsste nicht, dass es soetwas gibt. Und wenn es das gibt, wäre es eher nicht empfehlenswert.

Du könntest dir z.B. eine Simulationsvariable anlegen, die du in den entsprechenden Schritten/Transitionen abfragst.

Falls du mit "Einzelschritt" das "Einzelschritt in" (Step in) und "Einzelschritt über" (Step over) meinst, dann bedeutet das etwas völlig anderes. Wenn du auf einen AS-Schritt einen Breakpoint setzt und an diesem angekommen bist, kannst du mit "Einzelschritt in" in den AS-Schritt hinein debuggen und mit "Einzelschritt über" zum nächsten AS-Schritt springen ohne den AS-Schritt-Code zu debuggen.
Dazu bitte das hier lesen: http://infosys.beckhoff.de/index.ph...l/html/tcplcctrl_componentsonlinecmds.htm&id=
 
ok, danke.

Bin halt verwöhnt von Step7 Graph.

Da ist Schritte deaktivieren/aktivieren komfortabel gelöst.

Natürlich nicht empfehlenswert, aber zu Testzwecken.....

Gruß Maddin
 
Oder "Verdorbenen". ;)
Aber zurück zum Thema. Wenn ich etwas brauche, dass AS nicht hergibt, ist ein Wechsel zu ST schon überlegenswert. Besser als an AS herumzubasteln, ohne zu wissen, wie AS intern genau arbeitet und compiliert wird.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
(*

Oder "Verdorbenen". ;)
Aber zurück zum Thema. Wenn ich etwas brauche, dass AS nicht hergibt, ist ein Wechsel zu ST schon überlegenswert. Besser als an AS herumzubasteln, ohne zu wissen, wie AS intern genau arbeitet und compiliert wird.

Nun, ich programmiere Schrittketten fast immer in ST, weil es recht komfortabel ist und viele Möglichkeiten bietet (das gilt ganz allgemein für ST). Ein Weg, deinen Wunsch dort zu realisieren wäre folgendes (so oder so ähnlich):

Code:
VAR_INPUT
     bSchrittWechsel: BOOL;  (* Aktiven Schritt wechseln *)
     iNeuerSchritt: INT;        (* Soll-Schritt *)
END_VAR
VAR
     iSchritt: INT; (* Aktueller Schritt *)
    fbFPSchrittWechsel: R_TRIG;
END_VAR

fbFPSchrittWechsel(CLK:=bSchrittWechsel);

IF fbFPSchrittWechsel.Q THEN
     iSchritt := iNeuerSchritt;
END_IF

CASE iSchritt OF
      0: (* Kram, der im Initialschritt passiert *)
          (*...*)
          IF (*Transition 0*) THEN
               iSchritt := 1;
          END_IF

      1: (* Kram, der in Schritt 1 passiert *)
          (*...*)
          IF (*Transition 1 *) THEN
               iSchritt := 2;
          END_IF

       2: (* Kram, der in Schritt 2 passiert *)
           (*...*)
           IF (*Transition 2.1*) THEN
               iSchritt := 1;
           ELSIF (*Transition 2.2*) THEN
               iSchritt := 0;
           END_IF
END_CASE
 
Zurück
Oben