AutomationView découvre, suit et mappe les variables API utilisées dans votre projet. Les variables ne sont pas créées via un bouton de panneau : AutomationView les ingère automatiquement depuis vos fichiers de Séquence et votre configuration machine, puis vous permet de les lister, renommer, inspecter et adresser.
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.
Dans la barre latérale Variables, chaque variable est regroupée selon son contexte d'utilisation : reliée à des E/S physiques ou interne.
| Contexte d'utilisation | Zone d'adresse | Description |
|---|---|---|
| Entrée | %I |
Assignée à un canal d'entrée (capteurs) |
| Sortie | %Q |
Assignée à un canal de sortie (actionneurs) |
| Locale | - | Non assignée à un canal d'E/S (par défaut) |
Le contexte d'utilisation (entrée / sortie / locale) détermine les catégories de la barre latérale pendant l'édition. Il est distinct de la portée d'export (locale / globale / io), calculée uniquement à la génération du code API. Voir la référence Portée des Variables.
Les adresses d'E/S sont calculées à partir du canal de l'équipement et suivent le motif % + zone + taille + décalage d'octet (+ .bit pour les canaux bit) :
I pour les entrées, Q pour les sorties.X (bit, <= 1 bit), B (octet, <= 8 bits), W (mot, <= 16 bits), D (double mot, > 16 bits)..bit n'est ajouté que pour les canaux X (bit).%IX2.0 -> Bit d'entrée, octet 2, bit 0
%QW4 -> Mot de sortie, octet 4
%IB1 -> Octet d'entrée, décalage 1
%QD8 -> Double mot de sortie, décalage 8
Un conflit est détecté lorsqu'une même adresse est revendiquée par plus d'une variable. Exécutez Valider les Adresses après avoir modifié les assignations pour vérifier les conflits et les canaux non assignés.
Les adresses d'E/S ne sont pas stockées dans un fichier distinct ni dans un éditeur d'E/S autonome. Le mappage se trouve dans l'éditeur de Machine, sur son onglet Architecture, et est sauvegardé dans le fichier .machine. Vous y assignez une variable à chaque canal d'équipement, et AutomationView calcule l'adresse %I/%Q correspondante.
Exécutez AutomationView: Assigner les Adresses (Automatique) pour calculer des adresses non conflictuelles pour les canaux non assignés. La commande ouvre l'onglet Architecture et indique le nombre de canaux assignés automatiquement. Pour que les assignations soient sauvegardées dans le fichier .machine, appliquez-les depuis l'onglet Architecture de l'éditeur de Machine.
Exécutez AutomationView: Assigner les Adresses (Manuel) pour ouvrir l'onglet Architecture et assigner les variables aux canaux une par une dans la grille.
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 contexte d'utilisation |
| 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 contexte d'utilisation :
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 ingère automatiquement les variables depuis votre code de Séquence et votre configuration machine. Un nom référencé dans une condition de transition ou une action est enregistré comme variable lors de l'analyse du fichier.
Le contexte d'utilisation d'une variable (entrée / sortie / locale) suit son assignation d'E/S : assignez-la à un canal d'entrée et elle devient une entrée, à un canal de sortie et elle devient une sortie. Tout ce qui n'est pas assigné à un canal d'E/S reste local.