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

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

Thema: Frage zu Flankenauswertung von Tastern

  1. #11
    Registriert seit
    30.10.2009
    Ort
    10 km vom Herzen der Natur
    Beiträge
    1.626
    Danke
    120
    Erhielt 340 Danke für 255 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Die Variable hast Du temporär gemacht? Poste mal Deinen Code, ich fürchte, Du machst gerade einen großen Fehler und hast Glück, dass es läuft.
    Gruß
    Michael

  2. #12
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.618
    Danke
    775
    Erhielt 646 Danke für 492 Beiträge

    Standard

    Ich denke er gehört eher zu den Programmierern die nicht wissen wollen warum etwas funktioniert, solange es funktioniert.

  3. #13
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.163
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Neurorancer Beitrag anzeigen
    Code:
    //Tastendruck erkennen
    IF "taster_1" = TRUE THEN
        "status_taster_1" := 1;
    ELSIF "taster_1" = FALSE AND "status_taster_1" = 1 THEN
        "status_taster_1" := 0;
        "taster_1_gedr" := 1;
    END_IF;
    
    IF "taster_1_gedr" = 1 THEN
        "out_1" := 1;
        //#umdrehungszahl := #umdrehungszahl + 1000;
        "var_umdrehungszahl" :=  "var_umdrehungszahl" + INT#2000;
        "taster_1_gedr" := 0;
    END_IF;
    Das Zuweisen/Setzen/Rücksetzen von Variablen an verschiedenen verteilten Stellen bei verschieden formulierten IF..THEN macht den Code extrem unübersichtlich und unverständlich.
    Mache doch besser einfache Logik und IF..THEN nur da wo es unbedingt notwendig ist:
    Code:
    "taster_1_gedr" := "taster_1" AND NOT "status_taster_1"; //"gedrückt" nur bei steigender Flanke
    "status_taster_1" := "taster_1";                         //Zustand "taster_1" merken
    
    IF "taster_1_gedr" THEN                                  //wenn steigende Flanke taster_1
      "var_umdrehungszahl" := "var_umdrehungszahl" + 2000;   //dann Solldrehzahl erhöhen
    END_IF;
    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

Ähnliche Themen

  1. Step 7 Mehrfachbelegung von Tastern
    Von blacky001 im Forum Simatic
    Antworten: 24
    Letzter Beitrag: 09.11.2014, 17:53
  2. Verkettung von Not-Aus-Tastern
    Von fup_safety im Forum Maschinensicherheit - Normen und Richtlinien
    Antworten: 18
    Letzter Beitrag: 28.02.2014, 08:58
  3. Antworten: 22
    Letzter Beitrag: 21.09.2012, 13:08
  4. Analogausgang ansteuern mit 2 Tastern
    Von Detto im Forum Simatic
    Antworten: 30
    Letzter Beitrag: 16.11.2011, 13:27
  5. Siemens Logo: aus 2 Tastern soll 1 Schalter werden
    Von ogkoenig im Forum Sonstige Steuerungen
    Antworten: 11
    Letzter Beitrag: 12.09.2008, 09:42

Lesezeichen

Berechtigungen

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