Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 32

Thema: Welche Sprache für Schrittketten

  1. #1
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi Leute, ich habe jetzt bei Kunden die Beckhoff benutzen schon öffters gesehen, dass sie für abläufe CFC verwenden. Was haltet Ihr denn so für sinnvoll? CFC, oder für schrittketten eher AS?

    Wenn cfc, oder as, wie macht ihr es mit den "weiterschaltbedingungen" ich komme aus der s7 welt und habe eine generelle weiterschaltbedingung für jeden schritt (beinhaltet alle bewegungen)
    Zitieren Zitieren Welche Sprache für Schrittketten  

  2. #2
    Registriert seit
    25.11.2010
    Ort
    OWL
    Beiträge
    745
    Danke
    27
    Erhielt 164 Danke für 142 Beiträge

    Standard

    Ich schreibe alles in ST und meine, dass man gerade Schrittketten damit gut und übersichtlich programmieren kann. Als Schrittmerker nehme ich keine BOOL-Variablen, sondern ein UINT, das die Schrittnr. enthält. Diese verwurste ich dann in mehreren CASE OF-Blöcken. Einen für den Zustand und weitere für die Schrittwechsel in unterschiedlichen Betriebsarten. Gleichzeitig dient die Schrittnr. als Index in Arrays, die z. B. Sollwerte für den Überwachungstimer oder besondere Spezifikationen für die Schritte enthalten.

  3. #3
    Bensen83 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Ja ok Fande halt AS ganz ansprechen, aber bin auch selbst ein freund von ST, da ich auch auch der C# welt komme. Hast du vielleicht mal ein Beispiel, wie du ne schrittkette mit weiterschaltbedingungen usw. aufbaust?
    Zitieren Zitieren Ok  

  4. #4
    Registriert seit
    25.11.2010
    Ort
    OWL
    Beiträge
    745
    Danke
    27
    Erhielt 164 Danke für 142 Beiträge

    Standard

    Prinzipiell sieht das so aus:
    Code:
    VAR_INPUT
        Enable:BOOL;
        Reset:BOOL;
        Mode:BYTE;
    VAR
        ActualStep,
        NextStep:UINT;
        SupervisionSet:ARRAY[Step1..StepX] OF TIME;
        SupervisionTimer:TON;
        StepDone:BOOL;
        Error:BOOL;
    END_VAR
    
    (* FB-Hauptcode *)
    (* Fehler rücksetzen, in konkreten Anwendungen meist etwas komplexer *)
    IF Reset
    THEN
        Error:=FALSE;
    END_IF;
    
    (* Schritt weiterschalten *)
    IF Enable AND NOT Error AND StepDone
    THEN
        CASE Mode OF
            Init:
                InitStep; (* FB-Aktion für das Weiterschalten bei Initialisierung *)
            Auto:
                AutoStep: (* FB-Aktion für das Weiterschalten bei Automatikbetrieb *)
        END_CASE;
    END_IF;
    
    (* Zeitüberwachung der Schritte *)
    SupervisionTimer(In:=ActualStep=NextStep,
                          Pt:=SupervisionSet[NextStep]);
    ActualStep:=NextStep;
    
    (* Schrittzustand bestimmen *)
    CASE ActualStep OF
        Step1:
            StepDone:=(* Schritt 1 erledigt*);
        Step2:
            StepDone:=(* Schritt 2 erledigt*);
        (* usw. *)
    END_CASE;
    
    (* Fehler setzen bei Zeitüberschreitung *)
    IF SupervisionTimer.Q AND NOT StepDone
    THEN
        Error:=TRUE;
    END_IF;
    
    
    
    (* Init oder Auto-Aktion *)
    CASE ActualStep OF
        Step1:
            NextStep:=Step2;
            (* Step2-Steuerbefehle an die Maschine *)
        Step2:
            NextStep:=Step3;
            (* Step3-Steuerbefehle an die Maschine *)
        (* usw. *)
    END_CASE;

  5. #5
    Bensen83 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Sorry, blicke da nicht so ganz durch, denn den case machst du doch mit nem int und dann staht dort nicht 1..2..3 usw sondern step 1 ... und wo dind die aktionen die in dem schritt durchgeführt werden. naja usw. gibst du mir noch bitte ne genaue Erklärung?
    Zitieren Zitieren Aha  

  6. #6
    Registriert seit
    25.11.2010
    Ort
    OWL
    Beiträge
    745
    Danke
    27
    Erhielt 164 Danke für 142 Beiträge

    Standard

    Init, Auto, Step1, Step2 usw. sind Integer-Konstanten. Liest sich besser als nackte Zahlenwerte. In konkreten Anwendungen heissen die natürlich nicht "Step1", sondern z. B. "ExtendLiftCylinder" oder was immer bei dem Schritt geschehen soll.
    Das Weiterschalten der Schritte mache ich nicht im FB-Hauptcode, sondern programmiere dazu für jede Betriebsart eine FB-Aktion. Solche Aktionen kann man nicht nur von aussen, sondern auch aus dem FB selbst sozusagen als Unterprogramm aufrufen.
    Die mit den Schritten verbundenen Aktionen der Maschine stehen an den Stellen, die ich mit "Steuerbefehle an die Maschine" kommentiert habe.

  7. #7
    Registriert seit
    30.08.2010
    Ort
    Östereich
    Beiträge
    1.458
    Danke
    502
    Erhielt 217 Danke für 192 Beiträge

    Standard

    sowas kann man auch in AWL oder FUP Programmieren, dann blicken auch die erfahrenen Instandhalter im Prog durch.

    Wenns ein FB werden soll, die entsprechend kommentiert ist (wirklich vernünftig brauch hier wohl fast ne A4 Seite) dann gibts auch kein Problem; (sonst bitte das in für Instandhalter lesbaren FUP schreiben (Funktioniert genauso, nur tun sich viele Laute leichter(kann ja ruhig in STC, . . . entwickelt werden, aber wenns läuft spricht nichts dagegen das auch der Allgemeinheit zugänglich zu machen))
    Elektrotechnik und Elektronik funktioniert mit Rauch (Beweis: Tritt Rauch aus, funktioniert auch das Bauteil nicht mehr)

  8. #8
    Registriert seit
    17.07.2009
    Ort
    Am Rande der Ostalb
    Beiträge
    5.476
    Danke
    1.140
    Erhielt 1.238 Danke für 971 Beiträge

    Standard

    @ST
    Deine Lösung ist sicherlich durchdacht.
    Für jede Schritt-Aktion einen FB ist auch gut.
    Nur warum machst du dann die eigentliche Kette nicht gleich in AS?
    An Übersichtlichkeit ist AS schlichtweg nicht zu schlagen.

    Gruß
    Dieter

  9. #9
    Registriert seit
    25.11.2010
    Ort
    OWL
    Beiträge
    745
    Danke
    27
    Erhielt 164 Danke für 142 Beiträge

    Standard

    Zitat Zitat von winnman Beitrag anzeigen
    sowas kann man auch in AWL oder FUP Programmieren, dann blicken auch die erfahrenen Instandhalter im Prog durch.
    Warum müssen sich eigentlich Programmierer zigmal im Berufsleben mit neuen Dingen auseinandersetzen, während der Instandhalter darauf bestehen darf, nur Programmiersprachen aus dem letzten Jahrhundert verstehen zu können? Klar könnte ich auch in AWL, KOP, FUP programmieren, aber bei der Komplexität heutiger Programme würde ich dann nicht mehr durchblicken, und der Instandhalter vermutlich auch nicht. ST ist sehr gut lesbar, fast wie eine menschliche Sprache. Und lesen hat doch jeder gelernt.

    Zitat Zitat von Blockmove Beitrag anzeigen
    Nur warum machst du dann die eigentliche Kette nicht gleich in AS?
    Ich bin durch 20 Jahre Pascal vorbelastet und kann mich mit grafischer Programmierung einfach nicht anfreunden. Ist eine Frage des persönlichen Werdegangs und Geschmacks.

  10. Folgende 2 Benutzer sagen Danke zu StructuredTrash für den nützlichen Beitrag:

    IBFS (12.08.2011),rostiger Nagel (12.08.2011)

  11. #10
    Registriert seit
    01.09.2010
    Beiträge
    34
    Danke
    6
    Erhielt 9 Danke für 9 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    die Case-Anweisung in ST ist die coolste Lösung - jahrelang mit allen anderen Formen gearbeitet - Schrittketten mit einen INT in FUP, AS, frueher in AWL mit Spruenge ...

Ähnliche Themen

  1. Welche Sprache geeignet?
    Von Rebecca im Forum Hochsprachen - OPC
    Antworten: 5
    Letzter Beitrag: 09.05.2011, 14:07
  2. DB von Zebra-Drucker-Sprache in CAB-Sprache
    Von blueColt im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 24.11.2010, 16:19
  3. Schrittketten
    Von rhazel im Forum Programmierstrategien
    Antworten: 7
    Letzter Beitrag: 06.02.2008, 11:39
  4. porgrammkommentare - welche sprache?
    Von Markus im Forum Stammtisch
    Antworten: 6
    Letzter Beitrag: 02.12.2007, 20:59
  5. Schrittketten
    Von burn-out-heizer im Forum Programmierstrategien
    Antworten: 3
    Letzter Beitrag: 23.09.2006, 12:19

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •