Neuer Tag, neues Problem:
Ich möchte, dass nach dem Hochfahren/Kaltstart der Roboter-Steuerung (RW 6.15.02) in Automatik, der Programmzeiger auf der ersten ausführbaren Zeile von Main steht, so das über eine SPS per "Motors On and Start"-Signal der Programmstart von dort aus erfolgt.
Randbedingungen:
- Ich habe nur das "Motors On and Start"-Signal als externes SIgnal zur Verfügung, kein "Start at Main", oder "PP to Main"!
- das "Motors On and Start"-Signal wird auch zum Wiederanstarten verwendet, wenn das Programm unter einer Fehlerbedingung stoppt.
Es kann also nicht auch für "PP to Main" o.dgl. verwendet werden.
Was ich bisher habe:
In der Bewegungstask (T_ROB1) habe ich folgende "SYS_POWERON"-Routine:
PROC SYS_POWERON()
ExitCycle;
ENDPROC
Die sorgt schon mal dafür, dass der PZ von seiner letzten Position (beim Abschalten) verschwindet.
Nur leider wird der PZ dadurch nicht auf die erste Zeile von Main gesetzt, sondern ist lediglich verschwunden bzw. ungültig! D.h. beim "Motors On and Start"-Signal wird ein Fehler ausgelöst, da der PZ nicht gesetzt ist! Ich möchte aber vermeiden, dass der Anwender am TeachPanel "PZ -> Main" drücken muss, da das Panel für den normalen Werker nicht erreichbar ist!
Ich habe das jetzt hinbekommen von einer zweiten Task aus, cross-connecteten Signalen etc., ist aber ziemlich un-elegant und schlecht wartbar.
Frage: habt ihr andere Ideen oder Lösungen dazu, am besten irgendetwas Simples, was ich übersehen habe...
Danke!