Geschwindigkeit am Werkzeug

  • Hallo,


    ich beschäftige mich mit der Programmierung eines Kuka Roboters zum Laserschneiden, leider konnte ich noch nicht an der offensichtlich sehr hilfreichen Expertenschulung teilnehmen. :oops: Bisher habe ich mich im wesentlichen um die Bahnerstellung in der Ebene und das Ansteuern des Lasers aus CAD-Daten gekümmert. Für ein paar Einschätzungen, wie ich im weiteren Verlauf vorgehe, fehlen mir nun ein paar Grundlegende Informationen.


    1. Kann man die aktuelle Geschwindigkeit am Werkzeug ermitteln und auf einen analogen Ausgang legen?
    2. Beim recherchieren habe ich gelernt, dass es verschiedene Arten des Überschleifens gibt, wie unterscheiden die sich, bzw. gibt es bevorzugte Einsatztzwecke.
    3. Kann ich bei Programmstart automatisch ein kleines Programm zur initialiaierung der Peripherie laufen lassen?


    Leider habe ich im Moment nur knappe Hardwareinformationen:
    Es handelt sic um einen KR125 mit einer KRC1.


    Über ein paar kurze Tipps würde ich mich sehr freuen, allen die sich schon auf dem Weg ins Wochenende befinden wünsche ich ein sehr schönes! :zwink:

    Einmal editiert, zuletzt von TUD_nerd ()

  • Schritt für Schritt zum Roboterprofi!
  • Hallo,


    die aktuelle Geschwindigkeit am TCP muesstes Du mit $VEL_ACT auslesen koennen. Du kannst das dann in Deinem Programm so machen:


    Decl Signal AO_ActVel Anout[1]


    ....


    Anout on AO_ActVel = 1.0 * $VEL_ACT



    mit



    Anout off AO_ActVel



    beendest Du dann das Zyklische beschreiben.


    Wenn Dus lieber mit digitalen Ausgaengen haben willst, kannst Du das auch im Submit Interpreter machen:


    Teil fuer die Configdat:


    Decl Signal DO_ActVel $out[1] To $out[15]
    Decl Bool B_ActVelOn = False


    Teil fuer die SPS.SUB:


    if B_ActVelOn then
    DO_ActVel=$VEL_ACT
    else
    DO_Actvel=0
    endif


    Im Programm kannst Du das ganz dann durch setzen der Variable B_ActVelOn ein und ausschalten.


    Zum Ueberschleifen PTP-saetze kannst Du mit C_PTP uberschleifen, LIN- und CIRC-saetze kannst Du mit C_DIS, C_VEL und C_ORI ueberschleifen, wobei ich da bis jetzt immer mit C_DIS ausgekommen bin.


    Fuer C_PTP kannst Du den Maximalen Ueberschleifweg mit der Variablen $APO_DIS_PTP[1-6] einstellen.


    Ansonsten stellst Du alles ueber die Strucktur $Apo ein.


    $APO.CPTP stellst Du den Uberschleifweg, in Porzent bezogen auf die Winkel, fuer die PTP Saetze ein.


    $APO.CDIS stellst Du die ueber schleif Distanz in mm, fuer die Lin und Circ saetze ein.


    $APO.CORI is in Grad


    $APO.CVEL is wieder in Prozent bezogen auf $VEL.


    Ich bin grad zu faul das jetzt genauer zu schreiben, vielleicht machts ja wer anders, oder Du schaust mal ins Handbuch.



    Naturlich kannst Du Dir ein Programm fuer die Initialisierung schreiben, das rufst Du dann halt bei Programmstart auf.


    Gruss Elias

    IF ROBOTER_STEHT AND SPS_VORHANDEN THEN<br />&nbsp; WHILE NOT ROBOTER_LAEUFT<br />&nbsp; &nbsp; &nbsp; $LOOP_MSG[]=&quot;SPS IST SCHULD!&quot;<br />&nbsp; ENDWHILE<br />&nbsp; $LOOP_MSG[]=&quot;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;<br />ENDIF<br /><br />Geld ohne Arbeit! Keine Arbeit ohne Geld!

  • Tausend dank, das werde ich doch mal versuchen umzusetzen, ggf. muss ich halt mal schauen, ob die Firma kuka Programmierhandbücher auch ohne Kursteilnahme verkauft.

  • Sers,
    die Handbuecher sind bei der Roboter-Software (in dem CD-Pack) dabei.


    Elias

    IF ROBOTER_STEHT AND SPS_VORHANDEN THEN<br />&nbsp; WHILE NOT ROBOTER_LAEUFT<br />&nbsp; &nbsp; &nbsp; $LOOP_MSG[]=&quot;SPS IST SCHULD!&quot;<br />&nbsp; ENDWHILE<br />&nbsp; $LOOP_MSG[]=&quot;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;<br />ENDIF<br /><br />Geld ohne Arbeit! Keine Arbeit ohne Geld!

  • Jop,


    habe ich gefunden, einschließlich hilfreicher Listen aller internen Variablen, sowie wesentlicher Befehle:-)
    Die Ermittlung der Geschwindigkeit hat nach ein bisschen hin und her auch geklappt -> Anzeige analoge Ausgänge auf dem KCP.


    Klassisch ist, dass nun auf der Softwareseite alles bereit steht und ich nicht weiß wo ich meine analoge Ausgabe abgreifen kann.
    Bei der Anlage sind die digitalen Ausgänge am Interbus gut dokumentiert, über die Analogen habe ich bis jetzt nichts gefunden.


    Lässt es sich einfach beschreiben wo ich die analogen Ausgänge finde, oder muss ich versuchen den verantwortlichen für den Aufbau der Anlage zu ermitteln?


    Grüße

    Einmal editiert, zuletzt von TUD_nerd ()

  • Der Roboter verfügt über ein Bus-System, an das sich ne vielzahl analog-digital-converter anschliessen lassen. Dadurch ist weder die Lage, noch die Bezeichnung des Gerätes sonderlich festgelegt. Du kannst Dich nur an die Typenschilder halten und mal nach den entsprechenden Nummern googeln.

    If you and DEAD people can read Hex, how many people can read Hex?

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