Hallo zusammen,
ich hab noch ziemlich wenig Erfahrung in der Roboterprogrammierung. Aktuell unterstütze ich einen Kollegen.
Dabei verwenden wir UserTech.
Wir haben uns vier verschiedene Greifer auf die Statustasten gelegt, die wir durchschalten.
Also Taste 1 "open", Taste 2 "close", Taste 3 "reset", Taste 4 "nächster Greifer"
Es werden dann programmatisch Ausgänge gesetzt.
Funktioniert auch wunderbar.
Für die Nutzung ist Safety Switch = True gesetzt.
Wenn man nun den Safety Switch loslässt, und z.B. "Close" noch gedrück hält, hängt sich das zugehörige Script auf, weil es erkennt das der SafetySwitch weg ist. Dummerweise bleibt dann der Ausgang aber gesetzt, weil das Script das ihn abschalten soll nicht durchgelaufen ist.
Wie kann man diesen Fehler ausmerzen?
Hier ein Auszug:
<Script Name="onGRIP11dn">
<SetVar Fullpath="SO_Greifer1_GS" Value="TRUE" />
<SetVar Fullpath="SO_Greifer1_AS" Value="FALSE" />
</Script>
<Script Name="onGRIP11up">
<SetVar Fullpath="SO_Greifer1_GS" Value="FALSE" />
<SetVar Fullpath="SO_Greifer1_AS" Value="FALSE" />
</Script>
<Set Name="sGRIP11" Enable="" UserMode="20" Style="" Next="">
<Picture Default="" KeyDown="" KeyDownMinus="" />
<Text Top="Gripper" Center="-1-" Bottom="open" />
<Needs SafetySwitch="true" DrivesOk="" Prostate0="" Prostate="" ModeOp="" />
<Scripts OnKeyDown="onGRIP11dn" OnKeyUp="onGRIP11up" OnKeyShow="" OnKeyDownMinus="" OnKeyUpMinus="" OnKeyRepeat="" OnKeyRepeatMinus="" />
</Set>
Gruß
Achim