Kann es sein das Du von einer Transition in AS (Ablaufsprache) ausgehst?
Dann würde man an der Stelle einfach %MD20 > 1200 in die Transition schreiben (wobei es Unfug ist Merker und dann auch noch absolut Adressiert einzusetzen!).
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
plagemann hat geschrieben:
Guten Tag,
kann mir jemand die Syntax sagen, wenn ich in ST einen Vergleich als Transition benutzen will?
Also
"WENN %MD10 > 12000"
DANKE!
Bernhard Plagemann
Wenn du die Transition in einer Schrittkette (Ablaufssprache) meinst, dann müsste die in deinem Fall einfach
"%MD10 > 12000"
heißen.
Ich gebe als Transition immer eine Boolsche Variable an und setze einfach im Schritt davor die Boolsche Variable entsprechend der Bedingung, also in ST z.B.
IF %MD10 > 12000 THEN
bTrans := TRUE;
ELSE
bTrans := FALSE;
END_IF
(oder in FUP / KP entsprechend)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
kann zu dem Thema, glaube ich, auch noch etwas beitragen.
Wie man das CPU-Last-optimal ausprogrammiert, hängt von verschiedenen Bedingungen ab. Habe das auf meiner Website stehen, siehe den Link auf http://www.geisler-controls.de/Downloads/downloads.html. Vielleicht hilft das ein wenig.
Gruss
Rolf
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
mir hilft bei diesen Aufgaben häufig eine simple case Anweisung.
CASEwStateOF0: (*IDLE-Waitforsomethingto*)
  IFxDoItTHEN
     xSend :=TRUE;
     wState :=10;
  END_IF10: (*Waituntilsomethingdone*)
  IFxSend=FALSETHEN
    IFdiError=0THEN
       wState :=0;
    ELSE Â
       wState :=999;
    END_IF
  END_IFELSE(*Errorstate*)
  ;END_CASE
Dabei kreiselt das SPS Programm immer nur in einem "Schritt/State" und die Übergänge von einem Schritt in den anderen lassen sich gut beschreiben.
Gruss cmoeller
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Guten Tag,
kann mir jemand die Syntax sagen, wenn ich in ST einen Vergleich als Transition benutzen will?
Also
"WENN %MD10 > 12000"
DANKE!
Bernhard Plagemann
IF %MD10 > 12000 THEN
xyz
END_IF
MfG
Marcel
Danke für die schnelle Antwort. Aber in eine Transition gehört doch kein THEN.
Eine Transition hat doch lediglich ein binäres Ergebnis.
ODER?
Viele Grüße
Bernhard Plagemann
Der Vergleich mit dem binären Ergebnis steht ja auch zwischen IF und THEN
Ist einfach so, ST Syntax.
Kann man bei mehreren Vergleichen auch mit
CASE x OF
END_CASE
machen, ist aber bei einer einzigen Bedingung nicht sonderlich sinnvoll
cheers
Kann es sein das Du von einer Transition in AS (Ablaufsprache) ausgehst?
Dann würde man an der Stelle einfach %MD20 > 1200 in die Transition schreiben (wobei es Unfug ist Merker und dann auch noch absolut Adressiert einzusetzen!).
Wenn du die Transition in einer Schrittkette (Ablaufssprache) meinst, dann müsste die in deinem Fall einfach
"%MD10 > 12000"
heißen.
Ich gebe als Transition immer eine Boolsche Variable an und setze einfach im Schritt davor die Boolsche Variable entsprechend der Bedingung, also in ST z.B.
IF %MD10 > 12000 THEN
bTrans := TRUE;
ELSE
bTrans := FALSE;
END_IF
(oder in FUP / KP entsprechend)
Hallo allesamt,
kann zu dem Thema, glaube ich, auch noch etwas beitragen.
Wie man das CPU-Last-optimal ausprogrammiert, hängt von verschiedenen Bedingungen ab. Habe das auf meiner Website stehen, siehe den Link auf http://www.geisler-controls.de/Downloads/downloads.html. Vielleicht hilft das ein wenig.
Gruss
Rolf
Hallo zusammen,
mir hilft bei diesen Aufgaben häufig eine simple case Anweisung.
Dabei kreiselt das SPS Programm immer nur in einem "Schritt/State" und die Übergänge von einem Schritt in den anderen lassen sich gut beschreiben.
Gruss cmoeller