Hauptinhalt

Logical Operator

Angegebene logische Operation an Eingaben durchführen

  • Logical Operator block

Bibliotheken:
Simulink / Commonly Used Blocks
Simulink / Logic and Bit Operations
HDL Coder / Commonly Used Blocks
HDL Coder / Logic and Bit Operations

Beschreibung

Der Block Logical Operator führt die angegebene logische Operation an seinen Eingaben durch. Ein Eingangswert ist wahr (1), wenn er nicht null ist und falsch (0), wenn er null ist.

Über die Parameterliste Operator können Sie die boolesche Operation auswählen, die die Eingaben verbindet. Wenn Sie für die Eigenschaft Icon shape rectangular auswählen, wird der Name des ausgewählten Operators auf dem Blocksymbol angezeigt. Wenn Sie für die Eigenschaft Icon shape distinctive auswählen, wird der Name des ausgewählten Operators nicht auf dem Blocksymbol angezeigt. Die folgende Tabelle enthält die unterstützten Operationen:

OperationBeschreibung

AND

WAHR, wenn alle Eingaben WAHR sind

OR

WAHR, wenn mindestens eine Eingabe WAHR ist

NAND

WAHR, wenn mindestens eine Eingabe FALSCH ist

NOR

WAHR, wenn keine Eingabe WAHR ist

XOR

WAHR, wenn eine ungerade Anzahl Eingaben WAHR ist

NXOR

WAHR, wenn eine gerade Anzahl Eingaben WAHR ist

NOT

WAHR, wenn die Eingabe FALSCH ist

Wenn Sie als Icon shape distinctive auswählen, weist das Erscheinungsbild des Blocks auf dessen Funktion hin. Die Simulink®-Software zeigt für den ausgewählten Operator eine charakteristische Form an, gemäß IEEE® Standard Graphic Symbols for Logic Functions.

Verwenden Sie den Parameter Number of input ports, um die Anzahl der Eingangsports festzulegen. Der Ausgabetyp wird mithilfe des Parameters Output data type festgelegt. Ein Ausgabewert ist 1, wenn WAHR und 0, wenn FALSCH.

Hinweis

Der Ausgangs-Datentyp sollte "null" präzise darstellen. Datentypen, die diese Bedingung erfüllen, umfassen vorzeichenbehaftete und vorzeichenlose Ganzzahlen sowie Gleitkomma-Datentypen.

Die Größe der Ausgabe hängt von der Eingangsvektorgröße und dem ausgewählten Operator ab:

  • Wenn der Block mehrere Eingaben aufweist, müssen nicht-skalare Eingaben dieselben Dimensionen aufweisen. Wenn es sich bei einer Eingabe beispielsweise um ein 2-mal-2-Array handelt, müssen alle anderen nichtskalaren Eingaben ebenfalls 2-mal-2-Arrays sein.

    Skalare Eingaben werden auf dieselben Dimensionen wie nichtskalare Eingaben erweitert.

    Wenn der Block mehrere Eingaben aufweist, hat die Ausgabe dieselben Dimensionen wie die Eingaben (nach Skalarerweiterung) und jedes Ausgangselement ist das Ergebnis einer Anwendung der angegebenen logischen Operation auf die jeweiligen Eingangselemente. Wenn die angegebene Operation beispielsweise AND ist und die Eingaben 2-mal-2-Arrays sind, ist die Ausgabe ein 2-mal-2-Array, dessen oberes linkes Element das Ergebnis eines Anwendens von AND auf die oberen linken Elemente der Eingänge ist, und so weiter.

  • Bei einem einzelnen Vektoreingang wendet der Block die Operation (mit Ausnahme des NOT-Operators) auf alle Elemente des Vektors an. Die Ausgabe ist stets ein Skalar.

  • Der NOT-Operator akzeptiert nur eine Eingabe, bei der es sich um einen Skalar oder einen Vektor handeln kann. Ist die Eingabe ein Vektor, ist der Ausgabe ein Vektor derselben Größe, der die logischen Komplemente der Eingabevektor-Elemente enthält.

Bei einer Konfiguration als XOR-Gatter mit mehreren Eingaben führt dieser Block eine Modulo-2-Addition durch, gemäß dem IEEE Standard for Logic Elements.

Beispiele

Ports

Eingabe

alle erweitern

Erstes Eingangssignal, angegeben als Skalar, Vektor oder Matrix.

Datentypen: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

Zweites Eingangssignal, angegeben als Skalar, Vektor oder Matrix.

Datentypen: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

N. Eingangssignal, angegeben als Skalar, Vektor oder Matrix.

Abhängigkeiten

Verwenden Sie den Parameter Number of input ports, um weitere Eingangsports zu aktivieren.

Datentypen: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

Ausgabe

alle erweitern

Ausgangssignal aus Nullen und Einsen, mit den gleichen Dimensionen wie die Eingabe. Sie können den Ausgangs-Datentyp über die Parameter Require all inputs and output to have the same data type und Output data type steuern.

Datentypen: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

Parameter

alle erweitern

Haupt

Wählen Sie den logischen Operator aus, der auf die Block-Eingaben angewendet werden soll.

  • AND – WAHR, wenn alle Eingaben WAHR sind

  • OR – WAHR, wenn mindestens eine Eingabe WAHR ist

  • NAND – WAHR, wenn mindestens eine Eingabe FALSCH ist

  • NOR – WAHR, wenn keine Eingabe WAHR ist

  • XOR – WAHR, wenn eine ungerade Anzahl Eingaben WAHR ist

  • NXOR – WAHR, wenn eine gerade Anzahl Eingaben WAHR ist

  • NOT – WAHR, wenn die Eingabe FALSCH ist

Programmatische Verwendung

Blockparameter: Operator
Typ: Zeichenvektor
Werte: 'AND' | 'OR' | 'NAND' | 'NOR' | 'XOR' | 'NXOR' | 'NOT'
Standardwert: 'AND'

Geben Sie die Anzahl der Block-Eingaben als positive Ganzzahl an.

Programmatische Verwendung

Blockparameter: Inputs
Typ: Zeichenvektor
Werte: positive Ganzzahl
Standardwert: '2'

Abhängigkeiten

Dieser Parameter ist nicht verfügbar, wenn Sie Operator auf NOT gesetzt haben.

Geben Sie die Form des Blocksymbols an.

  • rectangular – Ergibt einen rechteckigen Block, auf dem der Name des ausgewählten Operators angezeigt wird.

  • distinctive – Verwendet das grafische Symbol für den ausgewählten Operator gemäß IEEE-Standard.

Programmatische Verwendung

Blockparameter: IconShape
Typ: Zeichenvektor
Werte: 'rectangular' | 'distinctive'
Standardwert: 'rectangular'

Geben Sie hier das Zeitintervall zwischen Abtastvorgängen an. Um die Abtastzeit zu vererben, setzen Sie diesen Parameter auf -1. Weitere Informationen finden Sie unter Festlegen der Abtastzeit.

Abhängigkeiten

Dieser Parameter ist nur sichtbar, wenn Sie einen anderen Wert als -1 festgelegt haben. Mehr dazu erfahren Sie unter Blocks for Which Sample Time Is Not Recommended.

Programmatische Verwendung

Um den Wert des Blockparameters programmatisch festzulegen, verwenden Sie die Funktion set_param.

Parameter: SampleTime
Werte: "-1" (Standardeinstellung) | scalar or vector in quotes

Datentyp

Wählen Sie dieses Kontrollkästchen aus, um festzulegen, dass alle Block-Eingaben und die Ausgabe denselben Datentyp haben müssen. Wenn Sie dieses Kontrollkästchen deaktivieren, können Eingaben und Ausgabe unterschiedliche Datentypen aufweisen.

Programmatische Verwendung

Blockparameter: AllPortsSameDT
Typ: Zeichenvektor
Werte: 'off' | 'on
Standardwert: 'off'

Legt den Ausgangs-Datentyp fest. Folgende Optionen stehen zur Verfügung:

  • boolean – Der Blockausgang weist den Datentyp boolean auf.

  • Inherit: Logical (see Configuration Parameters: Optimization) – Der Block verwendet den Konfigurationsparameter Implement logic signals as Boolean data zum Festlegen des Ausgangs-Datentyps (siehe Implement logic signals as Boolean data (vs. double)).

    Hinweis

    Diese Option unterstützt Modelle, die erstellt wurden, bevor die Option boolean verfügbar war. Verwenden Sie für neue Modelle eine andere Option, bevorzugt boolean.

  • Inherit: Inherit via back propagation – Der Block erbt einen Datentyp. Wenn Sie diese Option auswählen, entspricht der Ausgangs-Datentyp und die Skalierung den Eigenschaften des direkt nachgelagerten Blocks.

  • fixdt(1,16) – Der Blockausgang weist den angegebenen Festkomma-Datentyp fixdt(1,16) auf.

    Tipp

    Der Data Type Assistant hilft Ihnen bei der Einstellung von Datenattributen. Um den Data Type Assistant zu verwenden, klicken Sie auf the Show data type assistant button. Weitere Informationen finden Sie unter Specify Data Types Using Data Type Assistant.

  • <data type expression> – Der Blockausgang weist den Datentyp auf, den Sie mit einem Datentyp-Ausdruck festlegen, beispielsweise Simulink.NumericType.

    Tipp

    Um einen eingebauten Datentyp (double, single, int8, uint8, int16, uint16, int32 oder uint32) zu verwenden, stellen Sie den Ausdruck in einzelne Anführungszeichen. Geben Sie beispielsweise 'double' statt double ein.

Programmatische Verwendung

Blockparameter: OutDataTypeStr
Typ: Zeichenvektor
Werte: 'Inherit: Logical (see Configuration Parameters: Optimization)' | 'boolean' | 'fixdt(1,16)' | '<data type expression>'
Standardwert: 'boolean'

Wählen Sie die Kategorie der anzugebenden Daten aus.

  • Built in – Gibt eingebaute Datentypen an. Wählen Sie Built in aus, um boolean zu aktivieren.

  • Inherit – Gibt Vererbungsregeln für Datentypen an. Wählen Sie Inherit aus, um Logical (see Configuration Parameters: Optimization) zu aktivieren.

  • Fixed point – Gibt Festkomma-Datentypen an.

  • Expression – Gibt Ausdrücke an, die Datentypen auswerten.

Abhängigkeiten

Um diesen Parameter zu aktivieren, klicken Sie auf die Schaltfläche Show data type assistant.

Wählen Sie den Datentyp-Override-Modus für dieses Signal aus.

  • Wenn Sie Inherit auswählen, erbt Simulink die Datentyp-Override-Einstellung aus seinem Kontext, d h. vom Block, dem Simulink.Signal-Objekt oder dem Stateflow®-Chart in Simulink, der das Signal verwendet.

  • Wenn Sie Off auswählen, ignoriert Simulink die Datentyp-Override-Einstellung seines Kontexts und verwendet den für das Signal angegebenen Festkomma-Datentyp.

Weitere Informationen finden Sie unter Specify Data Types Using Data Type Assistant in der Simulink-Dokumentation.

Abhängigkeiten

Um diesen Parameter zu aktivieren, setzen Sie Mode auf Built in oder Fixed point.

Tipps

Die Möglichkeit, den Datentyp-Override für einen einzelnen Datentyp zu deaktivieren, bietet mehr Kontrolle über die Datentypen in Ihrem Modell, wenn Sie den Datentyp-Override anwenden. Hierdurch können Sie beispielsweise sicherstellen, dass die Datentypen den Anforderungen der nachgelagerten Blöcke entsprechen, unabhängig von Datentyp-Override-Einstellung.

Geben Sie an, ob die Festkommadaten vorzeichenbehaftet oder vorzeichenlos sein sollen. Vorzeichenbehaftete Daten können positive und negative Werte darstellen, vorzeichenlose Daten nur positive Werte. Weitere Informationen finden Sie unter Specifying a Fixed-Point Data Type.

Abhängigkeiten

Um diesen Parameter zu aktivieren, setzen Sie Mode auf Fixed point.

Geben Sie die Bitgröße des Worts an, das die quantisierte Ganzzahl enthält. Weitere Informationen finden Sie unter Specifying a Fixed-Point Data Type.

Abhängigkeiten

Um diesen Parameter zu aktivieren, setzen Sie Mode auf Fixed point.

Geben Sie die Methode zur Skalierung der Festkommadaten an, um Überschreitungsbedingungen zu vermeiden und Quantisierungsfehler zu minimieren. Wenn Sie Integer angeben, ist das Ergebnis identisch zur Angabe einer binären Kommastelle mit Bruchlänge 0.

Abhängigkeiten

Um diesen Parameter zu aktivieren, klicken Sie auf die Schaltfläche Show data type assistant und setzen Sie Mode auf Fixed point.

Blockeigenschaften

Datentypen

Boolean | double | fixed point | half | integer | single

Direct Feedthrough

ja

Mehrdimensionale Signale

ja

Signale mit variabler Größe

ja

Erkennung von Nulldurchgängen

nein

Erweiterte Fähigkeiten

alle erweitern

C/C++ Codegenerierung
Generieren von C und C++ Code mit Simulink® Coder™.

PLC-Codegenerierung
Generieren strukturierten Textcodes mit Simulink® PLC Coder™.

Festkommakonvertierung
Entwerfen und Simulieren von Festkommasystemen mit Fixed-Point Designer™.

Versionsverlauf

Eingeführt vor R2006a