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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 14 von 14

Thema: Zuweisung in SCL?

  1. #11
    Registriert seit
    17.05.2010
    Ort
    Paderborn
    Beiträge
    824
    Danke
    84
    Erhielt 125 Danke für 94 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von petzi Beitrag anzeigen
    Hallo Zusammen,

    ich habe eine Frage zu SCL...

    Es soll z.B. über einen Merker, der an anderer Stelle gesetzt wird, eine Lampe einschaltet werden. Über einen Taster (Öffner) soll die Lampe wieder ausgeschaltet werden können:

    Wie wär es denn mit zwei unabhänigen IF-Abfragen? Du hast ja auch zwei Signlageber.

    Code:
    IF "Merker" THEN
      "Lampe" := TRUE;
    END_IF;
    
    IF NOT "Taster" THEN
       "Lampe" := FALSE;
    END_IF;
    Im FUP kann man ja auch einen "SETZ"- und einen "RÜCKSETZ"-Baustein nehmen!


    Oder wenn Du nur auf den Tastmoment reagieren willst, dann natürlich mit Flankenerkennung:

    Code:
    IF "Merker" AND NOT "Signal_letzter_Zyklus" THEN
      "Lampe" := TRUE;
    END_IF;
    
    IF NOT "Taster"  AND NOT "Signal_letzter_Zyklus" THEN
       "Lampe" := FALSE;
    END_IF;
    
    IF "Merker" OR NOT "Taster" THEN
      "Signal_letzter_Zyklus" := TRUE;
    ELSE
      "Signal_letzter_Zyklus" := FALSE;
    END_IF;
    Geändert von MCerv (12.04.2012 um 14:12 Uhr)
    Grüße
    Michael

    1001101110110100... Das ist meine Welt

  2. #12
    Registriert seit
    09.06.2008
    Beiträge
    138
    Danke
    16
    Erhielt 13 Danke für 13 Beiträge

    Standard

    Zitat Zitat von MCerv Beitrag anzeigen

    Oder wenn Du nur auf den Tastmoment reagieren willst, dann natürlich mit Flankenerkennung:

    Code:
    IF "Merker" AND NOT "Signal_letzter_Zyklus" THEN
      "Lampe" := TRUE;
    END_IF;
    
    IF NOT "Taster"  AND NOT "Signal_letzter_Zyklus" THEN
       "Lampe" := FALSE;
    END_IF;
    
    IF "Merker" OR NOT "Taster" THEN
      "Signal_letzter_Zyklus" := TRUE;
    ELSE
      "Signal_letzter_Zyklus" := FALSE;
    END_IF;
    Was du da schreibst ist das das selbe was bereits gepostet wurde nur mit etwas mehr(komplizierterem) Code
    siehe:
    (die beste Lösung meiner Meinung nach)

    Zitat Zitat von asci25 Beitrag anzeigen
    Ich denke mal, was der TE braucht ist eine positive Flanke vor dem S eines SR-Glieds. Sein Problem, wenn ich es richtig verstanden habe, ist, das die Lampe wieder angeht, sobald die Rücksetzbedingung nicht mehr da ist, aber die Setz-Bedingung noch ansteht. In FUP ist das einfacher als im SCL.

    @petzi: In SCL musst Du den Zustand des Merkers zwischenspeichern um festzustellen, dass er sich geändert hat. Das sieht folgendermaßen aus:

    Code:
    IF bMerker AND NOT bMerkerGespeichert THEN   
      bLampe := TRUE;
    END IF;
    bMerkerGespeichert := Merker;
    IF NOT bTaster THEN 
      bLampe := FALSE; 
    END_IF;
    Die erste Bedingung wird jetzt nur noch für einen SPS-Zyklus ausgeführt, wenn der Merker einen Flankenwechsel nach True durchführt.

    Ich hoffe, dass es das ist, wonach Du gesucht hast.

  3. #13
    Registriert seit
    17.05.2010
    Ort
    Paderborn
    Beiträge
    824
    Danke
    84
    Erhielt 125 Danke für 94 Beiträge

    Standard

    Ja Sorry ich998, hab ich ganz überlesen! Kein Grund zum aufregen, Du stehst ja mit Deiner Lösung vor meiner!

    Übrigends, viele Wege führen nach Rom. Und nicht immer ist der Kürzeste der Beste, das ist jedoch Geschmackssache und kann jeder für sich entscheiden. Welcher Code kürzer und welcher vieleicht besser zu lesen ist! Ich machs so und Du wie Du magst
    Grüße
    Michael

    1001101110110100... Das ist meine Welt

  4. #14
    Registriert seit
    09.06.2008
    Beiträge
    138
    Danke
    16
    Erhielt 13 Danke für 13 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Also aufgeregt hat sich hier niemand

Ähnliche Themen

  1. bedingte Zuweisung im FUP?
    Von McNugget im Forum CODESYS und IEC61131
    Antworten: 21
    Letzter Beitrag: 26.11.2009, 11:16
  2. Ungültige Zuweisung, SCL
    Von petzi im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 18.05.2009, 13:55
  3. Zuweisung
    Von snowbda im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 03.12.2008, 15:11
  4. Zuweisung von Adressen
    Von buenne im Forum Simatic
    Antworten: 18
    Letzter Beitrag: 05.04.2007, 16:19
  5. Zuweisung von Hardware Eingängen
    Von chivas im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 19.10.2004, 16:35

Lesezeichen

Berechtigungen

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