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

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 24

Thema: Anfängerfrage ST

  1. #11
    Registriert seit
    13.12.2011
    Beiträge
    1.413
    Danke
    147
    Erhielt 160 Danke für 151 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Genau,
    nur am Ende noch ein END_IF und die Einrückung vom zweiten XLevel_1 muss auch nicht sein, außerdem fehlt eventuell ein xLevel_2 := FALSE oben.

  2. Folgender Benutzer sagt Danke zu oliver.tonn für den nützlichen Beitrag:

    coldice (23.09.2015)

  3. #12
    Registriert seit
    13.12.2011
    Beiträge
    1.413
    Danke
    147
    Erhielt 160 Danke für 151 Beiträge

    Standard

    Ha, erster, erster, erster!!!


  4. #13
    coldice ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    29.02.2012
    Beiträge
    8
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard

    aktueller Stand:
    Code:
    IF rmode >=1 AND rmode <2 THEN
        xLevel_1:= TRUE;
            xLevel_2:= FALSE;
                xLevel_3:= FALSE;
                    xLevel_4:= FALSE;
                        xLevel_5:= FALSE;
                            xLevel_6:= FALSE;
    
    
        ELSIF rmode >=2 AND rmode <3 THEN
                xLevel_1:= FALSE;
                    xLevel_2:= TRUE;
                        xLevel_3:= FALSE;
                            xLevel_4:= FALSE;
                                xLevel_5:= FALSE;
                                    xLevel_6:= FALSE;
    
    
            ELSIF rmode >=3 AND rmode <4 THEN
                    xLevel_1:= FALSE;
                        xLevel_2:= FALSE;
                            xLevel_3:= TRUE;
                                xLevel_4:= FALSE;
                                    xLevel_5:= FALSE;
                                        xLevel_6:= FALSE;
    
                ELSIF rmode >= 4 AND rmode < 5 THEN
                        xLevel_1:= FALSE;
                            xLevel_2:= FALSE;
                                xLevel_3:= FALSE;
                                    xLevel_4:= TRUE;
                                        xLevel_5:= FALSE;
                                            xLevel_6:= FALSE;
    
            ELSIF rmode >=5 AND rmode <6 THEN
                    xLevel_1:= FALSE;
                        xLevel_2:= FALSE;
                            xLevel_3:= FALSE;
                                xLevel_4:= FALSE;
                                    xLevel_5:= TRUE;
                                        xLevel_6:= FALSE;
    
        ELSIF rmode >=6 AND rmode <8 THEN
                    xLevel_1:= FALSE;
                        xLevel_2:= FALSE;
                            xLevel_3:= FALSE;
                                xLevel_4:= FALSE;
                                    xLevel_5:= FALSE;
                                        xLevel_6:= TRUE;
    
    END_IF;
    Wie kann ich aber das Problem lösen das bei fallendem "rmode" die "xLevel" nicht wieder zurückgestellt. Dies soll durch eine separate Variable "Reset" geschehen unabhängig von "rmode".
    Geändert von coldice (23.09.2015 um 12:08 Uhr)

  5. #14
    Registriert seit
    13.12.2011
    Beiträge
    1.413
    Danke
    147
    Erhielt 160 Danke für 151 Beiträge

    Standard

    Hallo coldice,
    was ist ein fallender rmode? Vorher 8 dann, z.B. 5?

  6. #15
    coldice ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    29.02.2012
    Beiträge
    8
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ja, die Werte werden aber nach der Reihe zurückgehen: 8 ->7 ->6 oder so ähnlich.

  7. #16
    Registriert seit
    13.12.2011
    Beiträge
    1.413
    Danke
    147
    Erhielt 160 Danke für 151 Beiträge

    Standard

    Dann macht das Dein Programm doch schon von selber. Sobald rMode auf 5 zurückgeht wird xLevel_5 wieder gesetzt und alle anderen werden FALSE.

  8. #17
    Registriert seit
    30.01.2015
    Ort
    Hansastraße 27, 32423 Minden
    Beiträge
    125
    Danke
    6
    Erhielt 34 Danke für 25 Beiträge

    Standard

    Hallo coldice,

    sinnvoll ist es sicherlich Variablen möglichst Zentral an einem Ort mit einer Bedingung zu verknüpfen.
    So siehst du direkt unter welcher Bedingung, welcher Zustand besteht, ohne lange das Programm zu durchsuchen.

    Code:
    // Mode 1
    IF rmode = 1 THEN
        xLevel_1 := TRUE;
    ELSE
        xLevel_1 := FALSE;
    END_IF;
    
    // Mode 2
    IF rmode = 2 THEN
        xLevel_2 := TRUE;
    ELSE
        xLevel_2 := FALSE;
    END_IF;
    
    // Mode 3
    IF rmode = 3 THEN
        xLevel_3 := TRUE;
    ELSE
        xLevel_3 := FALSE;
    END_IF;
    
    // Mode 4
    IF rmode = 4 THEN
        xLevel_4 := TRUE;
    ELSE
        xLevel_4 := FALSE;
    END_IF;
    
    // Mode 5
    IF rmode = 5 THEN
        xLevel_5 := TRUE;
    ELSE
        xLevel_5 := FALSE;
    END_IF;
    
    // Mode 6
    IF rmode = 6 THEN
        xLevel_6 := TRUE;
    ELSE
        xLevel_6 := FALSE;
    END_IF;
    Ihr/Euer

    WAGO Support Team
    WAGO Kontakttechnik GmbH & Co. KG
    http://www.wago.com
    mailto:support@wago.com
    phone: +49 (0) 571 887 - 555

  9. Folgender Benutzer sagt Danke zu .:WAGO::015844:. für den nützlichen Beitrag:

    coldice (24.09.2015)

  10. #18
    coldice ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    29.02.2012
    Beiträge
    8
    Danke
    6
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Das soll es aber nicht. s.o.
    Geht "rmode" rückwärts soll sich "xLevel" nicht mehr ändern. "xLevel" soll durch eine separate Variable "RESET" auf false gesetzt werden.
    Geändert von coldice (23.09.2015 um 12:17 Uhr)

  11. #19
    Registriert seit
    19.06.2008
    Ort
    Ostalbkreis
    Beiträge
    3.140
    Danke
    201
    Erhielt 553 Danke für 498 Beiträge

    Standard

    Mal am Rande...

    rmode ist keine Reahlzahl, oder? (entweder 1 oder 2 aber nie 1.3...)
    dann ist das >=1 und <2 nix anderes als ein Vergleich auf =1

    Wago... hat das ja bereits übersichtlich dargestellt.

    Das soll es aber nicht...
    ???

    bezieht sich auf...?

  12. #20
    Registriert seit
    30.01.2015
    Ort
    Hansastraße 27, 32423 Minden
    Beiträge
    125
    Danke
    6
    Erhielt 34 Danke für 25 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo coldice,

    das ging aus deinem Beispielcode so nicht hervor. Ich habe nur die gleiche Funktionalität abgebildet.
    Also hier nochmal die von dir beschriebene:

    Code:
    rMode: REAL:= 0.0;
    xLevel_1: BOOL:= FALSE;
    xLevel_2: BOOL:= FALSE;
    xLevel_3: BOOL:= FALSE;
    xLevel_4: BOOL:= FALSE;
    xLevel_5: BOOL:= FALSE;
    xLevel_6: BOOL:= FALSE;
    xReset: BOOL:= FALSE;
    
    // Level 1
    IF rMode >= 1.0 THEN
        xLevel_1 := TRUE;
    END_IF;
    
    IF xReset THEN
        xLevel_1 := FALSE;
    END_IF;
    
    
    // Level 2
    IF rMode >= 2.0 THEN
        xLevel_2 := TRUE;
    END_IF;
    
    IF xReset THEN
        xLevel_2 := FALSE;
    END_IF;
    
    
    // Level 3
    IF rMode >= 3.0 THEN
        xLevel_3 := TRUE;
    END_IF;
    
    IF xReset THEN
        xLevel_3 := FALSE;
    END_IF;
    
    
    // Level 4
    IF rMode >= 4.0 THEN
        xLevel_4 := TRUE;
    END_IF;
    
    IF xReset THEN
        xLevel_4 := FALSE;
    END_IF;
    
    
    // Level 5
    IF rMode >= 5.0 THEN
        xLevel_5 := TRUE;
    END_IF;
    
    IF xReset THEN
        xLevel_5 := FALSE;
    END_IF;
    
    
    // Level 6
    IF rMode >= 6.0 THEN
        xLevel_6 := TRUE;
    END_IF;
    
    IF xReset THEN
        xLevel_6 := FALSE;
    END_IF;
    Geändert von .:WAGO::015844:. (23.09.2015 um 12:46 Uhr) Grund: Anpassen Beispielcode
    Ihr/Euer

    WAGO Support Team
    WAGO Kontakttechnik GmbH & Co. KG
    http://www.wago.com
    mailto:support@wago.com
    phone: +49 (0) 571 887 - 555

Ähnliche Themen

  1. Anfängerfrage
    Von FischGP im Forum CODESYS und IEC61131
    Antworten: 19
    Letzter Beitrag: 01.05.2014, 22:58
  2. Anfängerfrage zu FB
    Von Nafura im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 17.05.2010, 09:28
  3. Anfängerfrage
    Von HonestAnnie im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 08.07.2008, 16:36
  4. Anfängerfrage
    Von Brunoooo im Forum Simatic
    Antworten: 12
    Letzter Beitrag: 13.03.2008, 14:01
  5. Anfängerfrage
    Von yellow1 im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 14.11.2006, 20:24

Stichworte

Lesezeichen

Berechtigungen

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