Modulo (MOD)
Ces informations s’appliquent aux automates CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370, GuardLogix 5570, Compact GuardLogix 5380, CompactLogix 5380, ControlLogix 5580, GuardLogix 5580 et ControlLogix 5590. Les différences entre les automates sont signalées, le cas échéant.
Si activé, L'instruction MOD et l'opérateur divisent Source A par Source B et place le reste dans Dest. Cette opération s'effectue en utilisant l'algorithme suivant :
Dest = Source A – (truncate ( Source A / Source B) * Source B)
Langues disponibles
Diagramme à relais

Diagramme de bloc fonctionnel
Le diagramme de bloc fonctionnel prend en charge les éléments suivants :
Bloc FBD

Fonction FBD
CONSEIL:
La fonction FBD s’applique uniquement aux automates CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 et ControlLogix 5590.

Texte structuré
Cette instruction n'est pas disponible dans le texte structuré.
CONSEIL:
Utiliser MOD en tant qu'opérateur dans une expression pour calculer le même résultat. Pour plus d'informations sur la syntaxe des expressions et des affectations dans le texte structuré, reportez-vous à la section Syntaxe du texte structuré.
Opérandes
IMPORTANT:
Une opération inattendue peut se produire dans les cas suivants :
- Les opérandes de balise de sortie sont remplacés.
- Les membres d'un opérande de structure sont remplacés.
- Sauf lorsque cela est spécifié, les opérandes de structure sont partagés par plusieurs instructions.
Il existe des règles de conversion de données pour combiner des types de données numériques dans une instruction. Reportez-vous à la section Conversion des données.
Diagramme à relais
Voici les opérandes pour le diagramme à relais.
Opérande | Type de données Automates CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370 et GuardLogix 5570 | Type de données Automates CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 et ControlLogix 5590 | Format | Description |
|---|---|---|---|---|
Source A | SINT INT DINT REAL | SINT INT DINT LINT USINT UINT UDINT ULINT REAL LREAL | immédiat balise | Valeur du dividende. |
Source B | SINT INT DINT REAL | SINT INT DINT LINT USINT UINT UDINT ULINT REAL LREAL | immédiat balise | Valeur du diviseur. |
Dest | SINT INT DINT REAL | SINT INT DINT LINT USINT UINT UDINT ULINT REAL LREAL | balise | Étiquette pour mémoriser le résultat de cette instruction. |
Diagramme de bloc fonctionnel
Bloc FBD
Opérande | Type de données | Format | Description |
|---|---|---|---|
MOD | FBD_MATH | balise | Structure MOD |
Structure FBD_MATH
Membres d'entrée | Type de données | Description |
|---|---|---|
EnableIn | BOOL | Activez l'entrée. Si défini sur faux, l’instruction n’est pas exécutée et les sorties ne sont pas mises à jour. La valeur par défaut est définie sur vrai. |
SourceA | REAL | Valeur du dividende. |
SourceB | REAL | Valeur du diviseur. |
Membres de sortie | Type de données | Description |
|---|---|---|
EnableOut | BOOL | Indique si une instruction a été exécutée sans défauts après son activation. |
Dest | REAL | Résultat de l’instruction. |
Fonction FBD
CONSEIL:
La fonction FBD s’applique uniquement aux automates CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 et ControlLogix 5590.
Opérandes d'entrée (broches gauches) | Type de données Automates CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 et ControlLogix 5590 uniquement | Description |
|---|---|---|
SourceA (haut) | SINT USINT INT UINT DINT UDINT LINT ULINT REAL LREAL | Valeur du dividende. |
SourceB (bottom) | SINT USINT INT UINT DINT UDINT LINT ULINT REAL LREAL | Valeur du diviseur |
Opérande de sortie (broche droite) | Type de données Automates CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 et ControlLogix 5590 uniquement | Description |
|---|---|---|
Dest | DINT UDINT LINT ULINT REAL LREAL | Résultat de la fonction. |
Reportez-vous à la section Fonctions FBD.
Affecte les indicateurs d'état mathématique
Automates | Affecte les indicateurs d'état mathématique |
|---|---|
Automates CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 et ControlLogix 5590 | Conditionnel |
Automates CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370 et GuardLogix 5570 | Oui |
Reportez-vous à la section Indicateurs d'état mathématique.
Défauts majeurs/mineurs
Un défaut mineur surviendra si : | Type de défaut | Code de défaut |
|---|---|---|
Source B = 0 | 4 | 4 |
Reportez-vous à la section Indexer via les tableaux pour consulter les défauts d'index par tableau.
Exécution
Diagramme à relais
Condition/état | Action entreprise |
|---|---|
Préscrutation | N/A |
La condition d'entrée d'échelon est égale à faux | Définir la condition de sortie d'échelon sur la condition d'entrée d'échelon |
La condition d'entrée d'échelon est égale à vrai | Définir la condition de sortie d'échelon sur la condition d'entrée d'échelon Dest est défini (jusqu’au reste) comme indiqué à la section Description. |
Post-scrutation | N/A |
Diagramme de bloc fonctionnel
Bloc FBD
Condition/état | Action entreprise |
|---|---|
Préscrutation | N/A |
EnableIn est faux | Définir EnableOut sur EnableIn |
EnableIn est vrai | Dest est défini (jusqu’au reste) comme indiqué à la section Description. Lorsqu’un débordement se produit Définir EnableOut sur faux ou bien Définir EnableOut sur vrai |
Première exécution de l'instruction | N/A |
Première scrutation de l'instruction | N/A |
Post-scrutation | N/A |
Fonction FBD
CONSEIL:
La fonction FBD s’applique uniquement aux automates CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 et ControlLogix 5590.
Condition/état | Action entreprise |
|---|---|
Préscrutation | N/A |
Scrutation normale | Dest est défini (jusqu’au reste) comme indiqué à la section Description. |
Première exécution de l'instruction | N/A |
Première scrutation de l'instruction | N/A |
Post-scrutation | N/A |
CONSEIL:
Si Source B est 0, le résultat est 0 et un défaut mineur est signalé.
Exemples
Diagramme à relais

Diviser le Dividend par le Divisor et placer le reste dans Remainder. Dans cet exemple, 3 entre dans 10, à 3 reprises, avec un reste égal à 1.
Diagramme de bloc fonctionnel
Bloc FBD

Fonction FBD

Texte structuré
remainder := dividend MOD divisor;
Fournir une réponse