Tronquer (Truncate, TRUNC)
Ce tableau répertorie les automates et les applications qui prennent en charge cette instruction.
Architecture | Applications standard | Applications de sécurité |
|---|---|---|
Automates CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370 et GuardLogix 5570 | Oui | Non |
Automates CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 et ControlLogix 5590 | Oui | Oui |
Si activée, l’instruction TRUNC supprime (tronque) la partie fractionnelle de la source et stocke le résultat dans la destination.
CONSEIL:
Dans Logix Designer version 36, le mnémonique de cette instruction est passé de TRN à TRUNC.
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 TRUNC 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 .
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 Conversions de données.
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 | REAL | REAL LREAL | immédiat balise | Valeur à tronquer. |
Destination | 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 | Format | Description |
TRUNC | FBD_TRUNCATE | balise | Structure TRN |
Fonction FBD
Opérandes d'entrée (broches gauches) | Type de données Automates CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 et ControlLogix 5590 | Description |
Source | REAL LREAL | Valeur à tronquer |
Opérande de sortie (broche droite) | Type de données Automates CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 et ControlLogix 5590 | Description |
Dest | LINT | Résultat de la fonction. |
Reportez-vous à la section .
Structure FBD_TRUNCATE
Membre 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. |
Source | REAL | Entrée de l’instruction de conversion. L’entrée accepte aussi SINT, INT, DINT, LINT, USINT, UINT, UDINT, ULINT et LREAL via la balise d’entrée. Mais le type entier sera d’abord converti en REAL. Il n’y a aucune perte de précision pendant la conversion de SINT, INT, USINT ou UINT en REAL. Il peut y avoir une perte de précision lors de la conversion de types 32 bits (DINT, UDINT) en REAL. Les deux types de données stockent les données en 32 bits mais le type REAL utilise certains de ces 32 bits pour stocker la valeur exposante. S’il y a perte de précision, l’automate la récupère de la partie la moins significative des types 32 bits (DINT, UDINT). Il peut y avoir une perte de précision lors de la conversion de types 64 bits (LINT, ULINT et LREAL) en REAL. |
Membre 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 | DINT | Résultat de l’instruction. |
Description
Tronquer n’arrondit pas la valeur, la partie non fractionnelle reste la même, quelle que soit la valeur de la partie fractionnelle.
Affecte les indicateurs d'état mathématique
Automates | Indicateurs d’état mathématique affectés |
Automates CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380, GuardLogix 5580 et ControlLogix 5590 | Conditionnel, reportez-vous à . |
Automates CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370 et GuardLogix 5570 | Oui |
Défauts majeurs/mineurs
Aucun spécifique à cette instruction. Reportez-vous à la sectionpour consulter les défauts d’indexation 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 = valeur tronquée de la Source. |
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 = valeur tronquée de la Source. En cas de débordement Définir EnableOut sur faux. ou bien Définir EnableOut sur vrai. |
Première scrutation de l'instruction | N/A |
Première exécution de l'instruction | N/A |
Post-scrutation | N/A |
Fonction FBD
Condition/état | Action entreprise |
Préscrutation | N/A |
Scrutation normale | Dest = valeur tronquée de la Source. |
Première exécution de l'instruction | N/A |
Première scrutation de l'instruction | N/A |
Post-scrutation | N/A |
Exemple
Diagramme à relais

Diagramme de bloc fonctionnel
Bloc FBD

Fonction FBD

Texte structuré
REAL_dest := TRUNC(REAL_src);
Fournir une réponse