4 Motoren bitweise ansteuern

Gast #4858753
Lesenswert?

Guten Abend,

ich möchte gerne 4 Motoren in Simulink bitweise ansteuern. Es darf aber 
immer nur ein Motor an sein, sind zwei Bits an, muss ein Fehler kommen. 
Die vier Bits sollen

Bit0 -> Motor 1
Bit1 -> Motor 2
Bit3 -> Motor 3
Bit4 -> Motor 4

bedeuten.

Ich habe bei Wikipedia die Logikgatter betrachtet

https://de.wikipedia.org/wiki/Logikgatter

und mich für ein XOR entschieden.

Bei zwei Variablen funktioniert das auch, immer, wenn nur ein Bit 
gesetzt ist, ist das Ergebnis TRUE, sonst FALSE.

Ich habe jetzt dem XOR-Block gesagt, dass er vier Eingänge haben soll. 
Das Problem ist jetzt folgendes:
1
Bit0 = Bit1 = TRUE
2
Bit2 = Bit3 = FALSE
Es funktioniert noch, das Ergebnis ist:
1
FALSE
 weil zwei Bits TRUE sind.

Mache ich aber jetzt:
1
Bit0 = Bit1 = Bit2 = TRUE
2
Bit4 = FALSE

Das Ergebnis ist:
1
TRUE
 obwohl jetzt drei Eingangsbits TRUE sind und das nicht sein darf.

Funktioniert ein XOR mit drei oder mehr Eingängen nicht mehr richtig?
Persönliche Seite #4858762
Lesenswert?

|M1 |M2 |M3 |M4 | Y |
| 1 | 0 | 0 | 0 | 1 |
| 0 | 1 | 0 | 0 | 1 |
| 0 | 0 | 1 | 0 | 1 |
| 0 | 0 | 0 | 1 | 1 |
| SONST         | 0 |

Y=
(M1 and ~M2 and ~M3 and ~M4) or
(~M1 and M2 and ~M3 and ~M4) or
(~M1 and ~M2 and M3 and ~M4) or
(~M1 and ~M2 and ~M3 and M4)
dieses Signal nimmste dann als Freigabe für alle (Ein UND jeweils + 
Dieses Signal)

Optimieren kannste selbst.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren