TIA Aufbau einer Schrittkette in SCL

Zuviel Werbung?
-> Hier kostenlos registrieren
Schritt := Schritt + 1; sind mir die liebsten :rolleyes:
Naja, da lässt sich wenigstens schnell ein Schritt einfügen.
Schlimmer fand ich immer die Schrittketten, bei denen pro Schritt ein Baustein verwendet wurde.
Ist mir Gott sei Dank mit TIA nicht mehr begegnet.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Schritt += 1 finde ich persönlich schöner.
Von dem += lasse ich die Finger lieber weg.
SPS-Forum: [Systemfehler Open Controller] Fehlverhalten SCL Funktion "+=" bei "Status beobachten" ?!
Betrifft / betraf auch normale 1500ér CPU´s
Ergebnisverfälschung bei Operationen mit Status Baustein.

Mit der Firmware V3.0.1 kann es unter speziellen Voraussetzungen zur Verfälschung des Operationsergebnisses kommen. Das Verhalten tritt im Betrieb beim online Beobachten mit Status-Baustein der folgenden Programmsequenz auf
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Von dem += lasse ich die Finger lieber weg.
SPS-Forum: [Systemfehler Open Controller] Fehlverhalten SCL Funktion "+=" bei "Status beobachten" ?!
Betrifft / betraf auch normale 1500ér CPU´s
Oh danke, habe das Phänomen noch gar nicht gekannt.

Ich finde das zwar schöner, eventuell da ich von anderen Sprachen verwöhnt bin und es dort zu keinem Fehlverhalten kommt ;).

Wenn ich aber eine Schrittkette erstelle, mache ich es so, wie bereits ein paar Beiträge zuvor geschrieben.
Im CONST-Bereich Namen mit fixen Nummern hinterlegen.

Je nachdem, z.B.: in FUP dann mit einem MOVE die Weiterschaltbedingung machen und die CONST übergeben an eine STAT.
Diese STAT verwalte ich dann in einem FC, diese mir sozusagen den "alten" Schritt noch zwischenspeichert, damit ich ggf. prüfen kann von welchem Schritt aus ich in den neuen gekommen bin. Ebenfalls werden hier dann ev. Überwachungszeiten resettet und ähnliches.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Code:
CASE Schrittnummer OF
....
    20:
    ....
    IF BedingungErfuellt THEN   
        Schrittnummer := 30;
    END_IF;

    30:
Da jetzt noch die Integer-Werte der Schrittnummern mit Konstanten ersetzen, dann hat man auch gleich die Schritte als Klarnamen. (soweit das der Symbolname zulässt)
 
Ja, kann man sich im Beitrag #6 schön anschauen

Ja, das gefällt mir sehr.
Man starte mit

VAR CONSTANT
STEP_INIT : Int := 0;
STEP_0100 : Int := 100;
STEP_0200 : Int := 200;
STEP_0300 : Int := 300;
STEP_0400 : Int := 400;
STEP_0500 : Int := 500;
END_VAR

und später ändert man den Namen der Konstanten und diese Änderung wird dann überall
automatisch nachgezogen sofern man nicht die Konstante auf einen Schlag ersetzt, denn
dann funktioniert das automatische Umbenennen nicht.

VAR CONSTANT
STEP_INIT : Int := 0;
STEP_ANPUMPEN_START : Int := 100;
STEP_WARTEN_APS : Int := 200;
...
END_VAR

Natürlich finde ich grafische Schrittketten in TwinCat im Nexeed Stile wesentlich besser,
aber was soll ich machen wenn ich nun mal Abläufe in TIA STEP7 machen muss ohne
das ungeliebte GRAPH zu verwenden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
VAR CONSTANT
STEP_INIT : Int := 0;
STEP_ANPUMPEN_START : Int := 100;
STEP_WARTEN_APS : Int := 200;
...
END_VAR
Hier mache ich es so, dass ich die Schrittnummer mit in die Konstante übergebe, dann finde ich den Zusammenhang noch klarer, ohne dass ich nachsehen muss, welche Schrittnummer, welchen Schritt bedeutet:

Code:
  STEP_000_INIT                : Int := 0;
  STEP_100_ANPUMPEN_START     : Int := 100;
  STEP_200_WARTEN_APS        : Int := 200;
 
Wenn man für die Schritte symbolische Konstanten Namen vergibt und verwendet, muss man die Schrittnummern nicht mehr wissen. Dann kommt man auch nicht mehr in Versuchung, mit den Schrittnummern zu rechnen. Und man muss bei Änderung der Schrittnummer nicht das Symbol ändern.
 
mit Schrittnummern rechnen ist Käse!
Sehe ich anders.

Ich möchte meist einfach nur, dass ein Schritt in den nächsten wechselt und nicht in einen bestimmten.
Welcher der nächste Schritt genau ist, lege ich über die Schritt-Konstanten bzw. deren Zahlwert fest.

Wenn ich einen Schritt einfüge, muss ich ohne die Rechnerei die Schritte durchgehen, um am Ende des vorigen Schrittes festzulegen, welches denn überhaupt der nächste ist.
Mit Rechnen kann ich mir das ersparen.
Ich bringe einfach meine Schritt-Konstanten in die gewünschte Reihenfolge mit dem richtigen Abstand.

Mit Rechnerei habe ich dafür Probleme, wenn's die nächste Nummer nicht gibt u.ä.


Also wie immer, es gibt bei jeder Variante jeweils Vor- und Nachteile und jeder sollte IMHO für sich abwägen, was ihm wichtiger ist.
 
Zurück
Oben