AutomationView fournit un système complet de variables pour définir, suivre et mapper les variables API dans l'ensemble de votre projet.
AutomationView prend en charge tous les types de données standard IEC 61131-3. Ce sont les types que vous pouvez attribuer à vos variables.
| Type | Description | Exemple |
|---|---|---|
BOOL |
Booléen (vrai/faux) | sensor_1, motor_on |
INT |
Entier signé 16 bits | counter, speed |
DINT |
Entier signé 32 bits | position, total_count |
REAL |
Virgule flottante 32b | temperature, pressure |
STRING |
Chaîne de texte | product_name |
TIME |
Valeur de durée | delay_time |
WORD |
Non signé 16 bits | status_flags |
DWORD |
Non signé 32 bits | error_code |
BYTE |
Non signé 8 bits | data_byte |
ARRAY |
Tableau de valeurs | positions[10] |
Les types composés sont des types de variables spéciaux qui correspondent aux blocs fonctionnels de la norme IEC 61131-3. Chaque variable composée contient des champs enfants auxquels vous accédez avec la notation point (par ex., my_timer.Q).
| Type | Enfants | Description |
|---|---|---|
| TON | .IN, .Q, .PT, .ET |
Temporisateur (retard montée) |
| TOF | .IN, .Q, .PT, .ET |
Temporisateur (retard retombée) |
| TP | .IN, .Q, .PT, .ET |
Temporisateur à impulsion |
| RTO | .IN, .Q, .PT, .ET |
Tempo. mémorisé |
| CTU | .CU, .Q, .PV, .CV |
Compteur incrémental |
| CTD | .CD, .Q, .PV, .CV |
Compteur décrémental |
Les variables de temporisateurs et compteurs sont utilisées avec leurs instructions correspondantes. Par exemple, une variable
TONest utilisée avec l'instruction TON dans une action.
Les variables sont organisées par portée, ce qui détermine si elles correspondent à des E/S physiques ou à une mémoire interne.
| Portée | Préfixe d'Adresse | Description |
|---|---|---|
| Entrée | %I |
Entrées physiques (capteurs) |
| Sortie | %Q |
Sorties physiques (actionneurs) |
| Mémoire | %M / %MW |
Mémoire interne |
| Locale | - | Variables locales à une Séquence |
Les adresses suivent la norme IEC 61131-3. Le format est %<zone><taille><octet>.<bit> :
%I0.0 -> Octet d'entrée 0, bit 0
%Q0.1 -> Octet de sortie 0, bit 1
%MW100 -> Mot mémoire 100
%MD200 -> Double mot mémoire 200
Les conflits d'adresses (deux variables partageant la même adresse) sont automatiquement détectés par les Diagnostics Intelligents. Exécutez toujours Valider les Adresses après des modifications d'adresse manuelles.
Exécutez AutomationView: Assigner les Adresses (Automatique) pour attribuer automatiquement des adresses non conflictuelles à toutes les variables. C'est le moyen le plus rapide de commencer.
Exécutez AutomationView: Assigner les Adresses (Manuel) pour attribuer les adresses une par une avec validation des conflits.
Toutes les commandes de variables sont disponibles via la Palette de Commandes (Ctrl+Shift+P). Voir la référence Commandes de Variables pour plus de détails.
| Commande | Description |
|---|---|
| Renommer la Variable | Refactorisation du renommage à l'échelle du projet |
| Obtenir la Valeur de Variable | Lire la valeur pendant l'émulation |
| Définir la Valeur de Variable | Forcer une valeur pendant l'émulation |
| Lister les Variables | Afficher toutes les variables du projet |
| Lister Entrées/Sorties/Locales | Filtrer par portée |
| Infos sur la Variable | Afficher le type, l'adresse et le contexte d'utilisation |
| Valider les Adresses | Vérifier les conflits et les doublons |
Le panneau Variables organise vos variables par portée :
Variables
+-- Inputs (Entrées)
| +-- start_button (BOOL) %I0.0
| +-- sensor_1 (BOOL) %I0.1
+-- Outputs (Sorties)
| +-- motor (BOOL) %Q0.0
| +-- valve (BOOL) %Q0.1
+-- Locals (Locales)
+-- counter (INT)
+-- delay_timer (TON)
Pendant l'émulation, les valeurs se mettent à jour en temps réel. Vous pouvez cliquer sur n'importe quelle variable pour inspecter ou forcer sa valeur.
AutomationView détecte automatiquement les variables depuis votre code de Séquence et déduit intelligemment leur portée :
Cette détection automatique n'est qu'une suggestion. Vous pouvez toujours modifier la portée déduite et assigner la variable à une catégorie différente.