13. Assi di Espansione
13.1. Impostazione Parametri Asse di Espansione 485
Nuovo nella versione python: SDK-v2.0.3
Prototipo |
|
|---|---|
Descrizione |
Imposta i parametri dell’asse di espansione 485 |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.2. Ottenimento Parametri Configurazione Asse di Espansione 485
Nuovo nella versione python: SDK-v2.0.3
Prototipo |
|
|---|---|
Descrizione |
Ottiene i parametri di configurazione dell’asse di espansione 485 |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
|
13.3. Impostazione Abilitazione/Disabilitazione Asse di Espansione 485
Nuovo nella versione python: SDK-v2.0.3
Prototipo |
|
|---|---|
Descrizione |
Imposta l’abilitazione/disabilitazione dell’asse di espansione 485 |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.4. Impostazione Modalità Controllo Asse di Espansione 485
Nuovo nella versione python: SDK-v2.0.3
Prototipo |
|
|---|---|
Descrizione |
Imposta la modalità di controllo dell’asse di espansione 485 |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.5. Impostazione Posizione Obiettivo Asse di Espansione 485 (Modalità Posizione)
Nuovo nella versione python: SDK-v2.0.3
Prototipo |
|
|---|---|
Descrizione |
Imposta la posizione obiettivo dell’asse di espansione 485 (modalità posizione) |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.6. Impostazione Coppia Obiettivo Asse di Espansione 485 (Modalità Coppia) - Non ancora disponibile
Nuovo nella versione python: SDK-v2.0.3
Prototipo |
|
|---|---|
Descrizione |
Imposta la coppia obiettivo dell’asse di espansione 485 (modalità coppia) |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.7. Impostazione Home Asse di Espansione 485
Nuovo nella versione python: SDK-v2.0.3
Prototipo |
|
|---|---|
Descrizione |
Imposta l’home dell’asse di espansione 485 |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.8. Cancellazione Errori Asse di Espansione 485
Nuovo nella versione python: SDK-v2.0.3
Prototipo |
|
|---|---|
Descrizione |
Cancella gli errori dell’asse di espansione 485 |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.9. Ottenimento Stato Servo Asse di Espansione 485
Nuovo nella versione python: SDK-v2.0.3
Prototipo |
|
|---|---|
Descrizione |
Ottiene lo stato del servo dell’asse di espansione 485 |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
|
13.10. Impostazione Velocità Obiettivo Asse di Espansione 485 (Modalità Velocità)
Nuovo nella versione python: SDK-v2.0.3
Prototipo |
|
|---|---|
Descrizione |
Imposta la velocità obiettivo dell’asse di espansione 485 (modalità velocità) |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.11. Impostazione Numero Asse Dati Asse di Espansione 485 nel Feedback Stato
Nuovo nella versione python: SDK-v2.0.3
Prototipo |
|
|---|---|
Descrizione |
Imposta il numero asse dei dati asse di espansione 485 nel feedback stato |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.12. Impostazione Accelerazione/Decelerazione Movimento Asse di Espansione 485
Nuovo nella versione python: SDK-v2.0.5
Prototipo |
|
|---|---|
Descrizione |
Imposta l’accelerazione/decelerazione del movimento dell’asse di espansione 485 |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.13. Impostazione Accelerazione/Decelerazione Arresto Emergenza Asse di Espansione 485
Nuovo nella versione python: SDK-v2.0.5
Prototipo |
|
|---|---|
Descrizione |
Imposta l’accelerazione/decelerazione di arresto emergenza dell’asse di espansione 485 |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.14. Ottenimento Accelerazione/Decelerazione Movimento Asse di Espansione 485
Nuovo nella versione python: SDK-v2.0.5
Prototipo |
|
|---|---|
Descrizione |
Ottiene l’accelerazione/decelerazione del movimento dell’asse di espansione 485 |
Parametri Obbligatori |
Nessuno |
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
|
13.15. Ottenimento Accelerazione/Decelerazione Arresto Emergenza Asse di Espansione 485
Nuovo nella versione python: SDK-v2.0.5
Prototipo |
|
|---|---|
Descrizione |
Ottiene l’accelerazione/decelerazione di arresto emergenza dell’asse di espansione 485 |
Parametri Obbligatori |
Nessuno |
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
|
13.16. Esempio di Codice Controllo Asse di Espansione
1from fairino import Robot
2import time
3import threading
4# Stabilisce connessione con il controller robot, restituisce un oggetto robot in caso di successo
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. Configurazione Parametri Comunicazione UDP Asse di Espansione
Nuovo nella versione python: SDK-v2.1.2
Prototipo |
|
|---|---|
Descrizione |
Configurazione parametri comunicazione UDP asse di espansione |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.18. Ottenimento Parametri Comunicazione UDP Asse di Espansione
Nuovo nella versione python: SDK-v2.0.4
Prototipo |
|
|---|---|
Descrizione |
Ottiene i parametri di comunicazione UDP dell’asse di espansione |
Parametri Obbligatori |
Nessuno |
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
|
13.19. Caricamento Comunicazione UDP
Nuovo nella versione python: SDK-v2.0.4
Prototipo |
|
|---|---|
Descrizione |
Carica la comunicazione UDP |
Parametri Obbligatori |
Nessuno |
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.20. Scaricamento Comunicazione UDP
Nuovo nella versione python: SDK-v2.0.4
Prototipo |
|
|---|---|
Descrizione |
Scarica la comunicazione UDP |
Parametri Obbligatori |
Nessuno |
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.21. Ripristino Connessione Dopo Disconnessione Anomala Comunicazione UDP Asse di Espansione
Nuovo nella versione python: SDK-v2.0.4
Prototipo |
|
|---|---|
Descrizione |
Ripristina connessione dopo disconnessione anomala comunicazione UDP asse di espansione |
Parametri Obbligatori |
Nessuno |
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.22. Chiusura Comunicazione Dopo Disconnessione Anomala Comunicazione UDP Asse di Espansione
Nuovo nella versione python: SDK-v2.0.4
Prototipo |
|
|---|---|
Descrizione |
Chiude la comunicazione dopo disconnessione anomala comunicazione UDP asse di espansione |
Parametri Obbligatori |
Nessuno |
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.23. Configurazione Parametri Asse di Espansione UDP
Nuovo nella versione python: SDK-v2.0.4
Prototipo |
|
|---|---|
Descrizione |
Configurazione parametri asse di espansione UDP |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.24. Acquisizione Parametri Asse Esteso UDP
Prototipo |
|
|---|---|
Descrizione |
Acquisizione parametri asse esteso UDP |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice di errore Successo-0 Fallimento- errcode |
13.25. Impostazione Posizione Robot Relativa all’Asse di Espansione
Nuovo nella versione python: SDK-v2.0.4
Prototipo |
|
|---|---|
Descrizione |
Imposta la posizione del robot relativa all’asse di espansione |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.26. Impostazione Configurazione Parametri DH Sistema Asse di Espansione
Nuovo nella versione python: SDK-v2.0.4
Prototipo |
|
|---|---|
Descrizione |
Imposta la configurazione dei parametri DH del sistema asse di espansione |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.27. Abilitazione Asse di Espansione UDP
Nuovo nella versione python: SDK-v2.0.4
Prototipo |
|
|---|---|
Descrizione |
Abilitazione asse di espansione UDP |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.28. Home Asse di Espansione UDP
Nuovo nella versione python: SDK-v2.0.4
Prototipo |
|
|---|---|
Descrizione |
Home asse di espansione UDP |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.29. Inizio Jog Asse di Espansione UDP
Nuovo nella versione python: SDK-v2.0.4
Prototipo |
|
|---|---|
Descrizione |
Inizio jog asse di espansione UDP |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.30. Stop Jog Asse di Espansione UDP
Nuovo nella versione python: SDK-v2.0.4
Prototipo |
|
|---|---|
Descrizione |
Stop jog asse di espansione UDP |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.31. Esempio di Codice Configurazione e Jog Asse di Espansione UDP
1from fairino import Robot
2from fairino.Robot import RobotState
3import time
4
5def main():
6 # Aggiungere i dati di stato in tempo reale da ottenere (se necessario)
7 # rtn = AddRobotRealtimeState([RobotState.ExaxisCoordID])
8 # if rtn != 0:
9 # print(f"✗ Aggiunta campo fallita, codice errore: {rtn}")
10 # return None
11 # print("✓ Campo aggiunto con successo")
12
13 # Stabilire connessione con il controller del robot
14 robot = Robot.RPC('192.168.58.2')
15 time.sleep(0.5) # Attendere connessione e ricezione dati
16
17 # Configurare parametri di comunicazione UDP
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 # Ottenere parametri di comunicazione UDP
22 error, param = robot.ExtDevGetUDPComParam()
23 print("ExtDevGetUDPComParam return ", error)
24 print("Parametri di comunicazione asse esteso UDP: ", param)
25
26 # Caricare driver UDP
27 robot.ExtDevLoadUDPDriver()
28
29 # Impostare tempo di completamento comando asse esteso
30 rtn = robot.SetExAxisCmdDoneTime(5000.0)
31 print(f"SetExAxisCmdDoneTime rtn is {rtn}")
32
33 # Abilitazione servo asse esteso
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 # Homing asse esteso
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 # Impostare posizione relativa del robot rispetto all'asse esteso
49 rtn = robot.SetRobotPosToAxis(1)
50 print(f"SetRobotPosToAxis rtn is {rtn}")
51
52 # Impostare configurazione parametri DH asse esteso
53 rtn = robot.SetAxisDHParaConfig(10, 20, 0, 0, 0, 0, 0, 0, 0)
54 print(f"SetAxisDHParaConfig rtn is {rtn}")
55
56 # Configurare parametri asse esteso 1
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 # Ottenere configurazione parametri asse esteso 1
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 # Configurare parametri asse esteso 2
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 # Ottenere configurazione parametri asse esteso 2
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 # Test jog asse esteso 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 # Test jog asse esteso 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 # Scaricare driver UDP
91 robot.ExtDevUnloadUDPDriver()
92
93 # Chiudere connessione
94 robot.CloseRPC()
95
96
97# Chiamata funzione di test
98main()
13.32. Impostazione Punto di Riferimento Sistema Coordinate Asse di Espansione - Metodo a Quattro Punti
Nuovo nella versione python: SDK-v2.0.4
Prototipo |
|
|---|---|
Descrizione |
Imposta il punto di riferimento del sistema coordinate asse di espansione - metodo a quattro punti |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.33. Calcolo Sistema Coordinate Asse di Espansione - Metodo a Quattro Punti
Nuovo nella versione python: SDK-v2.0.4
Prototipo |
|
|---|---|
Descrizione |
Calcola il sistema coordinate asse di espansione - metodo a quattro punti |
Parametri Obbligatori |
Nessuno |
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
|
13.34. Impostazione Punto di Riferimento Sistema Coordinate Posizionatore - Metodo a Quattro Punti
Nuovo nella versione python: SDK-v2.0.4
Prototipo |
|
|---|---|
Descrizione |
Imposta il punto di riferimento del sistema coordinate posizionatore - metodo a quattro punti |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.35. Calcolo Sistema Coordinate Posizionatore - Metodo a Quattro Punti
Nuovo nella versione python: SDK-v2.0.4
Prototipo |
|
|---|---|
Descrizione |
Calcola il sistema coordinate posizionatore - metodo a quattro punti |
Parametri Obbligatori |
Nessuno |
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
|
13.36. Impostazione Posa Punto di Riferimento Calibrazione nel Sistema Coordinate Estremità Posizionatore
Nuovo nella versione python: SDK-v2.0.4
Prototipo |
|
|---|---|
Descrizione |
Imposta la posa del punto di riferimento calibrazione nel sistema coordinate estremità posizionatore |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.37. Applicazione Sistema Coordinate Asse di Espansione
Nuovo nella versione python: SDK-v2.0.4
Prototipo |
|
|---|---|
Descrizione |
Applica sistema coordinate asse di espansione |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.38. Ottenimento Sistema Coordinate Asse di Espansione
Nuovo nella versione python: SDK-v2.1.2
Prototipo |
|
|---|---|
Descrizione |
Ottiene il sistema coordinate dell’asse di espansione |
Parametri Obbligatori |
Nessuno |
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
|
13.39. Esempio di Codice Calibrazione Sistema Coordinate Asse di Espansione
1from fairino import Robot
2import time
3import threading
4# Stabilisce connessione con il controller robot, restituisce un oggetto robot in caso di successo
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 axis id 1 rtn is {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. Movimento Asse di Espansione UDP
Nuovo nella versione python: SDK-v2.1.4
Prototipo |
|
|---|---|
Descrizione |
Movimento asse di espansione UDP |
Parametri Obbligatori |
|
Parametri Predefiniti |
|
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.41. Esempio di Codice Movimento Asse di Espansione UDP
1from fairino import Robot
2import time
3# Stabilisce connessione con il controller robot, restituisce un oggetto robot in caso di successo
4robot = Robot.RPC('192.168.58.2')
5axisPos = [20,0,0,0]
6robot.ExtAxisMove(axisPos, 50, -1)
7robot.CloseRPC()
8return 0
13.42. Movimento Sincrono Asse di Espansione UDP con Movimento Giunti Robot
Nuovo nella versione python: SDK-v2.0.4
Prototipo |
|
|---|---|
Descrizione |
Movimento sincrono asse di espansione UDP con movimento giunti robot |
Parametri Obbligatori |
|
Parametri Predefiniti |
|
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode; |
13.43. Esempio di Codice Movimento Sincrono Asse di Espansione UDP con Movimento Giunti Robot
1from fairino import Robot
2# Stabilisce connessione con il controller robot, restituisce un oggetto robot in caso di successo
3robot = Robot.RPC('192.168.58.2')
4# Imposta parametri comunicazione UDP e li carica
5robot.ExtDevSetUDPComParam("192.168.58.88", 2021, 2, 100, 3, 100, 1, 100, 10)
6robot.ExtDevLoadUDPDriver()
7# Imposta parametri asse di espansione
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# Abilitazione asse di espansione, home
12robot.ExtAxisServoOn(1, 0)
13robot.ExtAxisSetHoming(1, 0, 20, 3)
14# Calibrazione sistema coordinate asse di espansione
15pos = [] # Inserisci qui le coordinate punto calibrazione
16robot.SetRefPointInExAxisEnd(pos)
17robot.PositionorSetRefPoint(1) # Questa operazione deve essere ripetuta 4 volte (con 4 punti)
18error,coord = robot.PositionorComputeECoordSys()
19robot.ExtAxisActiveECoordSys(1, 1, coord, 1)
20# Punto di partenza e arrivo movimento sincrono
21startdescPose = [] # Inserisci coordinate specifiche
22startjointPos = [] # Inserisci coordinate specifiche
23startexaxisPos = [] # Inserisci coordinate specifiche
24enddescPose = [] # Inserisci coordinate specifiche
25endjointPos = [] # Inserisci coordinate specifiche
26endexaxisPos = [] # Inserisci coordinate specifiche
27# Movimento al punto di partenza
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. Movimento Sincrono Asse di Espansione UDP con Movimento Lineare Robot
Nuovo nella versione python: SDK-v2.1.5
Prototipo |
|
|---|---|
Descrizione |
Movimento sincrono asse di espansione UDP con movimento lineare robot |
Parametri Obbligatori |
|
Parametri Predefiniti |
|
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode; |
13.45. Esempio di Codice Movimento Sincrono Asse di Espansione UDP con Movimento Lineare Robot
1from fairino import Robot
2# Stabilisce connessione con il controller robot, restituisce un oggetto robot in caso di successo
3robot = Robot.RPC('192.168.58.2')
4# Imposta parametri comunicazione UDP e li carica
5robot.ExtDevSetUDPComParam("192.168.58.88", 2021, 2, 100, 3, 100, 1, 100, 10)
6robot.ExtDevLoadUDPDriver()
7# Imposta parametri asse di espansione
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# Abilitazione asse di espansione, home
12robot.ExtAxisServoOn(1, 0)
13robot.ExtAxisSetHoming(1, 0, 20, 3)
14# Calibrazione sistema coordinate asse di espansione
15pos = [] # Inserisci coordinate punto calibrazione
16robot.SetRefPointInExAxisEnd(pos)
17robot.PositionorSetRefPoint(1) # Deve essere chiamato 4 volte per la calibrazione
18error,coord = robot.PositionorComputeECoordSys()
19robot.ExtAxisActiveECoordSys(1, 1, coord, 1)
20# Punto di partenza e arrivo movimento sincrono
21startdescPose = [] # Inserisci coordinate
22startjointPos = [] # Inserisci coordinate
23startexaxisPos = [] # Inserisci coordinate
24enddescPose = [] # Inserisci coordinate
25endjointPos = [] # Inserisci coordinate
26endexaxisPos = [] # Inserisci coordinate
27# Movimento al punto di partenza
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# Esegue movimento lineare sincrono
32robot.ExtAxisSyncMoveL(endjointPos, enddescPose, 1, 1, endexaxisPos, 100, 100, 100, 0, 0, offdese)
33robot.CloseRPC()
13.46. Movimento Sincrono Asse di Espansione UDP con Movimento Arco Robot
Nuovo nella versione python: SDK-v2.1.5
Prototipo |
|
|---|---|
Descrizione |
|
Parametri Obbligatori |
|
Parametri Predefiniti |
|
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode; |
13.47. Esempio di Codice Movimento Sincrono Asse di Espansione UDP con Movimento Arco Robot
1from fairino import Robot
2# Stabilisce connessione con il controller robot, restituisce un oggetto robot in caso di successo
3robot = Robot.RPC('192.168.58.2')
4# Imposta parametri comunicazione UDP e li carica
5robot.ExtDevSetUDPComParam("192.168.58.88", 2021, 2, 100, 3, 100, 1, 100, 10)
6robot.ExtDevLoadUDPDriver()
7# Imposta parametri asse di espansione
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# Abilitazione asse di espansione, home
12robot.ExtAxisServoOn(1, 0)
13robot.ExtAxisSetHoming(1, 0, 20, 3)
14# Calibrazione sistema coordinate asse di espansione
15pos = [] # Inserisci coordinate punto calibrazione
16robot.SetRefPointInExAxisEnd(pos)
17robot.PositionorSetRefPoint(1) # Chiamato 4 volte per completare la calibrazione
18coord = []
19error,coord = robot.PositionorComputeECoordSys()
20robot.ExtAxisActiveECoordSys(1, 1, coord, 1)
21# Punto di partenza, intermedio e arrivo arco sincrono
22startdescPose = []# Inserisci coordinate
23startjointPos = []# Inserisci coordinate
24startexaxisPos =[] # Inserisci coordinate asse di espansione
25middescPose = []# Inserisci punto intermedio
26midjointPos = []
27midexaxisPos =[]
28enddescPose = []
29endjointPos = []
30endexaxisPos =[]
31# Movimento al punto di partenza
32robot.ExtAxisMove(startexaxisPos, 20, -1)
33offdese = [0, 0, 0, 0, 0, 0]
34robot.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)
35# Inizia movimento arco sincrono
36robot.ExtAxisSyncMoveC(midjointPos,middescPose,1,1,midexaxisPos,
37 endjointPos,enddescPose,1,1,endexaxisPos,
38 100,100,0,offdese,
39 100,100,0,offdese,
40 100,0)
41robot.CloseRPC()
13.48. Impostazione DO di Espansione
Nuovo nella versione python: SDK-v2.0.4
Prototipo |
|
|---|---|
Descrizione |
Imposta DO di espansione |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.49. Impostazione AO di Espansione
Nuovo nella versione python: SDK-v2.0.4
Prototipo |
|
|---|---|
Descrizione |
Imposta AO di espansione |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.50. Impostazione Tempo Filtro Ingresso DI di Espansione
Nuovo nella versione python: SDK-v2.0.4
Prototipo |
|
|---|---|
Descrizione |
Imposta il tempo di filtro dell’ingresso DI di espansione |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.51. Impostazione Tempo Filtro Ingresso AI di Espansione
Nuovo nella versione python: SDK-v2.0.4
Prototipo |
|
|---|---|
Descrizione |
Imposta il tempo di filtro dell’ingresso AI di espansione |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.52. Attesa Ingresso DI di Espansione
Nuovo nella versione python: SDK-v2.0.4
Prototipo |
|
|---|---|
Descrizione |
Attesa ingresso DI di espansione |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.53. Attesa Ingresso AI di Espansione
Nuovo nella versione python: SDK-v2.0.4
Prototipo |
|
|---|---|
Descrizione |
Attesa ingresso AI di espansione |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.54. Ottenimento Valore DI di Espansione
Nuovo nella versione python: SDK-v2.0.4
Prototipo |
|
|---|---|
Descrizione |
Ottiene il valore DI di espansione |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
|
13.55. Ottenimento Valore AI di Espansione
Nuovo nella versione python: SDK-v2.0.4
Prototipo |
|
|---|---|
Descrizione |
Ottiene il valore AI di espansione |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
|
13.56. Esempio di Codice I/O di Espansione
1from fairino import Robot
2import time
3import threading
4# Stabilisce connessione con il controller robot, restituisce un oggetto robot in caso di successo
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) # Nota: se la libreria richiede passaggio per riferimento, qui va modificato
25 print(f"DI{i} {curValue}")
26curValue = -1
27for i in range(4):
28 error, curValue = robot.GetAuxAI(i, True) # Nota anche qui problema passaggio per riferimento
29 print(f"AI{i} {curValue}")
30robot.WaitAuxDI(1, False, 1000, False)
31robot.WaitAuxAI(1, 1, 132, 1000, False)
32robot.CloseRPC()
13.57. Abilitazione Dispositivo Mobile
Nuovo nella versione python: SDK-v2.0.5
Prototipo |
|
|---|---|
Descrizione |
Abilitazione dispositivo mobile |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.58. Home Dispositivo Mobile
Nuovo nella versione python: SDK-v2.0.5
Prototipo |
|
|---|---|
Descrizione |
Home dispositivo mobile |
Parametri Obbligatori |
Nessuno |
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.59. Movimento Lineare Dispositivo Mobile
Nuovo nella versione python: SDK-v2.0.5
Prototipo |
|
|---|---|
Descrizione |
Movimento lineare dispositivo mobile |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.60. Movimento Arco Dispositivo Mobile
Nuovo nella versione python: SDK-v2.0.5
Prototipo |
|
|---|---|
Descrizione |
Movimento arco dispositivo mobile |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.61. Stop Movimento Dispositivo Mobile
Nuovo nella versione python: SDK-v2.0.5
Prototipo |
|
|---|---|
Descrizione |
Stop movimento dispositivo mobile |
Parametri Obbligatori |
Nessuno |
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.62. Esempio di Codice Dispositivo Mobile
1from fairino import Robot
2# Stabilisce connessione con il controller robot, restituisce un oggetto robot in caso di successo
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. Registrazione Punto Sensore Laser
Nuovo nella versione python: SDK-v2.1.4
Prototipo |
|
|---|---|
Descrizione |
Registrazione punto sensore laser |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
|
13.64. Esempio di Codice Registrazione Punto Sensore Laser
Nuovo nella versione python: SDK-v2.1.4
1from fairino import Robot
2# Stabilisce connessione con il controller robot, restituisce un oggetto robot in caso di successo
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 is {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. Impostazione Strategia Movimento Sincrono Asse di Espansione con Robot
Nuovo nella versione python: SDK-v2.1.5
Prototipo |
|
|---|---|
Descrizione |
Imposta la strategia di movimento sincrono asse di espansione con robot |
Parametri Obbligatori |
|
Parametri Predefiniti |
Nessuno |
Valore di Ritorno |
Codice errore Successo-0 Fallimento- errcode |
13.66. Esempio di Codice Impostazione Strategia Movimento Sincrono Asse di Espansione con Robot
Nuovo nella versione python: SDK-v2.1.5
1from fairino import Robot
2# Stabilisce connessione con il controller robot, restituisce un oggetto robot in caso di successo
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()