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. Impostare Reset Uscite DO Box Controllo dopo Stop/Pausa

Nuovo nella versione python: SDK-v2.0.5

Prototipo

SetOutputResetCtlBoxDO(resetFlag)

Descrizione

Imposta reset uscite DO box controllo dopo stop/pausa

Parametri Obbligatori

  • resetFlag:0-nessun reset; 1-reset

Parametri Predefiniti

Nessuno

Valore Ritorno

Codice errore successo-0 fallimento- errcode

5.21. Impostare Reset Uscite AO Box Controllo dopo Stop/Pausa

Nuovo nella versione python: SDK-v2.0.5

Prototipo

SetOutputResetCtlBoxAO(resetFlag)

Descrizione

Imposta reset uscite AO box controllo dopo stop/pausa

Parametri Obbligatori

  • resetFlag:0-nessun reset; 1-reset

Parametri Predefiniti

Nessuno

Valore Ritorno

Codice errore successo-0 fallimento- errcode

5.22. Impostare Reset Uscite DO Utensile Terminale dopo Stop/Pausa

Nuovo nella versione python: SDK-v2.0.5

Prototipo

SetOutputResetAxleDO(resetFlag)

Descrizione

Imposta reset uscite DO utensile terminale dopo stop/pausa

Parametri Obbligatori

  • resetFlag:0-nessun reset; 1-reset

Parametri Predefiniti

Nessuno

Valore Ritorno

Codice errore successo-0 fallimento- errcode

5.23. Impostare Reset Uscite AO Utensile Terminale dopo Stop/Pausa

Nuovo nella versione python: SDK-v2.0.5

Prototipo

SetOutputResetAxleAO(resetFlag)

Descrizione

Imposta reset uscite AO utensile terminale dopo stop/pausa

Parametri Obbligatori

  • resetFlag:0-nessun reset; 1-reset

Parametri Predefiniti

Nessuno

Valore Ritorno

Codice errore successo-0 fallimento- errcode

5.24. Impostare Reset Uscite DO Estese dopo Stop/Pausa

Nuovo nella versione python: SDK-v2.0.5

Prototipo

SetOutputResetExtDO(resetFlag)

Descrizione

Imposta reset uscite DO estese dopo stop/pausa

Parametri Obbligatori

  • resetFlag:0-nessun reset; 1-reset

Parametri Predefiniti

Nessuno

Valore Ritorno

Codice errore successo-0 fallimento- errcode

5.25. Impostare Reset Uscite AO Estese dopo Stop/Pausa

Nuovo nella versione python: SDK-v2.0.5

Prototipo

SetOutputResetExtAO(resetFlag)

Descrizione

Imposta reset uscite AO estese dopo stop/pausa

Parametri Obbligatori

  • resetFlag:0-nessun reset; 1-reset

Parametri Predefiniti

Nessuno

Valore Ritorno

Codice errore successo-0 fallimento- errcode

5.26. Impostare Reset Uscite SmartTool dopo Stop/Pausa

Nuovo nella versione python: SDK-v2.0.5

Prototipo

SetOutputResetSmartToolDO(resetFlag)

Descrizione

Imposta reset uscite SmartTool dopo stop/pausa

Parametri Obbligatori

  • resetFlag:reset o meno, 0-nessun reset, 1-reset

Parametri Predefiniti

Nessuno

Valore Ritorno

Codice errore successo-0 fallimento- errcode

5.27. Esempio Codice Reset Output dopo Stop/Pausa Programma LUA

 1from fairino import Robot
 2import time
 3import threading
 4# Stabilire connessione con controller robot, connessione riuscita ritorna oggetto robot
 5robot = Robot.RPC('192.168.58.2')
 6for i in range(16):
 7    robot.SetDO(i, 1, 0, 0)
 8    time.sleep(0.3)
 9resetFlag = 1
10robot.SetOutputResetCtlBoxDO(resetFlag)
11robot.SetOutputResetCtlBoxAO(resetFlag)
12robot.SetOutputResetAxleDO(resetFlag)
13robot.SetOutputResetAxleAO(resetFlag)
14robot.SetOutputResetExtDO(resetFlag)
15robot.SetOutputResetExtAO(resetFlag)
16robot.SetOutputResetSmartToolDO(resetFlag)
17robot.ProgramLoad("/fruser/test0610.lua")
18robot.ProgramRun()
19robot.CloseRPC()