Quantcast
Channel: SPS-Forum - Automatisierung und Elektrotechnik
Viewing all articles
Browse latest Browse all 46422

Step 7 Lauflicht mal anders

$
0
0
Hallo ich bräuchte mal eure Hilfe

Aufgabe: Solange der Taster gedrückt ist, sollen 5 Lampen nacheinander aufleuchten, bis dieser wieder losgelassen wird. Dann soll die Lampe blinken, die zuletzt aufgeleuchtet ist.
Genau diese Lampe soll dann aber beim nächsten Betätigen des Schalters nicht mehr aufleuchten. Wenn alle Lampen an waren, fängt es wieder von vorne an.

Mein Vorschlag wäre dies mit einem Zähler und Sprüngen umzusetzen:
Code:

      U    Taster 1
      U    "Clk10"
      ZV    Z      2
      L    Z      2
      L    5
      >I   
      L    C#0
      S    Z      2

      U    "U07SeqD".Seq.User.Bit21             
      SPB  M001                                            //Wenn Bit 21 gesetzt, sprich Lampe geblinkt hat dann zu M001
      L    Z      2
      L    1
      ==I 
      L    C#1
      =    "U07SeqD".Seq.User.Bit15

M001: U    "U07SeqD".Seq.User.Bit22
      SPB  M002                                              //Wenn Bit 22 gesetzt, sprich Lampe geblinkt hat dann zu M002

      L    Z      2
      L    2
      ==I 
      L    C#2
      =    "U07SeqD".Seq.User.Bit16

M002: U    "U07SeqD".Seq.User.Bit23
      SPB  M003                                        //Wenn Bit 23 gesetzt, sprich Lampe geblinkt hat dann zu M003
      L    Z      2
      L    3
      ==I 
      L    C#3
      =    "U07SeqD".Seq.User.Bit17


M003: U    "U07SeqD".Seq.User.Bit24
      SPB  M004                                                  //Wenn Bit 24 gesetzt, sprich Lampe geblinkt hat dann zu M004
      L    Z      2
      L    4
      ==I 
      L    C#4
      =    "U07SeqD".Seq.User.Bit18

M004: U    "U07SeqD".Seq.User.Bit25
      L    Z      2
      L    5
      ==I 
      L    C#5
      =    "U07SeqD".Seq.User.Bit19






      U    "U07SeqD".Seq.User.Bit15
      U    Taster 1
      O   
      U    "U07SeqD".Seq.User.Bit15
      UN  Taster 1
      S    "U07SeqD".Seq.User.Bit21              // Bit wird gesetzt, wenn Lampe blinkt
      U    "Clk20"
      =  Lampe 1



      U    "U07SeqD".Seq.User.Bit16
      U    Taster 1
      O   
      U    "U07SeqD".Seq.User.Bit16
      UN  Taster 1
      S    "U07SeqD".Seq.User.Bit22                  // Bit wird gesetzt, wenn Lampe blinkt
      U    "Clk20"
      =    Lampe 2


      U    "U07SeqD".Seq.User.Bit17
      U    Taster 1
      O   
      U    "U07SeqD".Seq.User.Bit17
      UN    Taster 1
      S    "U07SeqD".Seq.User.Bit23                // Bit wird gesetzt, wenn Lampe blinkt
      U    "Clk20"
      =    Lampe 3




      U    "U07SeqD".Seq.User.Bit18
      U    Taster 1
      O   
      U    "U07SeqD".Seq.User.Bit18
      UN    Taster 1
      S    "U07SeqD".Seq.User.Bit24                      // Bit wird gesetzt, wenn Lampe blinkt
      U    "Clk20"
      =  Lampe 4





      U    "U07SeqD".Seq.User.Bit19
      U    Taster 1
      O   
      U    "U07SeqD".Seq.User.Bit19
      UN    Taster 1
      S    "U07SeqD".Seq.User.Bit25                          // Bit wird gesetzt, wenn Lampe blinkt
      U    "Clk20"
      =    Lampe 5


      U    "U07SeqD".Seq.User.Bit21
      U    "U07SeqD".Seq.User.Bit22
      U    "U07SeqD".Seq.User.Bit23
      U    "U07SeqD".Seq.User.Bit24
      U    "U07SeqD".Seq.User.Bit25
      =    M      8.0


      U    M      8.0
      R    "U07SeqD".Seq.User.Bit21              // Bits werden zurück gesetzt, wenn alle gesetzt wurden
      R    "U07SeqD".Seq.User.Bit22
      R    "U07SeqD".Seq.User.Bit23
      R    "U07SeqD".Seq.User.Bit24
      R    "U07SeqD".Seq.User.Bit25

Problem ist jetzt aber, dass alle Lampen die ganze Zeit blinken. Wo ist mein Fehler?

Viewing all articles
Browse latest Browse all 46422


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>