Steuern von Weltzonen in einem parallelen Task

  • Hallo alle zusammen,


    ich hab wiedereinmal ein kleines Problem...und zwar:


    Ich will eine temporäre Weltzone in einem parallen Task beliebig aus und einschalten. Wenn ich sie im parallen Task definiere, bekomme ich eine Fehlermeldung beim Aufruf von WZLimsup \Temp, ... mit der Meldung das es kein Motiontask ist...
    Darum dachte ich mir die Weltzone Global definieren und mit einer Event Routine bei Power On einschalten, funktioniert aber leider auch nicht...


    Hat wer von euch viel. eine Idee?
    Danke im voraus...

  • ANZEIGE
  • Also Temporäre Weltzonen sind zum Ein bzw. Ausschalten gedacht, halt temporär.
    Für die Eventroutinen musst Du stationäre Weltzonen verwenden, weiter muss das Signal welches Du verwendest auch vom Zugriff her auf INTERNAL bzw. System gesetzt werden um eine änderung von aussen zu verhindern.
    Aber beschreibe doch einmal was Du erreichen möchtest und wie Du es durchführen möchtest.


    Gruß


    Sven

    Wer nichts macht, macht keine Fehler!

    Wer keine Fehler macht, kann nichts daraus lernen!

    Wer nichts lernen kann, kann sich nicht weiterentwickeln!

    Wer sich nicht entwickelt, geht unter!

  • Sorry, das ich erst heute antworte, aber ich war diese Woche auf Urlaub...


    Ich versuche nocheinmal mein Problem genauer zu erläutern:


    Ich möchte eine Weltzone über einen Arbeitsraum legen, den ich variabel sperren und entsperren möchte. Da ich eine stationäre Weltzone aber nur einmal setzen kann und nicht variabel umschalten. Darum hatte ich an eine temporäre gedacht. Das Umschalten der Weltzone soll aber in einem parallen Task erfolgen, da es unabhängig von der aktuellen Postion des Roboters im Haupttask erfolgen soll. Daher dachte ich mir ich lege ein temporäre Weltzone im parallelen Task an und schalte sie auch dort aktiv oder inaktiv. Leider hat das nicht funktioniert, weil er im parallelen Task nicht weiß auf welchen Robter(MotionTask) er sich beziehen soll... Daher mein 2. Ansatz in einer Eventroutine eine temporäre Weltzone anlegen und im parallen aus- und einschalten...hat aber leider auch nicht funktioniert...


    ich hoffe ich konnte mein Problem nun etwas besser beschreiben...

  • Also dazu hätte ich eine Idee:
    Du brauchst eine stationäre Weltzone.
    Dazu ein zweites; eventuell, virtuelles Siganl welche UND-Verknüpft ist mit dem Weltzonensignal auf ein Ausgansgsignal welches Du im Programm verwendets.
    Somit kannst Du im Hintergrund mit dem virtuellen Signal Deine Weltzone aktivieren bzw. deaktivieren. So eine art Ein/Aus Schalter.
    Die verknüpfung kannst Du in der eio.cfg unter Crossconection machen. Somit sollte es gehen.


    Gruß


    Sven

    Wer nichts macht, macht keine Fehler!

    Wer keine Fehler macht, kann nichts daraus lernen!

    Wer nichts lernen kann, kann sich nicht weiterentwickeln!

    Wer sich nicht entwickelt, geht unter!

  • So, hab mir das ganze jetzt mal angesehen und hab noch eine Frage zu deinem Vorschlag...
    wenn ich eine stationäre Weltzone anlege, dann kann ich ja nie in den Arbeitsraum mit dem Roboter fahren, oder sehe ich das falsch? Oder ist das nicht der Fall, wenn nur einen Ausgang setzen lasse...wenn ja, muss ich mich in diesem Fall aber selbst darum kümmern, das der Roboter stoppt?



    lg
    Martin

  • Dazu hast Du doch das zu steuernde Signal auf dem virtuellen Board der mit dem Weltzonensignal UND-Verknüpft ist.


    Sven

    Wer nichts macht, macht keine Fehler!

    Wer keine Fehler macht, kann nichts daraus lernen!

    Wer nichts lernen kann, kann sich nicht weiterentwickeln!

    Wer sich nicht entwickelt, geht unter!

  • Hm, ich glaub ich steh auf der Leitung...


    Das mit der stationären Weltzone welche einen Ausgang setzt ist mir klar, nur wodurch stoppt der Roboter? Was soll die UND-Verknüpfung bewirken? Ich will ja, das sich der Arbeitsraum dynamisch im parallen Task aktiviert und deaktiviert, unabhängig wo der Roboter im Robotertask steht....

  • Das Stoppen kannst Du im Hintergrundtask mit Stop- bzw. StartMove beeinflussen. Weiter kannst Du auch noch über die UND-Verknüpfung mit einem Signal das Ergebniss beeinflussen wann der Roboter darauf reagieren soll oder nicht.


    Sven

    Wer nichts macht, macht keine Fehler!

    Wer keine Fehler macht, kann nichts daraus lernen!

    Wer nichts lernen kann, kann sich nicht weiterentwickeln!

    Wer sich nicht entwickelt, geht unter!

Hilfe und Support für ABB Roboter Programmierung, Konfiguration, Inbetriebnahme finden Sie hier im ABB Roboter Forum. ABB Rapid Programmierung ist einfach, die Roboterforum Community hilft sehr gerne.

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