Une séquence dynamique est un modèle réutilisable dont les paramètres {variable} sont automatiquement résolus en variables préfixées pour chaque instance de la machine (par exemple cyl_1_extend, cyl_2_extend).
Les séquences dynamiques éliminent la duplication de fichiers .seq lorsqu'une machine comporte plusieurs sous-ensembles identiques tels que des vérins pneumatiques, des pinces, des convoyeurs ou des postes de traitement :
| Concept | Rôle | Exemple |
|---|---|---|
Séquence dynamique (.seq) |
Modèle de séquence réutilisable avec paramètres {variable} |
Cylinder ({extend}, {is_extended}) |
Instance (main.machine) |
Copie concrète dotée d'un préfixe unique et d'options | clamp, pusher, lift |
| Variables résolues | Variables automates préfixées par le nom d'instance, générées automatiquement | clamp_extend, pusher_extend, lift_extend |
| Variables globales | Variables sans {} partagées par toutes les instances |
g_Safety_OK, g_Auto_Mode |
Convertissez n'importe quelle séquence existante en séquence dynamique en deux clics :
.seq dans l'Éditeur de séquence..seq dans l'Explorateur et sélectionnez Make Sequence Dynamic).{variable} et enregistre une instance par défaut dans main.machine.{} et globalesDans une séquence dynamique, vous pouvez combiner des paramètres {variable} propres à chaque instance avec des variables globales de la machine :
{}) dans la barre d'outils flottante :
{} ({extend}, {cmd}) : Résolue par instance (<nom_instance>_extend, <nom_instance>_cmd).{} (emergency_stop, system_ready) : Partagée globalement dans toute la machine.main.machine et sélectionnez l'onglet Instances.c1_stopper, c2_stopper, asm_press).ON / OFF) ou ses paramètres personnalisés..seq dynamique dans l'Éditeur de Séquence.clamp, pusher, lift).cylinder.seq et faites un clic droit sur le canevas -> Make file dynamic.{extend}, {retract}, {is_extended} et {is_retracted} dans vos étapes et transitions.main.machine -> Instances et ajoutez les instances clamp, pusher et lift.from automation_machine import Machine
class ProductionLine(Machine):
def setup(self):
self.add_instance("Cylinder", "clamp", bistable=False)
self.add_instance("Cylinder", "pusher", bistable=True)
self.add_instance("Cylinder", "lift", bistable=True)
ProductionLine()
{} à la compilation