8. Query dello Stato del Robot

8.1. Ottenere la Posizione Corrente dei Giunti (Gradi)

Prototipo

GetActualJointPosDegree(flag=1)

Descrizione

Ottiene la posizione corrente dei giunti (gradi)

Parametri Obbligatori

Nessuno

Parametri Predefiniti

  • flag: 0-blocco, 1-non bloccante, predefinito 1

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • joint_pos=[j1,j2,j3,j4,j5,j6]: Posizione corrente dei giunti (gradi)

8.2. Ottenere la Posizione Corrente dei Giunti (Radianti)

Prototipo

GetActualJointPosRadian(flag=1)

Descrizione

Ottiene la posizione corrente dei giunti (radianti)

Parametri Obbligatori

Nessuno

Parametri Predefiniti

  • flag: 0-blocco, 1-non bloccante, predefinito 1

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • joint_pos=[j1,j2,j3,j4,j5,j6]: Posizione corrente dei giunti (radianti)

8.3. Ottenere la Velocità di Feedback dei Giunti - deg/s

Prototipo

GetActualJointSpeedsDegree(flag=1)

Descrizione

Ottiene la velocità di feedback dei giunti - deg/s

Parametri Obbligatori

Nessuno

Parametri Predefiniti

  • flag: 0-blocco, 1-non bloccante, predefinito 1

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • speed=[j1,j2,j3,j4,j5,j6]: Velocità di feedback dei giunti - deg/s

8.4. Ottenere l’Accelerazione di Feedback dei Giunti - deg/s²

Prototipo

GetActualJointAccDegree(flag=1)

Descrizione

Ottiene l’accelerazione di feedback dei giunti - deg/s²

Parametri Obbligatori

Nessuno

Parametri Predefiniti

  • flag: 0-blocco, 1-non bloccante, predefinito 1

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • acc=[j1,j2,j3,j4,j5,j6]: Accelerazione di feedback dei giunti - deg/s²

8.5. Ottenere la Velocità Composita TCP di Comando

Prototipo

GetTargetTCPCompositeSpeed(flag=1)

Descrizione

Ottiene la velocità composita TCP di comando

Parametri Obbligatori

Nessuno

Parametri Predefiniti

  • flag: 0-blocco, 1-non bloccante, predefinito 1

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • [tcp_speed,ori_speed]: tcp_speed-velocità composita lineare, ori_speed-velocità composita di orientamento

8.6. Ottenere la Velocità Composita TCP di Feedback

Prototipo

GetActualTCPCompositeSpeed(flag=1)

Descrizione

Ottiene la velocità composita TCP di feedback

Parametri Obbligatori

Nessuno

Parametri Predefiniti

  • flag: 0-blocco, 1-non bloccante, predefinito 1

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • [tcp_speed,ori_speed]: tcp_speed-velocità composita lineare, ori_speed-velocità composita di orientamento

8.7. Ottenere la Velocità TCP di Comando

Prototipo

GetTargetTCPSpeed(flag=1)

Descrizione

Ottiene la velocità TCP di comando

Parametri Obbligatori

Nessuno

Parametri Predefiniti

  • flag: 0-blocco, 1-non bloccante, predefinito 1

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • speed=[x,y,z,rx,ry,rz]: Velocità TCP di comando, mm/s

8.8. Ottenere la Velocità TCP di Feedback

Prototipo

GetActualTCPSpeed(flag=1)

Descrizione

Ottiene la velocità TCP di feedback

Parametri Obbligatori

Nessuno

Parametri Predefiniti

  • flag: 0-blocco, 1-non bloccante, predefinito 1

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • speed=[x,y,z,rx,ry,rz]: Velocità TCP di feedback

8.9. Ottenere la Posa Corrente dello Strumento

Prototipo

GetActualTCPPose(flag=1)

Descrizione

Ottiene la posa corrente dello strumento

Parametri Obbligatori

Nessuno

Parametri Predefiniti

  • flag: 0-blocco, 1-non bloccante, predefinito 1

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • tcp_pose=[x,y,z,rx,ry,rz]: Posa corrente dello strumento

8.10. Ottenere il Numero del Sistema di Coordinate dello Strumento Corrente

Prototipo

GetActualTCPNum(flag=1)

Descrizione

Ottiene il numero del sistema di coordinate dello strumento corrente

Parametri Obbligatori

Nessuno

Parametri Predefiniti

  • flag: 0-blocco, 1-non bloccante, predefinito 1

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • tool_id: Numero del sistema di coordinate dello strumento

8.11. Ottenere il Numero del Sistema di Coordinate del Pezzo in Lavorazione Corrente

Prototipo

GetActualWObjNum(flag=1)

Descrizione

Ottiene il numero del sistema di coordinate del pezzo in lavorazione corrente

Parametri Obbligatori

Nessuno

Parametri Predefiniti

  • flag: 0-blocco, 1-non bloccante, predefinito 1

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • wobj_id: Numero del sistema di coordinate del pezzo in lavorazione

8.12. Ottenere la Posa Corrente della Flangia Terminale

Prototipo

GetActualToolFlangePose(flag=1)

Descrizione

Ottiene la posa corrente della flangia terminale

Parametri Obbligatori

Nessuno

Parametri Predefiniti

  • flag: 0-blocco, 1-non bloccante, predefinito 1

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • flange_pose=[x,y,z,rx,ry,rz]: Posa corrente della flangia terminale

8.13. Ottenere la Coppia Corrente dei Giunti

Prototipo

GetJointTorques(flag=1)

Descrizione

Ottiene la coppia corrente dei giunti

Parametri Obbligatori

Nessuno

Parametri Predefiniti

flag: 0-blocco, 1-non bloccante, predefinito 1

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • torques=[j1,j2,j3,j4,j5,j6]: Coppia dei giunti

8.14. Ottenere l’Ora di Sistema

Prototipo

GetSystemClock()

Descrizione

Ottiene l’ora di sistema

Parametri Obbligatori

Nessuno

Parametri Predefiniti

Nessuno

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • t_ms: Ora di sistema, unità [ms]

8.15. Verificare se il Movimento del Robot è Completato

Prototipo

GetRobotMotionDone()

Descrizione

Verifica se il movimento del robot è completato

Parametri Obbligatori

Nessuno

Parametri Predefiniti

Nessuno

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • state: Stato del movimento del robot, 0-non completato, 1-completato

8.16. Verificare la Lunghezza della Coda di Movimento del Robot

Prototipo

GetMotionQueueLength()

Descrizione

Verifica la lunghezza della coda di movimento del robot

Parametri Obbligatori

Nessuno

Parametri Predefiniti

Nessuno

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • len: Lunghezza della coda

8.17. Ottenere lo Stato di Arresto di Emergenza del Robot

Prototipo

GetRobotEmergencyStopState()

Descrizione

Ottiene lo stato di arresto di emergenza del robot

Parametri Obbligatori

Nessuno

Parametri Predefiniti

Nessuno

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • state: Stato di arresto di emergenza, 0-normale, 1-arresto di emergenza

8.18. Ottenere lo Stato di Comunicazione SDK-Robot

Prototipo

GetSDKComState()

Descrizione

Ottiene lo stato di comunicazione SDK-robot

Parametri Obbligatori

Nessuno

Parametri Predefiniti

Nessuno

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • state: Stato di comunicazione, 0-normale, 1-anomalo

8.19. Ottenere il Segnale di Arresto di Sicurezza

Prototipo

GetSafetyStopState()

Descrizione

Ottiene il segnale di arresto di sicurezza

Parametri Obbligatori

Nessuno

Parametri Predefiniti

Nessuno

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • [si0_state,si1_state]: si0_state segnale di arresto di sicurezza SI0, 0-invalido, 1-valido; si1_state segnale di arresto di sicurezza SI1, 0-invalido, 1-valido

8.20. Ottenere la Temperatura Corrente dei Driver dei Giunti (°C)

Prototipo

GetJointDriverTemperature()

Descrizione

Ottiene la temperatura corrente dei driver dei giunti (°C)

Parametri Obbligatori

Nessuno

Parametri Predefiniti

Nessuno

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • data=[t1,t2,t3,t4,t5,t6]: Temperatura corrente di ciascun giunto

8.21. Ottenere la Coppia Corrente dei Driver dei Giunti (Nm)

Prototipo

GetJointDriverTorque()

Descrizione

Ottiene la coppia corrente dei driver dei giunti (Nm)

Parametri Obbligatori

Nessuno

Parametri Predefiniti

Nessuno

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • data=[j1,j2,j3,j4,j5,j6]: Coppia dei giunti [fx,fy,fz,tx,ty,tz]

8.22. Ottenere lo Stato del Robot

Prototipo

GetRobotRealTimeState()

Descrizione

Ottiene lo stato del robot

Parametri Obbligatori

Nessuno

Parametri Predefiniti

Nessuno

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • robot_state_pkg: Struttura dello stato del robot

8.23. Esempio di Codice per la Query dello Stato del Robot

 1from fairino import Robot
 2# Stabilisce la connessione con il controller del robot, restituisce un oggetto robot se ha successo
 3robot = Robot.RPC('192.168.58.2')
 4error,[yangle, zangle] = robot.GetRobotInstallAngle()
 5print(f"yangle:{yangle},zangle:{zangle}")
 6error,j_deg = robot.GetActualJointPosDegree(0)
 7print(f"joint pos deg:{j_deg[0]},{j_deg[1]},{j_deg[2]},{j_deg[3]},{j_deg[4]},{j_deg[5]}")
 8error,jointSpeed = robot.GetActualJointSpeedsDegree(0)
 9print(f"joint speeds deg:{jointSpeed[0]},{jointSpeed[1]},{jointSpeed[2]},{jointSpeed[3]},{jointSpeed[4]},{jointSpeed[5]}")
10error,jointAcc = robot.GetActualJointAccDegree(0)
11print(f"joint acc deg:{jointAcc[0]},{jointAcc[1]},{jointAcc[2]},{jointAcc[3]},{jointAcc[4]},{jointAcc[5]}")
12error,[tcp_speed, ori_speed] = robot.GetTargetTCPCompositeSpeed(0)
13print(f"GetTargetTCPCompositeSpeed tcp {tcp_speed}; ori {ori_speed}")
14error,[tcp_speed, ori_speed] = robot.GetActualTCPCompositeSpeed(0)
15print(f"GetActualTCPCompositeSpeed tcp {tcp_speed}; ori {ori_speed}")
16error,targetSpeed = robot.GetTargetTCPSpeed(0)
17print(f"GetTargetTCPSpeed {targetSpeed[0]},{targetSpeed[1]},{targetSpeed[2]},{targetSpeed[3]},{targetSpeed[4]},{targetSpeed[5]}")
18error,actualSpeed = robot.GetActualTCPSpeed(0)
19print(f"GetActualTCPSpeed {actualSpeed[0]},{actualSpeed[1]},{actualSpeed[2]},{actualSpeed[3]},{actualSpeed[4]},{actualSpeed[5]}")
20error,tcp = robot.GetActualTCPPose(0)
21print(f"tcp pose:{tcp[0]},{tcp[1]},{tcp[2]},{tcp[3]},{tcp[4]},{tcp[5]}")
22error,flange = robot.GetActualToolFlangePose(0)
23print(f"flange pose:{flange[0]},{flange[1]},{flange[2]},{flange[3]},{flange[4]},{flange[5]}")
24error,id = robot.GetActualTCPNum(0)
25print(f"tcp num:{id}")
26error,id = robot.GetActualWObjNum(0)
27print(f"wobj num:{id}")
28error,jtorque = robot.GetJointTorques(0)
29print(f"torques:{jtorque[0]},{jtorque[1]},{jtorque[2]},{jtorque[3]},{jtorque[4]},{jtorque[5]}")
30error,t_ms = robot.GetSystemClock()
31print(f"system clock:{t_ms}")
32error,config = robot.GetRobotCurJointsConfig()
33print(f"joint config:{config}")
34error,motionDone = robot.GetRobotMotionDone()
35print(f"GetRobotMotionDone:{motionDone}")
36error,len = robot.GetMotionQueueLength()
37print(f"GetMotionQueueLength:{len}")
38error,emergState = robot.GetRobotEmergencyStopState()
39print(f"GetRobotEmergencyStopState:{emergState}")
40error,comstate = robot.GetSDKComState()
41print(f"GetSDKComState:{comstate}")
42error,[si0_state, si1_state] = robot.GetSafetyStopState()
43print(f"GetSafetyStopState:{si0_state} {si1_state}")
44error,temp = robot.GetJointDriverTemperature()
45print(f"Temperature:{temp[0]},{temp[1]},{temp[2]},{temp[3]},{temp[4]},{temp[5]}")
46error,torque = robot.GetJointDriverTorque()
47print(f"torque:{torque[0]},{torque[1]},{torque[2]},{torque[3]},{torque[4]},{torque[5]}")
48error,pkg = robot.GetRobotRealTimeState()
49robot.CloseRPC()

8.24. Soluzione di Cinematica Inversa

Prototipo

GetInverseKin(type,desc_pos,config=-1)

Descrizione

Cinematica inversa, posa cartesiana per risolvere la posizione dei giunti

Parametri Obbligatori

  • type: 0-posa assoluta (sistema di coordinate base), 1-posa relativa (sistema di coordinate base), 2-posa relativa (sistema di coordinate strumento)

  • desc_pose: [x,y,z,rx,ry,rz], posa dello strumento, unità [mm][°]

Parametri Predefiniti

  • config: Configurazione dei giunti, [-1]-risolvi con riferimento alla posizione corrente dei giunti, [0~7]-risolvi secondo la configurazione dei giunti, predefinito -1

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • joint_pos=[j1,j2,j3,j4,j5,j6]: Soluzione di cinematica inversa, posa cartesiana per risolvere la posizione dei giunti

8.25. Soluzione di Cinematica Inversa - Posizione di Riferimento Specificata

Prototipo

GetInverseKinRef(type,desc_pos,joint_pos_ref)

Descrizione

Cinematica inversa, posa dello strumento per risolvere la posizione dei giunti, risolvi con riferimento alla posizione dei giunti specificata

Parametri Obbligatori

  • type: 0-posa assoluta (sistema di coordinate base), 1-posa relativa (sistema di coordinate base), 2-posa relativa (sistema di coordinate strumento)

  • desc_pos: [x,y,z,rx,ry,rz] posa dello strumento, unità [mm][°]

  • joint_pos_ref: [j1,j2,j3,j4,j5,j6], posizione di riferimento dei giunti, unità [°]

Parametri Predefiniti

Nessuno

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • joint_pos=[j1,j2,j3,j4,j5,j6]: Soluzione di cinematica inversa, posa dello strumento per risolvere la posizione dei giunti

8.26. Soluzione Cinematica Inversa, Spazio Cartesiano Include Posizione Asse Esteso

Prototipo

GetInverseKinExaxis(type, desc_pos, exaxis, tool, workPiece)

Descrizione

Soluzione cinematica inversa, spazio cartesiano include posizione asse esteso

Parametri Obbligatori

  • type: 0-Posa assoluta (sistema coordinate base), 1-Posa incrementale (sistema coordinate base), 2-Posa incrementale (sistema coordinate utensile)

  • desc_pos: Posa cartesiana

  • exaxis: Posizione asse esteso

  • tool: Numero utensile

  • workPiece: Numero pezzo

Parametri Predefiniti

Nessuno

Valore di Ritorno

  • Codice errore Successo-0 Fallimento- errcode

  • joint_pos: Posizione giunto

8.27. Esempio Codice Soluzione Cinematica Inversa con Posizione Asse Esteso

 1from fairino import Robot
 2import time
 3robot = Robot.RPC('192.168.58.2')
 4desc = [99.957, -0.002, 29.994, -176.569, -6.757, -167.462]
 5exaxis = [100.0, 0.0, 0.0, 0.0]
 6jointPos = [0.0] * 6
 7offsetPos = [0.0] * 6
 8rtn,pkg = robot.GetRobotRealTimeState()
 9toolnum = pkg.tool
10workPcsNum = pkg.user
11rtn, jointPos = robot.GetInverseKinExaxis(0, desc, exaxis, toolnum, workPcsNum)
12print(f"GetInverseKinExaxis joint is {jointPos[0]},{jointPos[1]},{jointPos[2]},{jointPos[3]},{jointPos[4]},{jointPos[5]}")
13robot.ExtAxisMove(exaxis, 100, -1)
14robot.MoveJ(joint_pos=jointPos, desc_pos=desc, tool=toolnum, user=workPcsNum, vel=100.0, acc=100.0, ovl=100.0, exaxis_pos=exaxis, blendT=-1, offset_flag=0, offset_pos=offsetPos)
15robot.CloseRPC()
16return 0

8.28. Soluzione di Cinematica Inversa - Esistenza della Soluzione

Prototipo

GetInverseKinHasSolution(type,desc_pos,joint_pos_ref)

Descrizione

Cinematica inversa, verifica se esiste una soluzione per la posa dello strumento per risolvere la posizione dei giunti

Parametri Obbligatori

  • type: 0-posa assoluta (sistema di coordinate base), 1-posa relativa (sistema di coordinate base), 2-posa relativa (sistema di coordinate strumento)

  • desc_pos: [x,y,z,rx,ry,rz] posa dello strumento, unità [mm][°]

  • joint_pos_ref: [j1,j2,j3,j4,j5,j6], posizione di riferimento dei giunti, unità [°]

Parametri Predefiniti

Nessuno

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • result: True-esiste soluzione, False-nessuna soluzione

8.29. Soluzione di Cinematica Diretta

Prototipo

GetForwardKin(joint_pos)

Descrizione

Cinematica diretta, posizione dei giunti per risolvere la posa dello strumento

Parametri Obbligatori

  • joint_pos: [j1,j2,j3,j4,j5,j6]: Posizione dei giunti, unità [°]

Parametri Predefiniti

Nessuno

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • desc_pos=[x,y,z,rx,ry,rz]: Soluzione di cinematica diretta, posizione dei giunti per risolvere la posa dello strumento

8.30. Esempio di Codice per il Calcolo della Cinematica Diretta/Inversa del Robot

 1from fairino import Robot
 2# Stabilisce la connessione con il controller del robot, restituisce un oggetto robot se ha successo
 3robot = Robot.RPC('192.168.58.2')
 4j1 = [-11.904, -99.669, 117.473, -108.616, -91.726, 74.256]
 5desc_pos1 = [-419.524, -13.000, 351.569, -178.118, 0.314, 3.833]
 6error, inverseRtn = robot.GetInverseKin(0, desc_pos=desc_pos1, config=-1)
 7print(f"dcs1 GetInverseKin rtn is {inverseRtn[0]}, {inverseRtn[1]}, {inverseRtn[2]}, "
 8      f"{inverseRtn[3]}, {inverseRtn[4]}, {inverseRtn[5]}")
 9error, inverseRtn = robot.GetInverseKinRef(0, desc_pos=desc_pos1, joint_pos_ref=j1)
10print(f"dcs1 GetInverseKinRef rtn is {inverseRtn[0]}, {inverseRtn[1]}, {inverseRtn[2]}, "
11      f"{inverseRtn[3]}, {inverseRtn[4]}, {inverseRtn[5]}")
12error, hasResult = robot.GetInverseKinHasSolution(0, desc_pos=desc_pos1, joint_pos_ref=j1)
13print(f"dcs1 GetInverseKinRef result {hasResult}")
14error, forwordResult = robot.GetForwardKin(j1)
15print(f"jpos1 forwordResult rtn is {forwordResult[0]}, {forwordResult[1]}, {forwordResult[2]}, "
16      f"{forwordResult[3]}, {forwordResult[4]}, {forwordResult[5]}")
17robot.CloseRPC()

8.31. Query dei Dati dei Punti di Gestione dell’Insegnamento del Robot

Prototipo

GetRobotTeachingPoint(name)

Descrizione

Interroga i dati dei punti di gestione dell’insegnamento del robot

Parametri Obbligatori

name: Nome del punto

Parametri Predefiniti

Nessuno

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • [x,y,z,rx,ry,rz,j1,j2,j3,j4,j5,j6,tool,wobj,speed,acc,e1,e2,e3,e4]: Dati del punto

8.32. Ottenere i Parametri di Compensazione DH

Nuovo nella versione python: SDK-v2.0.1

Prototipo

GetDHCompensation()

Descrizione

Ottiene i parametri di compensazione DH

Parametri Obbligatori

Nessuno

Parametri Predefiniti

Nessuno

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • dhCompensation=[cmpstD1,cmpstA2,cmpstA3,cmpstD4,cmpstD5,cmpstD6]: Valori di compensazione dei parametri DH del robot (mm)

8.33. Ottenere il Codice SN del Controllore

Nuovo nella versione python: SDK-v2.1.1

Prototipo

GetRobotSN()

Descrizione

Ottiene il codice SN del controllore

Parametri Obbligatori

Nessuno

Parametri Predefiniti

Nessuno

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • SNCode: Codice SN del controllore

8.34. Esempio di Codice per la Query dei Dati dei Punti di Gestione dell’Insegnamento del Robot

 1from fairino import Robot
 2# Stabilisce la connessione con il controller del robot, restituisce un oggetto robot se ha successo
 3robot = Robot.RPC('192.168.58.2')
 4name = "P1"
 5rtn, data = robot.GetRobotTeachingPoint(name)
 6print(f"{rtn} name is: {name}")
 7for i in range(20):
 8    print(f"data is: {data[i]}")
 9rtn,que_len = robot.GetMotionQueueLength()
10print(f"GetMotionQueueLength rtn is: {rtn}, queue length is: {que_len}")
11retval,dh = robot.GetDHCompensation()
12print(f"retval is: {retval}")
13print(f"dh is: {dh[0]} {dh[1]} {dh[2]} {dh[3]} {dh[4]} {dh[5]}")
14error,sn = robot.GetRobotSN()
15print(f"robot SN is {sn[0]}")
16robot.CloseRPC()

8.35. Ottenere il Sistema di Coordinate dello Strumento per Numero

Nuovo nella versione python: SDK-v2.1.6

Prototipo

GetToolCoordWithID(id)

Descrizione

Ottiene il sistema di coordinate dello strumento per numero

Parametri Obbligatori

  • id: Numero del sistema di coordinate dello strumento

Parametri Predefiniti

Nessuno

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • coord: Valore del sistema di coordinate

8.36. Ottenere il Sistema di Coordinate del Pezzo in Lavorazione per Numero

Nuovo nella versione python: SDK-v2.1.6

Prototipo

GetWObjCoordWithID(id)

Descrizione

Ottiene il sistema di coordinate del pezzo in lavorazione per numero

Parametri Obbligatori

  • id: Numero del sistema di coordinate del pezzo in lavorazione

Parametri Predefiniti

Nessuno

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • coord: Valore del sistema di coordinate

8.37. Ottenere il Sistema di Coordinate dello Strumento Esterno per Numero

Nuovo nella versione python: SDK-v2.1.6

Prototipo

GetExToolCoordWithID(id)

Descrizione

Ottiene il sistema di coordinate dello strumento esterno per numero

Parametri Obbligatori

  • id: Numero del sistema di coordinate dello strumento esterno

Parametri Predefiniti

Nessuno

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • coord: Valore del sistema di coordinate

8.38. Ottenere il Sistema di Coordinate dell’Asse Esteso per Numero

Nuovo nella versione python: SDK-v2.1.6

Prototipo

GetExAxisCoordWithID(id)

Descrizione

Ottiene il sistema di coordinate dell’asse esteso per numero

Parametri Obbligatori

  • id: Numero del sistema di coordinate dell’asse esteso

Parametri Predefiniti

Nessuno

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • coord: Valore del sistema di coordinate

8.39. Ottenere Massa del Carico e Centro di Gravità per Numero

Nuovo nella versione python: SDK-v2.1.6

Prototipo

GetTargetPayloadWithID(id)

Descrizione

Ottiene massa del carico e centro di gravità per numero

Parametri Obbligatori

  • id: Numero del sistema di coordinate dell’asse esteso

Parametri Predefiniti

Nessuno

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • weight: Massa del carico

  • cog: Centro di gravità del carico

8.40. Ottenere il Sistema di Coordinate dello Strumento Corrente

Nuovo nella versione python: SDK-v2.1.6

Prototipo

GetCurToolCoord()

Descrizione

Ottiene il sistema di coordinate dello strumento corrente

Parametri Obbligatori

Nessuno

Parametri Predefiniti

Nessuno

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • coord: Valore del sistema di coordinate

8.41. Ottenere il Sistema di Coordinate del Pezzo in Lavorazione Corrente

Nuovo nella versione python: SDK-v2.1.6

Prototipo

GetCurWObjCoord()

Descrizione

Ottiene il sistema di coordinate del pezzo in lavorazione corrente

Parametri Obbligatori

Nessuno

Parametri Predefiniti

Nessuno

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • coord: Valore del sistema di coordinate

8.42. Ottenere il Sistema di Coordinate dello Strumento Esterno Corrente

Nuovo nella versione python: SDK-v2.1.6

Prototipo

GetCurExToolCoord()

Descrizione

Ottiene il sistema di coordinate dello strumento esterno corrente

Parametri Obbligatori

Nessuno

Parametri Predefiniti

Nessuno

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • coord: Valore del sistema di coordinate

8.43. Ottenere il Sistema di Coordinate dell’Asse Esteso Corrente

Nuovo nella versione python: SDK-v2.1.6

Prototipo

GetCurExAxisCoord()

Descrizione

Ottiene il sistema di coordinate dell’asse esteso corrente

Parametri Obbligatori

Nessuno

Parametri Predefiniti

Nessuno

Valore di Ritorno

  • Codice di errore: Successo-0 Fallimento-errcode

  • coord: Valore del sistema di coordinate

8.44. Esempio di Codice per Ottenere i Sistemi di Coordinate e il Carico del Robot

 1from fairino import Robot
 2# Stabilisce la connessione con il controller del robot, restituisce un oggetto robot se ha successo
 3robot = Robot.RPC('192.168.58.2')
 4id = 1
 5toolCoord = [0.0] * 6
 6extoolCoord = [0.0] * 6
 7wobjCoord = [0.0] * 6
 8exAxisCoord = [0.0] * 6
 9for i in range(100):
10    print(f"L'ID corrente è:{id}")
11    coordSet0 = [0.0] * 6
12    coordSet = [1.0, 2.0, 3.0, 4.0, 5.0, 6.0]
13    etcp = [10.0, 20.0, 30.0, 40.0, 50.0, 60.0]
14    etool = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6]
15    cog = [1.0, 2.0, 3.0]
16    if i % 2 == 0:
17        robot.SetToolCoord(id, coordSet, 0, 0, 1, 0)
18        time.sleep(0.1)
19        robot.SetWObjCoord(id, coordSet, 0)
20        time.sleep(0.1)
21        robot.ExtAxisActiveECoordSys(id, 1, coordSet, 1)
22        time.sleep(0.1)
23        rtn = robot.SetExToolCoord(id, etcp, etool)
24        time.sleep(0.1)
25        rtn = robot.SetLoadWeight(id, 1.5)
26        time.sleep(0.1)
27        rtn = robot.SetLoadCoord(cog[0],cog[1],cog[2],id)
28        time.sleep(0.1)
29    else:
30        robot.SetToolCoord(id, coordSet0, 0, 0, 1, 0)
31        time.sleep(0.1)
32        robot.SetWObjCoord(id, coordSet0, 0)
33        time.sleep(0.1)
34        robot.ExtAxisActiveECoordSys(id, 1, coordSet0, 1)
35        time.sleep(0.1)
36        rtn = robot.SetExToolCoord(id, coordSet0, coordSet0)
37        time.sleep(0.1)
38        rtn = robot.SetLoadWeight(id, 0)
39        time.sleep(0.1)
40        rtn = robot.SetLoadCoord(coordSet0[0],coordSet0[1],coordSet0[2] , id)
41        time.sleep(0.1)
42    rtn, toolCoord = robot.GetCurToolCoord()
43    print(f"GetToolCoord {toolCoord[0]},{toolCoord[1]},{toolCoord[2]},{toolCoord[3]},{toolCoord[4]},{toolCoord[5]}")
44    rtn, wobjCoord = robot.GetCurWObjCoord()
45    print(f"GetWObjCoord {wobjCoord[0]},{wobjCoord[1]},{wobjCoord[2]},{wobjCoord[3]},{wobjCoord[4]},{wobjCoord[5]}")
46    rtn, extoolCoord = robot.GetCurExToolCoord()
47    print(f"GetExToolCoord {extoolCoord[0]},{extoolCoord[1]},{extoolCoord[2]},{extoolCoord[3]},{extoolCoord[4]},{extoolCoord[5]}")
48    rtn, exAxisCoord = robot.GetCurExAxisCoord()
49    print(f"GetExAxisCoord {exAxisCoord[0]},{exAxisCoord[1]},{exAxisCoord[2]},{exAxisCoord[3]},{exAxisCoord[4]},{exAxisCoord[5]}")
50    weight = 0.0
51    getCog = [0.0] * 3
52    rtn, weight = robot.GetTargetPayload(0)
53    rtn, getCog = robot.GetTargetPayloadCog(0)
54    print(f"GetTargetPayload {weight},{getCog[0]},{getCog[1]},{getCog[2]}")
55
56    rtn, toolCoord = robot.GetToolCoordWithID(id)
57    print(f"GetToolCoordWithID {id},{toolCoord[0]},{toolCoord[1]},{toolCoord[2]},{toolCoord[3]},{toolCoord[4]},{toolCoord[5]}")
58    rtn, wobjCoord = robot.GetWObjCoordWithID(id)
59    print(f"GetWObjCoordWithID {id},{wobjCoord[0]},{wobjCoord[1]},{wobjCoord[2]},{wobjCoord[3]},{wobjCoord[4]},{wobjCoord[5]}")
60    rtn, extoolCoord = robot.GetExToolCoordWithID(id)
61    print(f"GetExToolCoordWithID {id},{extoolCoord[0]},{extoolCoord[1]},{extoolCoord[2]},{extoolCoord[3]},{extoolCoord[4]},{extoolCoord[5]}")
62    rtn, exAxisCoord = robot.GetExAxisCoordWithID(id)
63    print(f"GetExAxisCoordWithID {id},{exAxisCoord[0]},{exAxisCoord[1]},{exAxisCoord[2]},{exAxisCoord[3]},{exAxisCoord[4]},{exAxisCoord[5]}")
64    weight = 0.0
65    getCog = [0.0] * 3
66    rtn, weight, getCog = robot.GetTargetPayloadWithID(id)
67    print(f"GetTargetPayloadWithID {id},{weight},{getCog[0]},{getCog[1]},{getCog[2]}")
68    time.sleep(0.5)
69    print(f"volte {i}")