Ich habe eine Roboterprojekt mit einem Kuka Agilus geerbt und versuche gerade, die Kommunikation zu verstehen. Der Roboter wird über Ethernet gesteuert. Auf einem PC läuft ein Pythonscript, das an die Adresse des Roboters auf Port 6101 solche XML Konstrukte wie
<SetVar Name="WORKPOSITION.x" Value="100" />
schickt. Damit werden dann alle Koordinaten x,y,z,a,b,c gesetzt, anschließend noch eine bool Variable. Auf dem Roboter gibt es ein Script, das aus zweit Dateien (.dat und .src) besteht. In dem Programm wird in einer Schleife auf das Bool Flag gewartet und dann mit PTP die Position WORKPOSITION angefahren.
Zum Warten auf das Erreichen der Position wird eine XML Botschaft mit <ShowVar.../> benutzt, es wird dann die entsprechende Antwortbotschaft <ShowVarRsp .../> ausgewertet. Das scheint mir recht umständlich zu sein.
Ich habe versucht, zum testen die Kommandos per Terminal mit Putty zu senden, soweit funktioniert das. Ich habe beim Recherchieren gefunden, dass es Kommandos in der Art von
<KUKA_GetStatus Type="ALL"/>
oder
<Rob target="robot">
<Axis name="tcp" speed="50"/>
</Rob>
geben soll, mit denen man direkt ohne laufendes Script auf dem Roboter Funktionen auslösen kann und die ich gerne verwenden möchte. Wenn ich versuche diese über Putty zu senden, antwortet der Roboter immer mit
<Info Service="Internal" ID="1001" Msg="error"/>
Da scheint es offenbar verschiedene Protokolle zu geben. Mir fehlen im Moment die Grundlagen, z.B. um welches Protokoll es sich da überhaupt handelt. Ohne den Namen des Protokolls zu kennen kann ich nicht mal nach Dokumentation suchen.
Muss man in der Roboterkonfiguration das Netzwerk Interface mit einem bestimmten Protokoll verknüpfen? Gibt es eine Stelle, wo man die Verfügbarkeit der Kommandos erst aktivieren muss.
Kann mir jemand nennen, wie Bezeichnung dieser Protokolle ist, und wie man das auswählt, nach welchem Protokoll Daten auf der Netzwerkschnittstelle interpretiert werden. Jede Hilfe ist willkommen.
MISC01