vorlaufstop und interruptroutine

  • hallo.


    es heißt, manche KRL-befehle lösen einen vorlaufstop aus, in meinem fall CREAD.


    ist dies auch der fall, wenn dieses CREAD in einer interruptroutine aufgerufen wird?
    (wenn ja: ein vorgeschaltetes CONTINUE sollte das lösen?)


    und was ist mit meiner abfrage von $ALARM_STOP in der sps.sub, löst das auch immer einen vorlaufstop aus?
    (wenn ja: kann ich das auch mit CONTINUE unterbinden?)


    schönen gruß, max.

  • Schritt für Schritt zum Roboterprofi!
  • Morgähn,



    1. ja diverse Befehle lösen einen Vorlaufstop aus z.Bsp. wait oder Anweisungen und Daten die die Peripherie (Eingänge/Ausgänge etc.) beeinflußen!


    2. ja ein Stop wird dort auch ausgelöst, Continue sollte das unterbinden.


    3. im sps.sub ist die Continue-Anweisung nicht erlaubt, da gibts keinen Vorlauf. SPS.sub und Roboterprogramm sind 2 parallellaufende Prozesse. Somit beeinflußen deine Befehle im .sub den Roboterablauf in keinster Weise.

  • noch was zu 3.


    Im Submit sollte man sowieso keine WAIT-Befehle einfügen, da diese den zyklischen Ablauf unterbrechen.

    Greetings, Irrer Polterer!

    Wie poste ich falsch? Nachdem ich die Suche und die FAQ erfolgreich ignoriert habe, erstelle ich das gleiche Thema in mehreren Unterforen, benutze einen sehr kreativen Titel wie "Hilfe", am Besten noch mit mehreren Ausrufezeichen, und veröffentliche einen so eindeutigen Text, dass sich jeder etwas Anderes darunter vorstellt.


    Life is a beta version. Full of bugs and no Manual.

  • Hallo,


    der Vorlaufzeiger durchläuft normalerweise Programme auf Roboterebene. Wenn er Bewegungen findet präpariert er diese und übergibt sie zur Ausführung an den interpolator.
    Vorlaufstop bedeutet, das er an einer Anweisung stehen bleibt, bis alle bisher präparierten Bewegungen ausgeführt sind und erst dann weiterläuft. Ein Vorlaufstopp kann nur da statfinden wo es Vorlauf gibt, also nur in normalen Roboterprogrammen. In interruptroutinen auf Roboterebene findet kein Vorlauf statt, von daher kann kein Vorlaufstop stattfinden. Continue Anweisung sind hier sinnlos, werden aber vom Interpreter kommentarlos ignoriert. Ein überschleif nicht möglich kann man mit Interruptroutinen trotzdem erzeugen. Es gibt nun mal nur einen Vorlaufzeiger. Wenn man den in einer Interruptroutine beschäftigt, statt zu präparieren, geht dem Interpolator irgendwann die Bahn aus und der Roboter muss stehen bleiben bis wieder Punkte kommen.


    Der Submit hat mit der Bahnpräparation gar nichts zu tun. Continue ist hier erst recht sinnlos. Wenn ich mich recht erinnere, wird das sogar mit Anweisung unzulässig bestraft.


    Gruss DiDi

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden