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

TIA Parallele Ablaufsteuerung in SCL

$
0
0
Guten Abend,

ich habe die folgende Ablaufkette in SCL programmiert:
grafcet.png

Code:

IF "Startimpuls" THEN
    "Schritt_0" := 1;
END_IF;

IF "Schritt_0" THEN
    "BWG_U" := 0;
    IF "Freigabe" THEN
        "Schritt_0" := 0;
        "Schritt_1" := 1;
        "Schritt_3" := 1;
    END_IF;
   
ELSIF "Schritt_1" AND "Schritt_3" THEN
    "BWG_R" := 1;
    "BWG_O" := 1;
    IF "rechte Endlage" THEN
        "Schritt_1" := 0;
        "Schritt_2" := 1;
        "BWG_R" := 0;
    ELSIF
        "obere Endlage" THEN
        "Schritt_3" := 0;
        "Schritt_4" := 1;
        "BWG_O" := 0;
    END_IF;
   
ELSIF "Schritt_1" OR "Schritt_3" THEN
    IF "rechte Endlage" THEN
        "Schritt_1" := 0;
        "Schritt_2" := 1;
        "BWG_R" := 0;
    ELSIF
        "obere Endlage" THEN
        "Schritt_3" := 0;
        "Schritt_4" := 1;
        "BWG_O" := 0;
    END_IF;
   
ELSIF "Schritt_2" AND "Schritt_4" THEN
    IF "Punkt erreicht" THEN
        "Schritt_2" := 0;
        "Schritt_4" := 0;
        "Schritt_5" := 1;
    END_IF;
   
ELSIF "Schritt_5" THEN
    "BWG_U" := 1;
    IF "abwärts" THEN
        "Schritt_5" := 0;
        "Schritt_0" := 1;
    END_IF;
END_IF;

Bei linearen Ablaufketten verwende ich eine CASE-Anweisung, sodass ich nur eine Schrittvariable habe, und nicht wie hier bei der Parallelen Ablaufkette für jeden Schritt einen (Schritt_1, Schritt_2, usw.)

Da bei der parallelen Ablaufsteuerung zwei Abarbeitungen gleichzeitig stattifnden, ist es meines Erachtens nicht möglich an dieser Stelle mit einer Variablen zu arbeiten. Gäbe es denn hier generell irgend welche Vereinfachungen, die ich vornehmen könnte? Ich komme da auf keinen grünen Zweig....
Angehängte Grafiken

Viewing all articles
Browse latest Browse all 47324


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