Extensible Markup Language Remote Procedure Call, kurz XML-RPC. Diese Technik erm�glicht ein entferntes Ausf�hren von Methoden, wobei die Daten�bertragung per http erfolgt. Die zu �bertragenen Daten besitzen dabei eine XML-Formatierung.
Die zu �bertragenen Daten besitzen dabei eine XML-Formatierung. XML-RPC ist sprachenunabh�ngig, daher gibt es XML-RPC Clients in diversen Programmiersprachen, somit ist eine Integration in bestehende Projekte leicht m�glich. Die Befehle werden unabh�ngig von der Programmiersprache beschrieben.
F�r einen erleichterten Einstieg werden mehrere Beispiel-Clients zur Verf�gung gestellt.
Dieser Artikel beschreibt wie �ber die Externe Schnittstelle die unten beschriebenen Aktionen ausgef�hrt werden k�nnen. Hierf�r muss zuerst eine Verbindung mit dem Roboter hergestellt werden. Dies kann in dem Artikel Python 3: Verbindung mit dem Roboter herstellen nachgelesen werden.
horstFX-Version: 2020.10 und neuer
1. Ansicht wechseln
1.1 Befehl
HorstFX.Activity.switchActivity(id)
1.2 Parameter
Welche Ansicht welcher ID zugeteilt wurde, kann in dem Artikel Dokumentation Ansichten horstFX nachgelesen werden.
1.3 R�ckgabewert
true bei Erfolg.
2. Auf aktuelle Gelenkwinkel zugreifen
2.1 Befehl
HorstFX.Robotcontrol.getCurrentRobotJoints()
2.2 Parameter
Diese Funktion besitzt keine Funktionsargumente.
2.3 R�ckgabewert
Liefert bei Erfolg eine Map zur�ck.
Gelenkwinkel werden in Grad angegeben.
3. Auf aktuelle Pose zugreifen
3.1 Befehl
HorstFX.Robotcontrol.getCurrentRobotPose()
3.2 Parameter
Diese Funktion besitzt keine Funktionsargumente.
3.3 R�ckgabewert
Liefert bei Erfolg eine Map zur�ck.
4. Ausgang schalten
4.1 Befehl
HorstFX.Robotcontrol.setOutput(outputName, value)
4.2 Parameter
4.3 R�ckgabewert
true bei Erfolg
5. Betriebsmoduswechsel best�tigen
5.1 Befehl
HorstFX.Safety.confirmChangeOperationMode()
5.2 Parameter
Diese Funktion besitzt keine Funktionsargumente.
5.3 R�ckgabewert
true wenn der Betriebsmoduswechsel quittiert werden konnten.
6. Bool Register lesen
6.1 Befehl
HorstFX.Variable.getBoolRegister(registerIndex)
6.2 Parameter
6.3 R�ckgabewert
aktueller Wert des angefragten Registers (Bool-Wert)
7. Bool Register schreiben
7.1 Befehl
HorstFX.Variable.setBoolRegister(registerIndex, value)
7.2 Parameter
7.3 R�ckgabewert
true bei Erfolg
8. Eingang lesen
8.1 Befehl
HorstFX.Robotcontrol.getInput(inputName)
8.2 Parameter
8.3 R�ckgabewert
aktueller Wert des angefragten Inputs (Int-Wert)
9. Erweiterter Move-Befehl
9.1 Befehl
HorstFX.Robotcontrol.moveAdvanced(configMap)
9.2 Parameter
Die Map besitzt die gleichen Pflicht und Optionionale Parameter wie der erweiterte Move-Befehl im textuellen Programmiern.
Eine detaillierte Beschreibung ist in dem Artikel Erweiterter move Befehl zu finden.
9.3 R�ckgabewert
true bei Erfolg
10. externer Nothalt quittieren
Kann nur quittiert werden, wenn der externe Nothalt zur�ckgesetzt wurde.
10.1 Befehl
HorstFX.Safety.confirmExternalEmergencyStop()
10.2 Parameter
Diese Funktion besitzt keine Funktionsargumente.
10.3 R�ckgabewert
true wenn der externe Nothalt quittiert werden konnte.
11. Float Register lesen
11.1 Befehl
HorstFX.Variable.getFloatRegister(registerIndex)
11.2 Parameter
11.3 R�ckgabewert
aktueller Wert des angefragten Registers (Float-Wert)
12. Float Register schreiben
12.1 Befehl
HorstFX.Variable.setFloatRegister(registerIndex, value)
12.2 Parameter
12.3 R�ckgabewert
true bei Erfolg
13. Globale Geschwindigkeit auslesen
13.1 Befehl
HorstFX.Program.getGlobalSpeed()
13.2 Parameter
Diese Funktion besitzt keine Funktionsargumente.
13.3 R�ckgabewert
aktueller globale Geschwindigkeit (Float-Wert zwischen 0 - 1 (0 - 100%))
14. Globale Geschwindigkeit setzen
14.1 Befehl
HorstFX.Program.setGlobalSpeed(globalSpeed)
14.2 Parameter
14.3 R�ckgabewert
true bei Erfolg
15. Interne Fehler quittieren
15.1 Befehl
HorstFX.Safety.confirmInternalError()
15.2 Parameter
Diese Funktion besitzt keine Funktionsargumente.
15.3 R�ckgabewert
true wenn die internen Fehler quittiert werden konnten.
16. Int Register lesen
16.1 Befehl
HorstFX.Variable.getIntRegister(registerIndex)
16.2 Parameter
16.3 R�ckgabewert
aktueller Wert des angefragten Registers (Int-Wert)
17. Int Register schreiben
17.1 Befehl
HorstFX.Variable.setIntRegister(registerIndex, value)
17.2 Parameter
17.3 R�ckgabewert
true bei Erfolg
18. Joint Bewegung
18.1 Befehl
HorstFX.Robotcontrol.moveJoint(x, y, z, q0, q1, q2, q3, speed)
18.2 Parameter
18.3 R�ckgabewert
true bei Erfolg
19. Lineare Bewegung
Je nach Stellung des Roboters kann ein linearer Pfad nicht ausgef�hrt werden. Dies geschieht zum Beispiel wenn der Roboter mit sich selbst kollidieren w�rde, oder die Bewegung aufgrund der Kinematik nicht linear abgefahren werden kann.
19.1 Befehl
HorstFX.Robotcontrol.moveLinear(x, y, z, q0, q1, q2, q3, speed)
19.2 Parameter
19.3 R�ckgabewert
true bei Erfolg
20. n�chsten Joints lesen
20.1 Befehl
HorstFX.Variable.getNextJoints(
20.2 Parameter
Diese Funktion besitzt keine Funktionsargumente.
20.3 R�ckgabewert
Liefert bei Erfolg eine Map zur�ck.
21. n�chsten Joints setzen
21.1 Befehl
HorstFX.Variable.nextJoints(j1, j2, j3, j4, j5, j6)
21.2 Parameter
21.3 R�ckgabewert
true bei Erfolg
22. n�chste Pose setzen
22.1 Befehl
HorstFX.Variable.nextPose(x, y, z, q0, q1, q2, q3, )
22.2 Parameter
22.3 R�ckgabewert
true bei Erfolg
23. Nothalt quittieren
Kann nur quittiert werden, wenn der Nothalt am PANEL gel�st wurde.
23.1 Befehl
HorstFX.Safety.confirmEmergencyStop()
23.2 Parameter
Diese Funktion besitzt keine Funktionsargumente.
23.3 R�ckgabewert
true wenn der Nothalt quittiert werden konnte.
24. Programm abbrechen
24.1 Befehl
HorstFX.Program.abort()
24.2 Parameter
Diese Funktion besitzt keine Funktionsargumente.
24.3 R�ckgabewert
true wenn das Programm abgebrochen werden kann.
25. Programm pausieren
25.1 Befehl
HorstFX.Program.pause()
25.2 Parameter
Diese Funktion besitzt keine Funktionsargumente.
25.3 R�ckgabewert
true wenn das Programm gestoppt werden kann.
26. Programm senden und starten
26.1 Befehl
HorstFX.Program.execute()
26.2 Parameter
26.3 R�ckgabewert
true wenn das Programm gesendet und gestartet wurde.