3. Roboter-Grundlagen

3.1. Roboter instanziieren

Prototyp

RPC(ip)

Beschreibung

Instanziiert ein Roboterobjekt

Erforderliche Parameter

  • ip: IP-Adresse des Roboters, Standard-IP ab Werk ist 192.168.58.2

Standardparameter

Keine

Rückgabewert

  • Erfolg: Gibt ein Roboterobjekt zurück

  • Fehlschlag: Das erstellte Objekt wird zerstört

3.2. RPC-Verbindung schließen

Prototyp

CloseRPC()

Beschreibung

Schließt die RPC-Verbindung

Erforderliche Parameter

Keine

Standardparameter

Keine

Rückgabewert

Kein Rückgabewert

3.3. SDK-Version abfragen

Prototyp

GetSDKVersion()

Beschreibung

Fragt die SDK-Version ab

Erforderliche Parameter

Keine

Standardparameter

Keine

Rückgabewert

  • Fehlercode: 0 = Erfolg, sonst Fehlercode

  • sdk: SDK-Versionsnummer, Controller-Versionsnummer

3.4. Controller-IP abrufen

Prototyp

GetControllerIP()

Beschreibung

Fragt die Controller-IP ab

Erforderliche Parameter

Keine

Standardparameter

Keine

Rückgabewert

  • Fehlercode: 0 = Erfolg, sonst Fehlercode

  • ip: Controller-IP

3.5. Roboter in den oder aus dem Drag&Teach-Modus schalten

Prototyp

DragTeachSwitch(state)

Beschreibung

Schaltet den Roboter in den oder aus dem Drag&Teach-Modus

Erforderliche Parameter

  • state: 1 = Drag&Teach-Modus betreten, 0 = Drag&Teach-Modus verlassen

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

3.6. Abfragen, ob sich der Roboter im Drag-Modus befindet

Prototyp

IsInDragTeach()

Beschreibung

Fragt ab, ob sich der Roboter im Drag&Teach-Modus befindet

Erforderliche Parameter

Keine

Standardparameter

Keine

Rückgabewert

  • Fehlercode: 0 = Erfolg, sonst Fehlercode

  • state: 0 = nicht im Drag&Teach-Modus, 1 = im Drag&Teach-Modus

3.7. Roboter aktivieren (Enable) oder deaktivieren (Disable)

Prototyp

RobotEnable(state)

Beschreibung

Aktiviert (Enable) oder deaktiviert (Disable) den Roboter

Erforderliche Parameter

  • state: 1 = aktivieren, 0 = deaktivieren

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

3.8. Umschalten zwischen Hand- und Automatikmodus

Prototyp

Mode(state)

Beschreibung

Schaltet zwischen Hand- und Automatikmodus des Roboters um

Erforderliche Parameter

  • state: 0 = Automatikmodus, 1 = Handmodus

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

3.9. Roboter-Betriebssystem herunterfahren

Neu in Version Python: SDK-v2.1.1

Prototyp

ShutDownRobotOS()

Beschreibung

Fährt das Roboter-Betriebssystem herunter

Erforderliche Parameter

Keine

Standardparameter

Keine

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

3.10. Logging-Parameter initialisieren

Neu in Version Python: SDK-v2.1.1

Prototyp

LoggerInit(output_model=1, file_path=", file_num=5)

Beschreibung

Initialisiert die Logging-Parameter

Erforderliche Parameter

Keine

Standardparameter

  • output_model: Ausgabemodus, 0 = direkte Ausgabe, 1 = gepufferte Ausgabe, 2 = asynchrone Ausgabe, Standard = 1

  • file_path: Pfad und Name der Logdatei, Name muss die Form xxx.log haben, z.B. /home/fr/linux/fairino.log. Standardmäßig wird die Datei im Ausführungsverzeichnis mit dem Namen fairino_Jahr_Monat_Tag.log erstellt (z.B. fairino_2024_03_13.log).

  • file_num: Anzahl der rollierenden Logdateien, 1~20, Standard = 5. Einzeldateigröße max. 50 MB.

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

3.11. Logging-Filterstufe einstellen

Neu in Version Python: SDK-v2.0.2

Prototyp

SetLoggerLevel(lvl=1)

Beschreibung

Stellt die Logging-Filterstufe ein

Erforderliche Parameter

Keine

Standardparameter

  • lvl: Filterstufe. Je kleiner der Wert, desto weniger Logs werden ausgegeben. 1 = error, 2 = warning, 3 = info, 4 = debug. Standard = 1

Rückgabewert

Fehlercode: 0 = Erfolg, sonst Fehlercode

3.12. Codebeispiel für grundlegende Robotersteuerung

 1from fairino import Robot
 2# Verbindung zur Robotersteuerung herstellen, bei Erfolg wird ein Roboterobjekt zurückgegeben
 3robot = Robot.RPC('192.168.58.2')
 4error,version = robot.GetSDKVersion()
 5print(f"SDK version: {version}")
 6error,ip = robot.GetControllerIP()
 7print(f"controller ip: {ip}")
 8robot.Mode(1)
 9time.sleep(1)
10robot.DragTeachSwitch(state=1)
11time.sleep(1)
12error,state = robot.IsInDragTeach()
13print(f"drag state: {state}")
14time.sleep(3)
15robot.DragTeachSwitch(state=0)
16time.sleep(1)
17error,state = robot.IsInDragTeach()
18print(f"drag state: {state}")
19time.sleep(3)
20robot.RobotEnable(0)
21time.sleep(3)
22robot.RobotEnable(1)
23robot.Mode(0)
24time.sleep(1)
25robot.Mode(1)
26robot.CloseRPC()

3.13. Softwareversion des Roboters abrufen

Neu in Version Python: SDK-v2.0.1

Prototyp

GetSoftwareVersion()

Beschreibung

Ruft die Softwareversion des Roboters ab

Erforderliche Parameter

Keine

Standardparameter

Keine

Rückgabewert

  • Fehlercode: 0 = Erfolg, sonst Fehlercode

  • robotModel: Robotermodell

  • webVersion: Web-Version

  • controllerVersion: Controller-Version

3.14. Hardwareversionsinformationen des Roboters abrufen

Neu in Version Python: SDK-v2.0.1

Prototyp

GetSlaveHardVersion()

Beschreibung

Ruft die Hardwareversionsinformationen des Roboters ab

Erforderliche Parameter

Keine

Standardparameter

Keine

Rückgabewert

  • Fehlercode: 0 = Erfolg, sonst Fehlercode

  • ctrlBoxBoardVersion: Version der Steuerkastenplatine

  • driver1Version: Version Antrieb 1

  • driver2Version: Version Antrieb 2

  • driver3Version: Version Antrieb 3

  • driver4Version: Version Antrieb 4

  • driver5Version: Version Antrieb 5

  • driver6Version: Version Antrieb 6

  • endBoardVersion: Version der Endeffektorplatine

3.15. Firmwareversionsinformationen des Roboters abrufen

Neu in Version Python: SDK-v2.0.1

Prototyp

GetSlaveFirmVersion()

Beschreibung

Ruft die Firmwareversionsinformationen des Roboters ab

Erforderliche Parameter

Keine

Standardparameter

Keine

Rückgabewert

  • Fehlercode: 0 = Erfolg, sonst Fehlercode

  • ctrlBoxBoardVersion: Version der Steuerkasten-Firmware

  • driver1Version: Firmware-Version Antrieb 1

  • driver2Version: Firmware-Version Antrieb 2

  • driver3Version: Firmware-Version Antrieb 3

  • driver4Version: Firmware-Version Antrieb 4

  • driver5Version: Firmware-Version Antrieb 5

  • driver6Version: Firmware-Version Antrieb 6

  • endBoardVersion: Firmware-Version der Endeffektorplatine

3.16. Codebeispiel zum Abrufen der Software- und Firmwareversionen

 1from fairino import Robot
 2# Verbindung zur Robotersteuerung herstellen, bei Erfolg wird ein Roboterobjekt zurückgegeben
 3robot = Robot.RPC('192.168.58.2')
 4rtn,robotModel, webversion, controllerVersion = robot.GetSoftwareVersion()
 5print(f"Getsoftwareversion rtn is: {rtn}")
 6print(f"robotmodel is: {robotModel}, webversion is: {webversion}, controllerVersion is: {controllerVersion}\n")
 7rtn,ctrlBoxBoardversion, driver1version, driver2version,driver3version, driver4version, driver5version,driver6version, endBoardversion = robot.GetHardwareversion()
 8print(f"GetHardwareversion rtn is: {rtn}")
 9print(f"GetHardwareversion get hardware version is: {ctrlBoxBoardversion}, {driver1version}, {driver2version}, "
10      f"{driver3version}, {driver4version}, {driver5version}, {driver6version}, {endBoardversion}\n")
11rtn,ctrlBoxBoardversion, driver1version, driver2version,driver3version, driver4version, driver5version,driver6version, endBoardversion = robot.GetFirmwareVersion()
12print(f"GetFirmwareversion rtn is: {rtn}")
13print(f"GetFirmwareversion get firmware version is: {ctrlBoxBoardversion}, {driver1version}, {driver2version}, "
14      f"{driver3version}, {driver4version}, {driver5version}, {driver6version}, {endBoardversion}\n")
15robot.CloseRPC()