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

Ergebnis 1 bis 5 von 5

Thema: Flankenmerker in SCL kriege ich nicht zum Laufen

  1. #1
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.648
    Danke
    789
    Erhielt 654 Danke für 497 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi Zusammen ich versuch grad meinen ersten Funktionsblock in SCL zu schreiben. Bis jetzt hab ich nur Funktionen geschrieben.

    Leider kriege ich die Flanke nicht zum flanken

    Die Funktion ist eigentlich ganz einfach wenn DEC 1 wird soll X um 1 hochgezählt werden.

    Wenn ich an INC direkt einen Flankenmerker anschliesse und dann auf IF INC abfrage funktioniert die Zählung. Aber die Abfrage auf IF INC_F nicht.

    I starre schon seid ner Stunde auf den Code sehe den Fehler aber nicht.

    Code:
    VAR_IN_OUT
     X:  REAL; 
     OUT: REAL; 
    END_VAR
    
    VAR
     INC_F:   BOOL;
     INC_Imp: BOOL;
     DEC_F:   BOOL;
     DEC_Imp: BOOL;
    END_VAR
    
    BEGIN
     
    (*Eingang X wird hoch oder runtergezählt*) 
     INC_F := INC AND NOT INC_Imp;
      INC_Imp := INC; 
     
      IF INC_F THEN
         X := X + 1.0;
      END_IF;  
      
    
      
     DEC_F := DEC AND NOT DEC_Imp;
     DEC_Imp := DEC;
     
      IF INC_F THEN
         X := X - 1.0;
      END_IF;
    Zitieren Zitieren Flankenmerker in SCL kriege ich nicht zum Laufen  

  2. #2
    Registriert seit
    18.09.2004
    Ort
    Münsterland/NRW
    Beiträge
    4.728
    Danke
    729
    Erhielt 1.161 Danke für 972 Beiträge

    Standard

    Zum thema Flanken in SCL gibt es hier einen Beitrag

  3. #3
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard

    Zitat Zitat von vollmi Beitrag anzeigen
    Hi Zusammen ich versuch grad meinen ersten Funktionsblock in SCL zu schreiben. Bis jetzt hab ich nur Funktionen geschrieben.

    Leider kriege ich die Flanke nicht zum flanken

    Die Funktion ist eigentlich ganz einfach wenn DEC 1 wird soll X um 1 hochgezählt werden.

    Wenn ich an INC direkt einen Flankenmerker anschliesse und dann auf IF INC abfrage funktioniert die Zählung. Aber die Abfrage auf IF INC_F nicht.

    I starre schon seid ner Stunde auf den Code sehe den Fehler aber nicht.

    Code:
    VAR_IN_OUT
     X:  REAL; 
     OUT: REAL; 
    END_VAR
    
    VAR
     INC_F:   BOOL;
     INC_Imp: BOOL;
     DEC_F:   BOOL;
     DEC_Imp: BOOL;
    END_VAR
    
    BEGIN
     
    (*Eingang X wird hoch oder runtergezählt*) 
     INC_F := INC AND NOT INC_Imp;
      INC_Imp := INC; 
     
      IF INC_F THEN
         X := X + 1.0;
      END_IF;  
      
    
      
     DEC_F := DEC AND NOT DEC_Imp;
     DEC_Imp := DEC;
     
      IF INC_F THEN
         X := X - 1.0;
      END_IF;
    Fehler Markiert ;o) Muss Wohl DEC_F lauten.

    Wobei ich da eh:
    Code:
      IF INC AND NOT INC_Imp THEN
         X := X + 1.0;
      END_IF;  
      INC_Imp := INC;
    
      IF DEC AND NOT DEC_Imp THEN
         X := X - 1.0;
       END_IF;  
       DEC_Imp := DEC;
    Schreiben würde.
    Geändert von zotos (26.11.2007 um 15:18 Uhr)
    If you open your Mind too much, your Brain will fall out.

  4. #4
    Avatar von vollmi
    vollmi ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.648
    Danke
    789
    Erhielt 654 Danke für 497 Beiträge

    Standard

    Zitat Zitat von zotos Beitrag anzeigen
    Fehler Markiert ;o) Muss Wohl DEC_F lauten.

    Wobei ich da eh:
    Code:
      IF INC AND NOT INC_Imp THEN
         X := X + 1.0;
      END_IF;  
      INC_Imp := INC;
    
      IF DEC AND NOT DEC_Imp THEN
         X := X - 1.0;
       END_IF;  
       DEC_Imp := DEC;
    Schreiben würde.

    Oh gott ich versink gleich vor Scham im Boden.
    Genau das hab ich nicht gesehen.
    Kaum macht mans richtig, schon funktionierts.

    Aber danke noch für die Optimierung, Bin halt noch Anfänger in SCL

    mfG René

  5. #5
    Registriert seit
    07.03.2004
    Beiträge
    4.369
    Danke
    946
    Erhielt 1.158 Danke für 831 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von vollmi Beitrag anzeigen
    Oh gott ich versink gleich vor Scham im Boden.
    Genau das hab ich nicht gesehen.
    Kaum macht mans richtig, schon funktionierts.

    Aber danke noch für die Optimierung, Bin halt noch Anfänger in SCL

    mfG René
    Brauchst Dich nicht zu schämen, dass ist doch ein Typischer Copy/Paste Fehler.
    Ich habe auch wie Blöd an der ersten und richtigen Codestelle gesucht und nichts gefunden was schief gehen könnte. Erst als ich mit das Dekrementieren angeschaut habe ist es mir aufgefallen. Sowas findet man selbst immer schwer.
    If you open your Mind too much, your Brain will fall out.

Ähnliche Themen

  1. S5 Timer laufen nicht ab
    Von LPW2000 im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 05.04.2010, 20:39
  2. Flankenmerker
    Von Manfred Stangl im Forum Programmierstrategien
    Antworten: 3
    Letzter Beitrag: 24.03.2009, 08:31
  3. Flankenmerker funktioniert nicht
    Von ogstyle im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 23.07.2007, 13:36
  4. Bekomme Regler SFB41 nicht zum laufen :(
    Von michaonline im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 20.11.2006, 14:13
  5. Variablen als Flankenmerker
    Von blackball83 im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 04.08.2006, 14:42

Lesezeichen

Berechtigungen

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