Step 7 Taster für die Betriebsartenwahl

time15

Level-1
Beiträge
6
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich ein Problem mit der Realisierung meiner Betriebsartewahl. Ziel ist es das ich mit dem Taster E0.0 zwischen 4 Betriebsarten M1.0 bis M1.3 umschalten kann.Das heist ich drücke den Taster einmal und die 1 Betriebsart ist aktiv, drücke ich den Taster erneut so wird in die 2 Betriebsart gewechselt usw.

habt ihr für mich Lösungsvorschlage wie ich das im allgemeinen realisieren kann.

besten dank schon mal.

gruß time15
 
Und ... an welcher Stelle deines Codes (den du vielleicht mal hier einstellen solltest) hast du ein Problem ?
Was funktioniert konkret nicht ?

Gruß
Larry
 
Ich glaube, zwischen Betriebsarten umschalten mit nur 1 Taster ist keine gute Idee.. Welche Betriebsarten willst Du denn umschalten/durchschalten?

Ansonsten ein zweiter Vorschlag: man könnte einen Zähler 0..3 nehmen

Harald
 
ja das mit der Schrittkette hat nicht so richtig funktioniert dabei wurde immer ein Netzwerk direkt übersprungen trotz Flankenauswertung, desweitern muss ja immer ein schritt aktiv sein, was ja auch nicht der fall beim starten ist. Oder hat jemand einem vorschlag wie das als Schrittkette realisierbar ist ?
 
Also da haben bestimmt einige Leute einen Vorschlag wie man das als Schrittkette umsetzen kann.
Aber ich denke du solltest einfach mal deinen bisher vorhandenen Code posten und wir suchen gemeinsam den / die Fehler.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
NW1 richtimpuls
UN M 100.1
= M 100.0
S M 100.1

NW2 Flankenauswertung
U "S11"
FP M 3.1
= M 3.0
NW3 1 Betriebsart
U(
U M 50.3
U M 3.0
O M 100.0
)
S M 50.0
U M 50.1
R M 50.0
NOP 0


NW4 2 Betriebsart
U M 50.0
U M 3.0
S M 50.1
U M 50.2
R M 50.1
NOP 0


NW5 3 Betriebsart
U M 50.1
U M 3.0
S M 50.2
U M 50.3
R M 50.2
NOP 0


NW6 4 Betriebsart
U M 50.2
U M 3.0
S M 50.3
U M 50.0
R M 50.3
NOP 0


vom grundprinzip funktioniert das, aber es wird halt immer ein Netzwerk bei der Ansteuerung übersprungen. Meiner meinung nach liegt das an dem Flankenmerker da der Impuls ja für den gesamten Zyklus anliegt, aber ich weiß nicht wir ich das verhindern kann ?
 
Tja, bei Deinem Code hast Du gleich mehrere Probleme, die sich bei Beibehalten Deines Konzeptes nicht einfach so beseitigen lassen. Ich würde das schrittkettenartige Weiterschalten nicht weiter verfolgen.

Bei Betriebsartenschaltern muß man garantieren, daß immer nur 1 Merker aktiv ist. Beim Weiterschalten müssen alle 4 Betriebsarten-Merker gleichzeitig den neuen Zustand einnehmen. Das ist bei S/R-Konzepten nur mit hohem Aufwand realisierbar. Die 4 Betriebsartenbits können 16 verschiedene Bitkombinationen annehmen, von denen aber nur 4 (oder 5) zulässig sind. Oft endet das dann in langen S/R-Orgien mit S/R-Zuweisungen an Merker an vielen verschiedenen Stellen.

Besser ist es, ein Konzept anzuwenden, wo überhaupt nur die 4 zulässigen Fälle auftreten können. Dafür sind Zähler mit Countern oder numerischen Variablen mit dem überwachten Wertebereich 0..3 und anschließendes Vergleichen des numerischen Wertes (Decodieren) auf die 4 Betriebsartenbits geeignet. Leider sind diese Zähler/Variablen-Varianten unter FUP/KOP wegen der Typprüfung nur mit erhöhtem Aufwand realisierbar, zumindest das Zählen sollte man dann in reinem AWL programmieren.

Eine Zählervariante könnte so aussehen:
Code:
//Zähler/Weiterschalten bei Taster Flanke
      L     0                   //auf Betriebsart 1 bei Neustart initialisieren
      U     M    100.0          //Richtimpuls
      SPB   M001

      U     "S11"               //Weiterschalt-Taster
      FP    M      3.1
      SPBN  M002
      L     MW    10            //Betriebsartspeicher
      +     1                   // weiterschalten
      UW    W#16#3              //auf 0..3 begrenzen und wrap zu 0
M001: T     MW    10
M002: NOP   0

//Betriebsart 1
      L     MW    10            //Betriebsartspeicher
      L     0
      ==I
      =     "Betriebsart_1"

//...

//Betriebsart 4
      L     MW    10            //Betriebsartspeicher
      L     3
      ==I
      =     "Betriebsart_4"


Bei nur 4 Zuständen kann man aber auch nur mit Bitverknüpfungen einen "2-Bit-Zähler" realisieren und decodieren (vollständig in FUP/KOP darstellbar):
Code:
//Richtimpuls
      UN    M    100.1
      =     M    100.0          //Richtimpuls
      S     M    100.1

//Taster Flanke
      U     "S11"
      FP    M      3.1
      =     M      3.0

//Speicherbit 1
      U(    
      U(    
      U     M      5.0
      UN    M      5.1
      O     
      UN    M      5.0
      U     M      5.1
      )     
      U     M      3.0
      O     
      U     M      5.1
      UN    M      3.0
      )     
      UN    M    100.0
      =     M      5.1

//Speicherbit 0
      U(    
      UN    M      5.0
      U     M      3.0
      O     
      U     M      5.0
      UN    M      3.0
      )     
      UN    M    100.0
      =     M      5.0

//Betriebsart 1
      UN    M      5.0
      UN    M      5.1
      =     "Betriebsart_1"

//Betriebsart 2
      U     M      5.0
      UN    M      5.1
      =     "Betriebsart_2"

//Betriebsart 3
      UN    M      5.0
      U     M      5.1
      =     "Betriebsart_3"

//Betriebsart 4
      U     M      5.0
      U     M      5.1
      =     "Betriebsart_4"

Harald
 
vielen dank für die vielen Lösungsansätze ich habe es jetzt mit einem ganz normalen rückwärts Zähler realisiert der bei 4 anfängt und sich automatisch bei 0 wieder zurücksetzt also auf 4. Somit habe ich bei jedem positivem Flankenwechsel einen Zahl weniger bis er wieder vom Startwert anfängt und runter zählt. Mit den Zahlen 1-4 kann ich jetzt meine Betriebsarten ansteuern
 
Zurück
Oben