Les options booléennes permettent à une seule séquence dynamique d'adapter ses étapes, transitions, actions et branches à chaque variante matérielle sans dupliquer les fichiers .seq.
Utilisez les options de séquence lorsque plusieurs stations partagent le même cycle de base mais diffèrent par leur configuration physique :
| Cas d'usage | Nom de l'option | Lorsque l'option est ON |
Lorsque l'option est OFF |
|---|---|---|---|
| Type de distributeur | bistable |
Pilote la bobine {retract} pendant le recul |
Relâche la bobine {extend} (rappel par ressort) |
| Retour capteur | fb_on |
Attend le capteur {is_on} avec une surveillance de 3000 ms |
Attend une temporisation fixe de 500 ms |
| Opération optionnelle | with_greasing |
Exécute la sous-branche de graissage | Passe directement à l'opération suivante |
.seq dynamique dans l'Éditeur de séquence.Bistable Valve).bistable).ON ou OFF) lorsqu'une instance ne le surcharge pas.option) ou Present when option is OFF (!option).Cliquez sur la pastille options sous le nom de la séquence dans le panneau supérieur droit de l'Éditeur de Séquence pour ouvrir le menu des options :
ON / OFF) pour changer la valeur par défaut de l'option.Chaque instance d'une séquence dynamique peut activer ou désactiver les options indépendamment dans l'Éditeur de machine :
main.machine et sélectionnez l'onglet Instances.asm_z ou clamp).True) ou OFF (False) pour cette instance spécifique.Retracting, faites un clic droit sur l'action {retract} et attribuez-la à l'option bistable (Present when option is ON).TurningOn, attribuez la transition du capteur {is_on} et le délai de surveillance de 3000 ms à fb_on (Present when option is ON), puis attribuez la transition de temporisation fixe de 500 ms à !fb_on (Present when option is OFF).main.machine -> Instances, activez bistable sur les vérins bistables et laissez-le sur OFF pour les vérins monostables à rappel par ressort.from automation_machine import Sequence, StepType, ActionQualifier, ActionInstruction
class Cylinder(Sequence):
dynamic = True
def setup(self):
self.declare_option("bistable", "Bistable Valve", "Drive retract solenoid coil", default=False)
s0 = self.add_step(StepType.INITIAL, name="Idle")
s1 = self.add_step(StepType.NORMAL, name="Extending")
s2 = self.add_step(StepType.NORMAL, name="Retracting")
self.add_transition(s0, s1, condition="{cmd_extend}")
self.add_transition(s1, s2, condition="{is_extended}")
self.add_transition(s2, s0, condition="{is_retracted}")
s1.add_action("{extend}", "Extend cylinder", qualifier=ActionQualifier.N)
with self.option("bistable"):
s2.add_action("{retract}", "Retract cylinder", qualifier=ActionQualifier.N)
Cylinder()
AutomationView valide les options de séquence et les arguments d'instance en temps réel :
| Code | Vérification |
|---|---|
S070 – S072 |
Nom de déclaration d'option valide et valeur par défaut booléenne |
S073 – S074 |
Le bloc d'option fait référence à une option déclarée (name ou !name) |
S075 |
La séquence conserve au moins une étape initiale quelle que soit la combinaison d'options |
M022 – M024 |
L'instance machine transmet des valeurs booléennes valides aux options déclarées |
{variable}S070–S075 et M022–M024