11. Roboter-Peripherie
11.1. Greifer konfigurieren
Prototyp |
|
|---|---|
Beschreibung |
Greifer konfigurieren |
Erforderliche Parameter |
|
Standardparameter |
|
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.2. Greiferkonfiguration abrufen
Prototyp |
|
|---|---|
Beschreibung |
Greiferkonfiguration abrufen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
|
11.3. Greifer aktivieren
Prototyp |
|
|---|---|
Beschreibung |
Greifer aktivieren |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.4. Greifer steuern
Prototyp |
|
|---|---|
Beschreibung |
Greifer steuern |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.5. Greifer-Bewegungsstatus abrufen
Prototyp |
|
|---|---|
Beschreibung |
Greifer-Bewegungsstatus abrufen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
|
11.6. Greifer-Aktivierungsstatus abrufen
Neu in Version Python: SDK-v2.1.2
Prototyp |
|
|---|---|
Beschreibung |
Greifer-Aktivierungsstatus abrufen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
|
11.7. Greiferposition abrufen
Neu in Version Python: SDK-v2.1.2
Prototyp |
|
|---|---|
Beschreibung |
Greiferposition abrufen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
|
11.8. Greifergeschwindigkeit abrufen
Neu in Version Python: SDK-v2.1.2
Prototyp |
|
|---|---|
Beschreibung |
Greifergeschwindigkeit abrufen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
|
11.9. Greiferstrom abrufen
Neu in Version Python: SDK-v2.1.2
Prototyp |
|
|---|---|
Beschreibung |
Greiferstrom abrufen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
|
11.10. Greiferspannung abrufen
Neu in Version Python: SDK-v2.1.2
Prototyp |
|
|---|---|
Beschreibung |
Greiferspannung abrufen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
|
11.11. Greifertemperatur abrufen
Neu in Version Python: SDK-v2.1.2
Prototyp |
|
|---|---|
Beschreibung |
Greifertemperatur abrufen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
|
11.12. Vor-Greifpunkt berechnen (visuell)
Prototyp |
|
|---|---|
Beschreibung |
Vor-Greifpunkt berechnen (visuell) |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
|
11.13. Rückzugspunkt berechnen (visuell)
Prototyp |
|
|---|---|
Beschreibung |
Rückzugspunkt berechnen (visuell) |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
|
11.14. Codebeispiel für Roboter-Greiferoperationen
1from fairino import Robot
2# Verbindung zur Robotersteuerung herstellen, bei Erfolg wird ein Roboterobjekt zurückgegeben
3robot = Robot.RPC('192.168.58.2')
4company = 4
5device = 0
6softversion = 0
7bus = 2
8index = 2
9act = 0
10max_time = 30000
11block = 0
12status = 0
13fault = 0
14active_status = 0
15current_pos = 0
16current = 0
17voltage = 0
18temp = 0
19speed = 0
20robot.SetGripperConfig(company, device, softversion, bus)
21time.sleep(1)
22error, [company, device, softversion, bus] = robot.GetGripperConfig()
23print(f"gripper config: {company}, {device}, {softversion}, {bus}")
24robot.ActGripper(index, act)
25time.sleep(1)
26act = 1
27robot.ActGripper(index, act)
28time.sleep(1)
29error = robot.MoveGripper(index, 90, 50, 50, max_time, block, 0, 0, 0, 0)
30print(f"MoveGripper retval is: {error}")
31time.sleep(1)
32error = robot.MoveGripper(index, 30, 50, 0, max_time, block, 0, 0, 0, 0)
33print(f"MoveGripper retval is: {error}")
34error, [fault, status] = robot.GetGripperMotionDone()
35print(f"motion status: {fault}, {status}")
36error, [fault, active_status] = robot.GetGripperActivateStatus()
37print(f"gripper active fault is: {fault}, status is: {active_status}")
38error, [fault, current_pos] = robot.GetGripperCurPosition()
39print(f"fault is: {fault}, current position is: {current_pos}")
40error, [fault, current] = robot.GetGripperCurCurrent()
41print(f"fault is: {fault}, current current is: {current}")
42error, [fault, voltage] = robot.GetGripperVoltage()
43print(f"fault is: {fault}, current voltage is: {voltage}")
44error, [fault, temp] = robot.GetGripperTemp()
45print(f"fault is: {fault}, current temperature is: {temp}")
46error, [fault, speed] = robot.GetGripperCurSpeed()
47print(f"fault is: {fault}, current speed is: {speed}")
48retval = 0
49prepick_pose = [0.0] * 6
50postpick_pose = [0.0] * 6
51p1Desc = [-419.524, -13.000, 351.569, -178.118, 0.314, 3.833]
52p2Desc = [-321.222, 185.189, 335.520, -179.030, -1.284, -29.869]
53retval, prepick_pose = robot.ComputePrePick(p1Desc, 10, 0)
54print(f"ComputePrePick retval is: {retval}")
55print(f"xyz is: {prepick_pose[0]}, {prepick_pose[1]}, {prepick_pose[2]}; rpy is: {prepick_pose[3]}, {prepick_pose[4]}, {prepick_pose[5]}")
56retval, postpick_pose = robot.ComputePostPick(p2Desc, -10, 0)
57print(f"ComputePostPick retval is: {retval}")
58print(f"xyz is: {postpick_pose[0]}, {postpick_pose[1]}, {postpick_pose[2]}; rpy is: {postpick_pose[3]}, {postpick_pose[4]}, {postpick_pose[5]}")
59robot.CloseRPC()
11.15. Rotationsanzahl des Rotationsgreifers abrufen
Neu in Version Python: SDK-v2.0.7
Prototyp |
|
|---|---|
Beschreibung |
Rotationsanzahl des Rotationsgreifers abrufen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
|
11.16. Rotationsgeschwindigkeitsprozentsatz des Rotationsgreifers abrufen
Neu in Version Python: SDK-v2.0.7
Prototyp |
|
|---|---|
Beschreibung |
Rotationsgeschwindigkeitsprozentsatz des Rotationsgreifers abrufen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
|
11.17. Rotationsdrehmomentprozentsatz des Rotationsgreifers abrufen
Neu in Version Python: SDK-v2.0.7
Prototyp |
|
|---|---|
Beschreibung |
Rotationsdrehmomentprozentsatz des Rotationsgreifers abrufen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
|
11.18. Codebeispiel zum Abrufen des Status eines Rotationsgreifers
1from fairino import Robot
2# Verbindung zur Robotersteuerung herstellen
3robot = Robot.RPC('192.168.58.2')
4fault = 0
5rotNum = 0.0
6rotSpeed = 0
7rotTorque = 0
8error,fault, rotNum = robot.GetGripperRotNum()
9error,fault, rotSpeed = robot.GetGripperRotSpeed()
10error,fault, rotTorque = robot.GetGripperRotTorque()
11print(f"gripper rot num:{rotNum},gripper rotSpeed:{rotSpeed},gripper rotTorque:{rotTorque}")
12robot.CloseRPC()
11.19. Förderband starten/stoppen
Prototyp |
|
|---|---|
Beschreibung |
Förderband starten/stoppen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.20. IO-Erkennungspunkt aufzeichnen
Prototyp |
|
|---|---|
Beschreibung |
IO-Erkennungspunkt aufzeichnen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.21. Punkt A aufzeichnen
Prototyp |
|
|---|---|
Beschreibung |
Punkt A aufzeichnen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.22. Referenzpunkt aufzeichnen
Prototyp |
|
|---|---|
Beschreibung |
Referenzpunkt aufzeichnen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.23. Punkt B aufzeichnen
Prototyp |
|
|---|---|
Beschreibung |
Punkt B aufzeichnen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.24. Förderband-Werkstück IO-Erkennung
Prototyp |
|
|---|---|
Beschreibung |
Förderband-Werkstück IO-Erkennung |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.25. Aktuelle Objektposition abrufen
Prototyp |
|
|---|---|
Beschreibung |
Aktuelle Objektposition abrufen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.26. Förderband-Tracking starten
Prototyp |
|
|---|---|
Beschreibung |
Förderband-Tracking starten |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.27. Förderband-Tracking stoppen
Prototyp |
|
|---|---|
Beschreibung |
Förderband-Tracking stoppen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.28. Förderbandparameter konfigurieren
Prototyp |
|
|---|---|
Beschreibung |
Förderbandparameter konfigurieren |
Erforderliche Parameter |
|
Standardparameter |
|
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.29. Förderband-Greifpunktkompensation
Prototyp |
|
|---|---|
Beschreibung |
Förderband-Greifpunktkompensation |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.30. Linearbewegung
Prototyp |
|
|---|---|
Beschreibung |
Linearbewegung |
Erforderliche Parameter |
|
Standardparameter |
|
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.31. Förderband-Kommunikationseingangserkennung
Neu in Version Python: SDK-v2.1.1
Prototyp |
|
|---|---|
Beschreibung |
Förderband-Kommunikationseingangserkennung |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.32. Förderband-Kommunikationseingangserkennung auslösen
Neu in Version Python: SDK-v2.1.1
Prototyp |
|
|---|---|
Beschreibung |
Förderband-Kommunikationseingangserkennung auslösen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.33. Codebeispiel für Roboter-Förderbandoperationen
1from fairino import Robot
2import time
3import threading
4# Verbindung zur Robotersteuerung herstellen
5robot = Robot.RPC('192.168.58.2')
6retval = robot.ConveyorStartEnd(1)
7print(f"ConveyorStartEnd retval is: {retval}")
8retval = robot.ConveyorPointIORecord()
9print(f"ConveyorPointIORecord retval is: {retval}")
10retval = robot.ConveyorPointARecord()
11print(f"ConveyorPointARecord retval is: {retval}")
12retval = robot.ConveyorRefPointRecord()
13print(f"ConveyorRefPointRecord retval is: {retval}")
14retval = robot.ConveyorPointBRecord()
15print(f"ConveyorPointBRecord retval is: {retval}")
16retval = robot.ConveyorStartEnd(0)
17print(f"ConveyorStartEnd retval is: {retval}")
18param = [1.0, 10000.0, 200.0, 0.0, 0.0, 20.0]
19retval = robot.ConveyorSetParam(param, 0)
20print(f"ConveyorSetParam retval is: {retval}")
21cmp = [0.0, 0.0, 0.0]
22retval = robot.ConveyorCatchPointComp(cmp)
23print(f"ConveyorCatchPointComp retval is: {retval}")
24index = 1
25max_time = 30000
26block = 0
27retval = 0
28p1Desc = [-419.524, -13.000, 351.569, -178.118, 0.314, 3.833]
29p2Desc = [-321.222, 185.189, 335.520, -179.030, -1.284, -29.869]
30retval = robot.MoveCart(p1Desc, 1, 0, 100.0)
31print(f"MoveCart retval is: {retval}")
32retval = robot.WaitMs(1)
33print(f"WaitMs retval is: {retval}")
34retval = robot.ConveyorIODetect(10000)
35print(f"ConveyorIODetect retval is: {retval}")
36retval = robot.ConveyorGetTrackData(1)
37print(f"ConveyorGetTrackData retval is: {retval}")
38retval = robot.ConveyorTrackStart(1)
39print(f"ConveyorTrackStart retval is: {retval}")
40retval = robot.ConveyorTrackMoveL("cvrCatchPoint", 1, 0, 100)
41print(f"TrackMoveL retval is: {retval}")
42retval = robot.MoveGripper(index, 51, 40, 30, max_time, block, 0, 0, 0, 0)
43print(f"MoveGripper retval is: {retval}")
44retval = robot.ConveyorTrackMoveL("cvrRaisePoint", 1, 0, 100)
45print(f"TrackMoveL retval is: {retval}")
46retval = robot.ConveyorTrackEnd()
47print(f"ConveyorTrackEnd retval is: {retval}")
48robot.MoveCart(p2Desc, 1, 0, 100.0, 100.0)
49retval = robot.MoveGripper(index, 100, 40, 10, max_time, block, 0, 0, 0, 0)
50print(f"MoveGripper retval is: {retval}")
51robot.CloseRPC()
11.34. Endeffektor-Sensor konfigurieren
Neu in Version Python: SDK-v2.0.5
Prototyp |
|
|---|---|
Beschreibung |
Endeffektor-Sensor konfigurieren |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.35. Endeffektor-Sensorkonfiguration abrufen
Neu in Version Python: SDK-v2.0.5
Prototyp |
|
|---|---|
Beschreibung |
Endeffektor-Sensorkonfiguration abrufen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
|
11.36. Endeffektor-Sensor aktivieren
Neu in Version Python: SDK-v2.0.5
Prototyp |
|
|---|---|
Beschreibung |
Endeffektor-Sensor aktivieren |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
|
11.37. In Endeffektor-Sensorregister schreiben
Neu in Version Python: SDK-v2.0.5
Prototyp |
|
|---|---|
Beschreibung |
In Endeffektor-Sensorregister schreiben |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.38. Codebeispiel für Endeffektor-Sensor
1from fairino import Robot
2import time
3import threading
4# Verbindung zur Robotersteuerung herstellen
5robot = Robot.RPC('192.168.58.2')
6robot.AxleSensorConfig(18, 0, 0, 1)
7error, company, type = robot.AxleSensorConfigGet()
8print(f"company is: {company}, type is: {type}")
9rtn = robot.AxleSensorActivate(1)
10print(f"AxleSensorActivate rtn is: {rtn}")
11time.sleep(1)
12rtn = robot.AxleSensorRegWrite(1, 4, 6, 1, 0, 0, 0)
13print(f"AxleSensorRegWrite rtn is: {rtn}")
14robot.CloseRPC()
11.39. Roboter-Peripherieprotokoll abrufen
Neu in Version Python: SDK-v2.0.3
Prototyp |
|
|---|---|
Beschreibung |
Roboter-Peripherieprotokoll abrufen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
|
11.40. Roboter-Peripherieprotokoll einstellen
Neu in Version Python: SDK-v2.0.3
Prototyp |
|
|---|---|
Beschreibung |
Roboter-Peripherieprotokoll einstellen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.41. Codebeispiel zum Einstellen des Roboter-Peripherieprotokolls
1from fairino import Robot
2# Verbindung zur Robotersteuerung herstellen
3robot = Robot.RPC('192.168.58.2')
4protocol = 4096
5rtn = robot.SetExDevProtocol(protocol)
6print(f"SetExDevProtocol rtn: {rtn}")
7rtn, protocol = robot.GetExDevProtocol()
8print(f"GetExDevProtocol rtn: {rtn}, protocol is: {protocol}")
9robot.CloseRPC()
11.42. Endeffektor-Kommunikationsparameter abrufen
Neu in Version Python: SDK-v2.0.5
Prototyp |
|
|---|---|
Beschreibung |
Endeffektor-Kommunikationsparameter abrufen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
|
11.43. Endeffektor-Kommunikationsparameter einstellen
Neu in Version Python: SDK-v2.0.5
Prototyp |
|
|---|---|
Beschreibung |
Endeffektor-Kommunikationsparameter einstellen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.44. Endeffektor-Dateiübertragungstyp einstellen
Neu in Version Python: SDK-v2.0.5
Prototyp |
|
|---|---|
Beschreibung |
Endeffektor-Dateiübertragungstyp einstellen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.45. Endeffektor-LUA-Ausführung aktivieren
Neu in Version Python: SDK-v2.0.5
Prototyp |
|
|---|---|
Beschreibung |
Endeffektor-LUA-Ausführung aktivieren |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.46. Fehlerbehebung bei anomaler Endeffektor-LUA-Datei
Neu in Version Python: SDK-v2.0.5
Prototyp |
|
|---|---|
Beschreibung |
Fehlerbehebung bei anomaler Endeffektor-LUA-Datei |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.47. Aktivierungsstatus der Endeffektor-LUA-Ausführung abrufen
Neu in Version Python: SDK-v2.0.5
Prototyp |
|
|---|---|
Beschreibung |
Aktivierungsstatus der Endeffektor-LUA-Ausführung abrufen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
|
11.48. Aktivierungstyp der Endeffektor-LUA-Endgeräte einstellen
Neu in Version Python: SDK-v2.0.5
Prototyp |
|
|---|---|
Beschreibung |
Aktivierungstyp der Endeffektor-LUA-Endgeräte einstellen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.49. Aktivierungstyp der Endeffektor-LUA-Endgeräte abrufen
Neu in Version Python: SDK-v2.0.5
Prototyp |
|
|---|---|
Beschreibung |
Aktivierungstyp der Endeffektor-LUA-Endgeräte abrufen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
|
11.50. Aktuell konfigurierte Endgeräte abrufen
Neu in Version Python: SDK-v2.0.5
Prototyp |
|
|---|---|
Beschreibung |
Aktuell konfigurierte Endgeräte (über LUA) abrufen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
|
11.51. Greifer-Aktionssteuerungsfunktion aktivieren (für LUA)
Neu in Version Python: SDK-v2.0.5
Prototyp |
|
|---|---|
Beschreibung |
Greifer-Aktionssteuerungsfunktion aktivieren (für LUA-Skript) |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.52. Aktivierte Greifer-Aktionssteuerungsfunktion abrufen
Neu in Version Python: SDK-v2.0.5
Prototyp |
|
|---|---|
Beschreibung |
Aktivierte Greifer-Aktionssteuerungsfunktion abrufen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
|
11.53. In Ethercat-Slave-Datei des Roboters schreiben
Neu in Version Python: SDK-v2.0.5
Prototyp |
|
|---|---|
Beschreibung |
In Ethercat-Slave-Datei des Roboters schreiben (Firmware/Konfiguration updaten) |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.54. Endeffektor-Lua-Open-Protocol-Datei hochladen
Neu in Version Python: SDK-v2.0.5
Prototyp |
|
|---|---|
Beschreibung |
Endeffektor-Lua-Open-Protocol-Datei hochladen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.55. Ethercat-Slave des Roboters in den Boot-Modus versetzen
Neu in Version Python: SDK-v2.0.5
Prototyp |
|
|---|---|
Beschreibung |
Ethercat-Slave des Roboters in den Boot-Modus versetzen (für Firmware-Update) |
Erforderliche Parameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.56. Codebeispiel für Roboter-Endeffektor-LUA-Dateioperationen
1from fairino import Robot
2# Verbindung zur Robotersteuerung herstellen
3robot = Robot.RPC('192.168.58.2')
4robot.AxleLuaUpload("D://zUP/AXLE_LUA_End_DaHuan.lua")
5param = [7, 8, 1, 0, 5, 3, 1] # AxleComParam
6robot.SetAxleCommunicationParam(7, 8, 1, 0, 5, 3, 1)
7error,getParam0,getParam1,getParam2,getParam3,getParam4,getParam5,getParam6 = robot.GetAxleCommunicationParam()
8print(f"GetAxleCommunicationParam param is:{getParam0} {getParam1} {getParam2} {getParam3} {getParam4} {getParam5} {getParam6}")
9robot.SetAxleLuaEnable(1)
10error,luaEnableStatus = robot.GetAxleLuaEnableStatus()
11robot.SetAxleLuaEnableDeviceType(0, 1, 0)
12error, forceEnable, gripperEnable, ioEnable = robot.GetAxleLuaEnableDeviceType()
13print(f"GetAxleLuaEnableDeviceType param is: {forceEnable} {gripperEnable} {ioEnable}")
14func = [1] * 16 # Alle Funktionen aktivieren
15robot.SetAxleLuaGripperFunc(1, func)
16error,getFunc = robot.GetAxleLuaGripperFunc(1)
17error,getforceEnable, getgripperEnable, getioEnable = robot.GetAxleLuaEnableDevice()
18print("\ngetforceEnable status:", end=" ")
19for i in range(8):
20 print(f"{getforceEnable[i]},", end="")
21print("\ngetgripperEnable status:", end=" ")
22for i in range(8):
23 print(f"{getgripperEnable[i]},", end="")
24print("\ngetioEnable status:", end=" ")
25for i in range(8):
26 print(f"{getioEnable[i]},", end="")
27print()
28robot.ActGripper(1, 0)
29time.sleep(2)
30robot.ActGripper(1, 1)
31time.sleep(2)
32robot.MoveGripper(1, 90, 10, 100, 50000, 0, 0, 0, 0, 0)
33while True:
34 error,pkg = robot.GetRobotRealTimeState()
35 print(f"gripper pos is:{pkg.gripper_position}")
36 time.sleep(0.1)
37robot.CloseRPC()
11.57. SmartTool-Tastenstatus abrufen
Neu in Version Python: SDK-v2.1.2
Prototyp |
|
|---|---|
Beschreibung |
SmartTool-Tastenstatus abrufen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
|
11.58. Codebeispiel für SmartTool-Tasten
1from fairino import Robot
2import time
3# Verbindung zur Robotersteuerung herstellen
4robot = Robot.RPC('192.168.58.2')
5while True:
6 error,state = robot.GetSmarttoolBtnState()
7 print(f"{state:016b}")
8 time.sleep(0.1)
11.59. Krafterkennung vor dem Führen einstellen
Neu in Version Python: SDK-v2.1.6
Prototyp |
|
|---|---|
Beschreibung |
Krafterkennung vor dem Führen einstellen (Lastprüfung) |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.60. Laser-Peripherie Ein-/Ausschalten
Neu in Version Python: SDK-v2.1.6
Prototyp |
|
|---|---|
Beschreibung |
Laser-Peripherie Ein-/Ausschalten |
Erforderliche Parameter |
|
Standardparameter |
|
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.61. Laser-Tracking Start/Stopp
Neu in Version Python: SDK-v2.1.6
Prototyp |
|
|---|---|
Beschreibung |
Laser-Tracking Start/Stopp |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.62. Lasernahtsuche starten - feste Richtung
Neu in Version Python: SDK-v2.1.6
Prototyp |
|
|---|---|
Beschreibung |
Lasernahtsuche starten - feste Richtung |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.63. Lasernahtsuche starten - Richtung durch Punkt vorgegeben
Neu in Version Python: SDK-v2.1.6
Prototyp |
|
|---|---|
Beschreibung |
Lasernahtsuche starten - Richtung durch Punkt vorgegeben |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.64. Laser-IP-Konfiguration
Neu in Version Python: SDK-v2.1.6
Prototyp |
|
|---|---|
Beschreibung |
Laser-IP-Konfiguration |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.65. Laser-Peripherie-Abtastperiode konfigurieren
Neu in Version Python: SDK-v2.1.6
Prototyp |
|
|---|---|
Beschreibung |
Laser-Peripherie-Abtastperiode konfigurieren |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.66. Laser-Peripherie-Treiber laden
Neu in Version Python: SDK-v2.1.6
Prototyp |
|
|---|---|
Beschreibung |
Laser-Peripherie-Treiber laden |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.67. Laser-Peripherie-Treiber entladen
Neu in Version Python: SDK-v2.1.6
Prototyp |
|
|---|---|
Beschreibung |
Laser-Peripherie-Treiber entladen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.68. Laser-Schweißnaht-Trajektorie aufzeichnen
Neu in Version Python: SDK-v2.1.6
Prototyp |
|
|---|---|
Beschreibung |
Laser-Schweißnaht-Trajektorie aufzeichnen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.69. Laser-Schweißnaht-Trajektorie wiedergeben
Neu in Version Python: SDK-v2.1.6
Prototyp |
|
|---|---|
Beschreibung |
Laser-Schweißnaht-Trajektorie wiedergeben |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.70. Laser-Tracking-Wiedergabe (MoveLTR)
Neu in Version Python: SDK-v2.1.6
Prototyp |
|
|---|---|
Beschreibung |
Laser-Tracking-Wiedergabe (Bewegung entlang der aufgezeichneten Trajektorie) |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.71. Laser-Schweißnaht-Trajektorie aufzeichnen und wiedergeben (erweitert)
Neu in Version Python: SDK-v2.1.6
Prototyp |
|
|---|---|
Beschreibung |
Laser-Schweißnaht-Trajektorie aufzeichnen und wiedergeben (erweiterte Funktion) |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.72. Zum aufgezeichneten Startpunkt der Schweißnaht bewegen
Neu in Version Python: SDK-v2.1.6
Prototyp |
|
|---|---|
Beschreibung |
Zum aufgezeichneten Startpunkt der Schweißnaht bewegen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.73. Zum aufgezeichneten Endpunkt der Schweißnaht bewegen
Neu in Version Python: SDK-v2.1.6
Prototyp |
|
|---|---|
Beschreibung |
Zum aufgezeichneten Endpunkt der Schweißnaht bewegen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.74. Zum vom Laser-Sensor gefundenen Nahtpunkt bewegen
Neu in Version Python: SDK-v2.1.6
Prototyp |
|
|---|---|
Beschreibung |
Zum vom Laser-Sensor gefundenen Nahtpunkt bewegen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode: 0 = Erfolg, sonst Fehlercode |
11.75. Koordinaten des vom Laser-Sensor gefundenen Nahtpunkts abrufen
Neu in Version Python: SDK-v2.1.6
Prototyp |
|
|---|---|
Beschreibung |
Koordinaten des vom Laser-Sensor gefundenen Nahtpunkts abrufen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
|
11.76. Codebeispiel für Laser-Peripherie-Sensorparametrierung und -Debugging
1from fairino import Robot
2# Verbindung zur Robotersteuerung herstellen
3robot = Robot.RPC('192.168.58.2')
4robot.LaserTrackingSensorConfig("192.168.58.20", 5020)
5robot.LaserTrackingSensorSamplePeriod(20)
6robot.LoadPosSensorDriver(101)
7robot.LaserTrackingLaserOnOff(0, 0)
8time.sleep(3)
9robot.LaserTrackingLaserOnOff(1, 0)
10robot.CloseRPC()
11.77. Codebeispiel für Laser-Trajektorienscan und -wiedergabe
1from fairino import Robot
2# Verbindung zur Robotersteuerung herstellen
3robot = Robot.RPC('192.168.58.2')
4robot.OpenLuaUpload("D://zUP/CtrlDev_laser_ruiniu-0117.lua")
5time.sleep(2)
6robot.SetCtrlOpenLUAName(0, "CtrlDev_laser_ruiniu-0117.lua")
7robot.UnloadCtrlOpenLUA(0)
8robot.LoadCtrlOpenLUA(0)
9time.sleep(8)
10i = 0
11while i<10:
12 startjointPos = [56.205, -117.951, 141.872, -118.149, -94.217, -122.176]
13 startdescPose = [-97.552, -282.855, 26.675, 174.182, -1.338, -91.707]
14 exaxisPos = [0.0] * 4
15 offdese = [0.0] * 6
16 robot.MoveL(desc_pos=startdescPose,tool= 1,user= 0,vel= 100,acc= 100,ovl= 100,blendR= -1,exaxis_pos= exaxisPos,search= 0,offset_flag= 0, offset_pos= offdese,overSpeedStrategy= 1,speedPercent= 1)
17 robot.LaserSensorRecord1(2, 10)
18 endjointPos = [68.809, -87.100, 121.120, -127.233, -95.038, -109.555]
19 enddescPose = [-103.555, -464.234, 13.076, 174.179, -1.344, -91.709]
20 robot.MoveL(desc_pos=enddescPose,tool= 1,user= 0,vel= 50,acc= 100,ovl= 100,blendR= -1,exaxis_pos= exaxisPos,search= 0,offset_flag= 0, offset_pos= offdese,overSpeedStrategy= 1,speedPercent= 1)
21 robot.LaserSensorRecord1(0, 10)
22 robot.MoveToLaserRecordStart(1, 30)
23 robot.LaserSensorReplay(10, 100)
24 robot.MoveLTR()
25 robot.LaserSensorRecord1(0, 10)
26 i = i+1
27robot.CloseRPC()
11.78. Codebeispiel für Lasernahtsuche und Echtzeit-Tracking
1from fairino import Robot
2# Verbindung zur Robotersteuerung herstellen
3robot = Robot.RPC('192.168.58.2')
4robot.OpenLuaUpload("D://zUP/CtrlDev_laser_ruiniu-0117.lua")
5time.sleep(2)
6robot.SetCtrlOpenLUAName(0, "CtrlDev_laser_ruiniu-0117.lua")
7robot.UnloadCtrlOpenLUA(0)
8robot.LoadCtrlOpenLUA(0)
9time.sleep(8)
10time.sleep(8)
11i = 0
12while i < 10:
13 startjointPos = [56.205, -117.951, 141.872, -118.149, -94.217, -122.176]
14 startdescPose = [-97.552, -282.855, 26.675, 174.182, -1.338, -91.707]
15 exaxisPos = [0.0] * 4
16 offdese = [0.0] * 6
17 directionPoint = [0.0] * 3
18 robot.MoveL(desc_pos=startdescPose,tool= 1,user= 0,vel= 100,acc= 100,ovl= 100,blendR= -1,exaxis_pos= exaxisPos,search= 0,offset_flag= 0, offset_pos= offdese,overSpeedStrategy= 1,speedPercent= 1)
19 robot.LaserTrackingSearchStart_xyz(3, 100, 300, 1000, 3)
20 robot.LaserTrackingSearchStop()
21 robot.MoveToLaserSeamPos(1, 30, 0, 0, 0, offdese)
22 robot.LaserTrackingTrackOnOff(1, 3)
23 endjointPos = [68.809, -87.100, 121.120, -127.233, -95.038, -109.555]
24 enddescPose = [-103.555, -464.234, 13.076, 174.179, -1.344, -91.709]
25 robot.MoveL(desc_pos=enddescPose, tool=1, user=0, vel=20, acc=100, ovl=100, blendR=-1, exaxis_pos=exaxisPos, search=0, offset_flag=0, offset_pos=offdese, overSpeedStrategy=1, speedPercent=1)
26 robot.LaserTrackingTrackOnOff(0, 3) # Tracking stoppen
27 print(f"Durchlauf {i+1} abgeschlossen")
28robot.CloseRPC()
11.79. Codebeispiel für synchrones Laser-Tracking mit Erweiterungsachse und Roboter
1from fairino import Robot
2# Verbindung zur Robotersteuerung herstellen
3robot = Robot.RPC('192.168.58.2')
4startexaxisPos = [0.0, 0.0, 0.0, 0.0]
5seamexaxisPos = [-10.0, 0.0, 0.0, 0.0]
6endexaxisPos = [-30.0, 0.0, 0.0, 0.0]
7offdese = [0.0] * 6
8seamjointPos = [0.0] * 6
9seamdescPose = [0.0] * 6
10i=0
11while i < 10:
12 startjointPos = [58.337, -119.628, 146.037, -116.358, -92.224, -117.654]
13 startdescPose = [-53.375, -255.363, 0.919, 178.054, 1.077, -94.026]
14 robot.ExtAxisSyncMoveJ(joint_pos=startjointPos, tool=1,user= 0,vel= 100,acc= 100, ovl=100,exaxis_pos= startexaxisPos,blendT= -1,offset_flag= 0,offset_pos= offdese)
15 ret = robot.LaserTrackingSearchStart_xyz(3, 100, 300, 1000, 2)
16 robot.LaserTrackingSearchStop()
17 tool = 0
18 user = 0
19 rnte, seamjointPos, seamdescPose, tool, user, startexaxisPos = robot.GetLaserSeamPos(0, offdese)
20 print(f"{seamjointPos[0]},{seamjointPos[1]},{seamjointPos[2]},{seamjointPos[3]},{seamjointPos[4]},{seamjointPos[5]},{seamdescPose[0]},{seamdescPose[1]},{seamdescPose[2]},{seamdescPose[3]},{seamdescPose[4]},{seamdescPose[5]}")
21 if ret == 0:
22 robot.ExtAxisSyncMoveJ(joint_pos=seamjointPos, tool=1,user= 0,vel= 100,acc= 100, ovl=100,exaxis_pos= seamexaxisPos,blendT= -1,offset_flag= 0,offset_pos= offdese)
23 robot.LaserTrackingTrackOnOff(1, 2)
24 endjointPos = [70.580, -90.918, 126.593, -125.154, -92.162, -105.403]
25 enddescPose = [-53.375, -419.020, 0.920, 178.054, 1.076, -94.026]
26 robot.ExtAxisSyncMoveL(desc_pos=enddescPose, tool=1,user= 0,vel= 20,acc= 100, ovl=100,blendR= -1,exaxis_pos= endexaxisPos,offset_pos= offdese)
27 robot.LaserTrackingTrackOnOff(0, 2)
28 i = i+1
29 print(i)
30robot.CloseRPC()
11.80. Array-Saugnapf steuern
Neu in Version python: SDK-v2.1.5
Prototyp |
|
|---|---|
Beschreibung |
Array-Saugnapf steuern |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode Erfolg-0 Fehler-errcode |
11.81. Array-Saugnapf-Status abrufen
Neu in Version python: SDK-v2.1.5
Prototyp |
|
|---|---|
Beschreibung |
Array-Saugnapf-Status abrufen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
|
11.82. Auf Saugnapf-Status warten
Neu in Version python: SDK-v2.1.5
Prototyp |
|
|---|---|
Beschreibung |
Auf Saugnapf-Status warten |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode Erfolg-0 Fehler-errcode |
11.83. Codebeispiel für Array-Saugnapf-Steuerbefehle
Neu in Version python: SDK-v2.1.5
1from fairino import Robot
2# Verbindung mit der Robotersteuerung herstellen, bei Erfolg wird ein Roboter-Objekt zurückgegeben
3robot = Robot.RPC('192.168.58.2')
4robot.OpenLuaUpload("C://Projekt/PeripherieSDK/CtrlDev_sucker.lua")
5time.sleep(2)
6robot.UnloadCtrlOpenLUA(1)
7robot.LoadCtrlOpenLUA(1)
8time.sleep(1)
9ctrl = bytearray(20)
10ctrl[0] = 1
11robot.SetSuckerCtrl(0, 1, ctrl)
12for i in range(100):
13 rtn, state, press_value, error = robot.GetSuckerState(1)
14 print(f"sucker1 state is {state}, pressValue is {press_value}, error num is {error}")
15 rtn, state, press_value, error = robot.GetSuckerState(12)
16 print(f"sucker12 state is {state}, pressValue is {press_value}, error num is {error}")
17 time.sleep(0.1)
18ret = robot.WaitSuckerState(1, 1, 100)
19print(f"WaitSuckerState result is {ret}")
20ctrl[0] = 3
21robot.SetSuckerCtrl(1, 1, ctrl)
22robot.SetSuckerCtrl(12, 1, ctrl)
23robot.CloseRPC()
11.84. Open-Protocol-Lua-Datei hochladen
Neu in Version python: SDK-v2.1.5
Prototyp |
|
|---|---|
Beschreibung |
Open-Protocol-Lua-Datei hochladen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode Erfolg-0 Fehler-errcode |
11.85. Slave-Stationskartenparameter abrufen
Neu in Version python: SDK-v2.1.5
Prototyp |
|
|---|---|
Beschreibung |
Slave-Stationskartenparameter abrufen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
|
11.86. Slave-Station DO schreiben
Neu in Version python: SDK-v2.1.5
Prototyp |
|
|---|---|
Beschreibung |
Slave-Station DO schreiben |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode Erfolg-0 Fehler-errcode |
11.87. Slave-Station AO schreiben
Neu in Version python: SDK-v2.1.5
Prototyp |
|
|---|---|
Beschreibung |
Slave-Station AO schreiben |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode Erfolg-0 Fehler-errcode |
11.88. Slave-Station DI lesen
Neu in Version python: SDK-v2.1.5
Prototyp |
|
|---|---|
Beschreibung |
Slave-Station DI lesen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
|
11.89. Slave-Station AI lesen
Neu in Version python: SDK-v2.1.5
Prototyp |
|
|---|---|
Beschreibung |
Slave-Station AI lesen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
|
11.90. Auf erweiterten DI-Eingang warten
Neu in Version python: SDK-v2.1.5
Prototyp |
|
|---|---|
Beschreibung |
Auf erweiterten DI-Eingang warten |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode Erfolg-0 Fehler-errcode |
11.91. Auf erweiterten AI-Eingang warten
Neu in Version python: SDK-v2.1.5
Prototyp |
|
|---|---|
Beschreibung |
Auf erweiterten AI-Eingang warten |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode Erfolg-0 Fehler-errcode |
11.92. Codebeispiel für Slave-Stationsmodus-bezogene Schnittstellenbefehle
Neu in Version python: SDK-v2.1.5
1from fairino import Robot
2# Verbindung mit der Robotersteuerung herstellen, bei Erfolg wird ein Roboter-Objekt zurückgegeben
3robot = Robot.RPC('192.168.58.2')
4robot.OpenLuaUpload("D://zUP/Peripherie/CtrlDev_field.lua")
5time.sleep(2)
6robot.SetCtrlOpenLUAName(3,"CtrlDev_field.lua")
7robot.UnloadCtrlOpenLUA(3)
8robot.LoadCtrlOpenLUA(3)
9time.sleep(8)
10rtn,type, version, conn_state = robot.GetFieldBusConfig()
11print(f"type is {type}, version is {version}, connState is {conn_state}")
12# Write digital outputs
13ctrl = [1, 0, 1] # DO0=1, DO1=0, DO2=1
14robot.FieldBusSlaveWriteDO(0, 3, ctrl)
15# Write analog output
16ctrl_ao = [0x1000] # AO2 = 0x1000
17robot.FieldBusSlaveWriteAO(2, 1, ctrl_ao)
18for i in range(100):
19 rtn,di = robot.FieldBusSlaveReadDI(0, 4)
20 print(f"DI0 is {di[0]}, DI1 is {di[1]}, DI2 is {di[2]}, DI3 is {di[3]}")
21 rtn, ai = robot.FieldBusSlaveReadAI(0, 3)
22 print(f"AI0 is {ai[0]}, AI1 is {ai[1]}, AI2 is {ai[2]}")
23 time.sleep(0.01)
24ret = robot.FieldBusSlaveWaitDI(0, 1, 100)
25print(f"FieldBusSlaveWaitDI result is {ret}")
26ret = robot.FieldBusSlaveWaitAI(0, 0, 400.00, 100)
27print(f"FieldBusSlaveWaitAI result is {ret}")
28robot.CloseRPC()
11.93. Endeffektor-Transparentübertragungsfunktion ein-/ausschalten SDK-Schnittstelle
Prototyp |
|
|---|---|
Beschreibung |
Allgemeine Transparentübertragungsfunktion des Endeffektors aktivieren |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode Erfolg-0 Fehler-errcode |
11.94. Endeffektor-Transparentübertragungsfunktion für azyklische Datenübertragung und -empfang SDK-Schnittstelle
Prototyp |
|
|---|---|
Beschreibung |
Endeffektor sendet azyklische Daten und wartet auf Antwort |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode Erfolg-0 Fehler-errcode |
11.95. Codebeispiel für azyklische Datenkommunikation des DIO Health Care Moxibustion-Kopfs basierend auf der Endeffektor-Transparentübertragungsfunktion
1from time import sleep
2from fairino import Robot
3from ctypes import sizeof
4# Verbindung mit der Robotersteuerung herstellen, bei Erfolg wird ein Roboter-Objekt zurückgegeben
5robot = Robot.RPC('192.168.58.2')
6
7import time
8
9
10def testAxleGenCom(self):
11
12 led_on = [0xAB, 0xBA, 0x12, 0x01, 0x01, 0x79]
13 led_off = [0xAB, 0xBA, 0x12, 0x01, 0x00, 0x78]
14 version = [0xAB, 0xBA, 0x11, 0x00, 0x76]
15 state = [0xAB, 0xBA, 0x1B, 0x01, 0xAA, 0x2B]
16 cycleState = [0xAB, 0xBA, 0x12, 0x01, 0x00, 0x78]
17 cnt = 1
18
19 p1Joint = [88.708, -86.178, 140.989, -141.825, -89.162, -49.879]
20 p1Desc = [188.007, -377.850, 260.207, 178.715, 2.823, -131.466]
21 p2Joint = [112.131, -75.554, 126.989, -139.027, -88.044, -26.477]
22 p2Desc = [368.003, -377.848, 260.211, 178.715, 2.823, -131.465]
23
24 exaxisPos = [0, 0, 0, 0]
25 offdese = [0, 0, 0, 0, 0, 0]
26
27 #Endeffektor-Transparentübertragungsfunktion aktivieren
28 robot.SetAxleGenComEnable(1)
29 robot.SetAxleLuaEnable(1)
30
31 while cnt <= 10000:
32 #Versionsnummer auslesen
33 ret,rcvdata = robot.SndRcvAxleGenComCmdData(len_snd=5, sndBuff=version, len_rcv=10)
34 print(ret)
35 print(rcvdata)
36 print(f"hard version : {rcvdata[4]},hard code:{rcvdata[5]}, soft version:{rcvdata[6]} {rcvdata[7]}, soft code:{rcvdata[8]}")
37 if ret != 0:
38 break
39 time.sleep(1)
40 # Präsenzstatus des Moxibustion-Kopfs auslesen
41 ret,rcvdata = robot.SndRcvAxleGenComCmdData(6, state, 6)
42 print(f"state : {rcvdata[4]} ")
43 time.sleep(1)
44 # Laser des Moxibustion-Kopfs einschalten
45 ret,rcvdata = robot.SndRcvAxleGenComCmdData(6, led_on, 6)
46 print(f"led on rcv data is: {rcvdata[0]}, {rcvdata[1]}, {rcvdata[2]}, {rcvdata[3]}, {rcvdata[4]}, {rcvdata[5]}")
47 robot.MoveJ(joint_pos=p1Joint, tool=0, user=0, vel=100, acc=100, ovl=100, exaxis_pos=exaxisPos, blendT=-1,
48 offset_flag=0, offset_pos=offdese)
49 time.sleep(4)
50 # Laser des Moxibustion-Kopfs ausschalten
51 ret, rcvdata = robot.SndRcvAxleGenComCmdData(6, led_off, 6)
52 print(f"led off rcv data is: {rcvdata[0]}, {rcvdata[1]}, {rcvdata[2]}, {rcvdata[3]}, {rcvdata[4]}, {rcvdata[5]}")
53 robot.MoveJ(joint_pos=p2Joint, tool=0, user=0, vel=100, acc=100, ovl=100, exaxis_pos=exaxisPos, blendT=-1,offset_flag=0, offset_pos=offdese)
54 time.sleep(1)
55 print(f"***********************complate No. {cnt} SDK test*****************************")
56 cnt = cnt + 1
57
58 robot.CloseRPC()
59 return 0
60
61testAxleGenCom(robot)
11.96. Open-Protocol-Lua-Datei herunterladen
Prototyp |
|
|---|---|
Beschreibung |
Open-Protocol-Lua-Datei herunterladen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode Erfolg-0 Fehler-errcode |
11.97. Bestimmte Open-Protocol-Lua-Datei löschen
Prototyp |
|
|---|---|
Beschreibung |
Bestimmte Open-Protocol-Lua-Datei löschen |
Erforderliche Parameter |
|
Standardparameter |
Keine |
Rückgabewert |
Fehlercode Erfolg-0 Fehler-errcode |
11.98. Alle Open-Protocol-Lua-Dateien löschen
Prototyp |
|
|---|---|
Beschreibung |
Alle Open-Protocol-Lua-Dateien löschen |
Erforderliche Parameter |
Keine |
Standardparameter |
Keine |
Rückgabewert |
Fehlercode Erfolg-0 Fehler-errcode |
11.99. SDK-Codebeispiel für Open-Protocol-Lua-Dateioperationen
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 TestCtrlOpenLuaOperate(self):
10 # Lua-Datei auf Roboter hochladen
11 rtn = robot.OpenLuaUpload("D://zUP/openlua/CtrlDev_WELDING_A.lua")
12 print(f"OpenLuaUpload rtn is {rtn}")
13
14 rtn = robot.OpenLuaUpload("D://zUP/openlua/CtrlDev_SWDPOLISH.lua")
15 print(f"OpenLuaUpload rtn is {rtn}")
16
17 # Lua-Datei von Roboter herunterladen
18 rtn = robot.OpenLuaDownload("CtrlDev_WELDING_A.lua", "D://zDOWN/")
19 print(f"OpenLuaDownload rtn is {rtn}")
20
21 rtn = robot.OpenLuaDownload("CtrlDev_SWDPOLISH.lua", "D://zDOWN/")
22 print(f"OpenLuaDownload rtn is {rtn}")
23
24 # Steuerungs-Open-Protocol-Lua-Name festlegen
25 rtn = robot.SetCtrlOpenLUAName(0, "CtrlDev_WELDING_A.lua")
26 print(f"SetCtrlOpenLUAName rtn is {rtn}")
27
28 rtn = robot.SetCtrlOpenLUAName(1, "CtrlDev_SWDPOLISH.lua")
29 print(f"SetCtrlOpenLUAName rtn is {rtn}")
30
31 # Steuerungs-Open-Protocol-Lua-Name abrufen
32 rtn, name = robot.GetCtrlOpenLUAName()
33 print(f"ctrl open lua names : {name[0]}, {name[1]}, {name[2]}, {name[3]}")
34
35 # Steuerungs-Open-Protocol-Lua laden
36 rtn = robot.LoadCtrlOpenLUA(1)
37 print(f"LoadCtrlOpenLUA rtn is {rtn}")
38 time.sleep(2)
39
40 # Steuerungs-Open-Protocol-Lua entladen
41 rtn = robot.UnloadCtrlOpenLUA(1)
42 print(f"UnloadCtrlOpenLUA rtn is {rtn}")
43
44 # Bestimmte Lua-Datei löschen
45 rtn = robot.OpenLuaDelete("CtrlDev_WELDING_A.lua")
46 print(f"OpenLuaDelete rtn is {rtn}")
47
48 # Alle Lua-Dateien löschen
49 rtn = robot.AllOpenLuaDelete()
50 print(f"AllOpenLuaDelete rtn is {rtn}")
51
52 # Verbindung schließen
53 robot.CloseRPC()
54 time.sleep(1)
55
56
57# Testfunktion aufrufen
58TestCtrlOpenLuaOperate(robot)