5. IO Robot

5.1. Impostare Uscite Digitali Box Controllo

Prototipo

SetDO(id, status, smooth=0, block=0)

Descrizione

Imposta uscite digitali box controllo

Parametri Obbligatori

  • id:numero io, range [0~15];

  • status:0-spento, 1-acceso;

Parametri Predefiniti

  • smooth:0-nessun smoothing, 1-smoothing default 0;

  • block:0-bloccante, 1-non bloccante default 0

Valore Ritorno

Codice errore successo-0 fallimento- errcode

5.2. Impostare Uscite Digitali Utensile

Prototipo

SetToolDO(id, status, smooth=0, block=0)

Descrizione

Imposta uscite digitali utensile

Parametri Obbligatori

  • id:numero io, range [0~1];

  • status:0-spento, 1-acceso;

Parametri Predefiniti

  • smooth:0-nessun smoothing, 1-smoothing;

  • block:0-bloccante, 1-non bloccante.

Valore Ritorno

Codice errore successo-0 fallimento- errcode

5.3. Impostare Uscite Analogiche Box Controllo

Prototipo

SetAO(id,value,block=0)

Descrizione

Imposta uscite analogiche box controllo

Parametri Obbligatori

  • id:numero io, range [0~1];

  • value:percentuale valore corrente o tensione, range [0~100%] corrisponde corrente [0~20mA] o tensione [0~10V];

Parametri Predefiniti

  • block:[0]-bloccante, [1]-non bloccante default 0

Valore Ritorno

Codice errore successo-0 fallimento- errcode

5.4. Impostare Uscite Analogiche Utensile

Prototipo

SetToolAO(id,value,block=0)

Descrizione

Imposta uscite analogiche utensile

Parametri Obbligatori

  • id:numero io, range [0];

  • value:percentuale valore corrente o tensione, range [0~100%] corrisponde corrente [0~20mA] o tensione [0~10V];

Parametri Predefiniti

  • block:[0]-bloccante, [1]-non bloccante default 0

Valore Ritorno

Codice errore successo-0 fallimento- errcode

5.5. Esempio Codice Impostazione Uscite Digitali/Analogiche

 1from fairino import Robot
 2import time
 3# Stabilire connessione con controller robot, connessione riuscita ritorna oggetto robot
 4robot = Robot.RPC('192.168.58.2')
 5status = 1
 6smooth = 0
 7block = 0
 8for i in range(16):
 9    robot.SetDO(i, status, smooth, block)
10    time.sleep(0.3)
11status = 0
12for i in range(16):
13    robot.SetDO(i, status, smooth, block)
14    time.sleep(0.3)
15status = 1
16for i in range(2):
17    robot.SetToolDO(i, status, smooth, block)
18    time.sleep(1)
19status = 0
20for i in range(2):
21    robot.SetToolDO(i, status, smooth, block)
22    time.sleep(1)
23for i in range(100):
24    robot.SetAO(0, i, block)
25    time.sleep(0.03)
26for i in range(100):
27    robot.SetToolAO(0, i, block)
28    time.sleep(0.03)
29robot.CloseRPC()

5.6. Ottenere Ingressi Digitali Box Controllo

Prototipo

GetDI(id, block=0)

Descrizione

Ottiene ingressi digitali box controllo

Parametri Obbligatori

  • id:numero io, range [0~15];

Parametri Predefiniti

  • block:0-bloccante, 1-non bloccante default 0

Valore Ritorno

  • Codice errore successo-0 fallimento- errcode

  • di: 0-livello basso, 1-livello alto

5.7. Ottenere Ingressi Digitali Utensile

Prototipo

GetToolDI(id, block=0)

Descrizione

Ottiene ingressi digitali utensile

Parametri Obbligatori

  • id:numero io, range [0~1];

Parametri Predefiniti

  • block:0-bloccante, 1-non bloccante default 0

Valore Ritorno

Codice errore successo-0 fallimento- errcode - di: 0-livello basso, 1-livello alto

5.8. Ottenere Ingressi Analogici Box Controllo

Prototipo

GetAI(id, block = 0)

Descrizione

Ottiene ingressi analogici box controllo

Parametri Obbligatori

  • id:numero io, range [0~1];

Parametri Predefiniti

  • block:0-bloccante, 1-non bloccante default 0

Valore Ritorno

  • Codice errore successo-0 fallimento- errcode

  • value: Percentuale valore corrente o tensione input, range [0~100] corrisponde corrente [0~20mA] o tensione [0~10V]

5.9. Ottenere Ingressi Analogici Utensile

Prototipo

GetToolAI(id, block = 0)

Descrizione

Ottiene ingressi analogici terminale

Parametri Obbligatori

  • id:numero io, range [0];

Parametri Predefiniti

  • block:0-bloccante, 1-non bloccante default 0

Valore Ritorno

  • Codice errore successo-0 fallimento- errcode

  • value: Percentuale valore corrente o tensione input, range [0~100] corrisponde corrente [0~20mA] o tensione [0~10V]

5.10. Ottenere Stato Pulsante Registrazione Punto Terminale Robot

Prototipo

GetAxlePointRecordBtnState()

Descrizione

Ottiene stato pulsante registrazione punto terminale robot

Parametri Obbligatori

Nessuno

Parametri Predefiniti

Nessuno

Valore Ritorno

  • Codice errore successo-0 fallimento- errcode

  • buttonstatus: Stato pulsante, 0-premuto, 1-rilasciato

5.11. Ottenere Stato Uscite DO Terminale Robot

Prototipo

GetToolDO()

Descrizione

Ottiene stato uscite DO terminale robot

Parametri Obbligatori

Nessuno

Parametri Predefiniti

Nessuno

Valore Ritorno

  • Codice errore successo-0 fallimento- errcode

  • do_state: Stato uscite DO, do0~do1 corrisponde bit1~bit2, da bit0 inizio

5.12. Ottenere Stato Uscite DO Controller Robot

Prototipo

GetDO()

Descrizione

Ottiene stato uscite DO controller robot

Parametri Obbligatori

Nessuno

Parametri Predefiniti

Nessuno

Valore Ritorno

  • Codice errore successo-0 fallimento- errcode

  • do_state_h: Stato uscite DO, co0~co7 corrisponde bit0~bit7 do_state_l Stato uscite DO, do0~do7 corrisponde bit0~bit7

5.13. Esempio Codice Stato DI, DO Robot

 1from fairino import Robot
 2import time
 3# Stabilire connessione con controller robot, connessione riuscita ritorna oggetto robot
 4robot = Robot.RPC('192.168.58.2')
 5block = 0
 6error,di = robot.GetDI(0, block)
 7print(f"di0: {di}")
 8error,tool_di = robot.GetToolDI(1, block)
 9print(f"tool_di1: {tool_di}")
10error,ai = robot.GetAI(0, block)
11print(f"ai0: {ai:.2f}")
12error,tool_ai = robot.GetToolAI(0, block)
13print(f"tool_ai0: {tool_ai:.2f}")
14error,button_state = robot.GetAxlePointRecordBtnState()
15print(f"_button_state is: {button_state}")
16error,tool_do_state = robot.GetToolDO()
17print(f"tool DO state: {tool_do_state}")
18error,[do_state_h, do_state_l] = robot.GetDO()
19print(f"DO state hight  : {do_state_h}")
20print(f"DO state low : {do_state_l}")
21robot.CloseRPC()

5.14. Attendere Ingressi Digitali Box Controllo

Prototipo

WaitDI(id,status,maxtime,opt)

Descrizione

Attende ingressi digitali box controllo

Parametri Obbligatori

  • id:numero io, range [0~15];

  • status:0-spento, 1-acceso;

  • maxtime:tempo attesa massimo, unità [ms];

  • opt:strategia dopo timeout, 0-programma ferma e indica timeout, 1-ignora timeout indica programma continua esecuzione, 2-attesa continua

Parametri Predefiniti

Nessuno

Valore Ritorno

Codice errore successo-0 fallimento- errcode

5.15. Attendere Ingressi Digitali Multipli Box Controllo

Prototipo

WaitMultiDI(mode,id,status,maxtime,opt)

Descrizione

Attende ingressi digitali multipli box controllo

Parametri Obbligatori

  • mode:[0]-AND multiplo, [1]-OR multiplo;

  • id:numero io, bit0~bit7 corrisponde DI0~DI7, bit8~bit15 corrisponde CI0~CI7;

  • status:bit0~bit7 corrisponde stato DI0~DI7, bit8~bit15 corrisponde stato bit CI0~CI7 [0]-spento, [1]-acceso;

  • maxtime:tempo attesa massimo, unità [ms];

  • opt:strategia dopo timeout, 0-programma ferma e indica timeout, 1-ignora timeout indica programma continua esecuzione, 2-attesa continua.

Parametri Predefiniti

Nessuno

Valore Ritorno

Codice errore successo-0 fallimento- errcode

5.16. Attendere Ingressi Digitali Utensile

Prototipo

WaitToolDI(id,status,maxtime,opt)

Descrizione

Attende ingressi digitali terminale

Parametri Obbligatori

  • id:numero io, range [0~1];

  • status:0-spento, 1-acceso;

  • maxtime:tempo attesa massimo, unità [ms];

  • opt:strategia dopo timeout, 0-programma ferma e indica timeout, 1-ignora timeout indica programma continua esecuzione, 2-attesa continua

Parametri Predefiniti

Nessuno

Valore Ritorno

Codice errore successo-0 fallimento- errcode

5.17. Attendere Ingressi Analogici Box Controllo

Prototipo

WaitAI(id,sign,value,maxtime,opt)

Descrizione

Attende ingressi analogici box controllo

Parametri Obbligatori

  • id:numero io, range [0~1];

  • sign:0-maggiore, 1-minore

  • value:percentuale valore corrente o tensione input, range [0~100] corrisponde corrente [0~20mA] o tensione [0~10V];

  • maxtime:tempo attesa massimo, unità [ms];

  • opt:strategia dopo timeout, 0-programma ferma e indica timeout, 1-ignora timeout indica programma continua esecuzione, 2-attesa continua

Parametri Predefiniti

Nessuno

Valore Ritorno

Codice errore successo-0 fallimento- errcode

5.18. Attendere Ingressi Analogici Utensile

Prototipo

WaitToolAI(id,sign,value,maxtime,opt)

Descrizione

Attende ingressi analogici terminale

Parametri Obbligatori

  • id:numero io, range [0];

  • sign:0-maggiore, 1-minore

  • value:percentuale valore corrente o tensione input, range [0~100] corrisponde corrente [0~20mA] o tensione [0~10V];

  • maxtime:tempo attesa massimo, unità [ms];

  • opt:strategia dopo timeout, 0-programma ferma e indica timeout, 1-ignora timeout indica programma continua esecuzione, 2-attesa continua

Parametri Predefiniti

Nessuno

Valore Ritorno

Codice errore successo-0 fallimento- errcode

5.19. Esempio Codice Attesa Segnali Input Digitali/Analogici Box Controllo

 1from fairino import Robot
 2# Stabilire connessione con controller robot, connessione riuscita ritorna oggetto robot
 3robot = Robot.RPC('192.168.58.2')
 4status = 1
 5smooth = 0
 6block = 0
 7for i in range(16):
 8    robot.SetDO(i, status, smooth, block)
 9    time.sleep(0.3)
10status = 0
11for i in range(16):
12    robot.SetDO(i, status, smooth, block)
13    time.sleep(0.3)
14status = 1
15for i in range(2):
16    robot.SetToolDO(i, status, smooth, block)
17    time.sleep(1)
18status = 0
19for i in range(2):
20    robot.SetToolDO(i, status, smooth, block)
21    time.sleep(1)
22for i in range(100):
23    robot.SetAO(0, i, block)
24    time.sleep(0.03)
25for i in range(100):
26    robot.SetToolAO(0, i, block)
27    time.sleep(0.03)
28block = 0
29error,di = robot.GetDI(0, block)
30print(f"di0: {di}")
31error,tool_di = robot.GetToolDI(1, block)
32print(f"tool_di1: {tool_di}")
33error,ai = robot.GetAI(0, block)
34print(f"ai0: {ai:.2f}")
35error,tool_ai = robot.GetToolAI(0, block)
36print(f"tool_ai0: {tool_ai:.2f}")
37error,button_state = robot.GetAxlePointRecordBtnState()
38print(f"_button_state is: {button_state}")
39error,tool_do_state = robot.GetToolDO()
40print(f"tool DO state: {tool_do_state}")
41error,[do_state_h, do_state_l] = robot.GetDO()
42print(f"DO state hight  : {do_state_h}")
43print(f"DO state low : {do_state_l}")
44rtn = robot.WaitDI(0, 1, 1000, 1)
45print(f"WaitDI over; rtn is: {rtn}")
46rtn = robot.WaitMultiDI(1, 3, 3, 1000, 1)
47print(f"WaitDI over; rtn is: {rtn}")
48rtn = robot.WaitToolDI(1, 1, 1000, 1)
49print(f"WaitDI over; rtn is: {rtn}")
50rtn = robot.WaitAI(0, 0, 50, 1000, 1)
51print(f"WaitDI over; rtn is: {rtn}")
52rtn = robot.WaitToolAI(0, 0, 50, 1000, 1)
53print(f"WaitDI over; rtn is: {rtn}")
54robot.CloseRPC()

5.20. Imposta Se Output DO Scatola Controllo Si Ripristina Dopo Stop/Pausa

Nuovo nella versione python: SDK-v2.0.5

Prototipo

SetOutputResetCtlBoxDO(resetFlag,reloadFlag)

Descrizione

Imposta se l’output DO della scatola di controllo si ripristina dopo stop/pausa

Parametri Obbligatori

  • resetFlag:0-Non ripristina; 1-Ripristina

  • reloadFlag:Se ricaricare dopo ripresa pausa, 0-Non caricare; 1-Carica

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice errore Successo-0 Fallimento- errcode

5.21. Imposta Se Output AO Scatola Controllo Si Ripristina Dopo Stop/Pausa

Nuovo nella versione python: SDK-v2.0.5

Prototipo

SetOutputResetCtlBoxAO(resetFlag,reloadFlag)

Descrizione

Imposta se l’output AO della scatola di controllo si ripristina dopo stop/pausa

Parametri Obbligatori

  • resetFlag:0-Non ripristina; 1-Ripristina

  • reloadFlag:Se ricaricare dopo ripresa pausa, 0-Non caricare; 1-Carica

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice errore Successo-0 Fallimento- errcode

5.22. Imposta Se Output DO Utensile Terminale Si Ripristina Dopo Stop/Pausa

Nuovo nella versione python: SDK-v2.0.5

Prototipo

SetOutputResetAxleDO(resetFlag,reloadFlag)

Descrizione

Imposta se l’output DO dell’utensile terminale si ripristina dopo stop/pausa

Parametri Obbligatori

  • resetFlag:0-Non ripristina; 1-Ripristina

  • reloadFlag:Se ricaricare dopo ripresa pausa, 0-Non caricare; 1-Carica

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice errore Successo-0 Fallimento- errcode

5.23. Imposta Se Output AO Utensile Terminale Si Ripristina Dopo Stop/Pausa

Nuovo nella versione python: SDK-v2.0.5

Prototipo

SetOutputResetAxleAO(resetFlag,reloadFlag)

Descrizione

Imposta se l’output AO dell’utensile terminale si ripristina dopo stop/pausa

Parametri Obbligatori

  • resetFlag:0-Non ripristina; 1-Ripristina

  • reloadFlag:Se ricaricare dopo ripresa pausa, 0-Non caricare; 1-Carica

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice errore Successo-0 Fallimento- errcode

5.24. Imposta Se Output DO Esteso Si Ripristina Dopo Stop/Pausa

Nuovo nella versione python: SDK-v2.0.5

Prototipo

SetOutputResetExtDO (resetFlag,reloadFlag)

Descrizione

Imposta se l’output DO esteso si ripristina dopo stop/pausa

Parametri Obbligatori

  • resetFlag:0-Non ripristina; 1-Ripristina

  • reloadFlag:Se ricaricare dopo ripresa pausa, 0-Non caricare; 1-Carica

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice errore Successo-0 Fallimento- errcode

5.25. Imposta Se Output AO Esteso Si Ripristina Dopo Stop/Pausa

Nuovo nella versione python: SDK-v2.0.5

Prototipo

SetOutputResetExtAO (resetFlag,reloadFlag)

Descrizione

Imposta se l’output AO esteso si ripristina dopo stop/pausa

Parametri Obbligatori

  • resetFlag:0-Non ripristina; 1-Ripristina

  • reloadFlag:Se ricaricare dopo ripresa pausa, 0-Non caricare; 1-Carica

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice errore Successo-0 Fallimento- errcode

5.26. Imposta Se Output SmartTool Si Ripristina Dopo Stop/Pausa

Nuovo nella versione python: SDK-v2.0.5

Prototipo

SetOutputResetSmartToolDO(resetFlag,reloadFlag)

Descrizione

Imposta se l’output SmartTool si ripristina dopo stop/pausa

Parametri Obbligatori

  • resetFlag:0-Non ripristina; 1-Ripristina

  • reloadFlag:Se ricaricare dopo ripresa pausa, 0-Non caricare; 1-Carica

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice errore Successo-0 Fallimento- errcode

5.27. Esempio Codice Impostazione Ripristino Output Dopo Stop/Pausa Programma Lua

 1from fairino import Robot
 2import time
 3robot = Robot.RPC('192.168.58.2')
 4for i in range(16):
 5    robot.SetDO(i, 1, 0, 0)
 6    time.sleep(0.2)
 7resetFlag = 0
 8resumeReloadFlag = 0
 9rtn = robot.SetOutputResetCtlBoxDO(resetFlag, resumeReloadFlag)
10robot.SetOutputResetCtlBoxAO(resetFlag, resumeReloadFlag)
11robot.SetOutputResetAxleDO(resetFlag, resumeReloadFlag)
12robot.SetOutputResetAxleAO(resetFlag, resumeReloadFlag)
13robot.SetOutputResetExtDO(resetFlag, resumeReloadFlag)
14robot.SetOutputResetExtAO(resetFlag, resumeReloadFlag)
15robot.SetOutputResetSmartToolDO(resetFlag, resumeReloadFlag)
16robot.ProgramLoad("/fruser/test.lua")
17robot.ProgramRun()
18time.sleep(2)
19robot.PauseMotion()
20time.sleep(2)
21robot.ResumeMotion()
22time.sleep(2)
23robot.CloseRPC()
24return 0

5.28. Impostare le Funzioni delle Porte CI Configurabili

Prototipo

SetDIConfig(config)

Descrizione

Imposta le funzioni delle porte CI configurabili

Parametri Obbligatori

  • config: Array codici funzione CI0-CI7, 0-Nessuna;1-Avvio arco riuscito;2-Saldatrice pronta;3-Rilevamento nastro trasportatore;4-Pausa;5-Riprendi;6-Avvio;7-Arresto; 8-Pausa/Riprendi;9-Avvio/Arresto;10-Trascinamento a pedale;11-Spostamento a origine lavoro;12-Commutazione manuale/automatica; 13-Ricerca filo riuscita;14-Interruzione movimento;15-Avvio programma principale;16-Avvio riavvolgimento;17-Conferma avvio; 18-Segnale rilevamento fotoelettrico X;19-Segnale rilevamento fotoelettrico Y;20-Segnale ingresso arresto emergenza esterno 1;21-Segnale ingresso arresto emergenza esterno 2; 22-Modalità riduzione livello 1;23-Modalità riduzione livello 2;24-Modalità riduzione livello 3 (Arresto);25-Riprendi saldatura;26-Termina saldatura; 27-Abilita trascinamento assistito;28-Disabilita trascinamento assistito;29-Abilita/Disabilita trascinamento assistito;30-Cancella tutti gli errori; 31-Commutazione manuale/automatica (livello alto/basso);32-Abilita;33-Disabilita;34-Abilita/Disabilita (fronte di salita/discesa);35-Avvio/ fine inseguimento punto fisso

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice di errore Successo-0 Fallimento-errcode

5.29. Ottenere le Funzioni delle Porte CI Configurabili del Box di Controllo

Prototipo

GetDIConfig()

Descrizione

Ottiene le funzioni delle porte CI configurabili del box di controllo

Parametri Obbligatori

  • config: Array codici funzione CI0-CI7, 0-Nessuna;1-Avvio arco riuscito;2-Saldatrice pronta;3-Rilevamento nastro trasportatore;4-Pausa;5-Riprendi;6-Avvio;7-Arresto; 8-Pausa/Riprendi;9-Avvio/Arresto;10-Trascinamento a pedale;11-Spostamento a origine lavoro;12-Commutazione manuale/automatica; 13-Ricerca filo riuscita;14-Interruzione movimento;15-Avvio programma principale;16-Avvio riavvolgimento;17-Conferma avvio; 18-Segnale rilevamento fotoelettrico X;19-Segnale rilevamento fotoelettrico Y;20-Segnale ingresso arresto emergenza esterno 1;21-Segnale ingresso arresto emergenza esterno 2; 22-Modalità riduzione livello 1;23-Modalità riduzione livello 2;24-Modalità riduzione livello 3 (Arresto);25-Riprendi saldatura;26-Termina saldatura; 27-Abilita trascinamento assistito;28-Disabilita trascinamento assistito;29-Abilita/Disabilita trascinamento assistito;30-Cancella tutti gli errori; 31-Commutazione manuale/automatica (livello alto/basso);32-Abilita;33-Disabilita;34-Abilita/Disabilita (fronte di salita/discesa);35-Avvio/ fine inseguimento punto fisso

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice di errore Successo-0 Fallimento-errcode

5.30. Impostare le Funzioni delle Porte CO Configurabili

Prototipo

SetDOConfig(config)

Descrizione

Imposta le funzioni delle porte CO configurabili

Parametri Obbligatori

  • config: Array codici funzione CO0-CO7, 0-Nessuna;1-Errore robot;2-Robot in movimento;3-Avvio/arresto spruzzatura;4-Pulizia pistola spruzzo;5-Segnale gas;6-Segnale avvio arco;7-Alimentazione filo a impulsi; 8-Alimentazione filo inversa;9-Ingresso JOB 1;10-Ingresso JOB 2;11-Ingresso JOB 3;12-Controllo avvio/arresto nastro trasportatore;13-Robot in pausa;14-Origine lavoro raggiunta; 15-Area di interferenza raggiunta;16-Controllo avvio/arresto ricerca filo;17-Avvio robot completato;18-Avvio/arresto programma;19-Modalità automatica/manuale;20-Segnale uscita arresto emergenza 1-Sicurezza; 21-Segnale uscita arresto emergenza 2-Sicurezza;22-Esecuzione/arresto programma script Lua;23-Uscita stato sicurezza-Sicurezza;24-Uscita stato arresto protettivo-Sicurezza; 25-Robot in movimento-Sicurezza;26-Modalità ridotta robot-Sicurezza;27-Modalità non ridotta robot-Sicurezza;28-Robot non arrestato;29-Errore robot-Errore punto istruzione; 30-Errore robot-Errore driver;31-Errore robot-Limite software superato;32-Errore robot-Errore collisione;33-Errore robot-Errore numero slave attivi; 34-Errore robot-Errore slave;35-Errore robot-Errore IO;36-Errore robot-Errore gripper;37-Errore robot-Errore file;38-Errore robot-Errore posa singolare; 39-Errore robot-Errore comunicazione driver;40-Errore robot-Errore parametro;41-Errore robot-Asse esterno limite software superato;42-Avviso robot-Avviso; 43-Avviso robot-Avviso porta sicurezza;44-Avviso robot-Avviso movimento;45-Avviso robot-Avviso area interferenza;46-Avviso robot-Avviso parete sicurezza; 47-Stato abilitazione;48-Sollevamento automatico durante disconnessione;49-Avviso interferenza cubo 1;50-Avviso interferenza cubo 2;51-Avviso interferenza cubo 3;52-Avviso interferenza cubo 4;

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice di errore Successo-0 Fallimento-errcode

5.31. Ottenere le Funzioni delle Porte CO Configurabili

Prototipo

GetDOConfig()

Descrizione

Ottiene le funzioni delle porte CO configurabili

Parametri Obbligatori

  • config: Array codici funzione CO0-CO7, 0-Nessuna;1-Errore robot;2-Robot in movimento;3-Avvio/arresto spruzzatura;4-Pulizia pistola spruzzo;5-Segnale gas;6-Segnale avvio arco;7-Alimentazione filo a impulsi; 8-Alimentazione filo inversa;9-Ingresso JOB 1;10-Ingresso JOB 2;11-Ingresso JOB 3;12-Controllo avvio/arresto nastro trasportatore;13-Robot in pausa;14-Origine lavoro raggiunta; 15-Area di interferenza raggiunta;16-Controllo avvio/arresto ricerca filo;17-Avvio robot completato;18-Avvio/arresto programma;19-Modalità automatica/manuale;20-Segnale uscita arresto emergenza 1-Sicurezza; 21-Segnale uscita arresto emergenza 2-Sicurezza;22-Esecuzione/arresto programma script Lua;23-Uscita stato sicurezza-Sicurezza;24-Uscita stato arresto protettivo-Sicurezza; 25-Robot in movimento-Sicurezza;26-Modalità ridotta robot-Sicurezza;27-Modalità non ridotta robot-Sicurezza;28-Robot non arrestato;29-Errore robot-Errore punto istruzione; 30-Errore robot-Errore driver;31-Errore robot-Limite software superato;32-Errore robot-Errore collisione;33-Errore robot-Errore numero slave attivi; 34-Errore robot-Errore slave;35-Errore robot-Errore IO;36-Errore robot-Errore gripper;37-Errore robot-Errore file;38-Errore robot-Errore posa singolare; 39-Errore robot-Errore comunicazione driver;40-Errore robot-Errore parametro;41-Errore robot-Asse esterno limite software superato;42-Avviso robot-Avviso; 43-Avviso robot-Avviso porta sicurezza;44-Avviso robot-Avviso movimento;45-Avviso robot-Avviso area interferenza;46-Avviso robot-Avviso parete sicurezza; 47-Stato abilitazione;48-Sollevamento automatico durante disconnessione;49-Avviso interferenza cubo 1;50-Avviso interferenza cubo 2;51-Avviso interferenza cubo 3;52-Avviso interferenza cubo 4;

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice di errore Successo-0 Fallimento-errcode

5.32. Impostare le Funzioni delle Porte End-CI Configurabili dell’End-Effector

Prototipo

SetToolDIConfig(config)

Descrizione

Imposta le funzioni delle porte End-CI configurabili dell’end-effector

Parametri Obbligatori

  • config: Array codici funzione End CI0-CI1, 0-Nessuna;1-Interruttore strumento insegnamento a trascinamento;2-Segnale registrazione punto;3-Commutazione manuale/automatica (segnale impulsivo);4-Avvio/arresto registrazione TPD;5-Pausa movimento; 6-Riprendi movimento;7-Avvio;8-Arresto;9-Pausa/Riprendi;10-Avvio/Arresto;11-Abilita trascinamento assistito sensore di forza;12-Disabilita trascinamento assistito sensore di forza; 13-Abilita/Disabilita trascinamento assistito sensore di forza;14-Segnale rilevamento laser X;15-Segnale rilevamento laser Y;16-Movimento PTP verso origine lavoro;17-Interruzione movimento, arresta movimento corrente in base al segnale; 18-Avvio programma principale;19-Avvio riavvolgimento;20-Conferma avvio;21-Riprendi saldatura;22-Termina saldatura;23-Cancella errore;24-Commutazione manuale/automatica (livello alto/basso); 25-Abilita;26-Disabilita;27-Abilita/Disabilita;28-Segnale avvio/arresto inseguimento servocomando laser;

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice di errore Successo-0 Fallimento-errcode

5.33. Ottenere le Funzioni delle Porte End-CI Configurabili dell’End-Effector

Prototipo

GetToolDIConfig()

Descrizione

Ottiene le funzioni delle porte End-CI configurabili dell’end-effector

Parametri Obbligatori

  • config: Array codici funzione End CI0-CI1, 0-Nessuna;1-Interruttore strumento insegnamento a trascinamento;2-Segnale registrazione punto;3-Commutazione manuale/automatica (segnale impulsivo);4-Avvio/arresto registrazione TPD;5-Pausa movimento; 6-Riprendi movimento;7-Avvio;8-Arresto;9-Pausa/Riprendi;10-Avvio/Arresto;11-Abilita trascinamento assistito sensore di forza;12-Disabilita trascinamento assistito sensore di forza; 13-Abilita/Disabilita trascinamento assistito sensore di forza;14-Segnale rilevamento laser X;15-Segnale rilevamento laser Y;16-Movimento PTP verso origine lavoro;17-Interruzione movimento, arresta movimento corrente in base al segnale; 18-Avvio programma principale;19-Avvio riavvolgimento;20-Conferma avvio;21-Riprendi saldatura;22-Termina saldatura;23-Cancella errore;24-Commutazione manuale/automatica (livello alto/basso); 25-Abilita;26-Disabilita;27-Abilita/Disabilita;28-Segnale avvio/arresto inseguimento servocomando laser;

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice di errore Successo-0 Fallimento-errcode

5.34. Impostare lo Stato Attivo CI Configurabile del Box di Controllo

Prototipo

SetDIConfigLevel(config)

Descrizione

Imposta lo stato attivo CI configurabile del box di controllo

Parametri Obbligatori

  • config: Array stato attivo porte CI0-CI7; 0-attivo alto; 1-attivo basso

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice di errore Successo-0 Fallimento-errcode

5.35. Ottenere lo Stato Attivo CI Configurabile del Box di Controllo

Prototipo

GetDIConfigLevel()

Descrizione

Ottiene lo stato attivo CI configurabile del box di controllo

Parametri Obbligatori

  • config: Array stato attivo porte CI0-CI7; 0-attivo alto; 1-attivo basso

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice di errore Successo-0 Fallimento-errcode

5.36. Impostare lo Stato Attivo CO Configurabile del Box di Controllo

Prototipo

SetDOConfigLevel(config)

Descrizione

Imposta lo stato attivo CO configurabile del box di controllo

Parametri Obbligatori

  • config: Array stato attivo porte CO0-CO7; 0-attivo alto; 1-attivo basso

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice di errore Successo-0 Fallimento-errcode

5.37. Ottenere lo Stato Attivo CO Configurabile del Box di Controllo

Prototipo

GetDOConfigLevel()

Descrizione

Ottiene lo stato attivo CO configurabile del box di controllo

Parametri Obbligatori

  • config: Array stato attivo porte CO0-CO7; 0-attivo alto; 1-attivo basso

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice di errore Successo-0 Fallimento-errcode

5.38. Impostare lo Stato Attivo CI Configurabile dell’End-Effector

Prototipo

SetToolDIConfigLevel(config)

Descrizione

Imposta lo stato attivo CI configurabile dell’end-effector

Parametri Obbligatori

  • config: Array stato attivo porte CI0-CI7; 0-attivo alto; 1-attivo basso

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice di errore Successo-0 Fallimento-errcode

5.39. Ottenere lo Stato Attivo CI Configurabile dell’End-Effector

Prototipo

GetToolDIConfigLevel()

Descrizione

Ottiene lo stato attivo CI configurabile dell’end-effector

Parametri Obbligatori

  • config: Array stato attivo porte CI0-CI7; 0-attivo alto; 1-attivo basso

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice di errore Successo-0 Fallimento-errcode

5.40. Impostare lo Stato Attivo DI Standard del Box di Controllo

Prototipo

SetStandardDILevel(config)

Descrizione

Imposta lo stato attivo DI standard del box di controllo

Parametri Obbligatori

  • config: Array stato attivo porte DI0-DI7; 0-attivo alto; 1-attivo basso

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice di errore Successo-0 Fallimento-errcode

5.41. Ottenere lo Stato Attivo DI Standard del Box di Controllo

Prototipo

GetStandardDILevel()

Descrizione

Ottiene lo stato attivo DI standard del box di controllo

Parametri Obbligatori

  • config: Array stato attivo porte DI0-DI7; 0-attivo alto; 1-attivo basso

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice di errore Successo-0 Fallimento-errcode

5.42. Impostare lo Stato Attivo DO Standard del Box di Controllo

Prototipo

SetStandardDOLevel(config)

Descrizione

Imposta lo stato attivo DO standard del box di controllo

Parametri Obbligatori

  • config: Array stato attivo porte DO0-DO7; 0-attivo alto; 1-attivo basso

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice di errore Successo-0 Fallimento-errcode

5.43. Ottenere lo Stato Attivo DO Standard del Box di Controllo

Prototipo

GetStandardDOLevel()

Descrizione

Ottiene lo stato attivo DO standard del box di controllo

Parametri Obbligatori

  • config: Array stato attivo porte DO0-DO7; 0-attivo alto; 1-attivo basso

Parametri Predefiniti

Nessuno

Valore di Ritorno

Codice di errore Successo-0 Fallimento-errcode

5.44. Esempio di Codice SDK per Configurazione IO

 1from time import sleep
 2import time
 3from fairino import Robot
 4
 5# Stabilire la connessione con il controller del robot
 6robot = Robot.RPC('192.168.58.2')
 7
 8
 9def TestIOConfig(self):
10    # Imposta e ottiene configurazione DI
11    setDIConfig = [1, 2, 3, 4, 5, 6, 7, 8]
12    getDIConfig = [0] * 8
13    rtn = robot.SetDIConfig(setDIConfig)
14    print(f"SetDIConfig rtn is {rtn}")
15    rtn, getDIConfig = robot.GetDIConfig()
16    print(f"GetDIConfig rtn is {rtn}, value is {getDIConfig[0]} {getDIConfig[1]} {getDIConfig[2]} {getDIConfig[3]} {getDIConfig[4]} {getDIConfig[5]} {getDIConfig[6]} {getDIConfig[7]}")
17
18    # Imposta e ottiene configurazione DO
19    setDOConfig = [9, 10, 11, 12, 13, 14, 15, 16]
20    getDOConfig = [0] * 8
21    rtn = robot.SetDOConfig(setDOConfig)
22    print(f"SetDOConfig rtn is {rtn}")
23    rtn, getDOConfig = robot.GetDOConfig()
24    print(f"GetDOConfig rtn is {rtn}, value is {getDOConfig[0]} {getDOConfig[1]} {getDOConfig[2]} {getDOConfig[3]} {getDOConfig[4]} {getDOConfig[5]} {getDOConfig[6]} {getDOConfig[7]}")
25
26    # Imposta e ottiene configurazione DI utensile
27    setToolDIConfig = [17, 18]
28    getToolDIConfig = [0] * 2
29    rtn = robot.SetToolDIConfig(setToolDIConfig)
30    print(f"SetToolDIConfig rtn is {rtn}")
31    rtn, getToolDIConfig = robot.GetToolDIConfig()
32    print(f"GetToolDIConfig rtn is {rtn}, value is {getToolDIConfig[0]} {getToolDIConfig[1]}")
33
34    # Imposta e ottiene configurazione livello DI (0: attivo basso, 1: attivo alto)
35    setDIConfigLevel = [1, 1, 1, 1, 0, 0, 0, 0]
36    getDIConfigLevel = [0] * 8
37    rtn = robot.SetDIConfigLevel(setDIConfigLevel)
38    print(f"SetDIConfigLevel rtn is {rtn}")
39    rtn, getDIConfigLevel = robot.GetDIConfigLevel()
40    print(f"GetDIConfigLevel rtn is {rtn}, value is {getDIConfigLevel[0]} {getDIConfigLevel[1]} {getDIConfigLevel[2]} {getDIConfigLevel[3]} {getDIConfigLevel[4]} {getDIConfigLevel[5]} {getDIConfigLevel[6]} {getDIConfigLevel[7]}")
41
42    # Imposta e ottiene configurazione livello DO (0: attivo basso, 1: attivo alto)
43    setDOConfigLevel = [0, 0, 0, 0, 1, 1, 1, 1]
44    getDOConfigLevel = [0] * 8
45    rtn = robot.SetDOConfigLevel(setDOConfigLevel)
46    print(f"SetDOConfigLevel rtn is {rtn}")
47    rtn, getDOConfigLevel = robot.GetDOConfigLevel()
48    print(f"GetDOConfigLevel rtn is {rtn}, value is {getDOConfigLevel[0]} {getDOConfigLevel[1]} {getDOConfigLevel[2]} {getDOConfigLevel[3]} {getDOConfigLevel[4]} {getDOConfigLevel[5]} {getDOConfigLevel[6]} {getDOConfigLevel[7]}")
49
50    # Imposta e ottiene configurazione livello DI utensile
51    setToolDIConfigLevel = [1, 0]
52    getToolDIConfigLevel = [0] * 2
53    rtn = robot.SetToolDIConfigLevel(setToolDIConfigLevel)
54    print(f"SetToolDIConfigLevel rtn is {rtn}")
55    rtn, getToolDIConfigLevel = robot.GetToolDIConfigLevel()
56    print(f"GetToolDIConfigLevel rtn is {rtn}, value is {getToolDIConfigLevel[0]} {getToolDIConfigLevel[1]}")
57
58    # Imposta e ottiene configurazione livello DI standard
59    setStandardDILevel = [1, 1, 1, 1, 0, 0, 0, 0]
60    getStandardDILevel = [0] * 8
61    rtn = robot.SetStandardDILevel(setStandardDILevel)
62    print(f"SetStandardDILevel rtn is {rtn}")
63    rtn, getStandardDILevel = robot.GetStandardDILevel()
64    print(f"GetStandardDILevel rtn is {rtn}, value is {getStandardDILevel[0]} {getStandardDILevel[1]} {getStandardDILevel[2]} {getStandardDILevel[3]} {getStandardDILevel[4]} {getStandardDILevel[5]} {getStandardDILevel[6]} {getStandardDILevel[7]}")
65
66    # Imposta e ottiene configurazione livello DO standard
67    setStandardDOLevel = [0, 0, 0, 0, 1, 1, 1, 1]
68    getStandardDOLevel = [0] * 8
69    rtn = robot.SetStandardDOLevel(setStandardDOLevel)
70    print(f"SetStandardDOLevel rtn is {rtn}")
71    rtn, getStandardDOLevel = robot.GetStandardDOLevel()
72    print(f"GetStandsrdDOLevel rtn is {rtn}, value is {getStandardDOLevel[0]} {getStandardDOLevel[1]} {getStandardDOLevel[2]} {getStandardDOLevel[3]} {getStandardDOLevel[4]} {getStandardDOLevel[5]} {getStandardDOLevel[6]} {getStandardDOLevel[7]}")
73
74    # Attendi 2 secondi
75    time.sleep(2)
76
77    # Chiudi connessione
78    robot.CloseRPC()
79    time.sleep(1)
80
81# Chiama la funzione di test
82TestIOConfig(robot)