Bits in temporäres Byte mappen und gesetzte Bits zählen

Y

yetibrain

Guest
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Forum,

ich habe 6 bits in einem DB und möchte diese auf ein byte mappen und dann zählen wieviele bits gesetzt sind. Wie geht das mit Step7 einfach und performant? Bin für jeden Tipp dankbar.

yb
 
Hallo,
habe nicht getestet, aber so sollte es gehen:

Code:
      U     DB22.DBX    2.3
      =     M    200.0
      U     DB22.DBX    3.6
      =     M    200.1
// ...

      L     0
      T     MB   201                    // Zähler auf Null

zyk:  L     MB   200
      SRW   1
      T     MB   200
      SPZ   null                        // Springe, wenn 0 rausgeschoben
      L     MB   201                    // Zähler erhöhen, wenn 1 rausgeschoben
      +     1
      T     MB   201                    // Anzahl "1" im MB 200
null: L     MB   200                    // wenn nicht alle its 0, dann weiterschieben
      L     0
      ==I   
      SPBN  zyk
Gruß
raika
 
mit dem befehlt "RLDA" (Rotiere Akku 1 links über A1-Anzeige (32 Bit))
bzw "RRDA" kann man das sicher auch elegent lösen...
 
Zurück
Oben