5 Lampen nacheinander ansteuern mit "SR" und "Pos/Neg"

wroky

Level-1
Beiträge
4
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
hi, habe hier eine für mich als anfänger unlösbare aufgabe:

ich soll eine schaltung programmieren, mit der per taster (E 0.0) nacheiander 5 lampen leuchten (H0-H4) . (also muss man 5 mal tasten,damit alle lampen leuchten ;) ).

achja und nach dem 6 mal tasten sollen dann wieder alle lampen aus sein.

ps: wichtig: die aufgae mit SR-Glied(ern) und "pos" bzw. "neg" (mit oder ohne MBIT ist egal).:sm14:

ich danke für eure hilfe...

mfg wroky
 
diese aufgabe ist alles andere als unlösbar. nur solltest du dich intensiver mit der materie beschäftigen.

du brauchst 5 SR-flipflops
eigentlich nur eine flankenauswertung
5 mal rücksetzen
und ein paar und-verknüpfungen

wenn alle lampen aus und taster gedrückt, setze erste lampe und setze einschaltsignal zurück
wenn erste lampe leuchtet und taster gedrückt, setze zweite lampe und setze einschaltsignal zurück
wenn zweite lampe leuchtet und taster gedrückt, ...........

viel ERFOLG!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ok dankeschön für deine schnelle antwort, ja stimmt klingt nun ganz einfach, bin mit der flankenauswertung immernochnicht zurechtgekommen....

nochmals dankeschön, mfg wroky
 
die flankenauswertung ist eigentlich ganz einfach:

du nimmst dein tastersignal, legst es auf ein FP glied, dem du einen eindeutigen merker zuweist und verbindest das mit einer zuweisung (=) auf einen zweiten eindeutigen merker.

der zweite merker ist dein einschaltsignal, welches du nach jeder schalthandlung zurücksetzt
 
Zuviel Werbung?
-> Hier kostenlos registrieren
//nw1
U E 0.1
FP M10.0
= M10.1

//nw2
U M 10.1
UN A 0.0
UN A 0.1
UN A 0.2
UN A 0.3
UN A 0.4
S A 0.0
R M 10.1
//nw3
U M 10.1
U A 0.0
UN A 0.1
UN A 0.2
UN A 0.3
UN A 0.4
S A 0.1
R M 10.1
//nw4
U M 10.1
U A 0.0
U A 0.1
UN A 0.2
UN A 0.3
UN A 0.4
S A 0.2
R M 10.1
//nw 5-6
uzw


//nw7
// alles ausschalten
U M 10.1
U A 0.0
U A 0.1
U A 0.2
U A 0.3
U A 0.4
R A 0.0
R A 0.1
R A 0.2
R A 0.3
R A 0.4
 
Warum nicht einfach einen Zähler den man mit einem Impuls hochzählt und den Zählerstand abfragen, vergleichen und damit die entsprechenden Ausgänge setzen...
 
Code:
*
FUNCTION FC 6 : VOID
TITLE =
VERSION : 0.1


VAR_INPUT
  xIn : BOOL ;    
END_VAR
VAR_IN_OUT
  xHelpFlag : BOOL ;    
  bOut : BYTE ;    
END_VAR
BEGIN
NETWORK
TITLE =

      U     #xIn; 
      FP    #xHelpFlag; 
      SPBN  end; 
      L     #bOut; 
      SLW   1; 
      L     1; 
      OW    ; 
      T     #bOut; 
      L     W#16#1F; 
      >I    ; 
      SPBN  end; 
      L     0; 
      T     #bOut; 
end:  SET   ; 
      SAVE  ; 

END_FUNCTION
meine bescheidene lösung, natürlich müßte man bOut noch maskieren, bevor man es auf eine reihe von ausgängen schreibt, aber dafür gibt es ja den http://sps-forum.de/showpost.php?p=160753&postcount=7
 
Zuletzt bearbeitet:
NW1
Code:
  U(    
      U     "Schaltpuls"
      S     "H01"
      U     "Reset"
      R     "H01"
      U     "H01"
      )     
      FP    M     40.0
      SPB   jump
NW2
Code:
   U(    
      U     "Schaltpuls"
      U     "H01"
      S     "H02"
      U     "Reset"
      R     "H02"
      U     "H02"
      )     
      FP    M     40.1
      SPB   jump
NW3
Code:
  U(    
      U     "Schaltpuls"
      U     "H02"
      S     "H03"
      U     "Reset"
      R     "H03"
      U     "H03"
      )     
      FP    M     40.2
      SPB   jump
NW4
Code:
  U(    
      U     "Schaltpuls"
      U     "H03"
      S     "H04"
      U     "Reset"
      R     "H04"
      U     "H04"
      )     
      FP    M     40.3
      SPB   jump
NW5
Code:
 U(    
      U     "Schaltpuls"
      U     "H04"
      S     "H05"
      U     "Reset"
      R     "H05"
      U     "H05"
      )     
      FP    M     40.4
      SPB   jump
NW6
Code:
  U     "H01"
      U     "H02"
      U     "H03"
      U     "H04"
      U     "H05"
      U     "Schaltpuls"
      =     "Reset"
NW7
Code:
jump: U     "Taster"
      FP    "Pulsmerker"
      =     "Schaltpuls"

Bitte gerne...
 
so schnell schnell!! bin halt kein proft, natürlich lässt sich das alles wie joop das gemacht hat auch machen! aber dies ja nur ein anderer lösungsvorschlag wenns rein um die funktion geht!!

sorry

wofür entschuldigst du dich? schlechtes gewissen oder was? wenn ja: warum?

... schnell, schnell ist das eine, ja, aber mal ehrlich - WAS MACHST DU DA? ;)

die lösung von joop ist ok (würde sie in code-tags stehen, würde ich sie mir auch anschauen :rolleyes:) allerdings braucht es bei diesem meschanismus gar nicht soviele und-verknüpfungen, da eine lampe von der anderen abhängt, reicht es den stautus der vorhergehenden lampe auszuwerten und beim ausschalten aller reicht es dann natürlich zu wissen, dass die letzte an ist
 
Zuviel Werbung?
-> Hier kostenlos registrieren
wenn ich den ein merker im ersten nw "drücke" dann schalten alle lampen gleichzeitig ein, da die vorheregehende lampe ja auch ein ist. natürlich kann man das verriegeln, ich überspringa hal alle anderen rinmal. fedisch...
 
Da ja am Anfang die Rede von SR Gliedern war, hier mal ne ganz einfache Lösung in FUP
 

Anhänge

  • FC1.pdf
    18,3 KB · Aufrufe: 45
Zuletzt bearbeitet:
Hallo Steff_F

Wozu eine Schnittstelle als bibliotheksfähigen Baustein, wenn dann im Baustein "FM" und "IM" globale Merker sind?

Hier ist dann wohl ein FB die bessere Lösung oder "IM" und "FM" werden bei INOUT als BOOL deklariert. Dann geht auch eine FC.

Gruß Christian
 
Zurück
Oben