6. Allgemeine Roboter-Einstellungen

6.1. Werkzeug-Referenzpunkt einstellen - Sechs-Punkt-Methode

Prototyp

SetToolPoint(point_num)

Beschreibung

Legt den Werkzeug-Referenzpunkt fest - Sechs-Punkt-Methode

Erforderliche Parameter

  • point_num: Punktnummer, Bereich [1~6]

Optionale Parameter

Keine

Rückgabewerte

  • Fehlercode: 0 bei Erfolg, sonst Fehlercode

6.2. Werkzeugkoordinatensystem berechnen - Sechs-Punkt-Methode

Prototyp

ComputeTool()

Beschreibung

Berechnet das Werkzeugkoordinatensystem - Sechs-Punkt-Methode (nach dem Setzen aller sechs Referenzpunkte)

Erforderliche Parameter

Keine

Optionale Parameter

Keine

Rückgabewerte

  • Fehlercode: 0 bei Erfolg, sonst Fehlercode

  • tcp_pose=[x,y,z,rx,ry,rz]: Werkzeugkoordinatensystem

6.3. Werkzeug-Referenzpunkt einstellen - Vier-Punkt-Methode

Prototyp

SetTcp4RefPoint(point_num)

Beschreibung

Werkzeug-Referenzpunkt einstellen - Vier-Punkt-Methode

Erforderliche Parameter

point_num: Punktnummer, Bereich [1~4]

Standardparameter

Keine

Rückgabewert

  • Fehlercode: 0 = Erfolg, sonst Fehlercode

  • tcp_pose=[x,y,z,rx,ry,rz]: Werkzeugkoordinatensystem

6.4. Werkzeugkoordinatensystem berechnen - Vier-Punkt-Methode

Prototyp

ComputeTcp4()

Beschreibung

Berechnet das Werkzeugkoordinatensystem - Vier-Punkt-Methode (nach dem Setzen aller vier Referenzpunkte)

Erforderliche Parameter

Keine

Optionale Parameter

Keine

Rückgabewerte

  • Fehlercode: 0 bei Erfolg, sonst Fehlercode

  • tcp_pose=[x,y,z,rx,ry,rz]: Werkzeugkoordinatensystem

6.5. Werkzeugkoordinatensystem basierend auf Punkten berechnen

Neu in Version python: SDK-v2.0.8

Prototyp

ComputeToolCoordWithPoints(method, pos)

Beschreibung

Berechnet das Werkzeugkoordinatensystem basierend auf Punkten

Erforderliche Parameter

  • method: Berechnungsmethode; 0-Vier-Punkt-Methode; 1-Sechs-Punkt-Methode

  • pos: Array von Gelenkpositionen, Länge 4 für Vier-Punkt, Länge 6 für Sechs-Punkt

Optionale Parameter

Keine

Rückgabewerte

  • Fehlercode: 0 bei Erfolg, sonst Fehlercode

  • tcp_offset=[x,y,z,rx,ry,rz]: Berechnetes Werkzeugkoordinatensystem, Einheit [mm][°]

6.6. Werkzeugkoordinatensystem einstellen

Prototyp

SetToolCoord(id, t_coord, type, install, toolID, loadNum)

Beschreibung

Stellt das Werkzeugkoordinatensystem ein

Erforderliche Parameter

  • id: Koordinatensystem-Nummer, Bereich [1~15]

  • t_coord: Pose des Werkzeugmittelpunkts relativ zur Flanschmitte, Einheit [mm][°]

  • type: 0-Werkzeugkoordinatensystem, 1-Sensorkoordinatensystem

  • install: Einbauort, 0-Roboterflansch, 1-außerhalb des Roboters

  • toolID: Werkzeug-ID

  • loadNum: Nutzlastnummer

Optionale Parameter

Keine

Rückgabewerte

Fehlercode: 0 bei Erfolg, sonst Fehlercode

6.7. Liste der Werkzeugkoordinatensysteme einstellen

Prototyp

SetToolList(id, t_coord, type, install, loadNum)

Beschreibung

Stellt die Liste der Werkzeugkoordinatensysteme ein

Erforderliche Parameter

  • id: Koordinatensystem-Nummer, Bereich [1~15]

  • t_coord: Pose des Werkzeugmittelpunkts relativ zur Flanschmitte, Einheit [mm][°]

  • type: 0-Werkzeugkoordinatensystem, 1-Sensorkoordinatensystem

  • install: Einbauort, 0-Roboterflansch, 1-außerhalb des Roboters

  • loadNum: Nutzlastnummer

Optionale Parameter

Keine

Rückgabewerte

Fehlercode: 0 bei Erfolg, sonst Fehlercode

6.8. Aktuelles Werkzeugkoordinatensystem abrufen

Prototyp

GetTCPOffset(flag=1)

Beschreibung

Gibt das aktuelle Werkzeugkoordinatensystem zurück

Erforderliche Parameter

Keine

Optionale Parameter

  • flag: 0-blockierend, 1-nicht blockierend, Standard 1

Rückgabewerte

  • Fehlercode: 0 bei Erfolg, sonst Fehlercode

  • tcp_offset=[x,y,z,rx,ry,rz]: Relative Pose des aktuellen Werkzeugkoordinatensystems, Einheit [mm][°]

6.9. Codebeispiel für Operationen mit Roboter-Werkzeugkoordinatensystemen

 1from fairino import Robot
 2import time
 3import threading
 4# Verbindung zum Robotercontroller herstellen, bei Erfolg wird ein Roboterobjekt zurückgegeben
 5robot = Robot.RPC('192.168.58.2')
 6p1Desc = [186.331, 487.913, 209.850, 149.030, 0.688, -114.347]
 7p2Desc = [69.721, 535.073, 202.882, -144.406, -14.775, -89.012]
 8p3Desc = [146.861, 578.426, 205.598, 175.997, -36.178, -93.437]
 9p4Desc = [136.284, 509.876, 225.613, 178.987, 1.372, -100.696]
10p5Desc = [138.395, 505.972, 298.016, 179.134, 2.147, -101.110]
11p6Desc = [105.553, 454.325, 232.017, -179.426, 0.444, -99.952]
12p1Joint = [-127.876, -75.341, 115.417, -122.741, -59.820, 74.300]
13p2Joint = [-101.780, -69.828, 110.917, -125.740, -127.841, 74.300]
14p3Joint = [-112.851, -60.191, 86.566, -80.676, -97.463, 74.300]
15p4Joint = [-116.397, -76.281, 113.845, -128.611, -88.654, 74.299]
16p5Joint = [-116.814, -82.333, 109.162, -118.662, -88.585, 74.302]
17p6Joint = [-115.649, -84.367, 122.447, -128.663, -90.432, 74.303]
18exaxisPos = [0, 0, 0, 0]
19offdese = [0, 0, 0, 0, 0, 0]
20posJ = [p1Joint, p2Joint, p3Joint, p4Joint, p5Joint, p6Joint]
21rtn, coordRtn = robot.ComputeToolCoordWithPoints(1, posJ)
22print(f"ComputeToolCoordWithPoints    {rtn}  coord is {coordRtn[0]} {coordRtn[1]} {coordRtn[2]} {coordRtn[3]} {coordRtn[4]} {coordRtn[5]}")
23robot.MoveJ(joint_pos=p1Joint, tool=0, user=0, vel=100)
24robot.SetToolPoint(1)
25robot.MoveJ(joint_pos=p2Joint, tool=0, user=0, vel=100)
26robot.SetToolPoint(2)
27robot.MoveJ(joint_pos=p3Joint, tool=0, user=0, vel=100)
28robot.SetToolPoint(3)
29robot.MoveJ(joint_pos=p4Joint, tool=0, user=0, vel=100)
30robot.SetToolPoint(4)
31robot.MoveJ(joint_pos=p5Joint, tool=0, user=0, vel=100)
32robot.SetToolPoint(5)
33robot.MoveJ(joint_pos=p6Joint, tool=0, user=0, vel=100)
34robot.SetToolPoint(6)
35rtn, coordRtn = robot.ComputeTool()
36print(f"6 Point ComputeTool        {rtn}  coord is {coordRtn[0]} {coordRtn[1]} {coordRtn[2]} {coordRtn[3]} {coordRtn[4]} {coordRtn[5]}")
37robot.SetToolList(1, coordRtn, 0, 0, 0)
38robot.MoveJ(joint_pos=p1Joint, tool=0, user=0, vel=100)
39robot.SetTcp4RefPoint(1)
40robot.MoveJ(joint_pos=p2Joint, tool=0, user=0, vel=100)
41robot.SetTcp4RefPoint(2)
42robot.MoveJ(joint_pos=p3Joint, tool=0, user=0, vel=100)
43robot.SetTcp4RefPoint(3)
44robot.MoveJ(joint_pos=p4Joint, tool=0, user=0, vel=100)
45robot.SetTcp4RefPoint(4)
46rtn, coordRtn = robot.ComputeTcp4()
47print(f"4 Point ComputeTool        {rtn}  coord is {coordRtn[0]} {coordRtn[1]} {coordRtn[2]} {coordRtn[3]} {coordRtn[4]} {coordRtn[5]}")
48robot.SetToolCoord(2, coordRtn, 0, 0, 1, 0)
49rtn, getCoord = robot.GetTCPOffset(0)
50print(f"GetTCPOffset    {rtn}  coord is {getCoord[0]} {getCoord[1]} {getCoord[2]} {getCoord[3]} {getCoord[4]} {getCoord[5]}")
51robot.CloseRPC()

6.10. Externen Werkzeug-Referenzpunkt einstellen - Drei-Punkt-Methode

Prototyp

SetExTCPPoint(point_num)

Beschreibung

Legt den externen Werkzeug-Referenzpunkt fest - Drei-Punkt-Methode

Erforderliche Parameter

  • point_num: Punktnummer, Bereich [1~3]

Optionale Parameter

Keine

Rückgabewerte

Fehlercode: 0 bei Erfolg, sonst Fehlercode

6.11. Externes Werkzeugkoordinatensystem berechnen - Drei-Punkt-Methode

Prototyp

ComputeExTCF()

Beschreibung

Berechnet das externe Werkzeugkoordinatensystem - Drei-Punkt-Methode (nach dem Setzen aller drei Referenzpunkte)

Erforderliche Parameter

Keine

Optionale Parameter

Keine

Rückgabewerte

  • Fehlercode: 0 bei Erfolg, sonst Fehlercode

  • etcp=[x,y,z,rx,ry,rz]: Externes Werkzeugkoordinatensystem

6.12. Externes Werkzeugkoordinatensystem einstellen

Prototyp

SetExToolCoord(id, etcp, etool)

Beschreibung

Stellt das externe Werkzeugkoordinatensystem ein

Erforderliche Parameter

  • id: Koordinatensystem-Nummer, Bereich [0~14]

  • etcp: Externes Werkzeugkoordinatensystem, Einheit [mm][°]

  • etool: Endeffektor-Werkzeugkoordinatensystem, Einheit [mm][°]

Optionale Parameter

Keine

Rückgabewerte

Fehlercode: 0 bei Erfolg, sonst Fehlercode

6.13. Liste der externen Werkzeugkoordinatensysteme einstellen

Prototyp

SetExToolList(id, etcp, etool)

Beschreibung

Stellt die Liste der externen Werkzeugkoordinatensysteme ein

Erforderliche Parameter

  • id: Koordinatensystem-Nummer, Bereich [0~14]

  • etcp: Externes Werkzeugkoordinatensystem, Einheit [mm][°]

  • etool: Endeffektor-Werkzeugkoordinatensystem, Einheit [mm][°]

Optionale Parameter

Keine

Rückgabewerte

Fehlercode: 0 bei Erfolg, sonst Fehlercode

6.14. Codebeispiel für Operationen mit externen Roboter-Werkzeugkoordinatensystemen

 1from fairino import Robot
 2import time
 3import threading
 4# Verbindung zum Robotercontroller herstellen, bei Erfolg wird ein Roboterobjekt zurückgegeben
 5robot = Robot.RPC('192.168.58.2')
 6p1Desc = [-89.606, 779.517, 193.516, 178.000, 0.476, -92.484]
 7p1Joint = [-108.145, -50.137, 85.818, -125.599, -87.946, 74.329]
 8p2Desc = [-24.656, 850.384, 191.361, 177.079, -2.058, -95.355]
 9p2Joint = [-111.024, -41.538, 69.222, -114.913, -87.743, 74.329]
10p3Desc = [-99.813, 766.661, 241.878, -176.817, 1.917, -91.604]
11p3Joint = [-107.266, -56.116, 85.971, -122.560, -92.548, 74.331]
12exaxisPos = [0, 0, 0, 0]
13offdese = [0, 0, 0, 0, 0, 0]
14posTCP = [p1Desc, p2Desc, p3Desc]
15robot.MoveJ(joint_pos=p1Joint, tool=1, user=0, vel=50)
16robot.SetExTCPPoint(1)
17robot.MoveJ(joint_pos=p2Joint, tool=1, user=0, vel=50)
18robot.SetExTCPPoint(2)
19robot.MoveJ(joint_pos=p3Joint, tool=1, user=0, vel=50)
20robot.SetExTCPPoint(3)
21rtn, coordRtn = robot.ComputeExTCF()
22print(f"ComputeExTCF {rtn}  coord is {coordRtn[0]} {coordRtn[1]} {coordRtn[2]} {coordRtn[3]} {coordRtn[4]} {coordRtn[5]}")
23robot.SetExToolCoord(1, coordRtn, offdese)
24robot.SetExToolList(1, coordRtn, offdese)
25robot.CloseRPC()

6.15. Werkstück-Referenzpunkt einstellen - Drei-Punkt-Methode

Prototyp

SetWObjCoordPoint(point_num)

Beschreibung

Legt den Werkstück-Referenzpunkt fest - Drei-Punkt-Methode

Erforderliche Parameter

  • point_num: Punktnummer, Bereich [1~3]

Optionale Parameter

Keine

Rückgabewerte

Fehlercode: 0 bei Erfolg, sonst Fehlercode

6.16. Werkstückkoordinatensystem berechnen - Drei-Punkt-Methode

Prototyp

ComputeWObjCoord(method, refFrame)

Beschreibung

Berechnet das Werkstückkoordinatensystem - Drei-Punkt-Methode (nach dem Setzen aller drei Referenzpunkte)

Erforderliche Parameter

  • method: Berechnungsmethode 0: Ursprung - X-Achse - Z-Achse, 1: Ursprung - X-Achse - XY-Ebene

  • refFrame: Referenzkoordinatensystem

Optionale Parameter

Keine

Rückgabewerte

  • Fehlercode: 0 bei Erfolg, sonst Fehlercode

  • wobj_pose=[x,y,z,rx,ry,rz]: Werkstückkoordinatensystem

6.17. Werkstückkoordinatensystem einstellen

Prototyp

SetWObjCoord(id, coord, refFrame)

Beschreibung

Stellt das Werkstückkoordinatensystem ein

Erforderliche Parameter

  • id: Koordinatensystem-Nummer, Bereich [0~14]

  • coord: Pose des Werkstückkoordinatensystems relativ zur Flanschmitte, Einheit [mm][°]

  • refFrame: Referenzkoordinatensystem

Optionale Parameter

Keine

Rückgabewerte

Fehlercode: 0 bei Erfolg, sonst Fehlercode

6.18. Liste der Werkstückkoordinatensysteme einstellen

Prototyp

SetWObjList(id, coord, refFrame)

Beschreibung

Stellt die Liste der Werkstückkoordinatensysteme ein

Erforderliche Parameter

  • id: Koordinatensystem-Nummer, Bereich [0~14]

  • coord: Pose des Werkstückkoordinatensystems relativ zur Flanschmitte, Einheit [mm][°]

  • refFrame: Referenzkoordinatensystem

Optionale Parameter

Keine

Rückgabewerte

Fehlercode: 0 bei Erfolg, sonst Fehlercode

6.19. Werkstückkoordinatensystem basierend auf Punkten berechnen

Neu in Version python: SDK-v2.0.8

Prototyp

ComputeWObjCoordWithPoints(method, pos, refFrame)

Beschreibung

Berechnet das Werkstückkoordinatensystem basierend auf Punkten

Erforderliche Parameter

  • method: Berechnungsmethode; 0: Ursprung - X-Achse - Z-Achse, 1: Ursprung - X-Achse - XY-Ebene

  • pos: Array von drei TCP-Positionen

  • refFrame: Referenzkoordinatensystem

Optionale Parameter

Keine

Rückgabewerte

  • Fehlercode: 0 bei Erfolg, sonst Fehlercode

  • wobj_offset=[x,y,z,rx,ry,rz]: Berechnetes Werkstückkoordinatensystem, Einheit [mm][°]

6.20. Aktuelles Werkstückkoordinatensystem abrufen

Prototyp

GetWObjOffset(flag=1)

Beschreibung

Gibt das aktuelle Werkstückkoordinatensystem zurück

Erforderliche Parameter

Keine

Optionale Parameter

  • flag: 0-blockierend, 1-nicht blockierend, Standard 1

Rückgabewerte

  • Fehlercode: 0 bei Erfolg, sonst Fehlercode

  • wobj_offset=[x,y,z,rx,ry,rz]: Relative Pose des aktuellen Werkstückkoordinatensystems, Einheit [mm][°]

6.21. Codebeispiel für Operationen mit Roboter-Werkstückkoordinatensystemen

 1from fairino import Robot
 2# Verbindung zum Robotercontroller herstellen, bei Erfolg wird ein Roboterobjekt zurückgegeben
 3robot = Robot.RPC('192.168.58.2')
 4p1Desc = [-89.606, 779.517, 193.516, 178.000, 0.476, -92.484]
 5p2Desc = [-24.656, 850.384, 191.361, 177.079, -2.058, -95.355]
 6p3Desc = [-99.813, 766.661, 241.878, -176.817, 1.917, -91.604]
 7p1Joint = [-108.145, -50.137, 85.818, -125.599, -87.946, 74.329]
 8p2Joint = [-111.024, -41.538, 69.222, -114.913, -87.743, 74.329]
 9p3Joint = [-107.266, -56.116, 85.971, -122.560, -92.548, 74.331]
10exaxisPos = [0, 0, 0, 0]
11offdese = [0, 0, 0, 0, 0, 0]
12posTCP = [p1Desc, p2Desc, p3Desc]
13rtn, coordRtn = robot.ComputeWObjCoordWithPoints(1, posTCP, 0)
14print(f"ComputeWObjCoordWithPoints    {rtn}  coord is {coordRtn[0]} {coordRtn[1]} {coordRtn[2]} {coordRtn[3]} {coordRtn[4]} {coordRtn[5]}")
15robot.MoveJ(joint_pos=p1Joint, tool=1, user=0, vel=100)
16robot.SetWObjCoordPoint(1)
17robot.MoveJ(joint_pos=p2Joint, tool=1, user=0, vel=100)
18robot.SetWObjCoordPoint(2)
19robot.MoveJ(joint_pos=p3Joint, tool=1, user=0, vel=100)
20robot.SetWObjCoordPoint(3)
21rtn, coordRtn = robot.ComputeWObjCoord(1, 0)
22print(f"ComputeWObjCoord   {rtn}  coord is {coordRtn[0]} {coordRtn[1]} {coordRtn[2]} {coordRtn[3]} {coordRtn[4]} {coordRtn[5]}")
23robot.SetWObjCoord(1, coordRtn, 0)
24robot.SetWObjList(1, coordRtn, 0)
25rtn, getWobjDesc = robot.GetWObjOffset(0)
26print(f"GetWObjOffset    {rtn}  coord is {getWobjDesc[0]} {getWobjDesc[1]} {getWobjDesc[2]} {getWobjDesc[3]} {getWobjDesc[4]} {getWobjDesc[5]}")
27robot.CloseRPC()

6.22. Globale Geschwindigkeit einstellen

Prototyp

SetSpeed(vel)

Beschreibung

Stellt die globale Geschwindigkeit ein

Erforderliche Parameter

  • vel: Geschwindigkeitsprozentsatz, Bereich [0~100]

Optionale Parameter

Keine

Rückgabewerte

Fehlercode: 0 bei Erfolg, sonst Fehlercode

6.23. Roboter-Beschleunigung einstellen

Neu in Version python: SDK-v2.0.4

Prototyp

SetOaccScale(acc)

Beschreibung

Stellt die Roboter-Beschleunigung ein

Erforderliche Parameter

  • acc: Roboter-Beschleunigungsprozentsatz

Optionale Parameter

Keine

Rückgabewerte

Fehlercode: 0 bei Erfolg, sonst Fehlercode

6.24. Standardgeschwindigkeit abrufen

Prototyp

GetDefaultTransVel()

Beschreibung

Gibt die Standardgeschwindigkeit zurück

Erforderliche Parameter

Keine

Optionale Parameter

Keine

Rückgabewerte

  • Fehlercode: 0 bei Erfolg, sonst Fehlercode

  • vel: Standardgeschwindigkeit, Einheit [mm/s]

6.25. Endnutzlastgewicht einstellen

Prototyp

SetLoadWeight(loadNum, weight)

Beschreibung

Stellt das Endnutzlastgewicht ein. Eine falsche Einstellung kann zu unkontrolliertem Roboter im Ziehemodus führen.

Erforderliche Parameter

  • loadNum: Nutzlastnummer

  • weight: Einheit [kg]

Optionale Parameter

Keine

Rückgabewerte

Fehlercode: 0 bei Erfolg, sonst Fehlercode

6.26. Endnutzlast-Schwerpunktkoordinaten einstellen

Prototyp

SetLoadCoord(x, y, z, loadNum=0)

Beschreibung

Stellt die Endnutzlast-Schwerpunktkoordinaten ein. Eine falsche Einstellung kann zu unkontrolliertem Roboter im Ziehemodus führen.

Erforderliche Parameter

  • x: Schwerpunktkoordinate, Einheit [mm]

  • y: Schwerpunktkoordinate, Einheit [mm]

  • z: Schwerpunktkoordinate, Einheit [mm]

Optionale Parameter

  • loadNum: Nutzlastnummer, Standard 0

Rückgabewerte

Fehlercode: 0 bei Erfolg, sonst Fehlercode

6.27. Aktuelles Nutzlastgewicht abrufen

Prototyp

GetTargetPayload(flag=1)

Beschreibung

Gibt das Gewicht der aktuellen Nutzlast zurück

Erforderliche Parameter

Keine

Optionale Parameter

  • flag: 0-blockierend, 1-nicht blockierend, Standard 1

Rückgabewerte

  • Fehlercode: 0 bei Erfolg, sonst Fehlercode

  • weight: Aktuelles Nutzlastgewicht, Einheit [kg]

6.28. Aktuellen Nutzlast-Schwerpunkt abrufen

Prototyp

GetTargetPayloadCog(flag=1)

Beschreibung

Gibt den Schwerpunkt der aktuellen Nutzlast zurück

Erforderliche Parameter

Keine

Optionale Parameter

  • flag: 0-blockierend, 1-nicht blockierend, Standard 1

Rückgabewerte

  • Fehlercode: 0 bei Erfolg, sonst Fehlercode

  • cog=[x,y,z]: Aktuelle Schwerpunktkoordinaten, Einheit [mm]

6.29. Roboter-Installationsart einstellen (feste Installation)

Prototyp

SetRobotInstallPos(method)

Beschreibung

Stellt die Installationsart des Roboters ein (feste Installation). Eine falsche Einstellung kann zu unkontrolliertem Roboter im Ziehemodus führen.

Erforderliche Parameter

  • method: 0-normal, 1-Seitenmontage, 2-Überkopfmontage

Optionale Parameter

Keine

Rückgabewerte

Fehlercode: 0 bei Erfolg, sonst Fehlercode

6.30. Roboter-Installationswinkel einstellen (freie Installation)

Prototyp

SetRobotInstallAngle(yangle, zangle)

Beschreibung

Stellt die Installationswinkel des Roboters ein (freie Installation). Eine falsche Einstellung kann zu unkontrolliertem Roboter im Ziehemodus führen.

Erforderliche Parameter

  • yangle: Neigungswinkel

  • zangle: Rotationswinkel

Optionale Parameter

Keine

Rückgabewerte

Fehlercode: 0 bei Erfolg, sonst Fehlercode

6.31. Roboter-Installationswinkel abrufen

Prototyp

GetRobotInstallAngle()

Beschreibung

Gibt die Installationswinkel des Roboters zurück

Erforderliche Parameter

Keine

Optionale Parameter

Keine

Rückgabewerte

  • Fehlercode: 0 bei Erfolg, sonst Fehlercode

  • [yangle, zangle]: yangle-Neigungswinkel, zangle-Rotationswinkel

6.32. Systemvariablenwert setzen

Prototyp

SetSysVarValue(id, value)

Beschreibung

Setzt den Wert einer Systemvariablen

Erforderliche Parameter

  • id: Variablen-Nummer, Bereich [1~20]

  • value: Variablenwert

Optionale Parameter

Keine

Rückgabewerte

Fehlercode: 0 bei Erfolg, sonst Fehlercode

6.33. Systemvariablenwert abrufen

Prototyp

GetSysVarValue(id)

Beschreibung

Gibt den Wert einer Systemvariablen zurück

Erforderliche Parameter

  • id: Systemvariablen-Nummer, Bereich [1~20]

Optionale Parameter

Keine

Rückgabewerte

  • Fehlercode: 0 bei Erfolg, sonst Fehlercode

  • var_value: Systemvariablenwert

6.34. Codebeispiel für allgemeine Roboter-Einstellungen

 1from fairino import Robot
 2# Verbindung zum Robotercontroller herstellen, bei Erfolg wird ein Roboterobjekt zurückgegeben
 3robot = Robot.RPC('192.168.58.2')
 4for i in range(1, 100):
 5    robot.SetSpeed(i)
 6    robot.SetOaccScale(i)
 7    time.sleep(0.03)
 8error,defaultVel = robot.GetDefaultTransVel()
 9print(f"GetDefaultTransVel is {defaultVel}")
10for i in range(1, 21):
11    robot.SetSysVarValue(i, i + 0.5)
12    time.sleep(0.1)
13for i in range(1, 21):
14    value = robot.GetSysVarValue(i)
15    print(f"sys value {i} is: {value}")
16    time.sleep(0.1)
17robot.SetLoadWeight(0, 2.5)
18robot.SetLoadCoord(3.0,4.0,5.0)
19time.sleep(1)
20error,getLoad = robot.GetTargetPayload(0)
21error,getLoadTran = robot.GetTargetPayloadCog(0)
22print(f"get load is {getLoad}; get load cog is {getLoadTran[0]} {getLoadTran[1]} {getLoadTran[2]}")
23robot.SetRobotInstallPos(0)
24robot.SetRobotInstallAngle(15.0, 25.0)
25error,[anglex, angley] = robot.GetRobotInstallAngle()
26print(f"GetRobotInstallAngle x: {anglex}; y: {angley}")
27robot.CloseRPC()

6.35. Schalter für Gelenk-Reibungskompensation

Prototyp

FrictionCompensationOnOff(state)

Beschreibung

Schaltet die Gelenk-Reibungskompensation ein oder aus

Erforderliche Parameter

  • state: 0-aus, 1-ein

Optionale Parameter

Keine

Rückgabewerte

Fehlercode: 0 bei Erfolg, sonst Fehlercode

6.36. Koeffizienten für Gelenk-Reibungskompensation einstellen - Normalmontage

Prototyp

SetFrictionValue_level(coeff)

Beschreibung

Stellt die Koeffizienten für Gelenk-Reibungskompensation ein - feste Installation, Normalmontage

Erforderliche Parameter

  • coeff=[j1,j2,j3,j4,j5,j6]: Kompensationskoeffizienten für sechs Gelenke

Optionale Parameter

Keine

Rückgabewerte

Fehlercode: 0 bei Erfolg, sonst Fehlercode

6.37. Koeffizienten für Gelenk-Reibungskompensation einstellen - Seitenmontage

Prototyp

SetFrictionValue_wall(coeff)

Beschreibung

Stellt die Koeffizienten für Gelenk-Reibungskompensation ein - feste Installation, Seitenmontage

Erforderliche Parameter

  • coeff=[j1,j2,j3,j4,j5,j6]: Kompensationskoeffizienten für sechs Gelenke

Optionale Parameter

Keine

Rückgabewerte

Fehlercode: 0 bei Erfolg, sonst Fehlercode

6.38. Koeffizienten für Gelenk-Reibungskompensation einstellen - Überkopfmontage

Prototyp

SetFrictionValue_ceiling(coeff)

Beschreibung

Stellt die Koeffizienten für Gelenk-Reibungskompensation ein - feste Installation, Überkopfmontage

Erforderliche Parameter

  • coeff=[j1,j2,j3,j4,j5,j6]: Kompensationskoeffizienten für sechs Gelenke

Optionale Parameter

Keine

Rückgabewerte

Fehlercode: 0 bei Erfolg, sonst Fehlercode

6.39. Koeffizienten für Gelenk-Reibungskompensation einstellen - freie Installation

Prototyp

SetFrictionValue_freedom(coeff)

Beschreibung

Stellt die Koeffizienten für Gelenk-Reibungskompensation ein - freie Installation

Erforderliche Parameter

  • coeff=[j1,j2,j3,j4,j5,j6]: Kompensationskoeffizienten für sechs Gelenke

Optionale Parameter

Keine

Rückgabewerte

Fehlercode: 0 bei Erfolg, sonst Fehlercode

6.40. Codebeispiel für Roboter-Gelenk-Reibungskompensation

 1from fairino import Robot
 2# Verbindung zum Robotercontroller herstellen, bei Erfolg wird ein Roboterobjekt zurückgegeben
 3robot = Robot.RPC('192.168.58.2')
 4lcoeff = [0.9, 0.9, 0.9, 0.9, 0.9, 0.9]
 5wcoeff = [0.4, 0.4, 0.4, 0.4, 0.4, 0.4]
 6ccoeff = [0.6, 0.6, 0.6, 0.6, 0.6, 0.6]
 7fcoeff = [0.5, 0.5, 0.5, 0.5, 0.5, 0.5]
 8rtn = robot.FrictionCompensationOnOff(1)
 9print(f"FrictionCompensationOnOff rtn is {rtn}")
10rtn = robot.SetFrictionValue_level(lcoeff)
11print(f"SetFrictionValue_level rtn is {rtn}")
12rtn = robot.SetFrictionValue_wall(wcoeff)
13print(f"SetFrictionValue_wall rtn is {rtn}")
14rtn = robot.SetFrictionValue_ceiling(ccoeff)
15print(f"SetFrictionValue_ceiling rtn is {rtn}")
16rtn = robot.SetFrictionValue_freedom(fcoeff)
17print(f"SetFrictionValue_freedom rtn is {rtn}")
18robot.CloseRPC()

6.41. Roboter-Fehlercode abfragen

Prototyp

GetRobotErrorCode()

Beschreibung

Fragt den Roboter-Fehlercode ab

Erforderliche Parameter

Keine

Optionale Parameter

Keine

Rückgabewerte

  • Fehlercode: 0 bei Erfolg, sonst Fehlercode

  • [maincode, subcode]: Roboter-Fehlercode, maincode-Hauptfehlercode, subcode-Unterfehlercode

6.42. Fehlerzustand löschen

Prototyp

ResetAllError()

Beschreibung

Löscht den Fehlerzustand (nur zurücksetzbare Fehler)

Erforderliche Parameter

Keine

Optionale Parameter

Keine

Rückgabewerte

Fehlercode: 0 bei Erfolg, sonst Fehlercode

6.43. Codebeispiel für Roboter-Fehlerstatusabfrage und -löschung

 1from fairino import Robot
 2import time
 3# Verbindung zum Robotercontroller herstellen, bei Erfolg wird ein Roboterobjekt zurückgegeben
 4robot = Robot.RPC('192.168.58.2')
 5p1Joint = [-108.145, -50.137, 85.818, -125.599, -87.946, 74.329]
 6robot.MoveJ(joint_pos=p1Joint, tool=5, user=2, vel=50)
 7time.sleep(1)
 8error,[maincode, subcode] = robot.GetRobotErrorCode()
 9print(f"robot maincode is {maincode}; subcode is {subcode}")
10time.sleep(1)
11robot.ResetAllError()
12time.sleep(1)
13error,[maincode, subcode] = robot.GetRobotErrorCode()
14print(f"robot maincode is {maincode}; subcode is {subcode}")
15robot.CloseRPC()

6.44. Parameter für die Überwachung der Temperatur und Lüfterdrehzahl des Weitbereichs-Steuerschranks einstellen

Neu in Version python: SDK-v2.1.3

Prototyp

SetWideBoxTempFanMonitorParam(enable, period)

Beschreibung

Stellt die Parameter für die Überwachung der Temperatur und Lüfterdrehzahl des Weitbereichs-Steuerschranks ein

Erforderliche Parameter

  • enable: 0-Überwachung deaktivieren; 1-Überwachung aktivieren

  • period: Überwachungsperiode (s), Bereich 1-100

Optionale Parameter

Keine

Rückgabewerte

Fehlercode: 0 bei Erfolg, sonst Fehlercode

6.45. Parameter für die Überwachung der Temperatur und Lüfterdrehzahl des Weitbereichs-Steuerschranks abrufen

Neu in Version python: SDK-v2.1.3

Prototyp

GetWideBoxTempFanMonitorParam()

Beschreibung

Gibt die Parameter für die Überwachung der Temperatur und Lüfterdrehzahl des Weitbereichs-Steuerschranks zurück

Erforderliche Parameter

Keine

Optionale Parameter

Keine

Rückgabewerte

  • Fehlercode: 0 bei Erfolg, sonst Fehlercode

  • enable: 0-Überwachung deaktiviert; 1-Überwachung aktiviert

  • period: Überwachungsperiode (s)

6.46. Codebeispiel für das Abrufen von Temperatur und Lüfterstrom des Weitbereichs-Steuerschranks

 1from fairino import Robot
 2import time
 3import threading
 4# Verbindung zum Robotercontroller herstellen, bei Erfolg wird ein Roboterobjekt zurückgegeben
 5robot = Robot.RPC('192.168.58.2')
 6robot.SetWideBoxTempFanMonitorParam(1, 2)
 7error, enable, period = robot.GetWideBoxTempFanMonitorParam()
 8print(f"GetWideBoxTempFanMonitorParam enable is:{enable},period is:{period}")
 9for i in range(100):
10    error, pkg = robot.GetRobotRealTimeState()
11    print(f"robot ctrl box temp is:{pkg.wideVoltageCtrlBoxTemp},fan current is:{pkg.wideVoltageCtrlBoxFanCurrent}")
12    time.sleep(0.1)
13rtn = robot.SetWideBoxTempFanMonitorParam(0, 2)
14print(f"SetWideBoxTempFanMonitorParam rtn is:{rtn}")
15error, enable, period = robot.GetWideBoxTempFanMonitorParam()
16print(f"GetWideBoxTempFanMonitorParam enable is:{enable},period is:{period}")
17for i in range(100):
18    error, pkg = robot.GetRobotRealTimeState()
19    print(f"robot ctrl box temp is:{pkg.wideVoltageCtrlBoxTemp},fan current is:{pkg.wideVoltageCtrlBoxFanCurrent}")
20    time.sleep(0.1)
21robot.CloseRPC()

6.47. Fokus-Kalibrierpunkt setzen

Neu in Version python: SDK-v2.1.4

Prototyp

SetFocusCalibPoint(pointNum, point)

Beschreibung

Setzt einen Fokus-Kalibrierpunkt

Erforderliche Parameter

  • pointNum: Fokus-Kalibrierpunktnummer 1-8

  • point: Koordinaten des Kalibrierpunkts

Optionale Parameter

Keine

Rückgabewerte

Fehlercode: 0 bei Erfolg, sonst Fehlercode

6.48. Fokus-Kalibrierungsergebnis berechnen

Neu in Version python: SDK-v2.1.4

Prototyp

ComputeFocusCalib(pointNum)

Beschreibung

Berechnet das Ergebnis der Fokus-Kalibrierung

Erforderliche Parameter

  • pointNum: Anzahl der Kalibrierpunkte

Optionale Parameter

Keine

Rückgabewerte

  • Fehlercode: 0 bei Erfolg, sonst Fehlercode

  • resultPos: Kalibrierungsergebnis XYZ

  • accuracy: Kalibriergenauigkeitsfehler

6.49. Fokus-Verfolgung starten

Neu in Version python: SDK-v2.1.4

Prototyp

FocusStart(kp=50.0, kpredic=19.0, aMax=1440, vMax=180, type=0)

Beschreibung

Startet die Fokus-Verfolgung

Erforderliche Parameter

Keine

Optionale Parameter

  • kp: Proportionalparameter, Standard 50.0

  • kpredic: Vorsteuerungsparameter, Standard 19.0

  • aMax: Maximale Winkelbeschleunigungsbegrenzung, Standard 1440°/s^2

  • vMax: Maximale Winkelgeschwindigkeitsbegrenzung, Standard 180°/s

  • type: Sperren der X-Achsen-Ausrichtung (0-Referenz-Eingabevektor; 1-horizontal; 2-vertikal), Standard 0

Rückgabewerte

Fehlercode: 0 bei Erfolg, sonst Fehlercode

6.50. Fokus-Verfolgung stoppen

Neu in Version python: SDK-v2.1.4

Prototyp

FocusEnd()

Beschreibung

Stoppt die Fokus-Verfolgung

Erforderliche Parameter

Keine

Optionale Parameter

Keine

Rückgabewerte

Fehlercode: 0 bei Erfolg, sonst Fehlercode

6.51. Fokus-Koordinaten setzen

Neu in Version python: SDK-v2.1.4

Prototyp

SetFocusPosition(pos)

Beschreibung

Setzt die Fokus-Koordinaten

Erforderliche Parameter

  • pos: Fokus-Koordinaten XYZ

Optionale Parameter

Keine

Rückgabewerte

Fehlercode: 0 bei Erfolg, sonst Fehlercode

6.52. Codebeispiel für Roboter-Fokus-Verfolgung

 1from fairino import Robot
 2import time
 3import threading
 4# Verbindung zum Robotercontroller herstellen, bei Erfolg wird ein Roboterobjekt zurückgegeben
 5robot = Robot.RPC('192.168.58.2')
 6p1Desc = [186.331, 487.913, 209.850, 149.030, 0.688, -114.347]
 7p1Joint = [-127.876, -75.341, 115.417, -122.741, -59.820, 74.300]
 8p2Desc = [69.721, 535.073, 202.882, -144.406, -14.775, -89.012]
 9p2Joint = [-101.780, -69.828, 110.917, -125.740, -127.841, 74.300]
10p3Desc = [146.861, 578.426, 205.598, 175.997, -36.178, -93.437]
11p3Joint = [-112.851, -60.191, 86.566, -80.676, -97.463, 74.300]
12p4Desc = [136.284, 509.876, 225.613, 178.987, 1.372, -100.696]
13p4Joint = [-116.397, -76.281, 113.845, -128.611, -88.654, 74.299]
14p5Desc = [138.395, 505.972, 298.016, 179.134, 2.147, -101.110]
15p5Joint = [-116.814, -82.333, 109.162, -118.662, -88.585, 74.302]
16p6Desc = [105.553, 454.325, 232.017, -179.426, 0.444, -99.952]
17p6Joint = [-115.649, -84.367, 122.447, -128.663, -90.432, 74.303]
18exaxisPos = [0, 0, 0, 0]
19offdese = [0, 0, 100, 0, 0, 0]
20robot.MoveJ(joint_pos=p1Joint,tool=0,user=0,vel=100,acc=100,ovl=100,exaxis_pos=exaxisPos,blendT=-1,offset_flag=0,offset_pos=offdese)
21robot.SetTcp4RefPoint(1)
22robot.MoveJ(joint_pos=p2Joint,tool=0,user=0,vel=100,acc=100,ovl=100,exaxis_pos=exaxisPos,blendT=-1,offset_flag=0,offset_pos=offdese)
23robot.SetTcp4RefPoint(2)
24robot.MoveJ(joint_pos=p3Joint,tool=0,user=0,vel=100,acc=100,ovl=100,exaxis_pos=exaxisPos,blendT=-1,offset_flag=0,offset_pos=offdese)
25robot.SetTcp4RefPoint(3)
26robot.MoveJ(joint_pos=p4Joint, tool=0, user=0, vel=100, acc=100, ovl=100, exaxis_pos=exaxisPos, blendT=-1, offset_flag=0, offset_pos=offdese)
27robot.SetTcp4RefPoint(4)
28rtn,coordRtn = robot.ComputeTcp4()
29print(f"4 Point ComputeTool {rtn} coord is {coordRtn[0]} {coordRtn[1]} {coordRtn[2]} "
30      f"{coordRtn[3]} {coordRtn[4]} {coordRtn[5]}")
31robot.SetToolCoord(1, coordRtn, 0, 0, 1, 0)
32error, p1Desc = robot.GetForwardKin(p1Joint)
33error, p2Desc = robot.GetForwardKin(p2Joint)
34error, p3Desc = robot.GetForwardKin(p3Joint)
35robot.SetFocusCalibPoint(1, p1Desc)
36robot.SetFocusCalibPoint(2, p2Desc)
37robot.SetFocusCalibPoint(3, p3Desc)
38rtn, resultPos, accuracy = robot.ComputeFocusCalib(pointNum=3)
39print(f"ComputeFocusCalib coord is {rtn} {resultPos[0]} {resultPos[1]} {resultPos[2]} accuracy is {accuracy}")
40rtn = robot.SetFocusPosition(resultPos)
41error, p5Desc = robot.GetForwardKin(p5Joint)
42error, p6Desc = robot.GetForwardKin(p6Joint)
43robot.MoveL(desc_pos=p5Desc, tool=1, user=0, vel=10, acc=100, ovl=100, blendR=-1, blendMode=0, exaxis_pos=exaxisPos, search=0, offset_flag=1, offset_pos=offdese)
44robot.MoveL(desc_pos=p6Desc, tool=1, user=0, vel=10, acc=100, ovl=100, blendR=-1, blendMode=0, exaxis_pos=exaxisPos, search=0, offset_flag=1, offset_pos=offdese)
45robot.FocusStart(50, 19, 710, 90, 0)
46robot.MoveL(desc_pos=p5Desc,tool=1,user=0,vel=10,acc=100,ovl=100,blendR=-1,blendMode=0,exaxis_pos=exaxisPos,search=0,offset_flag=1,offset_pos=offdese)
47robot.MoveL(desc_pos=p6Desc,tool=1,user=0,vel=10,acc=100,ovl=100,blendR=-1,blendMode=0,exaxis_pos=exaxisPos,search=0,offset_flag=1,offset_pos=offdese)
48robot.FocusEnd()
49robot.CloseRPC()

6.53. Aktivierung der Gelenk-Drehmomentsensor-Empfindlichkeitskalibrierung

Neu in Version python: SDK-v2.1.7

Prototyp

JointSensitivityEnable(status)

Beschreibung

Aktiviert die Gelenk-Drehmomentsensor-Empfindlichkeitskalibrierung

Erforderliche Parameter

  • status: 0-deaktivieren; 1-aktivieren

Optionale Parameter

Keine

Rückgabewerte

Fehlercode: 0 bei Erfolg, sonst Fehlercode

6.54. Datenerfassung für Gelenk-Drehmomentsensor-Empfindlichkeit

Neu in Version python: SDK-v2.1.7

Prototyp

JointSensitivityCollect()

Beschreibung

Erfasst Daten für die Gelenk-Drehmomentsensor-Empfindlichkeitskalibrierung

Erforderliche Parameter

Keine

Optionale Parameter

Keine

Rückgabewerte

Fehlercode: 0 bei Erfolg, sonst Fehlercode

6.55. Ergebnis der Gelenk-Drehmomentsensor-Empfindlichkeitskalibrierung abrufen

Neu in Version python: SDK-v2.1.7

Prototyp

JointSensitivityCalibration()

Beschreibung

Gibt das Ergebnis der Gelenk-Drehmomentsensor-Empfindlichkeitskalibrierung zurück

Erforderliche Parameter

Keine

Optionale Parameter

Keine

Rückgabewerte

  • Fehlercode: 0 bei Erfolg, sonst Fehlercode

  • calibResult: J1~J6 Gelenkempfindlichkeit [0-1]

  • linearity: J1~J6 Gelenklinearität [0-1]

6.56. Gelenk-Drehmomentsensor-Hysteresefehler abrufen

Prototyp

JointHysteresisError()

Beschreibung

Gibt den Hysteresefehler des Gelenk-Drehmomentsensors zurück

Erforderliche Parameter

Keine

Optionale Parameter

Keine

Rückgabewerte

  • Fehlercode: 0 bei Erfolg, sonst Fehlercode

  • hysteresisError: J1~J6 Hysteresefehler

6.57. Gelenk-Drehmomentsensor-Wiederholgenauigkeit abrufen

Prototyp

JointRepeatability()

Beschreibung

Gibt die Wiederholgenauigkeit des Gelenk-Drehmomentsensors zurück

Erforderliche Parameter

Keine

Optionale Parameter

Keine

Rückgabewerte

  • Fehlercode: 0 bei Erfolg, sonst Fehlercode

  • repeatability: J1~J6 Wiederholgenauigkeit

6.58. Gelenk-Kraftsensor-Parameter einstellen

Prototyp

SetAdmittanceParams(M, B, K, threshold, sensitivity, setZeroFlag)

Beschreibung

Stellt die Gelenk-Kraftsensor-Parameter ein

Erforderliche Parameter

  • M: J1-J6 Massenkoeffizient [0.001 ~ 10]

  • B: J1-J6 Dämpfungskoeffizient [0.001 ~ 10]

  • K: J1-J6 Steifigkeitskoeffizient [0.001 ~ 10]

  • threshold: Kraftregelungsschwelle, Nm

  • sensitivity: Empfindlichkeit, Nm/V, [0 ~ 10]

  • setZeroFlag: Funktionsaktivierungs-Flag; 0-deaktivieren; 1-aktivieren; 2-Position 1 Nullpunkt aufzeichnen; 3-Position 2 Nullpunkt aufzeichnen

Optionale Parameter

Keine

Rückgabewerte

Fehlercode: 0 bei Erfolg, sonst Fehlercode

6.59. Codebeispiel für automatische Gelenk-Drehmomentsensor-Empfindlichkeitskalibrierung

  1from fairino import Robot
  2import time
  3robot = Robot.RPC('192.168.58.2')
  4rtn = robot.JointSensitivityEnable(0)
  5rtn = robot.JointSensitivityEnable(1)
  6print(f"JointSensitivityEnable rtn is {rtn}")
  7curJPos = [0.0] * 6
  8rtn, curJPos = robot.GetActualJointPosDegree(0)
  9epos = [0.0] * 4
 10offset_pos = [0.0] * 6
 11jointPos1 = [curJPos[0], 0.0, 0.0, -90.0, 0.02, curJPos[5]]
 12descPos1 = [0.0] * 6
 13rtn, descPos1 = robot.GetForwardKin(jointPos1)
 14robot.MoveJ(joint_pos=jointPos1, desc_pos=descPos1, tool=0, user=0, vel=100, acc=100, ovl=100, exaxis_pos=epos, blendT=-1, offset_flag=0, offset_pos=offset_pos)
 15time.sleep(0.2)
 16rtn = robot.JointSensitivityCollect()
 17print(f"JointSensitivityCollect 1 rtn is {rtn}")
 18time.sleep(0.1)
 19jointPos2 = [curJPos[0], -30.0, 0.0, -90.0, 0.02, curJPos[5]]
 20descPos2 = [0.0] * 6
 21rtn, descPos2 = robot.GetForwardKin(jointPos2)
 22robot.MoveJ(joint_pos=jointPos2, desc_pos=descPos2, tool=0, user=0, vel=100, acc=100, ovl=100, exaxis_pos=epos, blendT=-1, offset_flag=0, offset_pos=offset_pos)
 23time.sleep(0.1)
 24rtn = robot.JointSensitivityCollect()
 25print(f"JointSensitivityCollect 2 rtn is {rtn}")
 26time.sleep(0.1)
 27jointPos3 = [curJPos[0], -60.0, 0.0, -90.0, 0.02, curJPos[5]]
 28descPos3 = [0.0] * 6
 29rtn, descPos3 = robot.GetForwardKin(jointPos3)
 30robot.MoveJ(joint_pos=jointPos3, desc_pos=descPos3, tool=0, user=0, vel=100, acc=100, ovl=100, exaxis_pos=epos, blendT=-1, offset_flag=0, offset_pos=offset_pos)
 31time.sleep(0.1)
 32rtn = robot.JointSensitivityCollect()
 33print(f"JointSensitivityCollect 3 rtn is {rtn}")
 34time.sleep(0.1)
 35jointPos4 = [curJPos[0], -90.0, 0.0, -90.0, 0.02, curJPos[5]]
 36descPos4 = [0.0] * 6
 37rtn, descPos4 = robot.GetForwardKin(jointPos4)
 38robot.MoveJ(joint_pos=jointPos4, desc_pos=descPos4, tool=0, user=0, vel=100, acc=100, ovl=100, exaxis_pos=epos, blendT=-1, offset_flag=0, offset_pos=offset_pos)
 39time.sleep(0.1)
 40rtn = robot.JointSensitivityCollect()
 41print(f"JointSensitivityCollect 4 rtn is {rtn}")
 42time.sleep(0.1)
 43jointPos5 = [curJPos[0], -120.0, 0.0, -90.0, 0.02, curJPos[5]]
 44descPos5 = [0.0] * 6
 45rtn, descPos5 = robot.GetForwardKin(jointPos5)
 46robot.MoveJ(joint_pos=jointPos5, desc_pos=descPos5, tool=0, user=0, vel=100, acc=100, ovl=100, exaxis_pos=epos, blendT=-1, offset_flag=0, offset_pos=offset_pos)
 47time.sleep(0.1)
 48rtn = robot.JointSensitivityCollect()
 49print(f"JointSensitivityCollect 5 rtn is {rtn}")
 50time.sleep(0.1)
 51jointPos6 = [curJPos[0], -150.0, 0.0, -90.0, 0.02, curJPos[5]]
 52descPos6 = [0.0] * 6
 53rtn, descPos6 = robot.GetForwardKin(jointPos6)
 54robot.MoveJ(joint_pos=jointPos6, desc_pos=descPos6, tool=0, user=0, vel=100, acc=100, ovl=100, exaxis_pos=epos, blendT=-1, offset_flag=0, offset_pos=offset_pos)
 55time.sleep(0.1)
 56rtn = robot.JointSensitivityCollect()
 57print(f"JointSensitivityCollect 6 rtn is {rtn}")
 58time.sleep(0.1)
 59jointPos7 = [curJPos[0], -180.0, 0.0, -90.0, 0.02, curJPos[5]]
 60descPos7 = [0.0] * 6
 61rtn, descPos7 = robot.GetForwardKin(jointPos7)
 62robot.MoveJ(joint_pos=jointPos7, desc_pos=descPos7, tool=0, user=0, vel=100, acc=100, ovl=100, exaxis_pos=epos, blendT=-1, offset_flag=0, offset_pos=offset_pos)
 63time.sleep(0.1)
 64rtn = robot.JointSensitivityCollect()
 65print(f"JointSensitivityCollect 7 rtn is {rtn}")
 66time.sleep(0.1)
 67robot.MoveJ(joint_pos=jointPos6, desc_pos=descPos6, tool=0, user=0, vel=100, acc=100, ovl=100, exaxis_pos=epos, blendT=-1, offset_flag=0, offset_pos=offset_pos)
 68time.sleep(0.1)
 69rtn = robot.JointSensitivityCollect()
 70print(f"JointSensitivityCollect 8 rtn is {rtn}")
 71time.sleep(0.1)
 72robot.MoveJ(joint_pos=jointPos5, desc_pos=descPos5, tool=0, user=0, vel=100, acc=100, ovl=100, exaxis_pos=epos, blendT=-1, offset_flag=0, offset_pos=offset_pos)
 73time.sleep(0.1)
 74rtn = robot.JointSensitivityCollect()
 75print(f"JointSensitivityCollect 9 rtn is {rtn}")
 76time.sleep(0.1)
 77robot.MoveJ(joint_pos=jointPos4, desc_pos=descPos4, tool=0, user=0, vel=100, acc=100, ovl=100, exaxis_pos=epos, blendT=-1, offset_flag=0, offset_pos=offset_pos)
 78time.sleep(0.1)
 79rtn = robot.JointSensitivityCollect()
 80print(f"JointSensitivityCollect 10 rtn is {rtn}")
 81time.sleep(0.1)
 82robot.MoveJ(joint_pos=jointPos3, desc_pos=descPos3, tool=0, user=0, vel=100, acc=100, ovl=100, exaxis_pos=epos, blendT=-1, offset_flag=0, offset_pos=offset_pos)
 83time.sleep(0.1)
 84rtn = robot.JointSensitivityCollect()
 85print(f"JointSensitivityCollect 11 rtn is {rtn}")
 86time.sleep(0.1)
 87robot.MoveJ(joint_pos=jointPos2, desc_pos=descPos2, tool=0, user=0, vel=100, acc=100, ovl=100, exaxis_pos=epos, blendT=-1, offset_flag=0, offset_pos=offset_pos)
 88time.sleep(0.1)
 89rtn = robot.JointSensitivityCollect()
 90print(f"JointSensitivityCollect 12 rtn is {rtn}")
 91time.sleep(0.1)
 92robot.MoveJ(joint_pos=jointPos1, desc_pos=descPos1, tool=0, user=0, vel=100, acc=100, ovl=100, exaxis_pos=epos, blendT=-1, offset_flag=0, offset_pos=offset_pos)
 93time.sleep(0.2)
 94rtn = robot.JointSensitivityCollect()
 95print(f"JointSensitivityCollect 13 rtn is {rtn}")
 96time.sleep(0.1)
 97calibResult = [0.0] * 6
 98linearity = [0.0] * 6
 99rtn,calibResult, linearity = robot.JointSensitivityCalibration()
100print(f"JointSensitivityCalibration rtn is {rtn}")
101rtn = robot.JointSensitivityEnable(0)
102print(f"JointSensitivityEnable rtn is {rtn}")
103print(f"jointSensor Calib result is {calibResult[0]},{calibResult[1]},{calibResult[2]},{calibResult[3]},{calibResult[4]},{calibResult[5]}")
104print( f"jointSensor linearity is {linearity[0]},{linearity[1]},{linearity[2]},{linearity[3]},{linearity[4]},{linearity[5]}")
105hysteresisError = [0.0] * 6
106rtn,hysteresisError = robot.JointHysteresisError()
107print(f"JointHysteresisError result is {hysteresisError[0]},{hysteresisError[1]},{hysteresisError[2]},{hysteresisError[3]},{hysteresisError[4]},{hysteresisError[5]}")
108repeatability = [0.0] * 6
109rtn, repeatability = robot.JointRepeatability()
110print(f"JointRepeatability result is {repeatability[0]},{repeatability[1]},{repeatability[2]},{repeatability[3]},{repeatability[4]},{repeatability[5]}")
111M = [1.0] * 6
112B = [1.0] * 6
113K = [0.0] * 6
114threshold = [1.0] * 6
115setZeroFlag = 1
116rtn = robot.SetAdmittanceParams(M, B, K, threshold, calibResult, setZeroFlag)
117print(f"SetAdmittanceParams rtn is {rtn}")
118robot.CloseRPC()

6.60. Fehlerzähler der 8 Slave-Ports des Roboters abrufen

Neu in Version python: SDK-v2.1.7

Prototyp

GetSlavePortErrCounter()

Beschreibung

Gibt die Fehlerzähler der 8 Slave-Ports des Roboters zurück

Erforderliche Parameter

Keine

Optionale Parameter

Keine

Rückgabewerte

  • Fehlercode: 0 bei Erfolg, sonst Fehlercode

  • inRecvErr: Eingang Empfangsfehlerzähler

  • inCRCErr: Eingang CRC-Fehlerzähler

  • inTransmitErr: Eingang Übertragungsfehlerzähler

  • inLinkErr: Eingang Verbindungsfehlerzähler

  • outRecvErr: Ausgang Empfangsfehlerzähler

  • outCRCErr: Ausgang CRC-Fehlerzähler

  • outTransmitErr: Ausgang Übertragungsfehlerzähler

  • outLinkErr: Ausgang Verbindungsfehlerzähler

6.61. Slave-Port-Fehlerzähler zurücksetzen

Neu in Version python: SDK-v2.1.7

Prototyp

JointSensitivityEnable(slaveID)

Beschreibung

Setzt den Fehlerzähler eines Slave-Ports zurück

Erforderliche Parameter

  • slaveID: Slave-Nummer 0~7

Optionale Parameter

Keine

Rückgabewerte

Fehlercode: 0 bei Erfolg, sonst Fehlercode

6.62. Codebeispiel für Slave-Port-Fehlerzähler

 1from fairino import Robot
 2import time
 3import threading
 4# Verbindung zum Robotercontroller herstellen, bei Erfolg wird ein Roboterobjekt zurückgegeben
 5robot = Robot.RPC('192.168.58.2')
 6inRecvErr = [0] * 8
 7inCRCErr = [0] * 8
 8inTransmitErr = [0] * 8
 9inLinkErr = [0] * 8
10outRecvErr = [0] * 8
11outCRCErr = [0] * 8
12outTransmitErr = [0] * 8
13outLinkErr = [0] * 8
14rtn,inRecvErr, inCRCErr, inTransmitErr, inLinkErr, outRecvErr, outCRCErr, outTransmitErr, outLinkErr = robot.GetSlavePortErrCounter()
15for i in range(8):
16    if inRecvErr[i] != 0:
17        print(f"inRecvErr {i} is {inRecvErr[i]}")
18    if inCRCErr[i] != 0:
19        print(f"inCRCErr {i} is {inCRCErr[i]}")
20    if inTransmitErr[i] != 0:
21        print(f"inTransmitErr {i} is {inTransmitErr[i]}")
22    if inLinkErr[i] != 0:
23        print(f"inLinkErr {i} is {inLinkErr[i]}")
24    if outRecvErr[i] != 0:
25        print(f"outRecvErr {i} is {outRecvErr[i]}")
26    if outCRCErr[i] != 0:
27        print(f"outCRCErr {i} is {outCRCErr[i]}")
28    if outTransmitErr[i] != 0:
29        print(f"outTransmitErr {i} is {outTransmitErr[i]}")
30    if outLinkErr[i] != 0:
31        print(f"outLinkErr {i} is {outLinkErr[i]}")
32print("others has no err!")
33for i in range(8):
34    robot.SlavePortErrCounterClear(i)
35robot.CloseRPC()

6.63. Geschwindigkeits-Vorsteuerungskoeffizienten für jede Achse einstellen

Neu in Version python: SDK-v2.1.7

Prototyp

SetVelFeedForwardRatio(radio)

Beschreibung

Stellt die Geschwindigkeits-Vorsteuerungskoeffizienten für jede Achse ein

Erforderliche Parameter

  • radio: Geschwindigkeits-Vorsteuerungskoeffizienten für jede Achse

Optionale Parameter

Keine

Rückgabewerte

Fehlercode: 0 bei Erfolg, sonst Fehlercode

6.64. Geschwindigkeits-Vorsteuerungskoeffizienten für jede Achse abrufen

Neu in Version python: SDK-v2.1.7

Prototyp

GetVelFeedForwardRatio()

Beschreibung

Gibt die Geschwindigkeits-Vorsteuerungskoeffizienten für jede Achse zurück

Erforderliche Parameter

Keine

Optionale Parameter

Keine

Rückgabewerte

  • Fehlercode: 0 bei Erfolg, sonst Fehlercode

  • radio: Geschwindigkeits-Vorsteuerungskoeffizienten für jede Achse

6.65. Codebeispiel für Roboter-Geschwindigkeits-Vorsteuerung

 1from fairino import Robot
 2import time
 3import threading
 4# Verbindung zum Robotercontroller herstellen, bei Erfolg wird ein Roboterobjekt zurückgegeben
 5robot = Robot.RPC('192.168.58.2')
 6setRadio = [1.0, 1.0, 1.0, 1.0, 1.0, 1.0]
 7robot.SetVelFeedForwardRatio(setRadio)
 8getRadio = [0.0] * 6
 9rtn,getRadio = robot.GetVelFeedForwardRatio()
10print(f"{getRadio[0]},{getRadio[1]},{getRadio[2]},{getRadio[3]},{getRadio[4]},{getRadio[5]}")
11robot.CloseRPC()

6.66. Photoelektrischer Sensor TCP-Kalibrierung - Werkzeug-RPY berechnen

Prototyp

TCPComputeRPY(Btool, Etool, sensor, radius, dz)

Beschreibung

Photoelektrischer Sensor TCP-Kalibrierung - Werkzeug-RPY berechnen

Erforderliche Parameter

  • Btool: Roboter-kartesische Position

  • Etool: Aktueller Werkzeugkoordinatenwert

  • sensor: Aktueller Sensorkoordinatenwert (noch nicht freigegeben)

  • radius: Radius der Kreisbewegung (mm) (noch nicht freigegeben)

  • dz: Bewegungsabstand entlang der negativen Z-Achse des Basiskoordinatensystems; wenn dz = 10000, gibt die Funktion direkt das Werkzeug-RPY zurück

Optionale Parameter

Keine

Rückgabewerte

  • Fehlercode: 0 bei Erfolg, sonst Fehlercode

6.67. Photoelektrischer Sensor TCP-Kalibrierung - Werkzeug-XYZ berechnen

Prototyp

TCPComputeXYZ(select, originDirection, pos1, pos2, pos3, pos4)

Beschreibung

Photoelektrischer Sensor TCP-Kalibrierung - Werkzeug-XYZ berechnen

Erforderliche Parameter

  • select: 0-Werkzeug-TCP berechnen; 1-Sensorursprung berechnen; 2-Sensorausrichtung berechnen; 3-Werkzeug-TCP direkt zurückgeben; 4-Aktuelles Werkstück- und Werkzeugkoordinatensystem aufzeichnen

  • originDirection: 0-X-Richtung; 1-Y-Richtung; 2-Z-Richtung

  • pos1: Roboter-kartesische Position 1

  • pos2: Roboter-kartesische Position 2

  • pos3: Roboter-kartesische Position 3

  • pos4: Roboter-kartesische Position 4

Optionale Parameter

Keine

Rückgabewerte

  • Fehlercode: 0 bei Erfolg, sonst Fehlercode

  • TCP: Werkzeug-XYZ-Wert (bei erfolgreichem Aufruf)

6.68. Photoelektrischer Sensor TCP-Kalibrierung - Aufzeichnung der Flanschmittelpunktposition starten

Prototyp

TCPRecordFlangePosStart()

Beschreibung

Photoelektrischer Sensor TCP-Kalibrierung - Aufzeichnung der Flanschmittelpunktposition starten

Erforderliche Parameter

Keine

Optionale Parameter

Keine

Rückgabewerte

  • Fehlercode: 0 bei Erfolg, sonst Fehlercode

6.69. Photoelektrischer Sensor TCP-Kalibrierung - Aufzeichnung der Flanschmittelpunktposition stoppen

Prototyp

TCPRecordFlangePosEnd()

Beschreibung

Photoelektrischer Sensor TCP-Kalibrierung - Aufzeichnung der Flanschmittelpunktposition stoppen

Erforderliche Parameter

Keine

Optionale Parameter

Keine

Rückgabewerte

  • Fehlercode: 0 bei Erfolg, sonst Fehlercode

6.70. Photoelektrischer Sensor TCP-Kalibrierung - Werkzeugmittelpunktposition abrufen

Prototyp

TCPGetRecordFlangePos()

Beschreibung

Photoelektrischer Sensor TCP-Kalibrierung - Werkzeugmittelpunktposition abrufen

Erforderliche Parameter

Keine

Optionale Parameter

Keine

Rückgabewerte

  • Fehlercode: 0 bei Erfolg, sonst Fehlercode

  • TCP: Werkzeugmittelpunktposition (x, y, z) (bei erfolgreichem Aufruf)

6.71. Photoelektrischer Sensor TCP-Kalibrierung

Prototyp

PhotoelectricSensorTCPCalibration(luaPath, offsetX)

Beschreibung

Photoelektrischer Sensor TCP-Kalibrierung

Erforderliche Parameter

  • luaPath: Pfad zum automatischen Kalibrierungs-Lua-Programm: QX-Roboter - ‚/fruser/FR_CalibrateTheToolTcp.lua‘; LA-Roboter - ‚/usr/local/etc/controller/lua/FR_CalibrateTheToolTcp.lua‘

  • offsetX: Teachpunktversatz (x, y, z) mm

Optionale Parameter

Keine

Rückgabewerte

  • Fehlercode: 0 bei Erfolg, sonst Fehlercode

  • TCP: Werkzeug-XYZ-Wert (bei erfolgreichem Aufruf)

6.72. Codebeispiel für Photoelektrische Sensor TCP-Kalibrierung

1from fairino import Robot
2import time
3robot = Robot.RPC('192.168.58.2')
4offset = [10.0, 10.0, 3.0]
5TCP = [0.0] * 6
6rtn, TCP = robot.PhotoelectricSensorTCPCalibration("/fruser/FR_CalibrateTheToolTcp.lua", offset)
7print(f"PhotoelectricSensorTCPCalibration rtn is {rtn},{TCP[0]},{TCP[1]},{TCP[2]},{TCP[3]},{TCP[4]},{TCP[5]}")
8robot.CloseRPC()
9return 0