Types de données élémentaires
L’automate prend en charge les types de données élémentaires définis dans les types de données définis par IEC 1131-3. Les types de données élémentaires sont :
Type de données | Description | Plage |
BOOL | 1 bit booléen | 0 = mis à zéro 1 = défini |
SINT | 1 octet entier | de -128 à 127 |
INT | entier de 2 octets | de -32768 à 32767 |
DINT | entier de 4 octets | de -2147483648 à 2147483647 |
LINT | 8 octet entier
CONSEIL:
Le type de données LINT a une utilisation limitée sur les automates
CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370 et GuardLogix 5570. Ils peuvent être utilisés uniquement avec les instructions de copie (COP, CPS), l’attribut CST/WallClockTime, la synchronisation temporelle et les instructions complémentaires. | de -9223372036854775808 à 9223372036854775807 |
DT | Date et heure. Stockage de 64 bits ; les unités sont exprimées en microsecondes. | DT#1970-01-01-00:00:00.000_000(UTC+00:00) à DT#2250-12-31-23:59:59.999_999(UTC+00:00)
CONSEIL:
Dans certains fuseaux horaires, comme Singapour, la plage est la suivante :
DT#1970-01-01-08:00:00.000_000(UTC+08:00) à DT#2251-01-01-07:59:59.999_999(UTC+08:00) |
LDT | Date et heure longues. Stockage de 64 bits ; les unités sont exprimées en nanosecondes. | LDT#1970-01-01-00:00:00.000_000(UTC+00:00) à LDT#2250-12-31-23:59:59.999_999_999(UTC+00:00)
CONSEIL:
Dans certains fuseaux horaires, comme Singapour, la plage est la suivante :
LDT#1970-01-01-08:00:00.000_000_000(UTC+08:00) à LDT#2251-01-01-07:59:59.999_999_999(UTC+08:00) |
TIME32 | Durée de temps. Stockage de 32 bits ; les unités sont exprimées en microsecondes. | T32#-35m_47s_483ms_647us à T32#35m_47s_483ms_647us |
TIME | Durée de temps. Stockage de 64 bits ; les unités sont exprimées en microsecondes. | T#-106750d_12h_59m_59s_999ms_999us à T#106750d_12h_59m_59s_999ms_999us |
LTIME | Durée prolongée. Stockage de 64 bits ; les unités sont exprimées en nanosecondes. | LT#-106750d_12h_59m_59s_999ms_999us_999ns à LT#106750d_12h_59m_59s_999ms_999us_999ns |
USINT | 1 octet entier non signé | de 0 à 255 |
UINT | 2 octet entier non signé | de 0 à 65535 |
UDINT | 4 octet entier non signé | de 0 à 4294967295 |
ULINT | 8 octet entier non signé | de 0 à 18446744073709551615 |
REAL | 4 octet nombre à virgule flottante | -3,4028235E38 à -1,1754944E-38 (valeurs négatives) et 0,0 et 1,1754944E-38 à 3,4028235E38 (valeurs positives) |
LREAL | 8 octet nombre à virgule flottante | -1,7976931348623157E308 à -2,2250738585072014E-308 (valeurs négatives) et 0,0 et 2,2250738585072014E-308 à 1,7976931348623157E308 (valeurs positives) |
Ces automates prennent en charge les types de données élémentaires suivantes :
Automates | Type de données |
|---|---|
Automates CompactLogix 5380, ControlLogix 5580, Compact GuardLogix 5380 GuardLogix 5580 et ControlLogix 5590 | SINT, INT, DINT, LINT, REAL USINT, UINT, UDINT, ULINT, LREAL |
Automates CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370 et GuardLogix 5570 | SINT, INT, DINT, LINT, REAL. |
L'automate traite toutes les valeurs immédiates comme des types de données DINT.
Le type de données REAL mémorise également le
l'infini et le
NAN, mais l’affichage du logiciel diffère en fonction du format d’affichage.
l'infini et le
NAN, mais l’affichage du logiciel diffère en fonction du format d’affichage.Conversion du type de données
Lorsque les types de données sont mélangés pour les opérandes dans une instruction, certaines instructions convertiront automatiquement les données en type de données optimales pour cette instruction. Dans certains cas, l’automate convertit les données afin qu’elles s’adaptent à un nouveau type de données ; dans d’autres cas, l’automate adapte simplement les données du mieux qu’il le peut.
Conversion | Résultat | ||
de grand entier à petit entier | L'automate tronque la partie supérieure du plus grand entier et génère un débordement. Par exemple : | ||
Décimal | Binaire | ||
DINT | 65665 | 0000_0000_0000_0001_0000_0000_1000_0001 | |
INT | 129 | 0000_0000_1000_0001 | |
SINT | -127 | 1000_0001 | |
SINT ou INT vers REAL | Aucune précision de données perdue | ||
DINT à REAL | Risque de perte de la précision de données. 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. Si la précision est perdue, l'automate la prend de la partie moins signifiante des DINT. | ||
LREAL vers LREAL | Aucune précision de données n'est perdue. | ||
LREAL vers REAL | Risque de perte de la précision de données. | ||
LREAL/REAL vers entier non signé | Risque de perte de la précision de données. Si la valeur source est trop importante pour rentrer dans la destination, l'automate stocke ce qu'il peut et cela risque de produire un débordement. | ||
Entier signé/Entier non signé vers LREAL/REAL | Si la valeur entière possède plus de bits significatifs que ce que peut stocker la destination, les bits de poids faible sont tronqués. | ||
Entier signé vers entier non signé | Si la valeur source est trop grande pour rentrer dans la destination, l’automate stocke ce qu’il peut et peut produire un débordement. | ||
Entier non signé vers entier signé | Si la valeur source est trop grande pour rentrer dans la destination, l’automate stocke ce qu’il peut et peut produire un débordement. | ||
REAL à entier | L'automate arrondit la partie fractionnaire et tronque la partie supérieure de la partie non fractionnaire. Si les données sont perdues, l'automate règle le point d'état de débordement. Arrondi au nombre entier le plus proche : Moins de 0,5, arrondissement inférieur ; égal à 0,5, arrondissement à l'entier pair le plus proche ; plus de 0,5, arrondissement supérieur Par exemple : | ||
REAL (source) | DINT (résultat) | ||
1,6 | 2 | ||
-1,6 | -2 | ||
1,5 | 2 | ||
-1,5 | -2 | ||
1,4 | 1 | ||
-1,4 | -1 | ||
2,5 | 2 | ||
-2,5 | -2 | ||
Ne convertissez pas des données vers ou depuis un type de données BOOL.
IMPORTANT:
Les indicateurs d’état mathématique sont réglés en fonction des valeurs qui ont été stockées. Les instructions qui normalement n'affectent pas les mots-clés d'état de math peuvent apparaître pour le faire si une conversion de type se produit à cause des paramètres d'instruction des types de données mixtes. Le processus de conversion de type définit les mots-clés d’état de math.
Types de données de sécurité
L’application
Logix Designer
empêche les modifications de type défini par l’utilisateur ou défini par l’instruction complémentaire qui entraîneraient un type de données non valide de types définis par l’utilisateur ou définis par l’instruction complémentaire référencés directement ou indirectement par une balise de sécurité. (Inclut les structures imbriquées.)Les points de données peuvent être composés des types de données suivants :
- Tous les types de données élémentaires.
- Types prédéfinis qui sont utilisés pour les instructions d'application de la sécurité.
- Types de données définis par l'utilisateur ou tableaux composés des deux types précédents.
Modifications en ligne de noms de membres de types de données définis par l’utilisateur dans les balises de sécurité
L'édition en ligne est autorisée pour les noms de membres de types de données définis par l'utilisateur sur les automates
CompactLogix
5380, Compact GuardLogix
5380, ControlLogix
5580 et GuardLogix
5580. Toutefois, l’édition en ligne est désactivée lorsqu’un type de données défini par l’utilisateur est utilisé sur une balise de sécurité et que l’automate est dans l’état Mode de sécurité.Fournir une réponse