Il existe deux types de variables.
Voici une liste des types de variables de base.
Type de données |
Description |
| BOOL | Cette variable stocke 0 ou 1. |
| SINT, USINT, INT, UINT, DINT, UDINT, LINT, ULINT, BYTE | Ces variables stockent des valeurs intégrales. Le traitement est plus rapide comparativement aux variables de type de point flottant. |
| Ces variables stockent des valeurs de type mot. | |
| Ces variables stockent des chaînes de texte. | |
| Ces variables stockent des valeurs de point flottant. Les variables REAL peuvent stocker des valeurs plus élevées (comme les calculs et les constantes) que les variables de type entier. | |
| Ces variables stockent des valeurs d'heure et de date. |
Type de données |
Signé |
Longueur des données |
Plage de données |
SINT |
Complément à 2 |
8 bits |
-128...127 |
USINT |
- |
8 bits |
0...255 |
INT |
Complément à 2 |
16 bits |
-32768...32767 |
UINT |
- |
16 bits |
0...65535 |
DINT |
Complément à 2 |
32 bits |
-2147483648...2147483647 |
UDINT |
- |
32 bits |
0...4294967295 |
LINT |
Complément à 2 |
64 bits |
-9223372036854775808...9223372036854775807 |
ULINT |
- |
64 bits |
0...18446744073709551615 |
BYTE |
- |
8 bits |
0...255 |
| Type de données | Longueur des données | Plage de données |
WORD |
16 bits |
0...65535 |
DWORD |
32 bits |
0...4294967295 |
LWORD |
64 bits |
0...18446744073709551615 |
| Type de données | Description |
STRING |
Stocke jusqu'à 512 octets de texte. Lorsqu'on utilise une variable externe, l'encodage des chaînes est défini par la propriété [Encodage de chaîne] de la variable. Les valeurs d'encodage de chaîne disponibles sont : UTF8, UTF16, ShiftJIS, CodePage850, GB2312, BIG5, KSC5601, CodePage1251, CodePage874 et CodePage1252.
|
WSTRING |
Stocke jusqu'à 512 mots de texte double octet. Vous pouvez utiliser le type de données WSTRING uniquement avec les variables externes. L'encodage de chaîne est fixé à UTF16. Vous ne pouvez pas modifier le paramètre [Encodage de chaîne] dans les propriétés de la variable, et l'encodage dans les propriétés de l'équipement est ignoré. |
Vous pouvez définir le nombre d'octets ou de mots que la variable peut stocker dans la propriété [Nombre d'octets ou de mots].
Reconnaît la fin de la chaîne de texte par NULL (0x00) ou [Nombre d'octets].
Pour une variable ou un pilote sélectionné, si vous utilisez un texte dont le code de caractère ne peut pas être converti par un [Encodage de chaîne], la fin de la chaîne est reconnue par le code de caractère.
La relation de l'ordre haut/bas pour les données de mot dépend du [Mode chaîne] dans le pilote sélectionné.
| Type de données | Longueur des données | Plage de données |
| REAL | 32 bits |
+/-3,402823E38 ... +/-1,1754944E-38 |
| LREAL | 64 bits |
+/-4,19E-307 ... +/-1,67E308 |
La précision des variables REAL est limitée à sept chiffres. Si la précision données est requise (comme les opérations de comparaison), utilisez une variable de type entier.
Exemples
Exemple 1 : Pour la valeur 1.2345678, la valeur résultant est approximative car le huitième chiffre est supprimée (après 1.234567).
Exemple 2 : La valeur 0.1 stockée dans une variable REAL pourrait produire 0.1000000014901161.
Si vous utilisez des variables REAL externes, vérifiez que le paramètre Ordre de mot double dans Configuration de l'équipement correspond au paramètre de l'équipement. Si les paramètres ne correspondent pas, les valeurs des variables REAL externes ne s'afficheront pas correctement.
Utilisez le point (.) pour le point décimal de la valeur de la variable. La virgule (,) n'est pas prise en charge pour les points décimaux.
Même si la virgule (,) est utilisée pour le point décimal de la valeur de la variable dans le logiciel d'édition d'écran ou l'afficheur, des résultats inattendus, comme cette erreur, sont affichés, la virgule est ignorée, etc.
| Type de données | Description | Plage de données |
TIME |
Stocke le temps écoulé en jours et en heures. | - 24 d 20 h 31 m 23 s 648 ms ... 24 d 20 h 31 m 23 s 647 ms Lorsqu'une valeur négative est définie pour les propriétés [Valeur initiale] et [Plage de saisies] dans une variable TIME, le signe négatif s'affiche pour chaque unité de temps. (Exemple : -24d -20:-31:-23.-648) |
| DATE | Stocke la date. | Lors de l'utilisation d'un équipement Série SP5000 Open Box (modèle Windows 10 IoT Enterprise), Série IPC ou PC/AT. 1970/01/01 ... 2106/02/07 Modèles autres que ceux indiqués ci-dessus 1970/01/01 ... 2038/01/19 |
| TIME_OF_DAY | Stocke l'heure. | 00:00:00 ... 23:59:59 |
DATE_AND_TIME |
Combine DATE et TIME_OF_DAY. | Lors de l'utilisation d'un équipement Série SP5000 Open Box (modèle Windows 10 IoT Enterprise), Série IPC ou PC/AT. Modèles autres que ceux indiqués ci-dessus |
Lors de l'utilisation de ces variables, faites correspondre les types de données sur l'équipement externe et la valeur des données stockées.
Si vous avez saisi une valeur qui n'est pas comprise dans la valeur de l'adresse d'équipement externe, la valeur saisie s'affiche à l'écran mais n'est pas définie dans l'adresse d'équipement externe.
Lorsque vous associez des variables avec différents types de données, parfois la valeur de la variable source est remplacée par une valeur commune.
Par exemple, convertissement une variable Real en une variable Integer : Définissez 123.4 sur une variable REAL, puis écrivez la valeur vers une variable INT est le résultat est 123. La valeur de la variable REAL est également mise à jour à 123.
Lorsqu'une valeur entière est introduite dans la variable DATE_AND_TIME à partir d'un périphérique externe, la valeur enregistrée est décalée en fonction du fuseau horaire de l'afficheur. Par conséquent, pour l'entrée d'une valeur entière, la date et l'heure affichées par un afficheur de date et d'heure diffèrent en fonction du fuseau horaire.
SP5000 Series Open Box (modèle Windows 10 IoT Enterprise), IPC Series ou PC/AT
| Valeur entière entrée depuis un périphérique externe | UTC+0 (Plage : 1970/01/01 00:00:00 ... 2106/02/07 06:28:15) | UTC+9 (Plage : 1970/01/01 09:00:00 ... 2106/02/07 15:28:15) |
| 0 | 1970/01/01 00:00:00 | 2106/02/07 06:28:16 |
| 1 | 1970/01/01 00:00:01 | 2106/02/07 06:28:17 |
| : | : | : |
| 32399 | 1970/01/01 08:59:59 | 2106/02/07 15:28:15 |
| 32400 | 1970/01/01 09:00:00 | 1970/01/01 09:00:00 |
| : | : | : |
| 4294967295 | 2106/02/07 06:28:15 | 2106/02/07 06:28:15 |
Modèles autres que ceux indiqués ci-dessus
| Valeur entière entrée depuis un périphérique externe | UTC+0 (Plage : 1970/01/01 00:00:00 ... 2038/01/19 03:14:07) | UTC+9 (Plage : 1970/01/01 09:00:00 ... 2038/01/19 12:14:07) |
| 0 | 1970/01/01 00:00:00 | 2038/01/19 03:14:08 |
| 1 | 1970/01/01 00:00:01 | 2038/01/19 03:14:09 |
| : | : | : |
| 32399 | 1970/01/01 08:59:59 | 2038/01/19 12:14:07 |
| 32400 | 1970/01/01 09:00:00 | 1970/01/01 09:00:00 |
| : | : | : |
| 2147483647 | 2038/01/19 03:14:07 | 2038/01/19 03:14:07 |
Voici les types de variables de type de données d'utilisateur :
Les contenants de tableau et les contenants de structure sont également considérés comme des variables.
Un tableau est un ensemble de variables ayant le même type de données. Dans un tableau, chaque variable est appelée élément.
Pour comprendre le fonctionnement d'une variable de type tableau, imaginez que la variable est une boîte. Dans le diagramme ci-dessous, la variable Numéro est une boîte simple contenant une valeur.

Imaginez qu'un tableau est une série de boîtes portant chacune un numéro. Dans le schéma suivant, la variable de tableau Numéro contient 5 éléments (0 à 4). Les valeurs de variable sont stockées dans chacune des 5 boîtes.

Pour spécifier chaque variable d'un tableau, indiquez le nom de la variable suivi du numéro de l'élément entre crochets [ ].
(Exemple) Tableau à 5 éléments

Le nombre d'éléments commence généralement par 0, mais peut également commencer par une valeur positive ou négative.
(Exemple) Tableau commençant par le numéro d'élément -1 avec 5 éléments

Un tableau multidimensionnel est un tableau qui contient d'autres tableaux. Par exemple, un tableau contenant deux tableaux DINT est un tableau à deux dimensions.
Dans la fenêtre [Explorateur de projets], sous [Variables] → [Tous les types de données utilisateur] → [Tableaux], dans la colonne [Dimension], définissez la dimension du tableau et le nombre d'éléments.
Pour connaître les étapes de la conception d'un réseau, reportez-vous à ce qui suit.
Étapes à concevoir (variables, tableau, structure)
Pour un tableau à une dimension, ne spécifiez que les éléments du tableau.
(Exemple) Pour un tableau à une dimension avec un nombre d'éléments = 3, saisissez '3'.

Pour un tableau multidimensionnel, dans le champ [Dimension], indiquez le nombre d'éléments dans chaque dimension, séparés par une virgule (,).
(Exemple) Pour un tableau à deux dimensions dont la première dimension comporte 3 éléments (numéro de départ = 0) et la deuxième dimension comporte 4 éléments (numéro de départ = 0), saisissez '3,4'.

Cette définition de tableau est utilisée pour créer la variable de tableau Var1, illustrée ci-dessous.

Pour fixer le numéro de départ d'un élément à une valeur différente de 0, au lieu du nombre d'éléments, saisissez le numéro de départ et le dernier numéro d'élément séparés par deux points (..) et le champ [Nombre d'éléments] calcule le nombre total d'éléments.
(Exemple) Pour créer un tableau à deux dimensions dont la première dimension comporte 3 éléments à partir de l'élément 0 et la deuxième dimension comporte 4 éléments à partir de l'élément 3, saisissez '3,3..6'.

Après la saisie, '3..6' est converti en 4 éléments, et la dimension du tableau commence à partir de l'élément numéro 3.

Ce tableau crée la variable Var1, illustrée ci-dessous.

L'adressage indirect est la façon la plus rapide d'accéder à une valeur de variable dans la plage de valeurs consécutives d'un tableau, ainsi que de mettre à jour la valeur en quelques millisecondes, et il permet de réduire la consommation de mémoire.
Pour l'adressage indirect des tableaux, spécifiez le numéro de l'élément du tableau par le biais d'une valeur de variable ou de la valeur de propriété d'un objet pour spécifier l'élément d'un tableau de manière dynamique.
Lorsque vous spécifiez un numéro d'élément de tableau indirectement avec la valeur de la propriété d'un objet, saisissez '$GraphicalObject' avant le nom de l'objet.
Selon la fonction d'assistance à la saisie, après avoir tapé '$' dans le champ de saisie ou de propriété source, vous pouvez sélectionner '$GraphicalObject' dans la liste des options pour saisir facilement la chaîne de caractères.
L'adressage indirect d'un tableau prend en charge :
Vous pouvez l'utiliser dans le convertisseur [Expression].
(Exemple : Array11[DINT1.value+2], Array21[Int2[Int3[Int1+1]]], Array31[Int1*4-(Int2+Int4/4)])
Au maximum 5 niveaux d'imbrication sont pris en charge pour tous les types de données variables.
(Exemple : Array11[Array22[DINT1.value],DINT02.value])
Une structure est une variable qui contient plusieurs autres variables. Chaque variable d'une structure est appelée élément. Un élément peut être de n'importe quel type de données.
Vous pouvez créer une structure imbriquée en ajoutant une autre structure ou un tableau en tant qu'élément.
Imaginez qu'une structure est une série de boîtes portant chacune un élément.
Dans le schéma suivant, la variable de structure DATA contient 3 éléments. Les valeurs de variable sont stockées dans chacune des 3 boîtes.

Lorsque la valeur à stocker dans la variable n'est pas comprise dans la plage (valeur minimum/maximum), la valeur est traitée comme suit :
| Type de données | Description |
STRING, WSTRING |
Stocke les caractères qui peuvent s'ajuster. |
| Autre que ceux ci-dessus | La valeur de la partie qui dépasse la plage d'entrées est comptée à nouveau à partir du bas de la plage d'entrées et stockée. Exemple) : Variable 8 bits non signée (plage de valeurs : 0...255) Exemple 1 : Si vous tentez de stocker 256, 0 est stocké dans la variable. (Puisque la limite supérieure est dépassée par 1, la valeur de la limite inférieure de 0 est stockée.) Exemple 2 : Si vous tentez de stocker 257, 1 est stocké dans la variable. (Puisque la limite supérieure est dépassée par 2, la deuxième valeur à partir de la limite inférieure de 1 est stockée.) |
La valeur de la partie qui dépasse la plage d'entrées est comptée à nouveau à partir du bas de la plage d'entrées et stockée.
(Exemple) : Variable 8 bits non signée (plage de valeurs : 0...255)
Exemple 1 : Si vous tentez de stocker 256, 0 est stocké dans la variable. (Puisque la limite supérieure est dépassée par 1, la valeur de la limite inférieure de 0 est stockée.)
Exemple 2 : Si vous tentez de stocker 257, 1 est stocké dans la variable. (Puisque la limite supérieure est dépassée par 2, la deuxième valeur à partir de la limite inférieure de 1 est stockée.)
| Type de données | Description |
STRING, WSTRING |
Stocke les caractères qui peuvent s'ajuster. |
| Autre que ceux ci-dessus | Les valeurs suivantes sont arrondies à la valeur supérieure ou inférieure :
|
La valeur n'est pas stockée.
| Type de données | Description |
BOOL, REAL, LREAL |
La valeur n'est pas stockée. |
LINT, ULINT, LWORD |
Les valeurs suivantes sont arrondies à la valeur supérieure ou inférieure :
|
STRING, WSTRING |
Stocke les caractères qui peuvent s'ajuster. |
| Autre que ceux ci-dessus | La valeur de la partie qui dépasse la plage d'entrées est comptée à nouveau à partir du bas de la plage d'entrées et stockée. (Exemple) : Variable 8 bits non signée (plage de valeurs : 0...255) Exemple 1 : Si vous tentez de stocker 256, 0 est stocké dans la variable. (Puisque la limite supérieure est dépassée par 1, la valeur de la limite inférieure de 0 est stockée.) Exemple 2 : Si vous tentez de stocker 257, 1 est stocké dans la variable. (Puisque la limite supérieure est dépassée par 2, la deuxième valeur à partir de la limite inférieure de 1 est stockée.) |