13. Erweiterungsachsen
13.1. Parameter für 485-Erweiterungsachse einstellen
Neu in Version Python: SDK-v2.0.3
Prototyp |
|
|---|---|
Beschreibung |
Parameter für 485-Erweiterungsachse einstellen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.2. Konfigurationsparameter für 485-Erweiterungsachse abrufen
Neu in Version Python: SDK-v2.0.3
Prototyp |
|
|---|---|
Beschreibung |
Konfigurationsparameter für 485-Erweiterungsachse abrufen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
|
13.3. 485-Erweiterungsachse aktivieren/deaktivieren
Neu in Version Python: SDK-v2.0.3
Prototyp |
|
|---|---|
Beschreibung |
485-Erweiterungsachse aktivieren/deaktivieren |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.4. Steuerungsmodus für 485-Erweiterungsachse einstellen
Neu in Version Python: SDK-v2.0.3
Prototyp |
|
|---|---|
Beschreibung |
Steuerungsmodus für 485-Erweiterungsachse einstellen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.5. Zielposition für 485-Erweiterungsachse einstellen (Positionsmodus)
Neu in Version Python: SDK-v2.0.3
Prototyp |
|
|---|---|
Beschreibung |
Zielposition für 485-Erweiterungsachse einstellen (Positionsmodus) |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.6. Zieldrehmoment für 485-Erweiterungsachse einstellen (Drehmomentmodus) - vorübergehend nicht freigegeben
Neu in Version Python: SDK-v2.0.3
Prototyp |
|
|---|---|
Beschreibung |
Zieldrehmoment für 485-Erweiterungsachse einstellen (Drehmomentmodus) |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.7. 485-Erweiterungsachse auf Nullpunkt fahren (Referenzfahrt)
Neu in Version Python: SDK-v2.0.3
Prototyp |
|
|---|---|
Beschreibung |
485-Erweiterungsachse auf Nullpunkt fahren (Referenzfahrt) |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.8. Fehlerinformationen der 485-Erweiterungsachse löschen
Neu in Version Python: SDK-v2.0.3
Prototyp |
|
|---|---|
Beschreibung |
Fehlerinformationen der 485-Erweiterungsachse löschen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.9. Servostatus der 485-Erweiterungsachse abrufen
Neu in Version Python: SDK-v2.0.3
Prototyp |
|
|---|---|
Beschreibung |
Servostatus der 485-Erweiterungsachse abrufen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
|
13.10. Zielgeschwindigkeit für 485-Erweiterungsachse einstellen (Geschwindigkeitsmodus)
Neu in Version Python: SDK-v2.0.3
Prototyp |
|
|---|---|
Beschreibung |
Zielgeschwindigkeit für 485-Erweiterungsachse einstellen (Geschwindigkeitsmodus) |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.11. Datenachsnummer für 485-Erweiterungsachse in Statusrückmeldung einstellen
Neu in Version Python: SDK-v2.0.3
Prototyp |
|
|---|---|
Beschreibung |
Datenachsnummer für 485-Erweiterungsachse in Statusrückmeldung einstellen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.12. Bewegungsbeschleunigung und -verzögerung für 485-Erweiterungsachse einstellen
Neu in Version Python: SDK-v2.0.5
Prototyp |
|
|---|---|
Beschreibung |
Bewegungsbeschleunigung und -verzögerung für 485-Erweiterungsachse einstellen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.13. Not-Halt-Beschleunigung und -Verzögerung für 485-Erweiterungsachse einstellen
Neu in Version Python: SDK-v2.0.5
Prototyp |
|
|---|---|
Beschreibung |
Not-Halt-Beschleunigung und -Verzögerung für 485-Erweiterungsachse einstellen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.14. Bewegungsbeschleunigung und -verzögerung für 485-Erweiterungsachse abrufen
Neu in Version Python: SDK-v2.0.5
Prototyp |
|
|---|---|
Beschreibung |
Bewegungsbeschleunigung und -verzögerung für 485-Erweiterungsachse abrufen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
|
13.15. Not-Halt-Beschleunigung und -Verzögerung für 485-Erweiterungsachse abrufen
Neu in Version Python: SDK-v2.0.5
Prototyp |
|
|---|---|
Beschreibung |
Not-Halt-Beschleunigung und -Verzögerung für 485-Erweiterungsachse abrufen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
|
13.16. Codebeispiel für die Steuerung von Erweiterungsachsen
1from fairino import Robot
2import time
3import threading
4# Verbindung zur Robotersteuerung herstellen, bei Erfolg wird ein Roboterobjekt zurückgegeben
5robot = Robot.RPC('192.168.58.2')
6retval = robot.AuxServoSetParam(1, 1, 1, 1, 131072, 15.45)
7print(f"AuxServoSetParam is: {retval}")
8servoCompany = 0
9servoModel = 0
10servoSoftVersion = 0
11servoResolution = 0
12axisMechTransRatio = 0.0
13retval, servoCompany, servoModel, servoSoftVersion, servoResolution, axisMechTransRatio = robot.AuxServoGetParam(1)
14print(f"servoCompany {servoCompany}\n"
15 f"servoModel {servoModel}\n"
16 f"servoSoftVersion {servoSoftVersion}\n"
17 f"servoResolution {servoResolution}\n"
18 f"axisMechTransRatio {axisMechTransRatio}\n")
19retval = robot.AuxServoSetParam(1, 10, 11, 12, 13, 14)
20print(f"AuxServoSetParam is: {retval}")
21retval, servoCompany, servoModel, servoSoftVersion, servoResolution, axisMechTransRatio = robot.AuxServoGetParam(1)
22print(f"servoCompany {servoCompany}\n"
23 f"servoModel {servoModel}\n"
24 f"servoSoftVersion {servoSoftVersion}\n"
25 f"servoResolution {servoResolution}\n"
26 f"axisMechTransRatio {axisMechTransRatio}\n")
27retval = robot.AuxServoSetParam(1, 1, 1, 1, 131072, 36)
28print(f"AuxServoSetParam is: {retval}")
29time.sleep(3)
30robot.AuxServoSetAcc(3000, 3000)
31robot.AuxServoSetEmergencyStopAcc(5000, 5000)
32time.sleep(1)
33emagacc = 0.0
34emagdec = 0.0
35acc = 0.0
36dec = 0.0
37error,emagacc, emagdec = robot.AuxServoGetEmergencyStopAcc()
38print(f"emergency acc is {emagacc} dec is {emagdec}")
39error,acc, dec = robot.AuxServoGetAcc()
40print(f"acc is {acc} dec is {dec}")
41robot.AuxServoSetControlMode(1, 0)
42time.sleep(2)
43retval = robot.AuxServoEnable(1, 0)
44print(f"AuxServoEnable disenable {retval}")
45time.sleep(1)
46servoErrCode = 0
47servoState = 0
48servoPos = 0.0
49servoSpeed = 0.0
50servoTorque = 0.0
51retval, servoErrCode, servoState, servoPos, servoSpeed, servoTorque = robot.AuxServoGetStatus(1)
52print(f"AuxServoGetStatus servoState {servoState}")
53time.sleep(1)
54retval = robot.AuxServoEnable(1, 1)
55print(f"AuxServoEnable enable {retval}")
56time.sleep(1)
57retval, servoErrCode, servoState, servoPos, servoSpeed, servoTorque = robot.AuxServoGetStatus(1)
58print(f"AuxServoGetStatus servoState {servoState}")
59time.sleep(1)
60retval = robot.AuxServoHoming(1, 1, 5, 1,100)
61print(f"AuxServoHoming {retval}")
62time.sleep(3)
63retval = robot.AuxServoSetTargetPos(1, 200, 30,100)
64print(f"AuxServoSetTargetPos {retval}")
65time.sleep(1)
66retval, servoErrCode, servoState, servoPos, servoSpeed, servoTorque = robot.AuxServoGetStatus(1)
67print(f"AuxServoGetStatus servoSpeed {servoSpeed}")
68time.sleep(8)
69robot.AuxServoSetControlMode(1, 1)
70time.sleep(2)
71robot.AuxServoEnable(1, 0)
72time.sleep(1)
73robot.AuxServoEnable(1, 1)
74time.sleep(1)
75robot.AuxServoSetTargetSpeed(1, 100, 80)
76time.sleep(5)
77robot.AuxServoSetTargetSpeed(1, 0, 80)
78robot.CloseRPC()
13.17. Konfiguration der UDP-Kommunikationsparameter für Erweiterungsachsen
Neu in Version Python: SDK-v2.1.2
Prototyp |
|
|---|---|
Beschreibung |
Konfiguration der UDP-Kommunikationsparameter für Erweiterungsachsen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.18. UDP-Kommunikationsparameter für Erweiterungsachsen abrufen
Neu in Version Python: SDK-v2.0.4
Prototyp |
|
|---|---|
Beschreibung |
UDP-Kommunikationsparameter für Erweiterungsachsen abrufen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
|
13.19. UDP-Kommunikation laden
Neu in Version Python: SDK-v2.0.4
Prototyp |
|
|---|---|
Beschreibung |
UDP-Kommunikation laden |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.20. UDP-Kommunikation entladen
Neu in Version Python: SDK-v2.0.4
Prototyp |
|
|---|---|
Beschreibung |
UDP-Kommunikation entladen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.21. Verbindung nach UDP-Kommunikationsabbruch für Erweiterungsachsen wiederherstellen
Neu in Version Python: SDK-v2.0.4
Prototyp |
|
|---|---|
Beschreibung |
Verbindung nach UDP-Kommunikationsabbruch für Erweiterungsachsen wiederherstellen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.22. Kommunikation nach UDP-Kommunikationsabbruch für Erweiterungsachsen schließen
Neu in Version Python: SDK-v2.0.4
Prototyp |
|
|---|---|
Beschreibung |
Kommunikation nach UDP-Kommunikationsabbruch für Erweiterungsachsen schließen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.23. Parameterkonfiguration für UDP-Erweiterungsachsen
Neu in Version Python: SDK-v2.0.4
Prototyp |
|
|---|---|
Beschreibung |
Parameterkonfiguration für UDP-Erweiterungsachsen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.24. UDP-Erweiterte Achsenparameterabfrage
Prototyp |
|
|---|---|
Beschreibung |
UDP-erweiterte Achsenparameterabfrage |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode Erfolg-0 Fehler- errcode |
13.25. Position des Roboters relativ zur Erweiterungsachse einstellen
Neu in Version Python: SDK-v2.0.4
Prototyp |
|
|---|---|
Beschreibung |
Position des Roboters relativ zur Erweiterungsachse einstellen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.26. DH-Parameterkonfiguration für Erweiterungsachssystem einstellen
Neu in Version Python: SDK-v2.0.4
Prototyp |
|
|---|---|
Beschreibung |
DH-Parameterkonfiguration für Erweiterungsachssystem einstellen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.27. UDP-Erweiterungsachse aktivieren
Neu in Version Python: SDK-v2.0.4
Prototyp |
|
|---|---|
Beschreibung |
UDP-Erweiterungsachse aktivieren |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.28. UDP-Erweiterungsachse auf Nullpunkt fahren (Referenzfahrt)
Neu in Version Python: SDK-v2.0.4
Prototyp |
|
|---|---|
Beschreibung |
UDP-Erweiterungsachse auf Nullpunkt fahren (Referenzfahrt) |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.29. UDP-Erweiterungsachse Tippbetrieb starten
Neu in Version Python: SDK-v2.0.4
Prototyp |
|
|---|---|
Beschreibung |
UDP-Erweiterungsachse Tippbetrieb starten |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.30. UDP-Erweiterungsachse Tippbetrieb stoppen
Neu in Version Python: SDK-v2.0.4
Prototyp |
|
|---|---|
Beschreibung |
UDP-Erweiterungsachse Tippbetrieb stoppen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.31. Codebeispiel für Konfiguration und Tippbetrieb von UDP-Erweiterungsachsen
1from fairino import Robot
2from fairino.Robot import RobotState
3import time
4
5def main():
6 # Hinzufügen von Echtzeitstatusdaten, die abgerufen werden sollen (falls erforderlich)
7 # rtn = AddRobotRealtimeState([RobotState.ExaxisCoordID])
8 # if rtn != 0:
9 # print(f"✗ Feld hinzufügen fehlgeschlagen, Fehlercode: {rtn}")
10 # return None
11 # print("✓ Feld erfolgreich hinzugefügt")
12
13 # Verbindung mit der Robotersteuerung herstellen
14 robot = Robot.RPC('192.168.58.2')
15 time.sleep(0.5) # Auf Verbindung und Datenempfang warten
16
17 # UDP-Kommunikationsparameter konfigurieren
18 rtn = robot.ExtDevSetUDPComParam("192.168.58.88", 2021, 2, 100, 3, 200, 1, 100, 5, 1)
19 print(f"ExtDevSetUDPComParam rtn is {rtn}")
20
21 # UDP-Kommunikationsparameter abrufen
22 error, param = robot.ExtDevGetUDPComParam()
23 print("ExtDevGetUDPComParam return ", error)
24 print("UDP-erweiterte Achsen-Kommunikationsparameter: ", param)
25
26 # UDP-Treiber laden
27 robot.ExtDevLoadUDPDriver()
28
29 # Erweiterte Achsen-Befehlsabschlusszeit einstellen
30 rtn = robot.SetExAxisCmdDoneTime(5000.0)
31 print(f"SetExAxisCmdDoneTime rtn is {rtn}")
32
33 # Erweiterte Achsen-Servo-Freigabe
34 rtn = robot.ExtAxisServoOn(1, 1)
35 print(f"ExtAxisServoOn axis id 1 rtn is {rtn}")
36 rtn = robot.ExtAxisServoOn(2, 1)
37 print(f"ExtAxisServoOn axis id 2 rtn is {rtn}")
38 time.sleep(2)
39
40 # Erweiterte Achsen-Referenzfahrt
41 robot.ExtAxisSetHoming(1, 0, 10, 2)
42 time.sleep(2)
43 rtn = robot.ExtAxisSetHoming(2, 0, 10, 2)
44 print(f"ExtAxisSetHoming rtn is {rtn}")
45
46 time.sleep(4)
47
48 # Roboter-Relativposition zur erweiterten Achse einstellen
49 rtn = robot.SetRobotPosToAxis(1)
50 print(f"SetRobotPosToAxis rtn is {rtn}")
51
52 # Erweiterte Achsen-DH-Parameterkonfiguration einstellen
53 rtn = robot.SetAxisDHParaConfig(10, 20, 0, 0, 0, 0, 0, 0, 0)
54 print(f"SetAxisDHParaConfig rtn is {rtn}")
55
56 # Parameter für erweiterte Achse 1 konfigurieren
57 rtn = robot.ExtAxisParamConfig(1, 1, 1, 1000, -1000, 1000, 1000, 1.905, 262144, 200, 1, 0, 0)
58 print(f"ExtAxisParamConfig axis 1 rtn is {rtn}")
59
60 # Parameterkonfiguration für erweiterte Achse 1 abrufen
61 rtn, axisType, axisDirection, axisMax, axisMin, axisVel, axisAcc, axisLead, encResolution, axisOffect, axisCompany, axisModel, axisEncType = robot.ExtAxisGetParamConfig(1)
62 print(f"axis id 1 ExtAxisGetParamConfig : axisType {axisType}, axisDirection {axisDirection}, axisMax {axisMax}, axisMin {axisMin}, axisVel {axisVel}, axisAcc {axisAcc}, axisLead {axisLead}, encResolution {encResolution}, axisOffect {axisOffect}, axisCompany {axisCompany}, axisModel {axisModel}, axisEncType {axisEncType}")
63
64 # Parameter für erweiterte Achse 2 konfigurieren
65 rtn = robot.ExtAxisParamConfig(2, 1, 1, 1000, -1000, 1000, 1000, 4.444, 262144, 200, 1, 0, 0)
66 print(f"ExtAxisParamConfig axis 2 rtn is {rtn}")
67
68 # Parameterkonfiguration für erweiterte Achse 2 abrufen
69 rtn, axisType, axisDirection, axisMax, axisMin, axisVel, axisAcc, axisLead, encResolution, axisOffect, axisCompany, axisModel, axisEncType = robot.ExtAxisGetParamConfig(2)
70 print(f"axis id 2 ExtAxisGetParamConfig : axisType {axisType}, axisDirection {axisDirection}, axisMax {axisMax}, axisMin {axisMin}, axisVel {axisVel}, axisAcc {axisAcc}, axisLead {axisLead}, encResolution {encResolution}, axisOffect {axisOffect}, axisCompany {axisCompany}, axisModel {axisModel}, axisEncType {axisEncType}")
71
72 time.sleep(3)
73
74 # Tipptest für erweiterte Achse 1
75 robot.ExtAxisStartJog(1, 0, 10, 10, 30)
76 time.sleep(1)
77 robot.ExtAxisStopJog(1)
78 time.sleep(3)
79 robot.ExtAxisServoOn(1, 0)
80
81 time.sleep(3)
82
83 # Tipptest für erweiterte Achse 2
84 robot.ExtAxisStartJog(2, 0, 10, 10, 30)
85 time.sleep(1)
86 robot.ExtAxisStopJog(2)
87 time.sleep(3)
88 robot.ExtAxisServoOn(2, 0)
89
90 # UDP-Treiber entladen
91 robot.ExtDevUnloadUDPDriver()
92
93 # Verbindung schließen
94 robot.CloseRPC()
95
96
97# Testfunktion aufrufen
98main()
13.32. Referenzpunkt für Koordinatensystem der Erweiterungsachse einstellen - Vier-Punkt-Methode
Neu in Version Python: SDK-v2.0.4
Prototyp |
|
|---|---|
Beschreibung |
Referenzpunkt für Koordinatensystem der Erweiterungsachse einstellen - Vier-Punkt-Methode |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.33. Koordinatensystem der Erweiterungsachse berechnen - Vier-Punkt-Methode
Neu in Version Python: SDK-v2.0.4
Prototyp |
|
|---|---|
Beschreibung |
Koordinatensystem der Erweiterungsachse berechnen - Vier-Punkt-Methode |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
|
13.34. Referenzpunkt für Positionierer-Koordinatensystem einstellen - Vier-Punkt-Methode
Neu in Version Python: SDK-v2.0.4
Prototyp |
|
|---|---|
Beschreibung |
Referenzpunkt für Positionierer-Koordinatensystem einstellen - Vier-Punkt-Methode |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.35. Koordinatensystem des Positionierers berechnen - Vier-Punkt-Methode
Neu in Version Python: SDK-v2.0.4
Prototyp |
|
|---|---|
Beschreibung |
Koordinatensystem des Positionierers berechnen - Vier-Punkt-Methode |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
|
13.36. Pose des Kalibrierungsreferenzpunkts im Endeffektor-Koordinatensystem des Positionierers einstellen
Neu in Version Python: SDK-v2.0.4
Prototyp |
|
|---|---|
Beschreibung |
Pose des Kalibrierungsreferenzpunkts im Endeffektor-Koordinatensystem des Positionierers einstellen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.37. Koordinatensystem der Erweiterungsachse anwenden
Neu in Version Python: SDK-v2.0.4
Prototyp |
|
|---|---|
Beschreibung |
Koordinatensystem der Erweiterungsachse anwenden |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.38. Koordinatensystem der Erweiterungsachse abrufen
Neu in Version Python: SDK-v2.1.2
Prototyp |
|
|---|---|
Beschreibung |
Koordinatensystem der Erweiterungsachse abrufen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
|
13.39. Codebeispiel für die Kalibrierung des Erweiterungsachsen-Koordinatensystems
1from fairino import Robot
2import time
3import threading
4# Verbindung zur Robotersteuerung herstellen, bei Erfolg wird ein Roboterobjekt zurückgegeben
5robot = Robot.RPC('192.168.58.2')
6rtn = robot.ExtDevSetUDPComParam("192.168.58.88", 2021, 2, 100, 3, 200, 1, 100, 5, 1)
7print(f"ExtDevSetUDPComParam rtn is {rtn}")
8rtn,udp_params = robot.ExtDevGetUDPComParam()
9ip, port, period, lossPkgTime, lossPkgNum, disconnectTime, reconnectEnable, reconnectPeriod, reconnectNum = udp_params
10patam = (
11 f"\nip {ip}\nport {port}\nperiod {period}\nlossPkgTime {lossPkgTime}\n"
12 f"lossPkgNum {lossPkgNum}\ndisConntime {disconnectTime}\nreconnecable {reconnectEnable}\n"
13 f"reconnperiod {reconnectPeriod}\nreconnnun {reconnectNum}"
14)
15print(f"ExtDevGetUDPComParam rtn is {rtn}{patam}")
16robot.ExtDevLoadUDPDriver()
17rtn = robot.ExtAxisServoOn(1, 1)
18print(f"ExtAxisServoOn Achse 1 rtn ist {rtn}")
19rtn = robot.ExtAxisServoOn(2, 1)
20print(f"ExtAxisServoOn axis id 2 rtn is {rtn}")
21time.sleep(2)
22robot.ExtAxisSetHoming(1, 0, 10, 2)
23time.sleep(2)
24rtn = robot.ExtAxisSetHoming(2, 0, 10, 2)
25print(f"ExtAxisSetHoming rtn is {rtn}")
26time.sleep(4)
27rtn = robot.SetRobotPosToAxis(1)
28print(f"SetRobotPosToAxis rtn is {rtn}")
29rtn = robot.SetAxisDHParaConfig(1, 128.5, 206.4, 0, 0, 0, 0, 0, 0)
30print(f"SetAxisDHParaConfig rtn is {rtn}")
31rtn = robot.ExtAxisParamConfig(1, 1, 1, 1000, -1000, 1000, 1000, 1.905, 262144, 200, 1, 0, 0)
32print(f"ExtAxisParamConfig axis 1 rtn is {rtn}")
33rtn = robot.ExtAxisParamConfig(2, 1, 1, 1000, -1000, 1000, 1000, 4.444, 262144, 200, 1, 0, 0)
34print(f"ExtAxisParamConfig axis 2 rtn is {rtn}")
35toolCoord = [0, 0, 210, 0, 0, 0]
36robot.SetToolCoord(1, toolCoord, 0, 0, 1, 0)
37jSafe = [115.193, -96.149, 92.489, -87.068, -89.15, -83.488]
38j1 = [117.559, -92.624, 100.329, -96.909, -94.057, -83.488]
39j2 = [112.239, -90.096, 99.282, -95.909, -89.824, -83.488]
40j3 = [110.839, -83.473, 93.166, -89.22, -90.499, -83.487]
41j4 = [107.935, -83.572, 95.424, -92.873, -87.933, -83.488]
42descSafe = [0.0,0.0,0.0,0.0,0.0,0.0]
43desc1 = [0.0,0.0,0.0,0.0,0.0,0.0]
44desc2 = [0.0,0.0,0.0,0.0,0.0,0.0]
45desc3 = [0.0,0.0,0.0,0.0,0.0,0.0]
46desc4 = [0.0,0.0,0.0,0.0,0.0,0.0]
47exaxisPos = [0.0,0.0,0.0,0.0]
48offdese = [0.0,0.0,0.0,0.0,0.0,0.0]
49error, descSafe = robot.GetForwardKin(jSafe)
50robot.MoveJ(joint_pos=jSafe,tool= 1,user= 0,vel= 100)
51time.sleep(2)
52error, desc1 = robot.GetForwardKin(j1)
53robot.MoveJ(joint_pos=j1,tool= 1,user= 0,vel= 100)
54time.sleep(2)
55actualTCPPos = [0.0,0.0,0.0,0.0,0.0,0.0]
56error, actualTCPPos = robot.GetActualTCPPose(0)
57robot.SetRefPointInExAxisEnd(actualTCPPos)
58rtn = robot.PositionorSetRefPoint(1)
59print(f"PositionorSetRefPoint 1 rtn is {rtn}")
60time.sleep(2)
61robot.MoveJ(joint_pos=jSafe,tool= 1,user= 0,vel= 100)
62robot.ExtAxisStartJog(1, 0, 50, 50, 10)
63time.sleep(1)
64robot.ExtAxisStartJog(2, 0, 50, 50, 10)
65time.sleep(1)
66error, desc2 = robot.GetForwardKin(j2)
67rtn = robot.MoveJ(joint_pos=j2,tool= 1,user= 0,vel= 100)
68rtn = robot.PositionorSetRefPoint(2)
69print(f"PositionorSetRefPoint 2 rtn is {rtn}")
70time.sleep(2)
71robot.MoveJ(joint_pos=jSafe,tool= 1,user= 0,vel= 100)
72robot.ExtAxisStartJog(1, 0, 50, 50, 10)
73time.sleep(1)
74robot.ExtAxisStartJog(2, 0, 50, 50, 10)
75time.sleep(1)
76error, desc3 = robot.GetForwardKin(j3)
77robot.MoveJ(joint_pos=j3,tool= 1,user= 0,vel= 100)
78rtn = robot.PositionorSetRefPoint(3)
79print(f"PositionorSetRefPoint 3 rtn is {rtn}")
80time.sleep(2)
81robot.MoveJ(joint_pos=jSafe,tool= 1,user= 0,vel= 100)
82robot.ExtAxisStartJog(1, 0, 50, 50, 10)
83time.sleep(1)
84robot.ExtAxisStartJog(2, 0, 50, 50, 10)
85time.sleep(1)
86error, desc4 = robot.GetForwardKin(j4)
87robot.MoveJ(joint_pos=j4,tool= 1,user= 0,vel= 100)
88rtn = robot.PositionorSetRefPoint(4)
89print(f"PositionorSetRefPoint 4 rtn is {rtn}")
90time.sleep(2)
91axisCoord = [0.0,0.0,0.0,0.0,0.0,0.0]
92error,axisCoord = robot.PositionorComputeECoordSys()
93robot.MoveJ(joint_pos=jSafe,tool= 1,user= 0,vel= 100)
94print(f"PositionorComputeECoordSys rtn is {axisCoord[0]} {axisCoord[1]} {axisCoord[2]} {axisCoord[3]} {axisCoord[4]} {axisCoord[5]}")
95rtn = robot.ExtAxisActiveECoordSys(3, 1, axisCoord, 1)
96print(f"ExtAxisActiveECoordSys rtn is {rtn}")
97robot.CloseRPC()
13.40. UDP-Erweiterungsachse bewegen
Neu in Version Python: SDK-v2.1.4
Prototyp |
|
|---|---|
Beschreibung |
UDP-Erweiterungsachse bewegen |
Erforderliche Parameter |
|
Standardparameter |
|
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.41. Codebeispiel für die Bewegung von UDP-Erweiterungsachsen
1from fairino import Robot
2import time
3# Verbindung zur Robotersteuerung herstellen, bei Erfolg wird ein Roboterobjekt zurückgegeben
4robot = Robot.RPC('192.168.58.2')
5axisPos = [20,0,0,0]
6robot.ExtAxisMove(axisPos, 50, -1)
7robot.CloseRPC()
13.42. Synchronbewegung von UDP-Erweiterungsachse und Roboter-Gelenkbewegung
Neu in Version Python: SDK-v2.0.4
Prototyp |
|
|---|---|
Beschreibung |
Synchronbewegung von UDP-Erweiterungsachse und Roboter-Gelenkbewegung |
Erforderliche Parameter |
|
Standardparameter |
|
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.43. Codebeispiel für synchronen Gelenkbewegung mit Erweiterungsachse
1from fairino import Robot
2# Verbindung zur Robotersteuerung herstellen
3robot = Robot.RPC('192.168.58.2')
4# UDP-Kommunikationsparameter einstellen und laden
5robot.ExtDevSetUDPComParam("192.168.58.88", 2021, 2, 100, 3, 100, 1, 100, 10)
6robot.ExtDevLoadUDPDriver()
7# Parameter für Erweiterungsachsen einstellen
8robot.SetAxisDHParaConfig(4, 200, 200, 0, 0, 0, 0, 0, 0)
9robot.SetRobotPosToAxis(1)
10robot.ExtAxisParamConfig(1, 0, 1, 100, -100, 10, 10, 12, 131072, 0, 1, 0, 0)
11# Erweiterungsachse aktivieren und Referenzfahrt durchführen
12robot.ExtAxisServoOn(1, 0)
13robot.ExtAxisSetHoming(1, 0, 20, 3)
14# Koordinatensystem der Erweiterungsachse kalibrieren
15pos = [] # Bitte hier die Kalibrierungspunktkoordinaten eintragen
16robot.SetRefPointInExAxisEnd(pos)
17robot.PositionorSetRefPoint(1) # Dieser Vorgang muss 4 Mal (mit 4 Punkten) wiederholt werden
18error, coord = robot.PositionorComputeECoordSys()
19robot.ExtAxisActiveECoordSys(1, 1, coord, 1)
20# Start- und Endpunkt der Synchronbewegung
21startdescPose = [] # Bitte hier die Koordinaten eintragen
22startjointPos = [] # Bitte hier die Koordinaten eintragen
23startexaxisPos = [] # Bitte hier die Koordinaten eintragen
24enddescPose = [] # Bitte hier die Koordinaten eintragen
25endjointPos = [] # Bitte hier die Koordinaten eintragen
26endexaxisPos = [] # Bitte hier die Koordinaten eintragen
27# Zum Startpunkt bewegen
28robot.ExtAxisMove(startexaxisPos, 20, -1)
29offdese = [0, 0, 0, 0, 0, 0]
30robot.MoveJ(joint_pos=startjointPos,tool= 1,user= 1,vel= 100,acc= 100,ovl= 100,exaxis_pos= startexaxisPos,blendT= 0,offset_flag= 0,offset_pos= offdese)
31robot.ExtAxisSyncMoveJ(endjointPos, enddescPose, 1, 1, endexaxisPos, 100, 100, 100, -1, 0, offdese)
32robot.CloseRPC()
13.44. Synchronbewegung von UDP-Erweiterungsachse und Roboter-Linearbewegung
Neu in Version Python: SDK-v2.1.5
Prototyp |
|
|---|---|
Beschreibung |
Synchronbewegung von UDP-Erweiterungsachse und Roboter-Linearbewegung |
Erforderliche Parameter |
|
Standardparameter |
|
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.45. Codebeispiel für synchronen Linearbewegung mit Erweiterungsachse
1from fairino import Robot
2# Verbindung zur Robotersteuerung herstellen
3robot = Robot.RPC('192.168.58.2')
4# UDP-Kommunikationsparameter einstellen und laden
5robot.ExtDevSetUDPComParam("192.168.58.88", 2021, 2, 100, 3, 100, 1, 100, 10)
6robot.ExtDevLoadUDPDriver()
7# Parameter für Erweiterungsachsen einstellen
8robot.SetAxisDHParaConfig(4, 200, 200, 0, 0, 0, 0, 0, 0)
9robot.SetRobotPosToAxis(1)
10robot.ExtAxisParamConfig(1, 0, 1, 100, -100, 10, 10, 12, 131072, 0, 1, 0, 0)
11# Erweiterungsachse aktivieren und Referenzfahrt durchführen
12robot.ExtAxisServoOn(1, 0)
13robot.ExtAxisSetHoming(1, 0, 20, 3)
14# Koordinatensystem der Erweiterungsachse kalibrieren
15pos = [] # Bitte hier die Kalibrierungspunktkoordinaten eintragen
16robot.SetRefPointInExAxisEnd(pos)
17robot.PositionorSetRefPoint(1) # Muss 4 Mal aufgerufen werden
18error, coord = robot.PositionorComputeECoordSys()
19robot.ExtAxisActiveECoordSys(1, 1, coord, 1)
20# Start- und Endpunkt der Synchronbewegung
21startdescPose = [] # Bitte Koordinaten eintragen
22startjointPos = [] # Bitte Koordinaten eintragen
23startexaxisPos = [] # Bitte Koordinaten eintragen
24enddescPose = [] # Bitte Koordinaten eintragen
25endjointPos = [] # Bitte Koordinaten eintragen
26endexaxisPos = [] # Bitte Koordinaten eintragen
27# Zum Startpunkt bewegen
28robot.ExtAxisMove(startexaxisPos, 20, -1)
29offdese = [0, 0, 0, 0, 0, 0]
30robot.MoveJ(joint_pos=startjointPos, tool=1, user=1, vel=100, acc=100, ovl=100, exaxis_pos=startexaxisPos, blendT=0)
31# Synchron-Linearbewegung ausführen
32robot.ExtAxisSyncMoveL(desc_pos=enddescPose, tool=1, user=1, exaxis_pos=endexaxisPos, vel=100, acc=100, ovl=100, blendR=0, offset_flag=0, offset_pos=offdese)
33robot.CloseRPC()
13.46. Synchronbewegung von UDP-Erweiterungsachse und Roboter-Kreisbogenbewegung
Neu in Version Python: SDK-v2.1.5
Prototyp |
|
|---|---|
Beschreibung |
Synchronbewegung von UDP-Erweiterungsachse und Roboter-Kreisbogenbewegung |
Erforderliche Parameter |
|
Standardparameter |
|
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.47. Codebeispiel für synchronen Kreisbogenbewegung mit Erweiterungsachse
1from fairino import Robot
2# Verbindung zur Robotersteuerung herstellen
3robot = Robot.RPC('192.168.58.2')
4# UDP-Kommunikationsparameter einstellen und laden
5robot.ExtDevSetUDPComParam("192.168.58.88", 2021, 2, 100, 3, 100, 1, 100, 10)
6robot.ExtDevLoadUDPDriver()
7# Parameter für Erweiterungsachsen einstellen
8robot.SetAxisDHParaConfig(4, 200, 200, 0, 0, 0, 0, 0, 0)
9robot.SetRobotPosToAxis(1)
10robot.ExtAxisParamConfig(1, 0, 1, 100, -100, 10, 10, 12, 131072, 0, 1, 0, 0)
11# Erweiterungsachse aktivieren und Referenzfahrt durchführen
12robot.ExtAxisServoOn(1, 0)
13robot.ExtAxisSetHoming(1, 0, 20, 3)
14# Koordinatensystem der Erweiterungsachse kalibrieren
15pos = [] # Bitte hier die Kalibrierungspunktkoordinaten eintragen
16robot.SetRefPointInExAxisEnd(pos)
17robot.PositionorSetRefPoint(1) # Muss 4 Mal aufgerufen werden
18error, coord = robot.PositionorComputeECoordSys()
19robot.ExtAxisActiveECoordSys(1, 1, coord, 1)
20# Start-, Zwischen- und Endpunkt der Synchronbewegung
21startdescPose = [] # Bitte Koordinaten eintragen
22startjointPos = [] # Bitte Koordinaten eintragen
23startexaxisPos = []
24middescPose = []
25midjointPos = []
26midexaxisPos = []
27enddescPose = []
28endjointPos = []
29endexaxisPos = []
30# Zum Startpunkt bewegen
31robot.ExtAxisMove(startexaxisPos, 20, -1)
32offdese = [0, 0, 0, 0, 0, 0]
33robot.MoveJ(joint_pos=startjointPos, tool=1, user=1, vel=100, acc=100, ovl=100, exaxis_pos=startexaxisPos, blendT=0, offset_flag=0, offset_pos=offdese)
34# Synchron-Kreisbogenbewegung starten
35robot.ExtAxisSyncMoveC(desc_pos_p=middescPose, tool_p=1, user_p=1, exaxis_pos_p=midexaxisPos,
36 desc_pos_t=enddescPose, tool_t=1, user_t=1, exaxis_pos_t=endexaxisPos,
37 vel_p=100, acc_p=100, offset_flag_p=0, offset_pos_p=offdese,
38 vel_t=100, acc_t=100, offset_flag_t=0, offset_pos_t=offdese,
39 ovl=100, blendR=0)
40robot.CloseRPC()
13.48. Erweiterten Digitalausgang (DO) setzen
Neu in Version Python: SDK-v2.0.4
Prototyp |
|
|---|---|
Beschreibung |
Erweiterten Digitalausgang (DO) setzen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.49. Erweiterten Analogausgang (AO) setzen
Neu in Version Python: SDK-v2.0.4
Prototyp |
|
|---|---|
Beschreibung |
Erweiterten Analogausgang (AO) setzen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.50. Eingangsfilterzeit für erweiterten Digitaleingang (DI) einstellen
Neu in Version Python: SDK-v2.0.4
Prototyp |
|
|---|---|
Beschreibung |
Eingangsfilterzeit für erweiterten Digitaleingang (DI) einstellen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.51. Eingangsfilterzeit für erweiterten Analogeingang (AI) einstellen
Neu in Version Python: SDK-v2.0.4
Prototyp |
|
|---|---|
Beschreibung |
Eingangsfilterzeit für erweiterten Analogeingang (AI) einstellen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.52. Auf erweiterten Digitaleingang (DI) warten
Neu in Version Python: SDK-v2.0.4
Prototyp |
|
|---|---|
Beschreibung |
Auf erweiterten Digitaleingang (DI) warten |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.53. Auf erweiterten Analogeingang (AI) warten
Neu in Version Python: SDK-v2.0.4
Prototyp |
|
|---|---|
Beschreibung |
Auf erweiterten Analogeingang (AI) warten |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.54. Wert des erweiterten Digitaleingangs (DI) abrufen
Neu in Version Python: SDK-v2.0.4
Prototyp |
|
|---|---|
Beschreibung |
Wert des erweiterten Digitaleingangs (DI) abrufen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
|
13.55. Wert des erweiterten Analogeingangs (AI) abrufen
Neu in Version Python: SDK-v2.0.4
Prototyp |
|
|---|---|
Beschreibung |
Wert des erweiterten Analogeingangs (AI) abrufen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
|
13.56. Codebeispiel für erweiterten I/O
1from fairino import Robot
2import time
3import threading
4# Verbindung zur Robotersteuerung herstellen
5robot = Robot.RPC('192.168.58.2')
6for i in range(128):
7 robot.SetAuxDO(i, True, False, True)
8 time.sleep(0.1)
9for i in range(128):
10 robot.SetAuxDO(i, False, False, True)
11 time.sleep(0.1)
12for i in range(409):
13 value1 = i * 10
14 value2 = 4095 - i * 10
15 robot.SetAuxAO(0, value1, True)
16 robot.SetAuxAO(1, value2, True)
17 robot.SetAuxAO(2, value1, True)
18 robot.SetAuxAO(3, value2, True)
19 time.sleep(0.01)
20robot.SetAuxDIFilterTime(10)
21robot.SetAuxAIFilterTime(0, 10)
22for i in range(20):
23 curValue = False
24 error, curValue = robot.GetAuxDI(i, False) # Hinweis: Referenzübergabe je nach Bibliotheksimplementierung anpassen
25 print(f"DI{i} {curValue}")
26curValue = -1
27for i in range(4):
28 error, curValue = robot.GetAuxAI(i, True) # Hinweis: Referenzübergabe je nach Bibliotheksimplementierung anpassen
29 print(f"AI{i} {curValue}")
30robot.WaitAuxDI(1, False, 1000, False)
31robot.WaitAuxAI(1, 1, 132, 1000, False)
32robot.CloseRPC()
13.57. Mobile Basis aktivieren (z.B. fahrerloses Transportfahrzeug)
Neu in Version Python: SDK-v2.0.5
Prototyp |
|
|---|---|
Beschreibung |
Mobile Basis aktivieren |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.58. Mobile Basis auf Nullpunkt fahren (Referenzfahrt)
Neu in Version Python: SDK-v2.0.5
Prototyp |
|
|---|---|
Beschreibung |
Mobile Basis auf Nullpunkt fahren (Referenzfahrt) |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.59. Linearbewegung der mobilen Basis
Neu in Version Python: SDK-v2.0.5
Prototyp |
|
|---|---|
Beschreibung |
Linearbewegung der mobilen Basis |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.60. Kreisbogenbewegung der mobilen Basis
Neu in Version Python: SDK-v2.0.5
Prototyp |
|
|---|---|
Beschreibung |
Kreisbogenbewegung der mobilen Basis |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.61. Mobile Basis anhalten
Neu in Version Python: SDK-v2.0.5
Prototyp |
|
|---|---|
Beschreibung |
Mobile Basis anhalten |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.62. Codebeispiel für mobile Basis
1from fairino import Robot
2# Verbindung zur Robotersteuerung herstellen
3robot = Robot.RPC('192.168.58.2')
4robot.ExtDevSetUDPComParam("192.168.58.2", 2021, 2, 50, 5, 50, 1, 50, 10, 1)
5robot.ExtDevLoadUDPDriver()
6rtn = robot.ExtAxisServoOn(1, 1)
7rtn = robot.ExtAxisServoOn(2, 1)
8time.sleep(2)
9robot.ExtAxisSetHoming(1, 0, 10, 2)
10time.sleep(2)
11rtn = robot.ExtAxisSetHoming(2, 0, 10, 2)
12time.sleep(4)
13robot.ExtAxisParamConfig(1, 0, 0, 50000, -50000, 1000, 1000, 6.280, 16384, 200, 0, 0, 0)
14robot.ExtAxisParamConfig(2, 0, 0, 50000, -50000, 1000, 1000, 6.280, 16384, 200, 0, 0, 0)
15robot.SetAxisDHParaConfig(5, 0, 0, 0, 0, 0, 0, 0, 0)
16robot.TractorEnable(False)
17time.sleep(2)
18robot.TractorEnable(True)
19time.sleep(2)
20robot.TractorHoming()
21time.sleep(2)
22robot.TractorMoveL(100, 2)
23time.sleep(5)
24robot.TractorStop()
25robot.TractorMoveL(-100, 20)
26time.sleep(5)
27robot.TractorMoveC(300, 90, 20)
28time.sleep(10)
29robot.TractorMoveC(300, -90, 20)
30time.sleep(1)
31robot.CloseRPC()
13.63. Punkt des Lasersensors aufzeichnen
Neu in Version Python: SDK-v2.1.4
Prototyp |
|
|---|---|
Beschreibung |
Punkt des Lasersensors aufzeichnen (nach erfolgreicher Suche) |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
|
13.64. Codebeispiel zum Aufzeichnen eines Laserpunkts
Neu in Version Python: SDK-v2.1.4
1from fairino import Robot
2# Verbindung zur Robotersteuerung herstellen
3robot = Robot.RPC('192.168.58.2')
4direction_point = [0, 0, 0]
5rtn = robot.LaserTrackingSearchStart(2, direction_point, 10, 100, 10000, 2)
6print(f"LaserTrackingSearchStart rtn ist {rtn}")
7robot.LaserTrackingSearchStop()
8coord_id = 2
9rtn, joint, desc, exaxis = robot.LaserRecordPoint(coord_id)
10print(f"rtn is {rtn}")
11print(f"desc_pos:{desc[0]},{desc[1]},{desc[2]},"
12 f"{desc[3]},{desc[4]},{desc[5]}")
13print(f"joint_pos:{joint[0]},{joint[1]},{joint[2]},{joint[3]},{joint[4]},{joint[5]}")
14print(f"exaxis pos is {exaxis[0]} {exaxis[1]} {exaxis[2]} {exaxis[3]}")
15off = [0] * 6
16robot.MoveJ(joint,tool=1,user=0,vel=100,acc=100,ovl=50,exaxis_pos=exaxis,blendT=-1,offset_flag=0,offset_pos=off)
17robot.CloseRPC()
13.65. Strategie für die Synchronbewegung von Erweiterungsachse und Roboter einstellen
Neu in Version Python: SDK-v2.1.5
Prototyp |
|
|---|---|
Beschreibung |
Strategie für die Synchronbewegung von Erweiterungsachse und Roboter einstellen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.66. Codebeispiel für die Synchronbewegungsstrategie
Neu in Version Python: SDK-v2.1.5
1from fairino import Robot
2# Verbindung zur Robotersteuerung herstellen
3robot = Robot.RPC('192.168.58.2')
4joint_pos1 = [-22.016, -49.217, 124.714, -161.100, -85.108, -0.333]
5joint_pos2 = [-21.083, -46.613, 110.079, -147.796, -80.757, -0.330]
6joint_pos3 = [-25.572, -60.090, 135.397, -163.889, -82.489, -0.345]
7desc_pos1 = [2.637, -0.001, 30.673, 178.786, -4.134, 68.326]
8desc_pos2 = [213.812, -1.440, 47.311, 177.410, 0.166, 68.946]
9desc_pos3 = [444.342, -12.723, 82.470, -177.701, -1.325, 65.151]
10epos1 = [0.001, 0.000, 0.000, 0.000]
11epos2 = [299.977, 0.000, 0.000, 0.000]
12epos3 = [399.969, 0.000, 0.000, 0.000]
13offset_pos = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
14rtn = robot.SetExAxisRobotPlan(0)
15print(f"SetExAxisRobotPlan rtn is {rtn}")
16time.sleep(1)
17rtn = robot.ExtAxisSyncMoveL(desc_pos=desc_pos1,tool=1,user=0,vel=100,acc=100,ovl=100,blendR=-1,exaxis_pos=epos1,offset_flag=0,offset_pos=offset_pos)
18print(f"ExtAxisSyncMoveL 1 rtn is {rtn}")
19rtn = robot.ExtAxisSyncMoveL(desc_pos=desc_pos2,tool=1,user=0,vel=100,acc=100,ovl=100,blendR=-1,exaxis_pos=epos2,offset_flag=0,offset_pos=offset_pos)
20print(f"ExtAxisSyncMoveL 2 rtn is {rtn}")
21rtn = robot.ExtAxisSyncMoveL(desc_pos=desc_pos3,tool=1,user=0,vel=100,acc=100,ovl=100,blendR=-1,exaxis_pos=epos3,offset_flag=0,offset_pos=offset_pos)
22print(f"ExtAxisSyncMoveL 3 rtn is {rtn}")
23time.sleep(8)
24robot.CloseRPC()