Types De Données

Chaque variable dans la PLC reçoit automatiquement le bon type de données. La conversion doit être définie uniquement dans l'interface. Dans ce chapitre, les différents types de Antcas Control sont expliqués.

Valeur Booléenne BOOL

Ce type ne peut avoir que deux états. Vrai ou faux. Dans l'application, au lieu d'une variable, la valeur peut être définie avec TRUE (vrai) ou FALSE (faux).

De plus, le type spécial NULL est utilisé. Cet état est défini lors de l'initialisation d'une variable, c'est-à-dire une variable non écrite. De plus, des fonctions spéciales sont possibles avec NULL. Par exemple, si aucune valeur ne doit être communiquée sur l'interface.

Entiers INT (Integer)

Un entier est un nombre entier, comme par exemple 0 ou 26. De plus, la valeur peut également être négative. Antcas Control fonctionne avec une PLC 64 bits, ce qui permet le calcul de très grands nombres. Le nombre le plus grand est défini par la constante INT_MAX (9223372036854775807). Le nombre le plus petit est dans INT_MIN ou INT_MAX+1, car le signe utilise un bit. Tous les nombres en dehors de la plage sont appliqués dans un Float avec un exposant. Le calcul est alors imprécis.

Un entier peut recevoir la valeur -0, qui n'est pas égale à FALSE. Cependant, le test avec la fonction EQ(-0,0) donne TRUE. -0 ne peut être défini que comme une chaîne de caractères '-0'.

Une valeur hexadécimale peut également être définie directement. Celle-ci commence par 0x ou 0X. Par exemple, 0xFF devient alors 255.

Nombres À Virgule Flottante REAL (Float)

Un Float ou également une valeur réelle est un nombre à virgule flottante, comme par exemple 0.1 ou 22.005 (avec un point). Les exposants sont également pris en charge. Par exemple, 10E2 pour 1'000 ou 10e-2 pour 0.1. La casse n'a pas d'importance. Il est tenté de convertir le nombre en un entier, car le calcul est plus simple pour la PLC. Il peut arriver que les calculs deviennent imprécis avec de grands nombres. Le nombre maximal de décimales est fixé à 14 pour améliorer les performances de la PLC.

Les nombres à virgule flottante ont une précision limitée. Bien que cela dépende du système, Antcas Control utilise généralement le Format Double Précision IEEE 754, qui donne une erreur d'arrondi relative maximale de l'ordre de 1.11e-16. Les opérations arithmétiques non élémentaires peuvent cependant entraîner des erreurs plus importantes et naturellement, la propagation de l'erreur doit être prise en compte si plusieurs opérations sont composées.

De plus, il existe des nombres rationnels qui peuvent être représentés exactement comme des nombres à virgule flottante à base 10, par exemple 0.1 ou 0.7, mais qui n'ont pas de représentation exacte comme des nombres à virgule flottante à base 2, qui est utilisée en interne indépendamment de la taille du mantisse. Par conséquent, ils ne peuvent pas être convertis dans leur représentation binaire interne sans une légère perte de précision. Cela peut conduire à des résultats déroutants : FLOOR((0.1+0.7)*10) donnera généralement 7 au lieu du résultat attendu de 8, car la représentation interne est quelque chose comme 7.9999999999999991118.

On ne devrait donc jamais se fier aux nombres à virgule flottante jusqu'au dernier chiffre décimal et ne jamais vérifier directement l'égalité des nombres à virgule flottante.

Chaîne De Caractères STRING

Une chaîne de caractères ou également appelée string, est définie avec une apostrophe ' ' ou une double apostrophe " ". Par exemple, 'Texte 1' ou . Avec le bloc fonctionnel CONCAT, plusieurs chaînes de caractères peuvent être combinées.

Un saut de ligne ou une nouvelle ligne peut être créé avec CTRL+Entrée. Cela est alors représenté par une flèche ↵.

Un caractère d'échappement pour indiquer un ' ou " dans la chaîne de caractères elle-même n'est pas nécessaire. La chaîne de caractères peut être directement indiquée avec "Il y a un \" caractère".

Il est possible de déclarer des caractères spéciaux directement. À cet effet, la séquence suivante est indiquée dans la chaîne de caractères avec des guillemets doubles :

Séquence D'échappement Abréviation ASCII
\\ Échappé \
\n LF
\r CR
\r\n CRLF
\0 NUL
\t TAB
\e ESC
\f FORMFEED
\x## Octet Arbitraire

Par exemple, pour déclarer un octet arbitraire 126 ou 7E comme nombre hexadécimal, l'expression suivante est utilisée : "\x7E". Cette chaîne de caractères correspond alors à "~".

Ici, 7E sert de valeur de substitution. Toutes les valeurs dans la plage des nombres hexadécimaux 00 à FF peuvent être indiquées. Notez que le BOM UTF-8 "\xEF\xBB\xBF" est automatiquement supprimé par la plupart des navigateurs. Il est possible de masquer la séquence de caractères. À cet effet, un backslash conducteur est utilisé : "\\x7E", ce qui correspond alors à '\x7E'.

Attention : Toutes les chaînes de caractères en dehors de la plage UTF-8 ne peuvent pas être stockées de manière rémanente. Dans la vue live, celles-ci sont affichées en violet foncé.

Veuillez également consulter l'article Conversion De Chaînes De Caractères En Nombres.

Date Et Heure DT (Date And Time)

Définir une date et une heure avec DT#, par exemple, DT#2016-03-25-22:12:00. Les heures sont converties en un entier en ms à partir de la date 01.01.1970 (Cette valeur est dans le fuseau horaire UTC/GMT).

Date D (Date)

Définir une date à minuit avec D#, par exemple, D#2016-03-25. Les heures sont converties en un entier en ms à partir de la date 01.01.1970 (Cette valeur est dans le fuseau horaire UTC/GMT).

Heure T (Time)

Définir une heure en millisecondes avec T#, par exemple, T#5d3h5m11s500ms. Les heures sont converties en un entier en ms.

Tableau

Un tableau ne peut pas être défini directement. Cependant, des affectations d'une variable peuvent être faites avec un point. Voir Variables.

TRÈS IMPORTANT : Ne définissez jamais une valeur en dessous dans un tableau. Par exemple, set et set.p - La PLC plantera ici. Et donc ne fonctionnera pas. De plus, cela peut entraîner des erreurs inattendues.