Quantcast
Channel: SPS-Forum - Automatisierung und Elektrotechnik
Viewing all articles
Browse latest Browse all 47324

TIA Schrittkette in Strukturierter Text

$
0
0
Hallo, ich stehe zur Zeit etwas auf dem Schaluch. Es geht darum, eine Schrittkette in ST zu realisieren und zwar mit einer case-Answeisung, was auch das Problem darstellt. Als Beispiel sei folgende Schrittkette (in AWL) gegeben:

Code:

U Schritt 2
U B
R Schritt 2
S Schritt 3

U Schritt 3
U C
R Schritt 3
S Schritt 4

Als IF-Anweisung stellt sich das ganze bei mir folgendermaßen dar:

Code:

IF "Schritt" = 2 AND "B" = 1 THEN
    "Schritt" := 3;
END_IF;


IF "Schritt" = 3 AND "C" = 1 THEN
    "Schritt" := 4;
END_IF;


Jedoch würde eine case-Anwisung nicht wie folgt ausehen,

Code:

CASE "Schritt" OF
      1  :
        IF "B"=1 AND "Schritt" = 2 THEN
            "Schritt" :=  ; END_IF;
      2  :
        IF "C" AND "Schritt" = 3 THEN
            "Schritt" :=  4  ; END_IF;
END_CASE;

da ich in der case-Anweisung ja Zwei verschiedene Werte zuweisen würde. In der Ersten Bedinungen wäre das eine " 1 " und eine " 3" in der zweiten Bed iengung eine " 2" und eine "4" . Angelehnt ist das ganze an diesen alten Post:

Quote:

Originally Posted by Larry Laffer View Post
Hallo,
wenn du in SCL mittels CASE eine Schrittkette machen willst (der Befehl bietet sich ja geradezu dafür an) dann arbeitest du nicht mit Merkern sondern mit einem INT.
Das könnte dann z.B. so aussehen :
Code:

CASE Schritt of
  0 :
  // tue hier irgendwas
  if Bedingung_1 then Schritt := 1 ; end_if ;
  1 :
  // tue hier irgendwas
  if Bedingung_2 then Schritt := 2 ; end_if ;
  2 :
  // tue hier irgendwas
  if Bedingung_3 then Schritt := 0 ; end_if ;
END_CASE ;

Gruß
Larry


Was wäre hier der richtige Ansatz?

Viewing all articles
Browse latest Browse all 47324


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>