2. Beschreibung der Datenstrukturen
2.1. Datentyp für Gelenkpositionen
1/**
2* @brief Datentyp für Gelenkpositionen.
3*/
4public class JointPos
5{
6 double J1;
7 double J2;
8 double J3;
9 double J4;
10 double J5;
11 double J6;
12
13 public JointPos(double j1, double j2, double j3, double j4, double j5, double j6)
14 {
15 J1 = j1;
16 J2 = j2;
17 J3 = j3;
18 J4 = j4;
19 J5 = j5;
20 J6 = j6;
21 }
22
23 public JointPos()
24 {
25
26 }
27}
2.2. Datentyp für Positionen im kartesischen Raum
1/**
2* @brief Datentyp für Positionen im kartesischen Raum.
3*/
4public class DescTran
5{
6 public double x = 0.0; /* x-Achsen-Koordinate, Einheit mm */
7 public double y = 0.0; /* y-Achsen-Koordinate, Einheit mm */
8 public double z = 0.0; /* z-Achsen-Koordinate, Einheit mm */
9 public DescTran(double posX, double posY, double posZ)
10 {
11 x = posX;
12 y = posY;
13 z = posZ;
14 }
15
16 public DescTran()
17 {
18
19 }
20
21}
2.3. Datentyp für Euler-Winkel-Ausrichtung
1/**
2* @brief Datentyp für Euler-Winkel-Ausrichtung.
3*/
4public class Rpy
5{
6 public double rx = 0.0; /* Rotationswinkel um die feste X-Achse, Einheit: deg */
7 public double ry = 0.0; /* Rotationswinkel um die feste Y-Achse, Einheit: deg */
8 public double rz = 0.0; /* Rotationswinkel um die feste Z-Achse, Einheit: deg */
9 public Rpy(double rotateX, double rotateY, double rotateZ)
10 {
11 rx = rotateX;
12 ry = rotateY;
13 rz = rotateZ;
14 }
15}
2.4. Datentyp für Posen im kartesischen Raum
1/**
2* @brief Datentyp für Posen im kartesischen Raum.
3*/
4public class DescPose
5{
6 public DescTran tran = new DescTran(0.0, 0.0, 0.0); /* Position im kartesischen Raum */
7 public Rpy rpy = new Rpy(0.0, 0.0, 0.0); /* Ausrichtung im kartesischen Raum */
8
9 public DescPose()
10 {
11
12 }
13
14 public DescPose(DescTran descTran, Rpy rotateRpy)
15 {
16 tran = descTran;
17 rpy = rotateRpy;
18 }
19
20 public DescPose(double tranX, double tranY, double tranZ, double rX, double ry, double rz)
21 {
22 tran.x = tranX;
23 tran.y = tranY;
24 tran.z = tranZ;
25 rpy.rx = rX;
26 rpy.ry = ry;
27 rpy.rz = rz;
28 }
29
30 public String toString()
31 {
32 return String.valueOf(tran.x) + "," + String.valueOf(tran.y) + "," +String.valueOf(tran.z) + "," +String.valueOf(rpy.rx) + "," +String.valueOf(rpy.ry) + "," +String.valueOf(rpy.rz);
33 }
34}
2.5. Datentyp für Positionen der Erweiterungsachse
1/**
2* @brief Datentyp für Positionen der Erweiterungsachse.
3*/
4public class ExaxisPos
5{
6 public double axis1 = 0.0;
7 public double axis2 = 0.0;
8 public double axis3 = 0.0;
9 public double axis4 = 0.0;
10
11 public ExaxisPos()
12 {
13
14 }
15 public ExaxisPos(double[] exaxisPos)
16 {
17 axis1 = exaxisPos[0];
18 axis2 = exaxisPos[1];
19 axis3 = exaxisPos[2];
20 axis4 = exaxisPos[3];
21 }
22
23 public ExaxisPos(double pos1, double pos2, double pos3, double pos4)
24 {
25 axis1 = pos1;
26 axis2 = pos2;
27 axis3 = pos3;
28 axis4 = pos4;
29 }
30}
2.6. Datentyp für Kraft-/Drehmomentsensor
1/**
2* @brief Kraftkomponenten und Drehmomentkomponenten des Kraftsensors.
3*/
4public class ForceTorque
5{
6 public double fx; /* Kraftkomponente entlang der x-Achse, Einheit N */
7 public double fy; /* Kraftkomponente entlang der y-Achse, Einheit N */
8 public double fz; /* Kraftkomponente entlang der z-Achse, Einheit N */
9 public double tx; /* Drehmomentkomponente um die x-Achse, Einheit Nm */
10 public double ty; /* Drehmomentkomponente um die y-Achse, Einheit Nm */
11 public double tz; /* Drehmomentkomponente um die z-Achse, Einheit Nm */
12 public ForceTorque(double fX, double fY, double fZ, double tX, double tY, double tZ)
13 {
14 fx = fX;
15 fy = fY;
16 fz = fZ;
17 tx = tX;
18 ty = tY;
19 tz = tZ;
20 }
21}
2.7. Datentyp für Spiralparameter
1/**
2* @brief Datentyp für Spiralparameter.
3*/
4public class SpiralParam
5{
6 public int circle_num; /* Anzahl der Windungen */
7 public double circle_angle; /* Neigungswinkel der Spirale */
8 public double rad_init; /* Anfangsradius der Spirale, Einheit mm */
9 public double rad_add; /* Radiusinkrement */
10 public double rotaxis_add; /* Inkrement in Richtung der Drehachse */
11 public int rot_direction; /* Drehrichtung, 0-im Uhrzeigersinn, 1-gegen Uhrzeigersinn */
12 public int velAccMode; /* Modus für Geschwindigkeit/Beschleunigung: 0-Winkelgeschwindigkeit konstant; 1-Lineargeschwindigkeit konstant */
13 public SpiralParam(int circleNum, double circleAngle, double radInit, double radAdd, double rotaxisAdd, int rotDirection, int vel_AccMode)
14 {
15 circle_num = circleNum;
16 circle_angle = circleAngle;
17 rad_init = radInit;
18 rad_add = radAdd;
19 rotaxis_add = rotaxisAdd;
20 rot_direction = rotDirection;
21 velAccMode = vel_AccMode;
22 }
23}
2.8. Datentyp für Erweiterungsachsen-Status
1/**
2* @brief Datentyp für den Status der Erweiterungsachse.
3*/
4public class EXT_AXIS_STATUS
5{
6 public double pos = 0; // Erweiterungsachsenposition
7 public double vel = 0; // Erweiterungsachsengeschwindigkeit
8 public int errorCode = 0; // Fehlercode der Erweiterungsachse
9 public int ready = 0; // Servo bereit
10 public int inPos = 0; // Servo in Position
11 public int alarm = 0; // Servoalarm
12 public int flerr = 0; // Folgefehler
13 public int nlimit = 0; // Negative Endlage erreicht
14 public int pLimit = 0; // Positive Endlage erreicht
15 public int mdbsOffLine = 0; // Antriebs-485-Bus offline
16 public int mdbsTimeout = 0; // Kommunikationstimeout zwischen Steuerkarte und Steuerschrank (485)
17 public int homingStatus = 0; // Referenzpunktfahrt-Status der Erweiterungsachse
18}
2.9. Sensortyp
1/**
2* @brief Sensortyp.
3*/
4public class DeviceConfig
5{
6 int company = 0; // Hersteller
7 int device = 0; // Typ / Gerätenummer
8 int softwareVersion = 0; // Softwareversion
9 int bus = 0; // Montageposition (Bus)
10
11 public DeviceConfig()
12 {
13
14 }
15
16 public DeviceConfig(int company, int device, int softwareVersion, int bus)
17 {
18 this.company = company;
19 this.device = device;
20 this.softwareVersion = softwareVersion;
21 this.bus = bus;
22 }
23}
2.10. 485-Erweiterungsachsen-Konfiguration
1/**
2* @brief 485-Erweiterungsachsen-Konfiguration.
3*/
4public class Axis485Param
5{
6 int servoCompany; // Hersteller des Servoantriebs, 1-DYNATEC
7 int servoModel; // Modell des Servoantriebs, 1-FD100-750C
8 int servoSoftVersion; // Softwareversion des Servoantriebs, 1-V1.0
9 int servoResolution; // Encoderauflösung
10 double axisMechTransRatio; // Mechanisches Übersetzungsverhältnis
11
12 public Axis485Param(int company, int model, int softVersion, int resolution, double mechTransRatio)
13 {
14 servoCompany = company;
15 servoModel = model;
16 servoSoftVersion = softVersion;
17 servoResolution = resolution;
18 axisMechTransRatio = mechTransRatio;
19 }
20
21 public Axis485Param()
22 {
23
24 }
25}
2.11. Servocontroller-Status
1/**
2* @brief Servocontroller-Status.
3*/
4public class ROBOT_AUX_STATE
5{
6 public int servoId = 0; // Servoantriebs-ID-Nummer
7 public int servoErrCode = 0; // Fehlercode des Servoantriebs
8 public int servoState = 0; // Status des Servoantriebs
9 public double servoPos = 0; // Aktuelle Position des Servos
10 public float servoVel = 0; // Aktuelle Geschwindigkeit des Servos
11 public float servoTorque = 0; // Aktuelles Drehmoment des Servos
12}
2.12. Schweißunterbrechungsstatus
1/**
2* @brief Schweißunterbrechungsstatus.
3*/
4public class WELDING_BREAKOFF_STATE
5{
6 public int breakOffState = 0; // Schweißunterbrechungsstatus
7 public int weldArcState = 0; // Lichtbogenunterbrechungsstatus beim Schweißen
8}
2.13. UDP-Erweiterungsachsen-Kommunikationsparameter
1/**
2* @brief UDP-Erweiterungsachsen-Kommunikationsparameter.
3*/
4public class UDPComParam
5{
6 public String ip = "192.168.58.88";// IP-Adresse
7 public int port = 2021; // Portnummer
8 public int period = 2; // Kommunikationszyklus (ms, Standard 2, diesen Parameter nicht ändern)
9 public int lossPkgTime = 50; // Paketverlust-Erkennungszeit (ms)
10 public int lossPkgNum = 2; // Anzahl der Paketverluste
11 public int disconnectTime = 100; // Bestätigungsdauer für Kommunikationsunterbrechung
12 public int reconnectEnable = 0; // Automatische Wiederverbindung bei Kommunikationsunterbrechung aktivieren? 0-deaktivieren, 1-aktivieren
13 public int reconnectPeriod = 100; // Wiederverbindungsintervall (ms)
14 public int reconnectNum = 3; // Anzahl der Wiederverbindungsversuche
15 public int selfConnect = 0; // Automatische Verbindung nach Neustart? 0-keine Verbindung; 1-Verbindung herstellen
16}
2.14. Strukturtyp für Roboterstatus-Rückmeldung
1/**
2* @brief Roboterstatus-Rückmeldungsstrukturtyp
3*/
4public class ROBOT_STATE_PKG {
5 public int frame_head; // Rahmenkopf
6 public int frame_cnt; // Rahmenzählung
7 public int data_len; // Datenlänge
8 public int program_state; // Programmstatus - 1-gestoppt; 2-läuft; 3-pausiert
9 public int robot_state; // Roboterbewegungsstatus - 1-gestoppt; 2-läuft; 3-pausiert; 4-ziehen
10 public int main_code; // Hauptfehlercode
11 public int sub_code; // Unterfehlercode
12 public int robot_mode; // Robotermodus - 1-Handmodus; 0-Automatikmodus
13 public double[] jt_cur_pos = new double[6]; // Aktuelle Gelenkpositionen von 6 Achsen, Einheit deg
14 public double[] tl_cur_pos = new double[6]; // Aktuelle Werkzeugposition - [x,y,z,rx,ry,rz]
15 public double[] flange_cur_pos = new double[6]; // Aktuelle Endflanschposition - [x,y,z,rx,ry,rz]
16 public double[] actual_qd = new double[6]; // Aktuelle Geschwindigkeiten von 6 Gelenken, Einheit deg/s
17 public double[] actual_qdd = new double[6]; // Aktuelle Beschleunigungen von 6 Gelenken, Einheit deg/s^2
18 public double[] target_TCP_CmpSpeed = new double[2]; // TCP zusammengesetzte Befehlgeschwindigkeit - [Position mm/s, Orientierung deg/s]
19 public double[] target_TCP_Speed = new double[6]; // TCP Befehlgeschwindigkeit - [vx,vy,vz,wx,wy,wz]
20 public double[] actual_TCP_CmpSpeed = new double[2]; // TCP zusammengesetzte tatsächliche Geschwindigkeit - [Position mm/s, Orientierung deg/s]
21 public double[] actual_TCP_Speed = new double[6]; // TCP tatsächliche Geschwindigkeit - [vx,vy,vz,wx,wy,wz]
22 public double[] jt_cur_tor = new double[6]; // Aktuelles Gelenkmoment
23 public int tool; // Werkzeug-ID
24 public int user; // Werkstück-ID
25 public int cl_dgt_output_h; // Digitaler Ausgang des Schaltschranks High-Byte
26 public int cl_dgt_output_l; // Digitaler Ausgang des Schaltschranks Low-Byte
27 public int tl_dgt_output_l; // Digitaler Werkzeugausgang Low-Byte
28 public int cl_dgt_input_h; // Digitaler Eingang des Schaltschranks High-Byte
29 public int cl_dgt_input_l; // Digitaler Eingang des Schaltschranks Low-Byte
30 public int tl_dgt_input_l; // Digitaler Werkzeugeingang Low-Byte
31 public int[] cl_analog_input = new int[2]; // Analoger Eingang des Schaltschranks
32 public int tl_anglog_input; // Analoger Werkzeugeingang
33 public double[] ft_sensor_raw_data = new double[6]; // Rohdaten des Kraftsensors
34 public double[] ft_sensor_data = new double[6]; // Daten des Kraftsensors
35 public int ft_sensor_active; // Aktivierungsstatus des Kraftsensors
36 public int EmergencyStop; // Not-Halt-Status
37 public int motion_done; // Bewegung abgeschlossen
38 public int gripper_motiondone; // Greiferbewegung abgeschlossen
39 public int mc_queue_len; // Bewegungswarteschlangenlänge
40 public int collisionState; // Kollisionsstatus
41 public int trajectory_pnum; // Bahnpunkt-Sequenznummer
42 public int safety_stop0_state; // Sicherheitsstopp 0 Status
43 public int safety_stop1_state; // Sicherheitsstopp 1 Status
44 public int gripper_fault_id; // Greiferfehler-ID
45 public int gripper_fault; // Greiferfehler
46 public int gripper_active; // Greiferaktivierung
47 public int gripper_position; // Greiferposition
48 public int gripper_speed; // Greifergeschwindigkeit
49 public int gripper_current; // Greiferstrom
50 public int gripper_temp; // Greifertemperatur
51 public int gripper_voltage; // Greiferspannung
52 public AuxState aux_state = new AuxState(); // Interner Hilfsachsenstatus
53 public EXT_AXIS_STATUS[] extAxisStatus = new EXT_AXIS_STATUS[4]; // Erweiterungsachsenstatus-Array
54 public short[] extDIState = new short[8]; // Erweiterte E/A
55 public short[] extDOState = new short[8]; // Erweiterte E/A
56 public short[] extAIState = new short[4]; // Erweiterte E/A
57 public short[] extAOState = new short[4]; // Erweiterte E/A
58 public int rbtEnableState; // Roboter-Aktivierungsstatus
59 public double[] jointDriverTorque = new double[6]; // Gelenktreibermoment
60 public double[] jointDriverTemperature = new double[6]; // Gelenktreibertemperatur
61 public ROBOT_TIME robotTime = new ROBOT_TIME(); // Roboterzeitobjekt
62 public int softwareUpgradeState; // Software-Upgrade-Status
63 public int endLuaErrCode; // End-Lua-Fehlercode
64 public int[] cl_analog_output = new int[2]; // Analoger Ausgang des Schaltschranks
65 public int tl_analog_output; // Analoger Werkzeugausgang
66 public float gripperRotNum; // Drehzahl des rotierenden Greifers
67 public int gripperRotSpeed; // Geschwindigkeit des rotierenden Greifers
68 public int gripperRotTorque; // Drehmoment des rotierenden Greifers
69 public WELDING_BREAKOFF_STATE weldingBreakOffState = new WELDING_BREAKOFF_STATE(); // Schweißunterbrechungsstatus
70 public double[] jt_tgt_tor = new double[6]; // Soll-Gelenkmoment
71 public int smartToolState; // Smart-Tool-Status
72 public float wideVoltageCtrlBoxTemp; // Weitspannungs-Steuerkastentemperatur
73 public int wideVoltageCtrlBoxFanCurrent; // Weitspannungs-Steuerkasten-Lüfterstrom
74 public double[] toolCoord = new double[6]; // Werkzeugkoordinatensystem
75 public double[] wobjCoord = new double[6]; // Werkstückkoordinatensystem
76 public double[] extoolCoord = new double[6]; // Externes Werkzeugkoordinatensystem
77 public double[] exAxisCoord = new double[6]; // Erweiterungsachsenkoordinatensystem
78 public double load; // Last
79 public double[] loadCog = new double[3]; // Lastschwerpunkt
80 public double[] lastServoTarget = new double[6]; // Letzte Servo-J-Sollposition
81 public int servoJCmdNum; // Servo-J-Befehlszähler
82 public double[] targetJointPos = new double[6]; // Soll-Gelenkposition
83 public double[] targetJointVel = new double[6]; // Soll-Gelenkgeschwindigkeit
84 public double[] targetJointAcc = new double[6]; // Soll-Gelenkbeschleunigung
85 public double[] targetJointCurrent = new double[6]; // Soll-Gelenkstrom
86 public double[] actualJointCurrent = new double[6]; // Tatsächlicher Gelenkstrom
87 public double[] actualTCPForce = new double[6]; // Tatsächliche TCP-Kraft
88 public double[] targetTCPPos = new double[6]; // Soll-TCP-Position
89 public int[] collisionLevel = new int[6]; // Kollisionsstufe
90 public double speedScaleManual; // Manueller Geschwindigkeitsmaßstab
91 public double speedScaleAuto; // Automatischer Geschwindigkeitsmaßstab
92 public int luaLineNum; // Lua-Zeilennummer
93 public int abnomalStop; // Abnormaler Stopp
94 public String currentLuaFileName; // Aktueller Lua-Dateiname
95 public int programTotalLine; // Programmgesamtzeilen
96 public int[] safetyBoxSingal = new int[6]; // Sicherheitskastensignal
97 public double weldVoltage; // Schweißspannung
98 public double weldCurrent; // Schweißstrom
99 public double weldTrackVel; // Schweißnahtverfolgungsgeschwindigkeit
100 public int tpdException; // TPD-Ausnahme
101 public int alarmRebootRobot; // Alarm-Roboter-Neustart
102 public int modbusMasterConnect; // Modbus-Master-Verbindung
103 public int modbusSlaveConnect; // Modbus-Slave-Verbindung
104 public int btnBoxStopSignal; // Tastenfeld-Stoppsignal
105 public int dragAlarm; // Ziehalarm
106 public int safetyDoorAlarm; // Sicherheitstüralarm
107 public int safetyPlaneAlarm; // Sicherheitsebenenalarm
108 public int motonAlarm; // Bewegungsalarm
109 public int interfaceAlarm; // Interferenzalarm
110 public int udpCmdState; // UDP-Befehlsstatus
111 public int weldReadyState; // Schweißbereitschaftsstatus
112 public int alarmCheckEmergStopBtn; // Alarmprüfung Not-Halt-Taste
113 public int tsTmCmdComError; // Befehlskommunikationsfehler
114 public int tsTmStateComError; // Statuskommunikationsfehler
115 public int ctrlBoxError; // Steuerkastenfehler
116 public int safetyDataState; // Sicherheitsdatenstatus
117 public int forceSensorErrState; // Kraftsensorfehlerstatus
118 public int[] ctrlOpenLuaErrCode = new int[4]; // Steuerungs-Open-Lua-Fehlercode
119 public int strangePosFlag; // Singuläre Positionskennzeichnung
120 public int alarm; // Alarm
121 public int driverAlarm; // Treiberalarm
122 public int aliveSlaveNumError; // Fehler bei Anzahl aktiver Slaves
123 public int[] slaveComError = new int[8]; // Slave-Kommunikationsfehler
124 public int cmdPointError; // Befehlspunktfehler
125 public int IOError; // IO-Fehler
126 public int gripperError; // Greiferfehler
127 public int fileError; // Dateifehler
128 public int paraError; // Parameterfehler
129 public int exaxisOutLimitError; // Fehler bei Überschreitung der Weichgrenze der Erweiterungsachse
130 public int[] driverComError = new int[6]; // Treiberkommunikationsfehler
131 public int driverError; // Treiberfehler
132 public int outSoftLimitError; // Fehler bei Überschreitung der Weichgrenze
133 public byte[] axleGenComData = new byte[130]; // Allgemeine Achskommunikationsdaten
134 public int check_sum; // Prüfsumme
135 public int socketConnTimeout; // Socket-Verbindungszeitüberschreitung
136 public int socketReadTimeout; // Socket-Lesezeitüberschreitung
137 public int tsWebStateComErr; // TS-Web-Zustandskommunikationsfehler
138 public int exaxisCoordID; // Kennung des erweiterten Achskoordinatensystems
139}
2.15. Roboterstatus-Feedback-Konfigurationsergebnisklasse
1/**
2* Roboterstatus-Feedback-Konfigurationsergebnisklasse, enthält Statusliste und Periode
3*/
4public static class StateConfigResult {
5 public final List<RobotState> stateList;
6 public final int period;
7}
2.16. Roboterstatus-Feedback-Konfigurationsaufzählungstyp
1/**
2* Roboterstatus-Aufzählungstyp
3* Wird für die Echtzeitstatus-Feedback-Konfiguration verwendet
4*/
5enum class RobotState
6{
7 ProgramState, // Programmstatus, 1-gestoppt; 2-läuft; 3-pausiert
8 RobotState, // Roboterbewegungsstatus, 1-gestoppt; 2-läuft; 3-pausiert; 4-Ziehen
9 MainCode, // Hauptfehlercode
10 SubCode, // Unterfehlercode
11 RobotMode, // Robotermodus, 1-Manualmodus; 0-Automatikmodus
12 JointCurPos, // Aktuelle Gelenkpositionen von 6 Achsen, Einheit deg
13 ToolCurPos, // Aktuelle Werkzeugposition: [0]Position entlang x-Achse(mm), [1]entlang y-Achse(mm), [2]entlang z-Achse(mm), [3]Rotation um festes X(deg), [4]um festes Y(deg), [5]um festes Z(deg)
14 FlangeCurPos, // Aktuelle Endflanschposition: [0]entlang x-Achse(mm), [1]entlang y-Achse(mm), [2]entlang z-Achse(mm), [3]Rotation um festes X(deg), [4]um festes Y(deg), [5]um festes Z(deg)
15 ActualJointVel, // Aktuelle 6 Gelenkgeschwindigkeiten, Einheit deg/s
16 ActualJointAcc, // Aktuelle 6 Gelenkbeschleunigungen, Einheit deg/s²
17 TargetTCPCmpSpeed, // TCP-Zusammengesetzte Befehlgeschwindigkeit: [0]Position(mm/s), [1]Orientierung(deg/s)
18 TargetTCPSpeed, // TCP-Befehlgeschwindigkeit: [0]entlang x-Achse(mm/s), [1]entlang y-Achse(mm/s), [2]entlang z-Achse(mm/s), [3]Winkelgeschwindigkeit um X(deg/s), [4]um Y(deg/s), [5]um Z(deg/s)
19 ActualTCPCmpSpeed, // TCP-Zusammengesetzte Istgeschwindigkeit: [0]Position(mm/s), [1]Orientierung(deg/s)
20 ActualTCPSpeed, // TCP-Istgeschwindigkeit: [0]entlang x-Achse(mm/s), [1]entlang y-Achse(mm/s), [2]entlang z-Achse(mm/s), [3]Winkelgeschwindigkeit um X(deg/s), [4]um Y(deg/s), [5]um Z(deg/s)
21 ActualJointTorque, // Aktuelle 6 Gelenkdrehmomente, Einheit N·m
22 Tool, // Angewandte Werkzeugkoordinatensystemnummer
23 User, // Angewandte Werkstückkoordinatensystemnummer
24 ClDgtOutputH, // Digitaler IO-Ausgang des Steuerschranks 15-8
25 ClDgtOutputL, // Digitaler IO-Ausgang des Steuerschranks 7-0
26 TlDgtOutputL, // Digitaler Werkzeug-IO-Ausgang 7-0, nur bit0-bit1 gültig
27 ClDgtInputH, // Digitaler IO-Eingang des Steuerschranks 15-8
28 ClDgtInputL, // Digitaler IO-Eingang des Steuerschranks 7-0
29 TlDgtInputL, // Digitaler Werkzeug-IO-Eingang 7-0, nur bit0-bit1 gültig
30 ClAnalogInput, // Analoger Eingang des Steuerschranks: [0]Kanal 0, [1]Kanal 1
31 TlAnalogInput, // Analoger Werkzeugeingang
32 FtSensorRawData, // Rohdaten des Kraft-Drehmoment-Sensors: [0]Kraft entlang x-Achse(N), [1]entlang y-Achse(N), [2]entlang z-Achse(N), [3]Drehmoment um x-Achse(Nm), [4]um y-Achse(Nm), [5]um z-Achse(Nm)
33 FtSensorData, // Daten des Kraft-Drehmoment-Sensors (verarbeitet): [0]Kraft entlang x-Achse(N), [1]entlang y-Achse(N), [2]entlang z-Achse(N), [3]Drehmoment um x-Achse(Nm), [4]um y-Achse(Nm), [5]um z-Achse(Nm)
34 FtSensorActive, // Aktivierungsstatus des Kraft-Drehmoment-Sensors, 0-Reset, 1-aktiv
35 EmergencyStop, // Not-Halt-Flag, 0-Not-Halt nicht gedrückt, 1-Not-Halt gedrückt
36 MotionDone, // Bewegungs-abgeschlossen-Signal, 1-abgeschlossen, 0-nicht abgeschlossen
37 GripperMotiondone, // Greiferbewegung-abgeschlossen-Signal, 1-abgeschlossen, 0-nicht abgeschlossen
38 McQueueLen, // Länge der Bewegungskommandowarteschlange
39 CollisionState, // Kollisionserkennung, 1-Kollision, 0-keine Kollision
40 TrajectoryPnum, // Trajektorienpunktnummer
41 SafetyStop0State, // Sicherheitsstoppsignal SI0
42 SafetyStop1State, // Sicherheitsstoppsignal SI1
43 GripperFaultId, // Fehlerhafte Greifernummer
44 GripperFault, // Greiferfehler
45 GripperActive, // Greiferaktivierungsstatus
46 GripperPosition, // Greiferposition
47 GripperSpeed, // Greifergeschwindigkeit
48 GripperCurrent, // Greiferstrom
49 GripperTemp, // Greifertemperatur
50 GripperVoltage, // Greiferspannung
51 AuxState, // 485 Erweiterter Achsenstatus
52 ExtAxisStatus, // UDP-Erweiterte Achsenstatus (4 Achsen)
53 ExtDIState, // Erweiterter DI-Eingang (8)
54 ExtDOState, // Erweiterter DO-Ausgang (8)
55 ExtAIState, // Erweiterter AI-Eingang (4)
56 ExtAOState, // Erweiterter AO-Ausgang (4)
57 RbtEnableState, // Roboter-Freigabestatus
58 JointDriverTorque, // Roboter-Gelenktreiber-Drehmoment (6 Gelenke)
59 JointDriverTemperature, // Roboter-Gelenktreiber-Temperatur (6 Gelenke)
60 RobotTime, // Roboter-Systemzeit
61 SoftwareUpgradeState, // Roboter-Software-Upgrade-Status
62 EndLuaErrCode, // End-LUA-Ausführungsstatus
63 ClAnalogOutput, // Analoger Ausgang des Steuerschranks (2)
64 TlAnalogOutput, // Analoger Werkzeugausgang
65 GripperRotNum, // Aktuelle Rotationsumdrehungen des Drehgreifers
66 GripperRotSpeed, // Aktuelle Rotationsgeschwindigkeitsprozent des Drehgreifers
67 GripperRotTorque, // Aktuelles Rotationsdrehmomentprozent des Drehgreifers
68 WeldingBreakOffState, // Schweißunterbrechungsstatus
69 TargetJointTorque, // Gelenkbefehlsdrehmoment (6 Gelenke)
70 SmartToolState, // SmartTool-Griffknopfstatus
71 WideVoltageCtrlBoxTemp, // Temperatur des Weitspannungs-Steuerschranks
72 WideVoltageCtrlBoxFanCurrent, // Lüfterstrom des Weitspannungs-Steuerschranks (mA)
73 ToolCoord, // Aktuelle Werkzeugkoordinatenwerte: x,y,z,rx,ry,rz
74 WobjCoord, // Aktuelle Werkstückkoordinatenwerte: x,y,z,rx,ry,rz
75 ExtoolCoord, // Aktuelle externe Werkzeugkoordinatenwerte: x,y,z,rx,ry,rz
76 ExAxisCoord, // Aktuelle erweiterte Achsenkoordinatenwerte: x,y,z,rx,ry,rz
77 Load, // Lastmasse
78 LoadCog, // Lastschwerpunkt: x,y,z
79 LastServoTarget, // Letzte ServoJ-Zielposition in Warteschlange (6 Gelenke)
80 ServoJCmdNum, // servoJ-Befehlszähler
81 TargetJointPos, // 6 Gelenkbefehlspositionen, Einheit °
82 TargetJointVel, // 6 Gelenkbefehlsgeschwindigkeiten, Einheit °/s
83 TargetJointAcc, // 6 Gelenkbefehlsbeschleunigungen, Einheit °/s²
84 TargetJointCurrent, // 6 Gelenkbefehlsströme, Einheit A
85 ActualJointCurrent, // 6 Gelenkistströme, Einheit A
86 ActualTCPForce, // Roboter-Enddrehmoment: x,y,z,rx,ry,rz, Einheit Nm
87 TargetTCPPos, // Roboter-TCP-Befehlsposition: x,y,z,rx,ry,rz, Einheit mm
88 CollisionLevel, // Roboter-Kollisionsstufe (6)
89 SpeedScaleManual, // Globale Geschwindigkeitsprozent im Handmodus
90 SpeedScaleAuto, // Globale Geschwindigkeitsprozent im Automatikmodus
91 LuaLineNum, // Aktuelle laufende Zeilennummer des Lua-Programms
92 AbnomalStop, // 0-keine Anomalie; 1-Anomalie vorhanden
93 CurrentLuaFileName, // Aktueller laufender Lua-Programmname
94 ProgramTotalLine, // Lua-Programm-Gesamtzeilen
95 SafetyBoxSingal, // Roboter-Tastenfeld-Tastenstatus (6)
96 WeldVoltage, // Schweißspannung V
97 WeldCurrent, // Schweißstrom
98 WeldTrackVel, // Nahtverfolgungsgeschwindigkeit mm/s
99 TpdException, // TPD-Trajektorien-Ladeanzahl überschritten, 0-nicht überschritten, 1-überschritten
100 AlarmRebootRobot, // Warnung: 1-Stromzyklus nach Loslassen des Not-Halts erforderlich, 2-Gelenkkommunikationsanomalie erfordert Stromzyklus
101 ModbusMasterConnect, // bit0-7 entsprechen ModbusTCP-Master 0-7 Verbindungsstatus, 0-nicht verbunden, 1-verbunden
102 ModbusSlaveConnect, // ModbusTCP-Slave-Verbindungsstatus, 0-nicht verbunden, 1-verbunden
103 BtnBoxStopSignal, // Not-Halt-Signal des Tastenfelds, 0-Not-Halt losgelassen, 1-Not-Halt gedrückt
104 DragAlarm, // Ziehwarnung: 0-kein Alarm, 1-Alarm, 2-Positionsrückmeldungsanomalie kein Wechsel
105 SafetyDoorAlarm, // Sicherheitstürwarnung: 0-geschlossen, 1-geöffnet
106 SafetyPlaneAlarm, // Sicherheitswandwarnung: 0-nicht betreten, 1-betreten
107 MotonAlarm, // Bewegungswarnung
108 InterfaceAlarm, // Warnung beim Eintritt in Interferenzzone
109 UdpCmdState, // UDP-Kommunikationsverbindungsstatus von Port 20007
110 WeldReadyState, // Schweißgerät-Bereitschaftsstatus
111 AlarmCheckEmergStopBtn, // 0-normal; 1-Kommunikationsanomalie, Not-Halt-Knopf prüfen
112 TsTmCmdComError, // 0-normal; 1-Drehmomentbefehlskommunikationsfehler
113 TsTmStateComError, // 0-normal; 1-Drehmomentstatuskommunikationsfehler
114 CtrlBoxError, // Steuerschrankfehler
115 SafetyDataState, // Sicherheitsdatenstatus, 0-normal, 1-anomal
116 ForceSensorErrState, // Kraftsensor-Verbindungszeitüberschreitung, bit0-bit1 entsprechen ID1-ID2
117 CtrlOpenLuaErrCode, // 4 Controller-Peripherieprotokoll-Fehlercodes (500-Fehlercode)
118 StrangePosFlag, // Singuläre-Pose-Flag: 0-normal, 1-singuläre Pose
119 Alarm, // Alarm
120 DriverAlarm, // Treiber-Alarmachsenummer
121 AliveSlaveNumError, // Aktive-Slave-Anzahlfehler: 0-normal, 1-Anzahlfehler
122 SlaveComError, // Slave-Fehler: 0-normal, 1-offline, 2-Zustandsinkonsistenz, 3-nicht konfiguriert, 4-Konfigurationsfehler, 5-Initialisierungsfehler, 6-Mailbox-Kommunikationsinitialisierungsfehler
123 CmdPointError, // Befehlspunktfehler
124 IOError, // IO-Fehler
125 GripperError, // Greiferfehler
126 FileError, // Dateifehler
127 ParaError, // Parameterfehler
128 ExaxisOutLimitError, // Fehler wegen Überschreitung der weichen Grenze der externen Achse
129 DriverComError, // Treiberkommunikationsfehler (6 Achsen)
130 DriverError, // Achsnummer des Treiberkommunikationsfehlers
131 OutSoftLimitError, // Fehler wegen Überschreitung der weichen Grenze
132 AxleGenComData, // Roboter-End-Durchsatz-Feedbackdaten
133 SocketConnTimeout, // Socket-Verbindungszeitüberschreitung, bit0-bit4 entsprechen socketID 1-4
134 SocketReadTimeout, // Socket-Lesezeitüberschreitung, bit0-bit4 entsprechen socketID 1-4
135 TsWebStateComErr, // web-Drehmomentkommunikationsfehler: 0-normal, 1-Fehler
136 ExaxisCoordID // Kennung des erweiterten Achskoordinatensystems
137};