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. 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.25. 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.26. 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.27. 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.28. 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.29. 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.30. Codebeispiel für Konfiguration und Tippbetrieb von UDP-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')
6rtn = robot.ExtDevSetUDPComParam("192.168.58.88", 2021, 2, 100, 3, 200, 1, 100, 5, 1)
7print(f"ExtDevSetUDPComParam rtn is {rtn}")
8ip = ""
9port = 0
10period = 0
11lossPkgTime = 0
12lossPkgNum = 0
13disconnectTime = 0
14reconnectEnable = 0
15reconnectPeriod = 0
16reconnectNum = 0
17rtn,[ip, port, period, lossPkgTime, lossPkgNum,disconnectTime, reconnectEnable, reconnectPeriod, reconnectNum] = robot.ExtDevGetUDPComParam()
18param_str = (f"\nip {ip}\nport {port}\nperiod {period}\nlossPkgTime {lossPkgTime}"
19 f"\nlossPkgNum {lossPkgNum}\ndisConntime {disconnectTime}"
20 f"\nreconnecable {reconnectEnable}\nreconnperiod {reconnectPeriod}"
21 f"\nreconnnun {reconnectNum}")
22print(f"ExtDevGetUDPComParam rtn ist {rtn}{param_str}")
23robot.ExtDevLoadUDPDriver()
24rtn = robot.ExtAxisServoOn(1, 1)
25print(f"ExtAxisServoOn axis id 1 rtn is {rtn}")
26rtn = robot.ExtAxisServoOn(2, 1)
27print(f"ExtAxisServoOn axis id 2 rtn is {rtn}")
28time.sleep(2)
29robot.ExtAxisSetHoming(1, 0, 10, 2)
30time.sleep(2)
31rtn = robot.ExtAxisSetHoming(2, 0, 10, 2)
32print(f"ExtAxisSetHoming rtn is {rtn}")
33time.sleep(4)
34rtn = robot.SetRobotPosToAxis(1)
35print(f"SetRobotPosToAxis rtn is {rtn}")
36rtn = robot.SetAxisDHParaConfig(10, 20, 0, 0, 0, 0, 0, 0, 0)
37print(f"SetAxisDHParaConfig rtn ist {rtn}")
38rtn = robot.ExtAxisParamConfig(1, 1, 1, 1000, -1000, 1000, 1000, 1.905, 262144, 200, 1, 0, 0)
39print(f"ExtAxisParamConfig Achse 1 rtn ist {rtn}")
40rtn = robot.ExtAxisParamConfig(2, 1, 1, 1000, -1000, 1000, 1000, 4.444, 262144, 200, 1, 0, 0)
41print(f"ExtAxisParamConfig axis 2 rtn is {rtn}")
42time.sleep(3)
43robot.ExtAxisStartJog(1, 0, 10, 10, 30)
44time.sleep(1)
45robot.ExtAxisStopJog(1)
46time.sleep(3)
47robot.ExtAxisServoOn(1, 0)
48time.sleep(3)
49robot.ExtAxisStartJog(2, 0, 10, 10, 30)
50time.sleep(1)
51robot.ExtAxisStopJog(2)
52time.sleep(3)
53robot.ExtAxisServoOn(2, 0)
54robot.ExtDevUnloadUDPDriver()
55robot.CloseRPC()
13.31. 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.32. 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.33. 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.34. 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.35. 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.36. 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.37. 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.38. 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.39. 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.40. 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.41. 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.42. 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.43. 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.44. 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.45. 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.46. 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.47. 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.48. 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.49. 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.50. 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.51. 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.52. 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.53. 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.54. 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.55. 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.56. 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.57. 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.58. 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.59. 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.60. 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.61. 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.62. 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.63. 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.64. 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.65. 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()
13.66. Array-Sauggreifer steuern
Neu in Version Python: SDK-v2.1.5
Prototyp |
|
|---|---|
Beschreibung |
Array-Sauggreifer steuern |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.67. Status des Array-Sauggreifers abrufen
Neu in Version Python: SDK-v2.1.5
Prototyp |
|
|---|---|
Beschreibung |
Status des Array-Sauggreifers abrufen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
|
13.68. Auf Saugerstatus warten
Neu in Version Python: SDK-v2.1.5
Prototyp |
|
|---|---|
Beschreibung |
Auf Saugerstatus warten |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, Fehlercode bei Timeout/Fehler |
13.69. Codebeispiel für Array-Sauggreifer-Steuerung
Neu in Version Python: SDK-v2.1.5
1from fairino import Robot
2# Verbindung zur Robotersteuerung herstellen
3robot = Robot.RPC('192.168.58.2')
4robot.OpenLuaUpload("C://Project/PeripherieSDK/CtrlDev_sucker.lua")
5time.sleep(2)
6robot.UnloadCtrlOpenLUA(1)
7robot.LoadCtrlOpenLUA(1)
8time.sleep(1)
9ctrl = bytearray(20)
10ctrl[0] = 1
11robot.SetSuckerCtrl(0, 1, ctrl)
12for i in range(100):
13 rtn, state, press_value, error = robot.GetSuckerState(1)
14 print(f"sucker1 state is {state}, pressValue is {press_value}, error num is {error}")
15 rtn, state, press_value, error = robot.GetSuckerState(12)
16 print(f"sucker12 state is {state}, pressValue is {press_value}, error num is {error}")
17 time.sleep(0.1)
18ret = robot.WaitSuckerState(1, 1, 100)
19print(f"WaitSuckerState result is {ret}")
20ctrl[0] = 3
21robot.SetSuckerCtrl(1, 1, ctrl)
22robot.SetSuckerCtrl(12, 1, ctrl)
23robot.CloseRPC()
13.70. Open-Protocol-Lua-Datei hochladen
Neu in Version Python: SDK-v2.1.5
Prototyp |
|
|---|---|
Beschreibung |
Open-Protocol-Lua-Datei hochladen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.71. Slave-Kartenparameter (Feldbus) abrufen
Neu in Version Python: SDK-v2.1.5
Prototyp |
|
|---|---|
Beschreibung |
Slave-Kartenparameter (Feldbus) abrufen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
|
13.72. In Slave-DO schreiben (Feldbus)
Neu in Version Python: SDK-v2.1.5
Prototyp |
|
|---|---|
Beschreibung |
In Slave-DO (Digitalausgang) schreiben (Feldbus) |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.73. In Slave-AO schreiben (Feldbus)
Neu in Version Python: SDK-v2.1.5
Prototyp |
|
|---|---|
Beschreibung |
In Slave-AO (Analogausgang) schreiben (Feldbus) |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
13.74. Slave-DI lesen (Feldbus)
Neu in Version Python: SDK-v2.1.5
Prototyp |
|
|---|---|
Beschreibung |
Slave-DI (Digitaleingang) lesen (Feldbus) |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
|
13.75. Slave-AI lesen (Feldbus)
Neu in Version Python: SDK-v2.1.5
Prototyp |
|
|---|---|
Beschreibung |
Slave-AI (Analogeingang) lesen (Feldbus) |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
|
13.76. Auf erweiterten DI-Eingang warten (Feldbus)
Neu in Version Python: SDK-v2.1.5
Prototyp |
|
|---|---|
Beschreibung |
Auf erweiterten DI-Eingang warten (Feldbus) |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, Fehlercode bei Timeout |
13.77. Auf erweiterten AI-Eingang warten (Feldbus)
Neu in Version Python: SDK-v2.1.5
Prototyp |
|
|---|---|
Beschreibung |
Auf erweiterten AI-Eingang warten (Feldbus) |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, Fehlercode bei Timeout |
13.78. Codebeispiel für Slave-Modus-Befehle (Feldbus-Karte)
Neu in Version Python: SDK-v2.1.5
1from fairino import Robot
2# Verbindung zur Robotersteuerung herstellen
3robot = Robot.RPC('192.168.58.2')
4robot.OpenLuaUpload("D://zUP/Peripherie/CtrlDev_field.lua")
5time.sleep(2)
6robot.SetCtrlOpenLUAName(3,"CtrlDev_field.lua")
7robot.UnloadCtrlOpenLUA(3)
8robot.LoadCtrlOpenLUA(3)
9time.sleep(8)
10rtn,type, version, conn_state = robot.GetFieldBusConfig()
11print(f"type is {type}, version is {version}, connState is {conn_state}")
12# Digitale Ausgänge schreiben
13ctrl = [1, 0, 1] # DO0=1, DO1=0, DO2=1
14robot.FieldBusSlaveWriteDO(0, 3, ctrl)
15# Analogen Ausgang schreiben
16ctrl_ao = [0x1000] # AO2 = 0x1000
17robot.FieldBusSlaveWriteAO(2, 1, ctrl_ao)
18for i in range(100):
19 rtn,di = robot.FieldBusSlaveReadDI(0, 4)
20 print(f"DI0 is {di[0]}, DI1 is {di[1]}, DI2 is {di[2]}, DI3 is {di[3]}")
21 rtn, ai = robot.FieldBusSlaveReadAI(0, 3)
22 print(f"AI0 is {ai[0]}, AI1 is {ai[1]}, AI2 is {ai[2]}")
23 time.sleep(0.01)
24ret = robot.FieldBusSlaveWaitDI(0, 1, 100)
25print(f"FieldBusSlaveWaitDI result is {ret}")
26ret = robot.FieldBusSlaveWaitAI(0, 0, 400.00, 100)
27print(f"FieldBusSlaveWaitAI result is {ret}")
28robot.CloseRPC()