5. Roboter-I/O

5.1. Digitalausgang des Steuerkastens setzen

Prototyp

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

Beschreibung

Digitalausgang des Steuerkastens setzen

Erforderliche Parameter

  • id: IO-Nummer, Bereich [0~15]

  • status: 0 = aus, 1 = ein

Standardparameter

  • smooth: 0 = nicht glätten, 1 = glätten, Standard = 0

  • block: 0 = blockierend, 1 = nicht blockierend, Standard = 0

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

5.2. Digitalausgang des Werkzeugs setzen

Prototyp

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

Beschreibung

Digitalausgang des Werkzeugs setzen

Erforderliche Parameter

  • id: IO-Nummer, Bereich [0~1]

  • status: 0 = aus, 1 = ein

Standardparameter

  • smooth: 0 = nicht glätten, 1 = glätten, Standard = 0

  • block: 0 = blockierend, 1 = nicht blockierend, Standard = 0

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

5.3. Analogausgang des Steuerkastens setzen

Prototyp

SetAO(id, value, block=0)

Beschreibung

Analogausgang des Steuerkastens setzen

Erforderliche Parameter

  • id: IO-Nummer, Bereich [0~1]

  • value: Prozentwert des Stroms oder der Spannung, Bereich [0~100%] entspricht [0~20mA] oder [0~10V]

Standardparameter

  • block: 0 = blockierend, 1 = nicht blockierend, Standard = 0

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

5.4. Analogausgang des Werkzeugs setzen

Prototyp

SetToolAO(id, value, block=0)

Beschreibung

Analogausgang des Werkzeugs setzen

Erforderliche Parameter

  • id: IO-Nummer, Bereich [0]

  • value: Prozentwert des Stroms oder der Spannung, Bereich [0~100%] entspricht [0~20mA] oder [0~10V]

Standardparameter

  • block: 0 = blockierend, 1 = nicht blockierend, Standard = 0

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

5.5. Codebeispiel zum Setzen von Digital- und Analogausgängen

 1from fairino import Robot
 2import time
 3# Verbindung zur Robotersteuerung herstellen, bei Erfolg wird ein Roboterobjekt zurückgegeben
 4robot = Robot.RPC('192.168.58.2')
 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. Digitaleingang des Steuerkastens abrufen

Prototyp

GetDI(id, block=0)

Beschreibung

Digitaleingang des Steuerkastens abrufen

Erforderliche Parameter

  • id: IO-Nummer, Bereich [0~15]

Standardparameter

  • block: 0 = blockierend, 1 = nicht blockierend, Standard = 0

Rückgabewert

  • Fehlercode: 0 = Erfolg, sonst Fehlercode

  • di: 0 = niedriger Pegel, 1 = hoher Pegel

5.7. Digitaleingang des Werkzeugs abrufen

Prototyp

GetToolDI(id, block=0)

Beschreibung

Digitaleingang des Werkzeugs abrufen

Erforderliche Parameter

  • id: IO-Nummer, Bereich [0~1]

Standardparameter

  • block: 0 = blockierend, 1 = nicht blockierend, Standard = 0

Rückgabewert

  • Fehlercode: 0 = Erfolg, sonst Fehlercode

  • di: 0 = niedriger Pegel, 1 = hoher Pegel

5.8. Analogeingang des Steuerkastens abrufen

Prototyp

GetAI(id, block=0)

Beschreibung

Analogeingang des Steuerkastens abrufen

Erforderliche Parameter

  • id: IO-Nummer, Bereich [0~1]

Standardparameter

  • block: 0 = blockierend, 1 = nicht blockierend, Standard = 0

Rückgabewert

  • Fehlercode: 0 = Erfolg, sonst Fehlercode

  • value: Prozentwert des Eingangsstroms oder der -spannung, Bereich [0~100] entspricht [0~20mA] oder [0~10V]

5.9. Analogeingang des Werkzeugs abrufen

Prototyp

GetToolAI(id, block=0)

Beschreibung

Analogeingang des Endeffektors abrufen

Erforderliche Parameter

  • id: IO-Nummer, Bereich [0]

Standardparameter

  • block: 0 = blockierend, 1 = nicht blockierend, Standard = 0

Rückgabewert

  • Fehlercode: 0 = Erfolg, sonst Fehlercode

  • value: Prozentwert des Eingangsstroms oder der -spannung, Bereich [0~100] entspricht [0~20mA] oder [0~10V]

5.10. Status der Aufnahmetaste am Roboterende abrufen

Prototyp

GetAxlePointRecordBtnState()

Beschreibung

Status der Aufnahmetaste am Roboterende abrufen

Erforderliche Parameter

Keine

Standardparameter

Keine

Rückgabewert

  • Fehlercode: 0 = Erfolg, sonst Fehlercode

  • buttonstatus: Tastenstatus, 0 = gedrückt, 1 = losgelassen

5.11. Ausgangszustand des Werkzeug-DO abrufen

Prototyp

GetToolDO()

Beschreibung

Ausgangszustand des Werkzeug-DO abrufen

Erforderliche Parameter

Keine

Standardparameter

Keine

Rückgabewert

  • Fehlercode: 0 = Erfolg, sonst Fehlercode

  • do_state: DO-Ausgangszustand, do0~do1 entsprechen Bit1~Bit2, beginnend bei Bit0

5.12. Ausgangszustand des Robotercontroller-DO abrufen

Prototyp

GetDO()

Beschreibung

Ausgangszustand des Robotercontroller-DO abrufen

Erforderliche Parameter

Keine

Standardparameter

Keine

Rückgabewert

  • Fehlercode: 0 = Erfolg, sonst Fehlercode

  • do_state_h: DO-Ausgangszustand, co0~co7 entsprechen Bit0~Bit7

5.13. Codebeispiel zum Abrufen von DI- und DO-Status

 1from fairino import Robot
 2import time
 3# Verbindung zur Robotersteuerung herstellen, bei Erfolg wird ein Roboterobjekt zurückgegeben
 4robot = Robot.RPC('192.168.58.2')
 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. Auf Digitaleingang des Steuerkastens warten

Prototyp

WaitDI(id, status, maxtime, opt)

Beschreibung

Auf Digitaleingang des Steuerkastens warten

Erforderliche Parameter

  • id: IO-Nummer, Bereich [0~15]

  • status: 0 = aus, 1 = ein

  • maxtime: Maximale Wartezeit [ms]

  • opt: Strategie bei Timeout: 0 = Programm stoppen und Timeout melden, 1 = Timeout ignorieren und Programm fortsetzen, 2 = unbegrenzt warten

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

5.15. Auf mehrere Digitaleingänge des Steuerkastens warten

Prototyp

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

Beschreibung

Auf mehrere Digitaleingänge des Steuerkastens warten

Erforderliche Parameter

  • mode: 0 = UND-Verknüpfung, 1 = ODER-Verknüpfung

  • id: IO-Nummern als Bitmaske: Bit0~Bit7 für DI0~DI7, Bit8~Bit15 für CI0~CI7

  • status: Erwarteter Zustand als Bitmaske: Bit0~Bit7 für DI0~DI7, Bit8~Bit15 für CI0~CI7, Bit = 0 = aus, Bit = 1 = ein

  • maxtime: Maximale Wartezeit [ms]

  • opt: Strategie bei Timeout: 0 = Programm stoppen und Timeout melden, 1 = Timeout ignorieren und Programm fortsetzen, 2 = unbegrenzt warten

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

5.16. Auf Digitaleingang des Werkzeugs warten

Prototyp

WaitToolDI(id, status, maxtime, opt)

Beschreibung

Auf Digitaleingang des Endeffektors warten

Erforderliche Parameter

  • id: IO-Nummer, Bereich [0~1]

  • status: 0 = aus, 1 = ein

  • maxtime: Maximale Wartezeit [ms]

  • opt: Strategie bei Timeout: 0 = Programm stoppen und Timeout melden, 1 = Timeout ignorieren und Programm fortsetzen, 2 = unbegrenzt warten

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

5.17. Auf Analogeingang des Steuerkastens warten

Prototyp

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

Beschreibung

Auf Analogeingang des Steuerkastens warten

Erforderliche Parameter

  • id: IO-Nummer, Bereich [0~1]

  • sign: 0 = größer als, 1 = kleiner als

  • value: Prozentwert des Eingangsstroms oder der -spannung, Bereich [0~100] entspricht [0~20mA] oder [0~10V]

  • maxtime: Maximale Wartezeit [ms]

  • opt: Strategie bei Timeout: 0 = Programm stoppen und Timeout melden, 1 = Timeout ignorieren und Programm fortsetzen, 2 = unbegrenzt warten

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

5.18. Auf Analogeingang des Werkzeugs warten

Prototyp

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

Beschreibung

Auf Analogeingang des Endeffektors warten

Erforderliche Parameter

  • id: IO-Nummer, Bereich [0]

  • sign: 0 = größer als, 1 = kleiner als

  • value: Prozentwert des Eingangsstroms oder der -spannung, Bereich [0~100] entspricht [0~20mA] oder [0~10V]

  • maxtime: Maximale Wartezeit [ms]

  • opt: Strategie bei Timeout: 0 = Programm stoppen und Timeout melden, 1 = Timeout ignorieren und Programm fortsetzen, 2 = unbegrenzt warten

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

5.19. Codebeispiel zum Warten auf digitale und analoge Eingangssignale

 1from fairino import Robot
 2# Verbindung zur Robotersteuerung herstellen, bei Erfolg wird ein Roboterobjekt zurückgegeben
 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 high: {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. Festlegen, ob der Steuerkasten-DO nach Stopp/Pause zurückgesetzt wird

Neu in Version Python: SDK-v2.0.5

Prototyp

SetOutputResetCtlBoxDO(resetFlag, reloadFlag)

Beschreibung

Festlegen, ob der Steuerkasten-DO nach Stopp/Pause zurückgesetzt wird

Erforderliche Parameter

  • resetFlag: 0 = nicht zurücksetzen, 1 = zurücksetzen

  • reloadFlag: Ob nach Pausenfortsetzung neu geladen wird: 0 = nicht laden, 1 = laden

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

5.21. Festlegen, ob der Steuerkasten-AO nach Stopp/Pause zurückgesetzt wird

Neu in Version Python: SDK-v2.0.5

Prototyp

SetOutputResetCtlBoxAO(resetFlag, reloadFlag)

Beschreibung

Festlegen, ob der Steuerkasten-AO nach Stopp/Pause zurückgesetzt wird

Erforderliche Parameter

  • resetFlag: 0 = nicht zurücksetzen, 1 = zurücksetzen

  • reloadFlag: Ob nach Pausenfortsetzung neu geladen wird: 0 = nicht laden, 1 = laden

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

5.22. Festlegen, ob der Werkzeug-DO nach Stopp/Pause zurückgesetzt wird

Neu in Version Python: SDK-v2.0.5

Prototyp

SetOutputResetAxleDO(resetFlag, reloadFlag)

Beschreibung

Festlegen, ob der Werkzeug-DO nach Stopp/Pause zurückgesetzt wird

Erforderliche Parameter

  • resetFlag: 0 = nicht zurücksetzen, 1 = zurücksetzen

  • reloadFlag: Ob nach Pausenfortsetzung neu geladen wird: 0 = nicht laden, 1 = laden

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

5.23. Festlegen, ob der Werkzeug-AO nach Stopp/Pause zurückgesetzt wird

Neu in Version Python: SDK-v2.0.5

Prototyp

SetOutputResetAxleAO(resetFlag, reloadFlag)

Beschreibung

Festlegen, ob der Werkzeug-AO nach Stopp/Pause zurückgesetzt wird

Erforderliche Parameter

  • resetFlag: 0 = nicht zurücksetzen, 1 = zurücksetzen

  • reloadFlag: Ob nach Pausenfortsetzung neu geladen wird: 0 = nicht laden, 1 = laden

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

5.24. Festlegen, ob der erweiterte DO nach Stopp/Pause zurückgesetzt wird

Neu in Version Python: SDK-v2.0.5

Prototyp

SetOutputResetExtDO(resetFlag, reloadFlag)

Beschreibung

Festlegen, ob der erweiterte DO nach Stopp/Pause zurückgesetzt wird

Erforderliche Parameter

  • resetFlag: 0 = nicht zurücksetzen, 1 = zurücksetzen

  • reloadFlag: Ob nach Pausenfortsetzung neu geladen wird: 0 = nicht laden, 1 = laden

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

5.25. Festlegen, ob der erweiterte AO nach Stopp/Pause zurückgesetzt wird

Neu in Version Python: SDK-v2.0.5

Prototyp

SetOutputResetExtAO(resetFlag, reloadFlag)

Beschreibung

Festlegen, ob der erweiterte AO nach Stopp/Pause zurückgesetzt wird

Erforderliche Parameter

  • resetFlag: 0 = nicht zurücksetzen, 1 = zurücksetzen

  • reloadFlag: Ob nach Pausenfortsetzung neu geladen wird: 0 = nicht laden, 1 = laden

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

5.26. Festlegen, ob der SmartTool-DO nach Stopp/Pause zurückgesetzt wird

Neu in Version Python: SDK-v2.0.5

Prototyp

SetOutputResetSmartToolDO(resetFlag, reloadFlag)

Beschreibung

Festlegen, ob der SmartTool-DO nach Stopp/Pause zurückgesetzt wird

Erforderliche Parameter

  • resetFlag: 0 = nicht zurücksetzen, 1 = zurücksetzen

  • reloadFlag: Ob nach Pausenfortsetzung neu geladen wird: 0 = nicht laden, 1 = laden

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

5.27. Codebeispiel zum Festlegen des Ausgangs-Rücksetzverhaltens nach Stopp/Pause für LUA-Programme

 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. Konfigurierbare CI-Portfunktionen einstellen

Prototyp

SetDIConfig(config)

Beschreibung

Konfigurierbare CI-Portfunktionen einstellen

Erforderliche Parameter

  • config: CI0-CI7 Funktionscode-Array, 0-Keine;1-Lichtbogenstart erfolgreich;2-Schweißgerät bereit;3-Förderbanderkennung;4-Pause;5-Fortsetzen;6-Start;7-Stopp; 8-Pause/Fortsetzen;9-Start/Stopp;10-Fußtaster-Ziehen;11-Zur Arbeitsposition bewegen;12-Manuell/Auto umschalten; 13-Drahtpositionssuche erfolgreich;14-Bewegungsunterbrechung;15-Hauptprogramm starten;16-Rückspulen starten;17-Startbestätigung; 18-Photoelektrisches Erkennungssignal X;19-Photoelektrisches Erkennungssignal Y;20-Externer Not-Halt-Eingangssignal 1;21-Externer Not-Halt-Eingangssignal 2; 22-Stufe 1 Reduzierungsmodus;23-Stufe 2 Reduzierungsmodus;24-Stufe 3 Reduzierungsmodus (Stopp);25-Schweißen fortsetzen;26-Schweißen beenden; 27-Hilfszug aktivieren;28-Hilfszug deaktivieren;29-Hilfszug aktivieren/deaktivieren;30-Alle Fehler löschen; 31-Manuell/Auto umschalten (High/Low-Pegel);32-Aktivieren;33-Deaktivieren;34-Aktivieren/Deaktivieren (steigende/fallende Flanke);35-Fixpunkt-Tracking starten/beenden

Standardparameter

Keine

Rückgabewert

Fehlercode Erfolg-0 Fehler-errcode

5.29. Konfigurierbare CI-Portfunktionen des Steuerkastens abrufen

Prototyp

GetDIConfig()

Beschreibung

Konfigurierbare CI-Portfunktionen des Steuerkastens abrufen

Erforderliche Parameter

  • config: CI0-CI7 Funktionscode-Array, 0-Keine;1-Lichtbogenstart erfolgreich;2-Schweißgerät bereit;3-Förderbanderkennung;4-Pause;5-Fortsetzen;6-Start;7-Stopp; 8-Pause/Fortsetzen;9-Start/Stopp;10-Fußtaster-Ziehen;11-Zur Arbeitsposition bewegen;12-Manuell/Auto umschalten; 13-Drahtpositionssuche erfolgreich;14-Bewegungsunterbrechung;15-Hauptprogramm starten;16-Rückspulen starten;17-Startbestätigung; 18-Photoelektrisches Erkennungssignal X;19-Photoelektrisches Erkennungssignal Y;20-Externer Not-Halt-Eingangssignal 1;21-Externer Not-Halt-Eingangssignal 2; 22-Stufe 1 Reduzierungsmodus;23-Stufe 2 Reduzierungsmodus;24-Stufe 3 Reduzierungsmodus (Stopp);25-Schweißen fortsetzen;26-Schweißen beenden; 27-Hilfszug aktivieren;28-Hilfszug deaktivieren;29-Hilfszug aktivieren/deaktivieren;30-Alle Fehler löschen; 31-Manuell/Auto umschalten (High/Low-Pegel);32-Aktivieren;33-Deaktivieren;34-Aktivieren/Deaktivieren (steigende/fallende Flanke);35-Fixpunkt-Tracking starten/beenden

Standardparameter

Keine

Rückgabewert

Fehlercode Erfolg-0 Fehler-errcode

5.30. Konfigurierbare CO-Portfunktionen einstellen

Prototyp

SetDOConfig(config)

Beschreibung

Konfigurierbare CO-Portfunktionen einstellen

Erforderliche Parameter

  • config: CO0-CO7 Funktionscode-Array, 0-Keine;1-Roboterfehler;2-Roboter in Bewegung;3-Spritzen start/stopp;4-Spritzpistolenreinigung;5-Gaszufuhrsignal;6-Lichtbogenstartsignal;7-Tippen Drahtvorschub; 8-Rückwärts Drahtvorschub;9-JOB-Eingang 1;10-JOB-Eingang 2;11-JOB-Eingang 3;12-Förderband start/stopp Steuerung;13-Roboter pausiert;14-Arbeitsposition erreicht; 15-Interferenzbereich erreicht;16-Drahtpositionssuche start/stopp Steuerung;17-Roboterstart abgeschlossen;18-Programm start/stopp;19-Auto/Manuell-Modus;20-Not-Halt-Ausgangssignal 1-Sicherheit; 21-Not-Halt-Ausgangssignal 2-Sicherheit;22-Lua-Skriptprogramm läuft/gestoppt;23-Sicherheitsstatusausgang-Sicherheit;24-Schutzstopp-Statusausgang-Sicherheit; 25-Roboter in Bewegung-Sicherheit;26-Roboter im Reduzierungsmodus-Sicherheit;27-Roboter nicht im Reduzierungsmodus-Sicherheit;28-Roboter nicht gestoppt;29-Roboterfehler-Befehlspunktfehler; 30-Roboterfehler-Antriebsfehler;31-Roboterfehler-Weichgrenze überschritten;32-Roboterfehler-Kollisionsfehler;33-Roboterfehler-Fehler bei Anzahl aktiver Slaves; 34-Roboterfehler-Slave-Fehler;35-Roboterfehler-IO-Fehler;36-Roboterfehler-Greiferfehler;37-Roboterfehler-Dateifehler;38-Roboterfehler-Singuläre Pose; 39-Roboterfehler-Antriebskommunikationsfehler;40-Roboterfehler-Parameterfehler;41-Roboterfehler-Externe Achse Weichgrenze überschritten;42-Roboterwarnung-Warnung; 43-Roboterwarnung-Sicherheitstürwarnung;44-Roboterwarnung-Bewegungswarnung;45-Roboterwarnung-Interferenzbereichswarnung;46-Roboterwarnung-Sicherheitswandwarnung; 47-Aktivierungsstatus;48-Automatisches Anheben bei Unterbrechung;49-Würfel 1 Interferenzwarnung;50-Würfel 2 Interferenzwarnung;51-Würfel 3 Interferenzwarnung;52-Würfel 4 Interferenzwarnung;

Standardparameter

Keine

Rückgabewert

Fehlercode Erfolg-0 Fehler-errcode

5.31. Konfigurierbare CO-Portfunktionen abrufen

Prototyp

GetDOConfig()

Beschreibung

Konfigurierbare CO-Portfunktionen abrufen

Erforderliche Parameter

  • config: CO0-CO7 Funktionscode-Array, 0-Keine;1-Roboterfehler;2-Roboter in Bewegung;3-Spritzen start/stopp;4-Spritzpistolenreinigung;5-Gaszufuhrsignal;6-Lichtbogenstartsignal;7-Tippen Drahtvorschub; 8-Rückwärts Drahtvorschub;9-JOB-Eingang 1;10-JOB-Eingang 2;11-JOB-Eingang 3;12-Förderband start/stopp Steuerung;13-Roboter pausiert;14-Arbeitsposition erreicht; 15-Interferenzbereich erreicht;16-Drahtpositionssuche start/stopp Steuerung;17-Roboterstart abgeschlossen;18-Programm start/stopp;19-Auto/Manuell-Modus;20-Not-Halt-Ausgangssignal 1-Sicherheit; 21-Not-Halt-Ausgangssignal 2-Sicherheit;22-Lua-Skriptprogramm läuft/gestoppt;23-Sicherheitsstatusausgang-Sicherheit;24-Schutzstopp-Statusausgang-Sicherheit; 25-Roboter in Bewegung-Sicherheit;26-Roboter im Reduzierungsmodus-Sicherheit;27-Roboter nicht im Reduzierungsmodus-Sicherheit;28-Roboter nicht gestoppt;29-Roboterfehler-Befehlspunktfehler; 30-Roboterfehler-Antriebsfehler;31-Roboterfehler-Weichgrenze überschritten;32-Roboterfehler-Kollisionsfehler;33-Roboterfehler-Fehler bei Anzahl aktiver Slaves; 34-Roboterfehler-Slave-Fehler;35-Roboterfehler-IO-Fehler;36-Roboterfehler-Greiferfehler;37-Roboterfehler-Dateifehler;38-Roboterfehler-Singuläre Pose; 39-Roboterfehler-Antriebskommunikationsfehler;40-Roboterfehler-Parameterfehler;41-Roboterfehler-Externe Achse Weichgrenze überschritten;42-Roboterwarnung-Warnung; 43-Roboterwarnung-Sicherheitstürwarnung;44-Roboterwarnung-Bewegungswarnung;45-Roboterwarnung-Interferenzbereichswarnung;46-Roboterwarnung-Sicherheitswandwarnung; 47-Aktivierungsstatus;48-Automatisches Anheben bei Unterbrechung;49-Würfel 1 Interferenzwarnung;50-Würfel 2 Interferenzwarnung;51-Würfel 3 Interferenzwarnung;52-Würfel 4 Interferenzwarnung;

Standardparameter

Keine

Rückgabewert

Fehlercode Erfolg-0 Fehler-errcode

5.32. Konfigurierbare End-CI-Portfunktionen des Endeffektors einstellen

Prototyp

SetToolDIConfig(config)

Beschreibung

Konfigurierbare End-CI-Portfunktionen des Endeffektors einstellen

Erforderliche Parameter

  • config: End CI0-CI1 Funktionscode-Array, 0-Keine;1-Zieh-Teaching-Werkzeugschalter;2-Punktaufzeichnungssignal;3-Manuell/Auto umschalten (Impulssignal);4-TPD-Aufzeichnung start/stopp;5-Bewegung pausieren; 6-Bewegung fortsetzen;7-Start;8-Stopp;9-Pause/Fortsetzen;10-Start/Stopp;11-Kraftsensor-Hilfszug aktivieren;12-Kraftsensor-Hilfszug deaktivieren; 13-Kraftsensor-Hilfszug aktivieren/deaktivieren;14-Lasererkennungssignal X;15-Lasererkennungssignal Y;16-PTP-Bewegung zur Arbeitsposition;17-Bewegungsunterbrechung, aktuelle Bewegung je nach Signal stoppen; 18-Hauptprogramm starten;19-Rückspulen starten;20-Startbestätigung;21-Schweißen fortsetzen;22-Schweißen beenden;23-Fehler löschen;24-Manuell/Auto umschalten (High/Low-Pegel); 25-Aktivieren;26-Deaktivieren;27-Aktivieren/Deaktivieren;28-Laser-Servo-Tracking start/stopp Signal;

Standardparameter

Keine

Rückgabewert

Fehlercode Erfolg-0 Fehler-errcode

5.33. Konfigurierbare End-CI-Portfunktionen des Endeffektors abrufen

Prototyp

GetToolDIConfig()

Beschreibung

Konfigurierbare End-CI-Portfunktionen des Endeffektors abrufen

Erforderliche Parameter

  • config: End CI0-CI1 Funktionscode-Array, 0-Keine;1-Zieh-Teaching-Werkzeugschalter;2-Punktaufzeichnungssignal;3-Manuell/Auto umschalten (Impulssignal);4-TPD-Aufzeichnung start/stopp;5-Bewegung pausieren; 6-Bewegung fortsetzen;7-Start;8-Stopp;9-Pause/Fortsetzen;10-Start/Stopp;11-Kraftsensor-Hilfszug aktivieren;12-Kraftsensor-Hilfszug deaktivieren; 13-Kraftsensor-Hilfszug aktivieren/deaktivieren;14-Lasererkennungssignal X;15-Lasererkennungssignal Y;16-PTP-Bewegung zur Arbeitsposition;17-Bewegungsunterbrechung, aktuelle Bewegung je nach Signal stoppen; 18-Hauptprogramm starten;19-Rückspulen starten;20-Startbestätigung;21-Schweißen fortsetzen;22-Schweißen beenden;23-Fehler löschen;24-Manuell/Auto umschalten (High/Low-Pegel); 25-Aktivieren;26-Deaktivieren;27-Aktivieren/Deaktivieren;28-Laser-Servo-Tracking start/stopp Signal;

Standardparameter

Keine

Rückgabewert

Fehlercode Erfolg-0 Fehler-errcode

5.34. Konfigurierbaren CI-Aktivzustand des Steuerkastens einstellen

Prototyp

SetDIConfigLevel(config)

Beschreibung

Konfigurierbaren CI-Aktivzustand des Steuerkastens einstellen

Erforderliche Parameter

  • config: CI0-CI7 Port-Aktivzustand-Array; 0-aktiv high; 1-aktiv low

Standardparameter

Keine

Rückgabewert

Fehlercode Erfolg-0 Fehler-errcode

5.35. Konfigurierbaren CI-Aktivzustand des Steuerkastens abrufen

Prototyp

GetDIConfigLevel()

Beschreibung

Konfigurierbaren CI-Aktivzustand des Steuerkastens abrufen

Erforderliche Parameter

  • config: CI0-CI7 Port-Aktivzustand-Array; 0-aktiv high; 1-aktiv low

Standardparameter

Keine

Rückgabewert

Fehlercode Erfolg-0 Fehler-errcode

5.36. Konfigurierbaren CO-Aktivzustand des Steuerkastens einstellen

Prototyp

SetDOConfigLevel(config)

Beschreibung

Konfigurierbaren CO-Aktivzustand des Steuerkastens einstellen

Erforderliche Parameter

  • config: CO0-CO7 Port-Aktivzustand-Array; 0-aktiv high; 1-aktiv low

Standardparameter

Keine

Rückgabewert

Fehlercode Erfolg-0 Fehler-errcode

5.37. Konfigurierbaren CO-Aktivzustand des Steuerkastens abrufen

Prototyp

GetDOConfigLevel()

Beschreibung

Konfigurierbaren CO-Aktivzustand des Steuerkastens abrufen

Erforderliche Parameter

  • config: CO0-CO7 Port-Aktivzustand-Array; 0-aktiv high; 1-aktiv low

Standardparameter

Keine

Rückgabewert

Fehlercode Erfolg-0 Fehler-errcode

5.38. Konfigurierbaren CI-Aktivzustand des Endeffektors einstellen

Prototyp

SetToolDIConfigLevel(config)

Beschreibung

Konfigurierbaren CI-Aktivzustand des Endeffektors einstellen

Erforderliche Parameter

  • config: CI0-CI7 Port-Aktivzustand-Array; 0-aktiv high; 1-aktiv low

Standardparameter

Keine

Rückgabewert

Fehlercode Erfolg-0 Fehler-errcode

5.39. Konfigurierbaren CI-Aktivzustand des Endeffektors abrufen

Prototyp

GetToolDIConfigLevel()

Beschreibung

Konfigurierbaren CI-Aktivzustand des Endeffektors abrufen

Erforderliche Parameter

  • config: CI0-CI7 Port-Aktivzustand-Array; 0-aktiv high; 1-aktiv low

Standardparameter

Keine

Rückgabewert

Fehlercode Erfolg-0 Fehler-errcode

5.40. Standard-DI-Aktivzustand des Steuerkastens einstellen

Prototyp

SetStandardDILevel(config)

Beschreibung

Standard-DI-Aktivzustand des Steuerkastens einstellen

Erforderliche Parameter

  • config: DI0-DI7 Port-Aktivzustand-Array; 0-aktiv high; 1-aktiv low

Standardparameter

Keine

Rückgabewert

Fehlercode Erfolg-0 Fehler-errcode

5.41. Standard-DI-Aktivzustand des Steuerkastens abrufen

Prototyp

GetStandardDILevel()

Beschreibung

Standard-DI-Aktivzustand des Steuerkastens abrufen

Erforderliche Parameter

  • config: DI0-DI7 Port-Aktivzustand-Array; 0-aktiv high; 1-aktiv low

Standardparameter

Keine

Rückgabewert

Fehlercode Erfolg-0 Fehler-errcode

5.42. Standard-DO-Aktivzustand des Steuerkastens einstellen

Prototyp

SetStandardDOLevel(config)

Beschreibung

Standard-DO-Aktivzustand des Steuerkastens einstellen

Erforderliche Parameter

  • config: DO0-DO7 Port-Aktivzustand-Array; 0-aktiv high; 1-aktiv low

Standardparameter

Keine

Rückgabewert

Fehlercode Erfolg-0 Fehler-errcode

5.43. Standard-DO-Aktivzustand des Steuerkastens abrufen

Prototyp

GetStandardDOLevel()

Beschreibung

Standard-DO-Aktivzustand des Steuerkastens abrufen

Erforderliche Parameter

  • config: DO0-DO7 Port-Aktivzustand-Array; 0-aktiv high; 1-aktiv low

Standardparameter

Keine

Rückgabewert

Fehlercode Erfolg-0 Fehler-errcode

5.44. IO-Konfigurationsbezogenes SDK-Codebeispiel

 1from time import sleep
 2import time
 3from fairino import Robot
 4
 5# Verbindung mit der Robotersteuerung herstellen
 6robot = Robot.RPC('192.168.58.2')
 7
 8
 9def TestIOConfig(self):
10    # DI-Konfiguration einstellen und abrufen
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    # DO-Konfiguration einstellen und abrufen
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    # Tool-DI-Konfiguration einstellen und abrufen
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    # DI-Pegelkonfiguration einstellen und abrufen (0: aktiv low, 1: aktiv high)
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    # DO-Pegelkonfiguration einstellen und abrufen (0: aktiv low, 1: aktiv high)
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    # Tool-DI-Pegelkonfiguration einstellen und abrufen
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    # Standard-DI-Pegelkonfiguration einstellen und abrufen
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    # Standard-DO-Pegelkonfiguration einstellen und abrufen
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    # 2 Sekunden warten
75    time.sleep(2)
76
77    # Verbindung schließen
78    robot.CloseRPC()
79    time.sleep(1)
80
81# Testfunktion aufrufen
82TestIOConfig(robot)