Contenu principal

Logical Operator

Effectuer une opération logique spécifiée sur l’entrée

  • Logical Operator block

Bibliothèques :
Simulink / Commonly Used Blocks
Simulink / Logic and Bit Operations
HDL Coder / Commonly Used Blocks
HDL Coder / Logic and Bit Operations

Description

Le bloc Logical Operator effectue l’opération logique spécifiée sur ses entrées. Une valeur d’entrée est vraie (1) si elle n’est pas définie sur zéro et fausse (0) si elle est définie sur zéro.

Vous sélectionnez l’opération booléenne reliant les entrées avec la liste de paramètres Operator. Si vous sélectionnez rectangular comme propriété Icon shape, le nom de l’opérateur sélectionné s’affiche sur l’icône du bloc. Si vous sélectionnez distinctive comme propriété Icon shape, le nom de l’opérateur sélectionné ne s’affiche pas sur l’icône du bloc. Le tableau ci-dessous indique les opérations supportées :

OpérationDescription

AND

VRAI si toutes les entrées sont VRAIES

OR

VRAI si au moins une entrée est VRAIE

NAND

VRAI si au moins une entrée est FAUSSE

NOR

VRAI si aucune entrée n’est VRAIE

XOR

VRAI si un nombre impair d’entrées sont VRAIES

NXOR

VRAI si un nombre pair d’entrées sont VRAIES

NOT

VRAI si l’entrée est FAUSSE

Si vous sélectionnez distinctive comme Icon shape, l’apparence du bloc indique sa fonction. Le logiciel Simulink® affiche une forme distinctive pour l’opérateur sélectionné, conformément à la norme IEEE® Standard Graphic Symbols for Logic Functions.

Pour spécifier le nombre de ports d’entrée, utilisez le paramètre Number of input ports. Le type de sortie est spécifié à l’aide du paramètre Output data type. Une valeur de sortie est 1 si elle est VRAIE et 0 si elle est FAUSSE.

Remarque

Le type de données de sortie doit représenter exactement zéro. Les types de données qui satisfont à cette condition comprennent les entiers signés et non signés, ainsi que tous les types de données à virgule flottante.

La taille de la sortie dépend de la taille du vecteur d’entrée et de l’opérateur sélectionné :

  • Si le bloc comporte plusieurs entrées, toutes les entrées non scalaires doivent avoir les mêmes dimensions. Par exemple, si une entrée est un tableau 2x2, toutes les autres entrées non scalaires doivent également être des tableaux 2x2.

    Les entrées scalaires sont étendues pour qu’elles aient les mêmes dimensions que les entrées non scalaires.

    Si le bloc inclut plusieurs entrées, la sortie a les mêmes dimensions que les entrées (après expansion scalaire) et chaque élément de sortie est le résultat de l’application de l’opération logique spécifiée aux éléments d’entrée correspondants. Par exemple, si l’opération spécifiée est AND et que les entrées sont des tableaux 2x2, la sortie est un tableau 2x2 dont l’élément supérieur gauche est le résultat de l’application de AND aux éléments supérieurs gauches des entrées, et ainsi de suite.

  • Pour une entrée vectorielle unique, le bloc applique l’opération (à l’exception de l’opérateur NOT) à tous les éléments du vecteur. La sortie est toujours un scalaire.

  • L’opérateur NOT n’accepte qu’une seule entrée, qui peut être un scalaire ou un vecteur. Si l’entrée est un vecteur, la sortie est un vecteur de même taille contenant les compléments logiques des éléments du vecteur d’entrée.

Lorsqu’il est configuré comme une porte XOR à entrées multiples, ce bloc effectue une opération d’addition modulo deux, comme l’exige la norme IEEE Standard for Logic Elements.

Exemples

Ports

Entrée(s)

développer tout

Premier signal d’entrée, spécifié en tant que scalaire, vecteur ou matrice.

Types de données : half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

Deuxième signal d’entrée, spécifié en tant que scalaire, vecteur ou matrice.

Types de données : half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

Nième signal d’entrée, spécifié en tant que scalaire, vecteur ou matrice.

Dépendances

Pour activer des ports d’entrée supplémentaires, utilisez le paramètre Number of input ports.

Types de données : half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

Sortie(s)

développer tout

Signal de sortie, composé de zéros et de uns avec les mêmes dimensions que l’entrée. Vous contrôlez le type de données de sortie à l’aide des paramètres Require all inputs and output to have the same data type et Output data type.

Types de données : half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

Paramètres

développer tout

Paramètres principaux

Sélectionnez l’opérateur logique à appliquer aux entrées du bloc.

  • AND : VRAI si toutes les entrées sont VRAIES

  • OR : VRAI si au moins une entrée est VRAIE

  • NAND : VRAI si au moins une entrée est FAUSSE

  • NOR : VRAI si aucune entrée n’est VRAIE

  • XOR : VRAI si un nombre impair d’entrées sont VRAIES

  • NXOR : VRAI si un nombre pair d’entrées sont VRAIES

  • NOT : VRAI si l’entrée est FAUSSE

Utilisation programmatique

Paramètre de bloc : Operator
Type : vecteur de caractères
Valeurs : 'AND' | 'OR' | 'NAND' | 'NOR' | 'XOR' | 'NXOR' | 'NOT'
Par défaut : 'AND'

Spécifiez le nombre de blocs d’entrée en tant qu’entier positif.

Utilisation programmatique

Paramètre de bloc : Inputs
Type : vecteur de caractères
Valeurs : entier positif
Par défaut : '2'

Dépendances

Ce paramètre n’est pas disponible lorsque vous définissez Operator sur NOT.

Spécifiez la forme de l’icône du bloc.

  • rectangular : génère un bloc rectangulaire qui affiche le nom de l’opérateur sélectionné.

  • distinctive : utilisez le symbole graphique correspondant à l’opérateur sélectionné, tel que spécifié par la norme IEEE.

Utilisation programmatique

Paramètre de bloc : IconShape
Type : vecteur de caractères
Valeurs : 'rectangular' | 'distinctive'
Par défaut : 'rectangular'

Spécifiez l’intervalle de temps entre échantillons. Pour hériter du pas d’échantillonnage, définissez ce paramètre sur -1. Pour plus d’informations, consultez Spécifier les pas d'échantillonnage.

Dépendances

Ce paramètre n’est visible que si vous le définissez sur une valeur différente de -1. Pour en savoir plus, consultez la rubrique Blocks for Which Sample Time Is Not Recommended.

Utilisation programmatique

Pour définir la valeur du paramètre du bloc de manière programmatique, utilisez la fonction set_param.

Paramètre : SampleTime
Valeurs : "-1" (par défaut) | scalar or vector in quotes

Type de données

Cochez cette case pour exiger que toutes les entrées de bloc et la sortie aient le même type de données. Lorsque vous décochez cette case, les entrées et la sortie peuvent avoir des types de données différents.

Utilisation programmatique

Paramètre de bloc : AllPortsSameDT
Type : vecteur de caractères
Valeurs : 'off' | 'on
Par défaut : 'off'

Spécifiez le type de données de sortie. Lorsque vous sélectionnez :

  • boolean : la sortie du bloc a le type de données boolean.

  • Inherit: Logical (see Configuration Parameters: Optimization) : le bloc utilise le paramètre de configuration Implement logic signals as Boolean data pour spécifier le type de données de sortie (consultez Implement logic signals as Boolean data (vs. double)).

    Remarque

    Cette option supporte les modèles créés avant que l’option boolean ne soit disponible. Utilisez l’une des autres options, de préférence boolean, pour les nouveaux modèles.

  • Inherit: Inherit via back propagation : le bloc hérite d’un type de données. Lorsque vous sélectionnez cette option, le type de données de sortie et la mise à l’échelle correspondent à ceux du bloc en aval suivant.

  • fixdt(1,16) : la sortie du bloc a le type de données à virgule fixe spécifié fixdt(1,16).

    Conseil

    Data Type Assistant vous aide à définir les attributs de données. Pour utiliser Data Type Assistant, cliquez sur the Show data type assistant button. Pour plus d’informations, consultez Specify Data Types Using Data Type Assistant.

  • <data type expression> : la sortie du bloc a le type de données que vous spécifiez comme expression de type de données, par exemple Simulink.NumericType.

    Conseil

    Pour saisir un type de données prédéfini (double, single, int8, uint8, int16, uint16, int32 ou uint32), placez l’expression entre guillemets droits simples. Par exemple, saisissez 'double' plutôt que double.

Utilisation programmatique

Paramètre de bloc : OutDataTypeStr
Type : vecteur de caractères
Valeurs : 'Inherit: Logical (see Configuration Parameters: Optimization)' | 'boolean' | 'fixdt(1,16)' | '<data type expression>'
Par défaut : 'boolean'

Sélectionnez la catégorie de données à spécifier.

  • Built in : spécifie les types de données prédéfinis. Sélectionner Built in active boolean.

  • Inherit : spécifie les règles d’héritage pour les types de données. Sélectionner Inherit active Logical (see Configuration Parameters: Optimization).

  • Fixed point : spécifie les types de données à virgule fixe.

  • Expression : spécifie les expressions qui sont évaluées en types de données.

Dépendances

Pour activer ce paramètre, cliquez sur le bouton Show data type assistant.

Sélectionnez le mode de remplacement du type de données pour ce signal.

  • Lorsque vous sélectionnez Inherit, Simulink hérite du paramètre de remplacement du type de données à partir de son contexte, c’est-à-dire du bloc, de l’objet Simulink.Signal ou du diagramme Stateflow® dans Simulink qui utilise le signal.

  • Lorsque vous sélectionnez Off, Simulink ignore le paramètre de remplacement du type de données de son contexte et utilise le type de données à virgule fixe pour le signal.

Pour plus d’informations, consultez Specify Data Types Using Data Type Assistant dans la documentation Simulink.

Dépendances

Pour activer ce paramètre, définissez Mode sur Built in ou sur Fixed point.

Conseils

La possibilité de désactiver le remplacement du type de données pour un type de données individuel fournit un plus grand contrôle sur les types de données dans votre modèle quand vous appliquez le remplacement du type de données. Par exemple, vous pouvez utiliser cette option pour veiller à ce que les types de données répondent aux exigences des blocs en aval, indépendamment du paramètre de remplacement du type de données.

Indiquez si vous souhaitez que les données à virgule fixe soient des données signées ou non signées. Les données signées peuvent représenter des valeurs positives et négatives, mais les données non signées ne représentent que des valeurs positives. Pour plus d’informations, consultez Specifying a Fixed-Point Data Type.

Dépendances

Pour activer ce paramètre, définissez Mode sur Fixed point.

Spécifiez la taille en bits du mot qui contient l’entier quantifié. Pour plus d’informations, consultez Specifying a Fixed-Point Data Type.

Dépendances

Pour activer ce paramètre, définissez Mode sur Fixed point.

Spécifiez la méthode de mise à l’échelle de vos données à virgule fixe pour éviter les conditions d’overflow et minimiser les erreurs de quantification. Spécifier Integer a le même résultat que spécifier un emplacement de virgule binaire et définir la longueur de la fraction sur 0.

Dépendances

Pour activer ce paramètre, cliquez sur le bouton Show data type assistant et définissez Mode sur Fixed point.

Caractéristiques des blocs

Types de données

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

Traversée directe

oui

Signaux multidimensionnels

oui

Signaux de taille variable

oui

Détection des passages à zéro

non

Capacités étendues

développer tout

Génération de code C/C++
Générez du code C et C++ avec Simulink® Coder™.

Génération de code PLC
Générez du texte structuré avec Simulink® PLC Coder™.

Conversion en virgule fixe
Concevez et simulez des systèmes en virgule fixe avec Fixed-Point Designer™.

Historique des versions

Introduit avant R2006a