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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Abfrage in SCL erweitern?

  1. #1
    Registriert seit
    05.07.2010
    Beiträge
    148
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    in einem bestehenden Programm ist unter anderem folgender Code programmiert:

    IF.jpg


    Nun soll ein weiterer IF-Abfragezweig programmiert werden, der jedoch nur dann ausgeführt wird, wenn die Zeile

    Code:
    IF "Eingang1" = 1 AND "Eingang2" = 1 THEN
    TRUE ist.

    Frage: Ist das möglich - und wenn ja - wie muss ich neue Abfrage am Code-Ende einfügen?

    Lieben Dank!
    L.G. schnecke
    Zitieren Zitieren Abfrage in SCL erweitern?  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    Ähhh ....
    Das ist doch in deinem Bild, das du eingefügt hast schon genau so gemacht ???
    Was willst du denn nun wissen ?

    Übrigens - Verbesserungs-Potential :
    Wenn du abfragen willst ob eine Boolsche Variable = 1 ist dann kannst du es auch so programmieren :
    Code:
    IF Eingang then ...
    
    bzw.
    
    IF NOT Eingang then ...
    Gruß
    Larry

  3. #3
    schnecke ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.07.2010
    Beiträge
    148
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von schnecke Beitrag anzeigen

    Nun soll ein weiterer IF-Abfragezweig programmiert werden, der jedoch nur dann ausgeführt wird, wenn die Zeile

    Code:
    IF "Eingang1" = 1 AND "Eingang2" = 1 THEN
    TRUE ist.
    Es soll also nochmals eine IF-Abfrage programmiert und an das bestehende Programm angefügt werden, die aber nur bearbeitet wird, wenn eben oben stehender Code True ist.

    Wenn ich die neue Abfrage einfach hinten anstelle, so spielen ja die dazwischen programmierten IF-Abfragen auch mit rein...
    Geändert von schnecke (09.01.2012 um 12:44 Uhr)
    L.G. schnecke

  4. #4
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    ???

    Du hast doch schon das Folgende im Code stehen :
    Code:
    IF Eingang1 and Eingang2 then
       IF Merker then
          // tu dies
       else
          // tu das
       end_if ;
    
       if neue_Afrage then
          // tu noch was
       end_if;
    
    end_if ;
    ... was du dann nur noch passend erweitern mußt (siehe oben).

  5. #5
    schnecke ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.07.2010
    Beiträge
    148
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke LL,

    aber die neue Abfrage ist doch auch von

    IF Merker Then

    abhängig, oder?

    Die neue Abfrage soll am Ende angefügt werden und nur von


    IF Eingang1 and Eingang2 then

    abhängig sein.
    L.G. schnecke

  6. #6
    Registriert seit
    19.07.2010
    Beiträge
    1.289
    Danke
    213
    Erhielt 267 Danke für 233 Beiträge

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    ???

    Du hast doch schon das Folgende im Code stehen :
    Code:
    IF Eingang1 and Eingang2 then
       IF Merker then
          // tu dies
       else
          // tu das
       end_if ;
    
     if neue_Afrage then
          // tu noch was
       end_if;
    
    end_if ;
    ... was du dann nur noch passend erweitern mußt (siehe oben).
    Wie Larry schon geschrieben hat...
    Die neue Abfrage wird nur bearbeitet wenn Eingang 1 und Eingang 2 true sind. Was Merker macht spielt keine Rolle, da der ja nur für die Abfrage
    Code:
    IF Merker THEN
    ...
    END_IF;
    relevant ist und diese beim End_If beendet ist.

    EDIT: Wenn du immer eine Aktion ausführen möchtest wenn Eingang 1 und Eingang 2 true sind kannst du das auch so machen:

    :
    Code:
    IF Eingang1 and Eingang2 then
       IF Merker then
          // tu dies
       else
          // tu das
       end_if ;
          
       // tu noch was
    
    end_if ;
    
    Geändert von Aventinus (09.01.2012 um 13:24 Uhr)
    mfG Aventinus

  7. #7
    schnecke ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.07.2010
    Beiträge
    148
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Aventinus Beitrag anzeigen

    EDIT: Wenn du immer eine Aktion ausführen möchtest wenn Eingang 1 und Eingang 2 true sind kannst du das auch so machen:

    :
    Code:
    IF Eingang1 and Eingang2 then
       IF Merker then
          // tu dies
       else
          // tu das
       end_if ;
          
       // tu noch was
    end_if ;
    

    Lieben Dank euch beiden!

    Ja, so hatte ich es eigentlich gemeint - habe mich aber doof ausgedrückt...


    Eine Frage noch dazu:

    Wenn ich in einem Baustein an unterschiedlichen Stellen IF-Abfragen programmiere und dabei jeweils mit anderen Bedingungen den gleichen Ausgang setze oder rücksetze, wäre das dann auch eine Doppelzuweisung oder nicht, da das Setzen/Rücksetzen ja in unterschiedlichen IF-Abfragen geschieht?
    L.G. schnecke

  8. #8
    Registriert seit
    19.07.2010
    Beiträge
    1.289
    Danke
    213
    Erhielt 267 Danke für 233 Beiträge

    Standard

    Von Doppelzuweisungen spricht man in der Regel bei =-Zuweisungen.

    Wenn du in zwei unterschiedlichen IF-Konstrukten setzt und rücksetzt ist das keine Doppelzuweisung sonder ganz normale Programmierung. Das kannst du ja vergleichen wie wenn du in AWL/FUP/KOP das Setzen und Rücksetzten in zwei Netzwerken bastelst.
    mfG Aventinus

  9. #9
    schnecke ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    05.07.2010
    Beiträge
    148
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von Aventinus Beitrag anzeigen
    Das kannst du ja vergleichen wie wenn du in AWL/FUP/KOP das Setzen und Rücksetzten in zwei Netzwerken bastelst.
    Aja ok, war mir nicht sicher, ob das in SCL genauso gehandhabt wird!

    Supi, dank' dir...
    L.G. schnecke

  10. #10
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    SCL wird am Ende doch zu AWL ...
    Es bedient sich also auch der gleichen Methodik ...

Ähnliche Themen

  1. IF Abfrage in SCL
    Von fbeine im Forum Simatic
    Antworten: 14
    Letzter Beitrag: 31.08.2012, 19:14
  2. Abfrage Bit und if Abfrage
    Von Move im Forum HMI
    Antworten: 5
    Letzter Beitrag: 11.05.2011, 21:58
  3. Antworten: 27
    Letzter Beitrag: 07.03.2011, 12:53
  4. DB Erweitern
    Von automobil80 im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 12.12.2007, 08:52
  5. Abfrage eines DB in SCL.Warum geht es nicht
    Von Gerold im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 31.10.2005, 09:40

Lesezeichen

Berechtigungen

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