AutomationView analyse en continu vos programmes et détecte les problèmes avant qu'ils n'arrivent en production.
Au fur et à mesure que vous écrivez du code ou éditez des diagrammes de Séquence, AutomationView exécute une validation structurelle et logique en temps réel. Les problèmes sont signalés instantanément sous forme d'avertissements et d'erreurs en ligne - pas besoin de compiler ou d'exécuter pour trouver les problèmes.
Astuce : Utilisez F10 (Pas de Simulation) pendant une simulation pour avancer d'un cycle de balayage à la fois. Cela permet d'identifier beaucoup plus facilement où se produit un problème de diagnostic dans votre logique.
AutomationView exécute douze validateurs structurels sur chaque Séquence, en plus des diagnostics d'analyse, de simulation, de type et de machine. Les vérifications structurelles sont les suivantes :
Le nom de la Séquence (classe Python) est vérifié quant à sa validité. Un nom invalide empêche le chargement de la Séquence.
Chaque Séquence doit déclarer exactement une étape initiale valide. Une étape initiale manquante ou incorrecte est signalée comme une erreur.
Deux étapes ou plus partageant le même nom sont signalées. Comme les noms d'étapes sont la façon dont le reste de la Séquence se réfère à une étape, les doublons provoquent des références ambiguës.
Une étape qui n'a aucune transition sortante ne peut pas transmettre le contrôle vers l'avant et la Séquence se bloque indéfiniment à cet endroit. AutomationView signale chacune de ces étapes afin que vous puissiez ajouter la transition manquante avant l'exécution.
Les transitions sont vérifiées pour s'assurer qu'elles pointent vers des étapes qui existent réellement. Une référence à un nom d'étape inexistant est signalée comme une erreur.
Les expressions de condition de transition sont validées quant à la syntaxe correcte. Les problèmes de syntaxe trouvés pendant l'exécution d'une simulation sont également remontés sous forme de diagnostics de simulation.
Les noms cibles des actions sont vérifiés quant à leur validité. Un nom d'action non reconnu est signalé avant qu'il ne puisse provoquer une défaillance silencieuse à l'exécution.
Les divergences sont vérifiées quant aux branches en double. Deux branches avec des conditions identiques rendraient l'une d'elles inaccessible.
Chaque divergence (un éclatement en branches parallèles ou alternatives) doit avoir une convergence correspondante (une jonction qui réunit ces branches). AutomationView vérifie que le nombre de branches ouvrant une divergence est égal au nombre de celles qui la ferment. Une incohérence signifie que la structure de la Séquence est malformée.
Les branches d'une divergence ne doivent pas se croiser. Si deux branches s'entrecroisent d'une manière invalide - par exemple, la transition d'une branche saute vers le chemin d'une autre branche - AutomationView signale le croisement afin que vous puissiez démêler la disposition.
Une étape ou une transition qui boucle directement sur elle-même sans aucune étape intermédiaire crée un micro-cycle infini qui peut bloquer l'exécution. AutomationView détecte et signale les auto-boucles directes séparément des arcs de retour normaux qui forment des boucles valides dans la Séquence.
Une étape qu'aucun chemin d'exécution ne peut jamais atteindre est du code mort. Elle gaspille des ressources et signale souvent une erreur de câblage - une transition manquante ou une branche qui n'a jamais été connectée. AutomationView identifie chaque étape qui est structurellement coupée du reste de la Séquence.
Au-delà des douze validateurs structurels, AutomationView rapporte des diagnostics provenant de plusieurs autres sources :
.machine, étiquetées "AutomationView (Machine)".Les plugins fournisseur (tels que Rockwell et Siemens) ajoutent leurs propres diagnostics au moment de l'export, pendant la traduction et l'exportation. Ceux-ci sont distincts des validateurs structurels ci-dessus.
| Niveau | Signification |
|---|---|
| Erreur | Problème critique qui empêchera l'exécution correcte |
| Avertissement | Problème potentiel pouvant causer un comportement inattendu |
| Info | Suggestion ou indication structurelle |
Les erreurs doivent être résolues avant que vous n'exécutiez une simulation ou ne génériez du code. Notez qu'une Séquence qui ne peut pas être analysée ne se charge jamais dans le moteur de simulation. Les avertissements et les informations sont des conseils mais ne doivent pas être ignorés.
Chaque diagnostic qui pointe vers une étape ou une transition spécifique inclut un raccourci pour sauter directement vers l'élément fautif dans l'éditeur visuel. Vous n'avez pas besoin de parcourir votre diagramme à sa recherche.
L'éditeur visuel défile vers l'étape ou la transition qui a déclenché l'erreur ou l'avertissement et la met en évidence. Si l'élément se trouve dans un fichier différent, AutomationView ouvre d'abord ce fichier.
Certains diagnostics proposent une action de Correction Rapide. Lorsque vous appliquez la Correction Rapide depuis le panneau Problèmes ou depuis une annotation en ligne, AutomationView navigue également vers l'élément affecté afin que vous puissiez confirmer la correction en contexte.
L'action de révélation fonctionne à la fois pour les diagnostics structurels (listés ci-dessus) et pour les diagnostics de simulation qui identifient une étape ou une transition spécifique à l'exécution.