2. Beschreibung der Datenstrukturen
2.1. Datentyp für Gelenkpositionen
1/**
2* @brief Datentyp für Gelenkpositionen.
3*/
4struct JointPos
5{
6 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
7 public double[] jPos; /* Sechs Gelenkpositionen, Einheit deg */
8}
2.2. Datentyp für Positionen im kartesischen Raum
1/**
2* @brief Datentyp für Positionen im kartesischen Raum.
3*/
4struct DescTran
5{
6 public double x; /* x-Achsen-Koordinate, Einheit mm */
7 public double y; /* y-Achsen-Koordinate, Einheit mm */
8 public double z; /* z-Achsen-Koordinate, Einheit mm */
9}
2.3. Datentyp für Euler-Winkel-Ausrichtung
1/**
2* @brief Datentyp für Euler-Winkel-Ausrichtung.
3*/
4struct Rpy
5{
6 public double rx; /* Rotationswinkel um die feste X-Achse, Einheit: deg */
7 public double ry; /* Rotationswinkel um die feste Y-Achse, Einheit: deg */
8 public double rz; /* Rotationswinkel um die feste Z-Achse, Einheit: deg */
9}
2.4. Datentyp für Posen im kartesischen Raum
1/**
2* @brief Datentyp für Posen im kartesischen Raum.
3*/
4struct DescPose
5{
6 public DescTran tran; /* Position im kartesischen Raum */
7 public Rpy rpy; /* Ausrichtung im kartesischen Raum */
8}
2.5. Datentyp für Positionen der Erweiterungsachse
1/**
2* @brief Datentyp für Positionen der Erweiterungsachse.
3*/
4struct ExaxisPos
5{
6 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
7 public double[] ePos; /* Positionen der vier Erweiterungsachsen, Einheit mm */
8}
2.6. Datentyp für Kraft-/Drehmomentsensor
1/**
2* @brief Kraftkomponenten und Drehmomentkomponenten des Kraftsensors.
3*/
4struct 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}
2.7. Datentyp für Spiralparameter
1public struct SpiralParam
2{
3 public int circle_num; /* Anzahl der Windungen */
4 public float circle_angle; /* Neigungswinkel der Spirale */
5 public float rad_init; /* Anfangsradius der Spirale, Einheit mm */
6 public float rad_add; /* Radiusinkrement */
7 public float rotaxis_add; /* Inkrement in Richtung der Drehachse */
8 public uint rot_direction; /* Drehrichtung, 0-im Uhrzeigersinn, 1-gegen Uhrzeigersinn */
9 public int velAccMode; // Modus für Geschwindigkeit/Beschleunigung: 0-Winkelgeschwindigkeit konstant; 1-Lineargeschwindigkeit konstant
10 public SpiralParam(int num, float angle, float initRad, float addRad, float axisAdd, uint direction, int mode)
11 {
12 circle_num = num;
13 circle_angle = angle;
14 rad_init = initRad;
15 rad_add = addRad;
16 rotaxis_add = axisAdd;
17 rot_direction = direction;
18 velAccMode = mode;
19 }
20}
2.8. Datentyp für Erweiterungsachsen-Status
Neu in Version C#SDK-v1.0.6.
1/**
2* @brief Datentyp für den Status der Erweiterungsachse.
3*/
4[StructLayout(LayoutKind.Sequential, Pack = 1)]
5public struct ROBOT_AUX_STATE
6{
7 public byte servoId; // Servoantriebs-ID-Nummer
8 public int servoErrCode; // Fehlercode des Servoantriebs
9 public int servoState; // Status des Servoantriebs
10 public double servoPos; // Aktuelle Position des Servos
11 public float servoVel; // Aktuelle Geschwindigkeit des Servos
12 public float servoTorque; // Aktuelles Drehmoment des Servos
13}
2.9. Schweißunterbrechungsstatus
1[StructLayout(LayoutKind.Sequential, Pack = 1)]
2public struct WELDING_BREAKOFF_STATE
3{
4 public byte breakOffState; // Schweißunterbrechungsstatus
5 public byte weldArcState; // Lichtbogenunterbrechungsstatus beim Schweißen
6}
2.10. Roboterstatus-Feedback-Strukturtyp
Neu in Version C#SDK-V1.1.4: Web-3.8.3
1/**
2* @brief Roboterstatus-Feedback-Strukturtyp
3*/
4[StructLayout(LayoutKind.Sequential, Pack = 1)]
5public class ROBOT_STATE_PKG
6{
7 public UInt16 frame_head; // Rahmenkopf 0x5A5A
8 public byte frame_cnt; // Rahmenzählung
9 public UInt16 data_len; // Datenlänge 5
10 public byte program_state; // Programmausführungsstatus, 1-gestoppt; 2-läuft; 3-pausiert;
11 public byte robot_state; // Roboterbewegungsstatus, 1-gestoppt; 2-läuft; 3-pausiert; 4-Ziehen
12 public int main_code; // Hauptfehlercode
13 public int sub_code; // Unterfehlercode
14 public byte robot_mode; // Robotermodus, 1-Handmodus; 0-Automatikmodus;
15
16 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
17 public double[] jt_cur_pos; // Aktuelle Gelenkpositionen von 6 Achsen, Einheit deg
18 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
19 public double[] tl_cur_pos; // Aktuelle Werkzeugposition (TCP)
20 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
21 public double[] flange_cur_pos; // Aktuelle Position des Endflansches
22 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
23 public double[] actual_qd; // Aktuelle Geschwindigkeiten von 6 Gelenken, Einheit deg/s
24 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
25 public double[] actual_qdd; // Aktuelle Beschleunigungen von 6 Gelenken, Einheit deg/s^2
26 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
27 public double[] target_TCP_CmpSpeed;// TCP-Synthese-Sollgeschwindigkeit (Position, Orientierung)
28 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
29 public double[] target_TCP_Speed; // TCP-Sollgeschwindigkeit
30 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
31 public double[] actual_TCP_CmpSpeed;// TCP-Synthese-Istgeschwindigkeit
32 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
33 public double[] actual_TCP_Speed; // TCP-Istgeschwindigkeit
34 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
35 public double[] jt_cur_tor; // Aktuelle Drehmomente von 6 Achsen, Einheit N·m
36
37 public int tool; // Angewandte Werkzeugkoordinatensystem-Nummer
38 public int user; // Angewandte Werkstückkoordinatensystem-Nummer
39 public byte cl_dgt_output_h; // Digitale IO-Ausgabe des Steuerkastens 15-8
40 public byte cl_dgt_output_l; // Digitale IO-Ausgabe des Steuerkastens 7-0
41 public byte tl_dgt_output_l; // Digitale IO-Ausgabe des Werkzeugs 7-0, nur Bits 0-1 gültig
42 public byte cl_dgt_input_h; // Digitale IO-Eingabe des Steuerkastens 15-8
43 public byte cl_dgt_input_l; // Digitale IO-Eingabe des Steuerkastens 7-0
44 public byte tl_dgt_input_l; // Digitale IO-Eingabe des Werkzeugs 7-0, nur Bits 0-1 gültig
45
46 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
47 public UInt16[] cl_analog_input; // Analogeingänge des Steuerkastens
48 public UInt16 tl_anglog_input; // Analogeingang des Werkzeugs
49
50 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
51 public double[] ft_sensor_raw_data; // Rohdaten des Drehmomentsensors
52 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
53 public double[] ft_sensor_data; // Daten des Drehmomentsensors
54 public byte ft_sensor_active; // Aktivierungsstatus des Drehmomentsensors, 0-Zurücksetzen, 1-aktiviert
55
56 public byte EmergencyStop; // Not-Halt-Flag, 0-nicht gedrückt, 1-gedrückt
57 public int motion_done; // Bewegungsabschluss-Signal, 1-abgeschlossen, 0-nicht abgeschlossen
58 public byte gripper_motiondone; // Greiferbewegungsabschluss-Signal, 1-abgeschlossen, 0-nicht abgeschlossen
59 public int mc_queue_len; // Länge der Bewegungskommando-Warteschlange
60 public byte collisionState; // Kollisionserkennung, 1-Kollision, 0-keine Kollision
61 public int trajectory_pnum; // Trajektorienpunktnummer
62 public byte safety_stop0_state; // Sicherheitsstoppsignal SI0
63 public byte safety_stop1_state; // Sicherheitsstoppsignal SI1
64 public byte gripper_fault_id; // ID des fehlerhaften Greifers
65 public UInt16 gripper_fault; /* Greiferfehler */
66 public UInt16 gripper_active; /* Greiferaktivierungsstatus */
67 public byte gripper_position; // Greiferposition
68 public byte gripper_speed; /* Greifergeschwindigkeit */
69 public byte gripper_current; /* Greiferstrom */
70 public int gripper_temp; // Greifertemperatur
71 public int gripper_voltage; // Greiferspannung
72
73 public ROBOT_AUX_STATE auxState; // 485 Erweiterungsachsenstatus
74
75 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
76 public EXT_AXIS_STATUS[] extAxisStatus; // UDP Erweiterungsachsenstatus
77
78 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
79 public UInt16[] extDIState; // Erweiterte DI-Eingänge
80 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
81 public UInt16[] extDOState; // Erweiterte DO-Ausgänge
82 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
83 public UInt16[] extAIState; // Erweiterte AI-Eingänge
84 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
85 public UInt16[] extAOState; // Erweiterte AO-Ausgänge
86
87 public int rbtEnableState; // Roboter-Freigabestatus
88
89 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
90 public double[] jointDriverTorque; // Roboter-Gelenktreiber-Drehmomente
91 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
92 public double[] jointDriverTemperature; // Roboter-Gelenktreiber-Temperaturen
93
94 public ROBOT_TIME robotTime; // Roboter-Systemzeit
95 public int softwareUpgradeState; // Roboter-Software-Upgrade-Status
96 public UInt16 endLuaErrCode; // End-LUA-Ausführungsstatus
97
98 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
99 public UInt16[] cl_analog_output; // Analogausgänge des Steuerkastens
100 public UInt16 tl_analog_output; // Analogausgang des Werkzeugs
101
102 public float gripperRotNum; // Aktuelle Umdrehungszahl des rotierenden Greifers
103 public byte gripperRotSpeed; // Aktuelle Geschwindigkeitsprozent des rotierenden Greifers
104 public byte gripperRotTorque; // Aktuelles Drehmomentprozent des rotierenden Greifers
105
106 public WELDING_BREAKOFF_STATE weldingBreakOffState; // Schweißunterbrechungsstatus
107
108 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
109 public double[] jt_tgt_tor; // Gelenk-Solldrehmomente
110 public int smartToolState; // SmartTool-Griffknopfstatus
111 public float wideVoltageCtrlBoxTemp; // Temperatur des Weitspannungs-Steuerkastens
112 public UInt16 wideVoltageCtrlBoxFanVel; // Lüfterstrom des Weitspannungs-Steuerkastens (mA)
113
114 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
115 public double[] toolCoord; // Aktuelle Werkzeugkoordinatenwerte; x,y,z,rx,ry,rz
116 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
117 public double[] wobjCoord; // Aktuelle Werkstückkoordinatenwerte; x,y,z,rx,ry,rz
118 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
119 public double[] extoolCoord; // Aktuelle externe Werkzeugkoordinatenwerte; x,y,z,rx,ry,rz
120 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
121 public double[] exAxisCoord; // Aktuelle Erweiterungsachsen-Koordinatenwerte; x,y,z,rx,ry,rz
122
123 public double load; // Lastmasse
124 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
125 public double[] loadCog; // Lastschwerpunkt
126 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
127 public double[] lastServoTarget; // Letzte ServoJ-Zielposition in der Warteschlange
128 public int servoJCmdNum; // servoJ-Kommandozähler
129
130 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
131 public double[] targetJointPos; // Sollpositionen von 6 Gelenken, Einheit °
132 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
133 public double[] targetJointVel; // Sollgeschwindigkeiten von 6 Gelenken, Einheit °/s
134 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
135 public double[] targetJointAcc; // Sollbeschleunigungen von 6 Gelenken, Einheit °/s²
136 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
137 public double[] targetJointCurrent; // Sollströme von 6 Gelenken, Einheit A
138 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
139 public double[] actualJointCurrent; // Istströme von 6 Gelenken, Einheit A
140 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
141 public double[] actualTCPForce; // Roboters-Endeffektor-Drehmoment Nm; x,y,z,rx,ry,rz
142 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
143 public double[] targetTCPPos; // Roboter-TCP-Sollposition mm; x,y,z,rx,ry,rz
144 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
145 public byte[] collisionLevel; // Roboter-Kollisionsstufen
146
147 public double speedScaleManual; // Globale Geschwindigkeitsprozent im Handmodus
148 public double speedScaleAuto; // Globale Geschwindigkeitsprozent im Automatikmodus
149 public int luaLineNum; // Aktuelle Zeilennummer des laufenden Lua-Programms
150 public byte abnomalStop; // 0-keine Anomalie; 1-Anomalie vorhanden
151
152 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
153 public byte[] currentLuaFileName; // Name des aktuell laufenden Lua-Programms
154 public byte programTotalLine; // Gesamtzeilen des Lua-Programms
155 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
156 public byte[] safetyBoxSingal; // Roboter-Tastenbox-Knopfstatus
157
158 public double weldVoltage; // Schweißspannung V
159 public double weldCurrent; // Schweißstrom
160 public double weldTrackVel; // Schweißnahtverfolgungsgeschwindigkeit mm/s
161
162 public byte tpdException; // TPD-Trajektorienladungsüberschreitung, 0-nicht überschritten, 1-überschritten
163 public byte alarmRebootRobot; // Warnung, 1-Not-Halt-Taste loslassen und Steuerkasten neu starten, 2-Gelenkkommunikationsanomalie, Steuerkasten neu starten
164 public byte modbusMasterConnect; // Bits 0-7 entsprechen ModbusTCP-Master 0-7 Verbindungsstatus 0-nicht verbunden 1-verbunden
165 public byte modbusSlaveConnect; // ModbusTCP-Slave-Verbindungsstatus 0-nicht verbunden; 1-verbunden
166 public byte btnBoxStopSignal; // Not-Halt-Signal der Tastenbox, 0-Not-Halt gelöst; 1-Not-Halt gedrückt
167 public byte dragAlarm; // Zieh-Warnung, aktuell im Automatikmodus, 0-kein Alarm, 1-Alarm, 2-Positionsrückmeldeanomalie, keine Umschaltung
168 public byte safetyDoorAlarm; // Sicherheitstür-Warnung; 0-Sicherheitstür geschlossen; 1-Sicherheitstür offen
169 public byte safetyPlaneAlarm; // Sicherheitswand-Eintrittswarnung; 0-nicht in Sicherheitswand eingetreten; 1-in Sicherheitswand eingetreten
170 public byte motonAlarm; // Bewegungswarnung
171 public byte interfaceAlarm; // Interferenzbereich-Eintrittswarnung
172 public int udpCmdState; // UDP-Kommunikationsverbindungsstatus auf Port 20007
173 public byte weldReadyState; // Schweißgerät-Bereitschaftsstatus
174 public byte alarmCheckEmergStopBtn; // 0-normal; 1-Kommunikationsanomalie, prüfen, ob Not-Halt-Taste gelöst ist
175 public byte tsTmCmdComError; // 0-normal; 1-Drehmomentbefehl-Kommunikationsfehler
176 public byte tsTmStateComError; // 0-normal; 1-Drehmomentstatus-Kommunikationsfehler
177 public int ctrlBoxError; // Steuerkastenfehler
178 public byte safetyDataState; // Sicherheitsdatenstatus-Flag, 0-normal, 1-anomal
179 public byte forceSensorErrState; // Kraftsensor-Verbindungszeitüberschreitungsfehler; Bits 0-1 entsprechen Kraftsensor-ID1-ID2
180
181 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
182 public byte[] ctrlOpenLuaErrCode; // 4 Controller-Peripherieprotokoll-Fehlercodes (500-Fehlercode)
183
184 public byte strangePosFlag; // Aktuelle singuläre Pose-Flag; 0-normal; 1-singuläre Pose
185 public byte alarm; // Warnung
186 public byte driverAlarm; // Treiberalarm-Achsennummer
187 public byte aliveSlaveNumError; // Fehler in der Anzahl aktiver Slaves, 0: normal; 1: Anzahlfehler
188
189 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
190 public byte[] slaveComError; // Slave-Fehler, 0: normal; 1: Slave offline; 2: Slave-Status stimmt nicht mit eingestelltem Wert überein; 3: Slave nicht konfiguriert; 4: Slave-Konfigurationsfehler; 5: Slave-Initialisierungsfehler; 6: Slave-Mailbox-Kommunikationsinitialisierungsfehler
191
192 public byte cmdPointError; // Befehlspunktfehler
193 public byte IOError; // IO-Fehler
194 public byte gripperError; // Greiferfehler
195 public byte fileError; // Dateifehler
196 public byte paraError; // Parameterfehler
197 public byte exaxisOutLimitError; // Externe Achse außerhalb der Weichgrenze
198
199 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
200 public byte[] driverComError; // Kommunikationsfehler mit Treiber
201 public byte driverError; // Achsennummer des Treiberkommunikationsfehlers
202 public byte outSoftLimitError; // Weichgrenzenüberschreitungsfehler
203
204 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 130)]
205 public byte[] axleGenComData; // Roboter-Endeffektor-Transparentübertragungs-Feedbackdaten
206
207 public byte socketConnTimeout; // Socket-Verbindungszeitüberschreitungs-Flag
208 public byte socketReadTimeout; // Socket-Lesezeitüberschreitungs-Flag
209 public byte tsWebStateComErr; // ts_web_state_com_err
210 public byte exaxisCoordID; // Nummer des Erweiterungsachsen-Koordinatensystems
211 public UInt16 check_sum; /* Checksumme */
212
213 // Konstruktor: Initialisiert alle Array-Felder
214 public ROBOT_STATE_PKG()
215 {
216 jt_cur_pos = new double[6];
217 tl_cur_pos = new double[6];
218 flange_cur_pos = new double[6];
219 actual_qd = new double[6];
220 actual_qdd = new double[6];
221 target_TCP_CmpSpeed = new double[2];
222 target_TCP_Speed = new double[6];
223 actual_TCP_CmpSpeed = new double[2];
224 actual_TCP_Speed = new double[6];
225 jt_cur_tor = new double[6];
226 cl_analog_input = new ushort[2];
227 ft_sensor_raw_data = new double[6];
228 ft_sensor_data = new double[6];
229 extAxisStatus = new EXT_AXIS_STATUS[4];
230 extDIState = new ushort[8];
231 extDOState = new ushort[8];
232 extAIState = new ushort[4];
233 extAOState = new ushort[4];
234 jointDriverTorque = new double[6];
235 jointDriverTemperature = new double[6];
236 cl_analog_output = new ushort[2];
237 jt_tgt_tor = new double[6];
238 toolCoord = new double[6];
239 wobjCoord = new double[6];
240 extoolCoord = new double[6];
241 exAxisCoord = new double[6];
242 loadCog = new double[3];
243 lastServoTarget = new double[6];
244 targetJointPos = new double[6];
245 targetJointVel = new double[6];
246 targetJointAcc = new double[6];
247 targetJointCurrent = new double[6];
248 actualJointCurrent = new double[6];
249 actualTCPForce = new double[6];
250 targetTCPPos = new double[6];
251 collisionLevel = new byte[6];
252 currentLuaFileName = new byte[256];
253 safetyBoxSingal = new byte[6];
254 ctrlOpenLuaErrCode = new byte[4];
255 slaveComError = new byte[8];
256 driverComError = new byte[6];
257 axleGenComData = new byte[130];
258 }
259}
2.11. Aufzählungstyp der Roboterstatus-Rückmeldungskonfiguration
1/**
2* @brief Roboter konfigurierbare Statusaufzählung, Bereich 0~132
3*/
4public enum RobotState
5{
6 FrameHead = 0,
7 FrameCnt = 1,
8 DataLen = 2,
9 ProgramState = 3,
10 RobotState = 4,
11 MainCode = 5,
12 SubCode = 6,
13 RobotMode = 7,
14 JointCurPos = 8,
15 ToolCurPos = 9,
16 FlangeCurPos = 10,
17 ActualJointVel = 11,
18 ActualJointAcc = 12,
19 TargetTCPCmpSpeed = 13,
20 TargetTCPSpeed = 14,
21 ActualTCPCmpSpeed = 15,
22 ActualTCPSpeed = 16,
23 ActualJointTorque = 17,
24 Tool = 18,
25 User = 19,
26 ClDgtOutputH = 20,
27 ClDgtOutputL = 21,
28 TlDgtOutputL = 22,
29 ClDgtInputH = 23,
30 ClDgtInputL = 24,
31 TlDgtInputL = 25,
32 ClAnalogInput = 26,
33 TlAnglogInput = 27,
34 FtSensorRawData = 28,
35 FtSensorData = 29,
36 FtSensorActive = 30,
37 EmergencyStop = 31,
38 MotionDone = 32,
39 GripperMotiondone = 33,
40 McQueueLen = 34,
41 CollisionState = 35,
42 TrajectoryPnum = 36,
43 SafetyStop0State = 37,
44 SafetyStop1State = 38,
45 GripperFaultId = 39,
46 GripperFault = 40,
47 GripperActive = 41,
48 GripperPosition = 42,
49 GripperSpeed = 43,
50 GripperCurrent = 44,
51 GripperTemp = 45,
52 GripperVoltage = 46,
53 AuxState = 47,
54 ExtAxisStatus = 48,
55 ExtDIState = 49,
56 ExtDOState = 50,
57 ExtAIState = 51,
58 ExtAOState = 52,
59 RbtEnableState = 53,
60 JointDriverTorque = 54,
61 JointDriverTemperature = 55,
62 RobotTime = 56,
63 SoftwareUpgradeState = 57,
64 EndLuaErrCode = 58,
65 ClAnalogOutput = 59,
66 TlAnalogOutput = 60,
67 GripperRotNum = 61,
68 GripperRotSpeed = 62,
69 GripperRotTorque = 63,
70 WeldingBreakOffState = 64,
71 TargetJointTorque = 65,
72 SmartToolState = 66,
73 WideVoltageCtrlBoxTemp = 67,
74 WideVoltageCtrlBoxFanCurrent = 68,
75 ToolCoord = 69,
76 WobjCoord = 70,
77 ExtoolCoord = 71,
78 ExAxisCoord = 72,
79 Load = 73,
80 LoadCog = 74,
81 LastServoTarget = 75,
82 ServoJCmdNum = 76,
83 TargetJointPos = 77,
84 TargetJointVel = 78,
85 TargetJointAcc = 79,
86 TargetJointCurrent = 80,
87 ActualJointCurrent = 81,
88 ActualTCPForce = 82,
89 TargetTCPPos = 83,
90 CollisionLevel = 84,
91 SpeedScaleManual = 85,
92 SpeedScaleAuto = 86,
93 LuaLineNum = 87,
94 AbnomalStop = 88,
95 CurrentLuaFileName = 89,
96 ProgramTotalLine = 90,
97 SafetyBoxSingal = 91,
98 WeldVoltage = 92,
99 WeldCurrent = 93,
100 WeldTrackVel = 94,
101 TpdException = 95,
102 AlarmRebootRobot = 96,
103 ModbusMasterConnect = 97,
104 ModbusSlaveConnect = 98,
105 BtnBoxStopSignal = 99,
106 DragAlarm = 100,
107 SafetyDoorAlarm = 101,
108 SafetyPlaneAlarm = 102,
109 MotonAlarm = 103,
110 InterfaceAlarm = 104,
111 UdpCmdState = 105,
112 WeldReadyState = 106,
113 AlarmCheckEmergStopBtn = 107,
114 TsTmCmdComError = 108,
115 TsTmStateComError = 109,
116 CtrlBoxError = 110,
117 SafetyDataState = 111,
118 ForceSensorErrState = 112,
119 CtrlOpenLuaErrCode = 113,
120 StrangePosFlag = 114,
121 Alarm = 115,
122 DriverAlarm = 116,
123 AliveSlaveNumError = 117,
124 SlaveComError = 118,
125 CmdPointError = 119,
126 IOError = 120,
127 GripperError = 121,
128 FileError = 122,
129 ParaError = 123,
130 ExaxisOutLimitError = 124,
131 DriverComError = 125,
132 DriverError = 126,
133 OutSoftLimitError = 127,
134 AxleGenComData = 128,
135 SocketConnTimeout = 129, // Socket-Verbindungszeitüberschreitung, bit0-bit4: socketID 1-4
136 SocketReadTimeout = 130, // Socket-Lesezeitüberschreitung, bit0-bit4: socketID 1-4
137 TsWebStateComErr = 131, // Web-Drehmoment-Kommunikationsfehler; 0-normal; 1-fehlgeschlagen
138 ExaxisCoordID = 132 // Nummer des Erweiterungsachsen-Koordinatensystems
139}