2. Opis struktur danych
2.1. Typ danych pozycji stawów
1/**
2* @brief Typ danych pozycji stawów
3*/
4struct JointPos
5{
6 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
7 public double[] jPos; /* Sześć pozycji stawów, jednostka deg */
8}
2.2. Typ danych pozycji w przestrzeni kartezjańskiej
1/**
2* @brief Typ danych pozycji w przestrzeni kartezjańskiej
3*/
4struct DescTran
5{
6 public double x; /* Współrzędna osi X, jednostka mm */
7 public double y; /* Współrzędna osi Y, jednostka mm */
8 public double z; /* Współrzędna osi Z, jednostka mm */
9}
2.3. Typ danych orientacji w kątach Eulera
1/**
2* @brief Typ danych orientacji w kątach Eulera
3*/
4struct Rpy
5{
6public double rx; /* Kąt obrotu wokół stałej osi X, jednostka: deg */
7public double ry; /* Kąt obrotu wokół stałej osi Y, jednostka: deg */
8public double rz; /* Kąt obrotu wokół stałej osi Z, jednostka: deg */
9}
2.4. Typ danych pozycji i orientacji w przestrzeni kartezjańskiej
1/**
2*@brief Typ pozycji i orientacji w przestrzeni kartezjańskiej
3*/
4struct DescPose
5{
6 public DescTran tran; /* Pozycja w przestrzeni kartezjańskiej */
7 public Rpy rpy; /* Orientacja w przestrzeni kartezjańskiej */
8}
2.5. Typ danych pozycji osi rozszerzonej
1/**
2* @brief Typ danych pozycji osi rozszerzonej
3*/
4struct ExaxisPos
5{
6 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
7 public double[] ePos; /* Pozycje czterech osi rozszerzonych, jednostka mm */
8}
2.6. Typ danych czujnika siły i momentu obrotowego
1/**
2* @brief Składowe siły i momentu obrotowego czujnika siły
3*/
4struct ForceTorque
5{
6 public double fx; /* Składowa siły wzdłuż osi X, jednostka N */
7 public double fy; /* Składowa siły wzdłuż osi Y, jednostka N */
8 public double fz; /* Składowa siły wzdłuż osi Z, jednostka N */
9 public double tx; /* Składowa momentu obrotowego wokół osi X, jednostka Nm */
10 public double ty; /* Składowa momentu obrotowego wokół osi Y, jednostka Nm */
11 public double tz; /* Składowa momentu obrotowego wokół osi Z, jednostka Nm */
12}
2.7. Typ danych parametrów spirali
1public struct SpiralParam
2{
3 public int circle_num; /* Liczba zwojów spirali */
4 public float circle_angle; /* Kąt nachylenia spirali */
5 public float rad_init; /* Początkowy promień spirali, jednostka mm */
6 public float rad_add; /* Przyrost promienia */
7 public float rotaxis_add; /* Przyrost kierunku osi obrotu */
8 public uint rot_direction; /* Kierunek obrotu, 0-zgodnie z ruchem wskazówek zegara, 1-przeciwnie do ruchu wskazówek zegara */
9 public int velAccMode; // Tryb parametrów prędkości i przyspieszenia: 0-stała prędkość kątowa; 1-stała prędkość liniowa
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. Typ stanu osi rozszerzonej
Nowe w wersji C#SDK-v1.0.6.
1/**
2* @brief Typ stanu osi rozszerzonej
3*/
4[StructLayout(LayoutKind.Sequential, Pack = 1)]
5public struct ROBOT_AUX_STATE
6{
7 public byte servoId; // Numer ID serwonapędu
8 public int servoErrCode; // Kod usterki serwonapędu
9 public int servoState; // Stan serwonapędu
10 public double servoPos; // Bieżąca pozycja serwa
11 public float servoVel; // Bieżąca prędkość serwa
12 public float servoTorque; // Bieżący moment obrotowy serwa
13}
2.9. Stan przerwania spawania
1[StructLayout(LayoutKind.Sequential, Pack = 1)]
2public struct WELDING_BREAKOFF_STATE
3{
4 public byte breakOffState; // Stan przerwania spawania
5 public byte weldArcState; // Stan przerwania łuku spawalniczego
6}
2.10. Typ struktury informacji zwrotnej o stanie robota
Nowe w wersji C#SDK-V1.1.4: Web-3.8.3
1/**
2* @brief Typ struktury informacji zwrotnej o stanie robota
3*/
4[StructLayout(LayoutKind.Sequential, Pack = 1)]
5public class ROBOT_STATE_PKG
6{
7 public UInt16 frame_head; // Nagłówek ramki 0x5A5A
8 public byte frame_cnt; // Licznik ramek
9 public UInt16 data_len; // Długość danych 5
10 public byte program_state; // Stan działania programu, 1-zatrzymany; 2-działa; 3-wstrzymany;
11 public byte robot_state; // Stan ruchu robota, 1-zatrzymany; 2-działa; 3-wstrzymany; 4-przeciąganie
12 public int main_code; // Główny kod usterki
13 public int sub_code; // Podrzędny kod usterki
14 public byte robot_mode; // Tryb robota, 1-tryb ręczny; 0-tryb automatyczny;
15
16 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
17 public double[] jt_cur_pos; // Bieżące pozycje 6 stawów, jednostka deg
18 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
19 public double[] tl_cur_pos; // Bieżąca pozycja narzędzia
20 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
21 public double[] flange_cur_pos; // Bieżąca pozycja kołnierza końcowego
22 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
23 public double[] actual_qd; // Bieżące prędkości 6 stawów, jednostka deg/s
24 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
25 public double[] actual_qdd; // Bieżące przyspieszenia 6 stawów, jednostka deg/s^2
26 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
27 public double[] target_TCP_CmpSpeed;// Prędkość złożona instrukcji TCP (pozycja, orientacja)
28 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
29 public double[] target_TCP_Speed; // Prędkość instrukcji TCP
30 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
31 public double[] actual_TCP_CmpSpeed;// Rzeczywista prędkość złożona TCP
32 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
33 public double[] actual_TCP_Speed; // Rzeczywista prędkość TCP
34 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
35 public double[] jt_cur_tor; // Bieżące momenty obrotowe 6 stawów, jednostka N·m
36
37 public int tool; // Numer zastosowanego układu współrzędnych narzędzia
38 public int user; // Numer zastosowanego układu współrzędnych przedmiotu
39 public byte cl_dgt_output_h; // Wyjście cyfrowe I/O skrzynki sterowniczej 15-8
40 public byte cl_dgt_output_l; // Wyjście cyfrowe I/O skrzynki sterowniczej 7-0
41 public byte tl_dgt_output_l; // Wyjście cyfrowe I/O narzędzia 7-0, tylko bit0-bit1 są aktywne
42 public byte cl_dgt_input_h; // Wejście cyfrowe I/O skrzynki sterowniczej 15-8
43 public byte cl_dgt_input_l; // Wejście cyfrowe I/O skrzynki sterowniczej 7-0
44 public byte tl_dgt_input_l; // Wejście cyfrowe I/O narzędzia 7-0, tylko bit0-bit1 są aktywne
45
46 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
47 public UInt16[] cl_analog_input; // Wejście analogowe skrzynki sterowniczej
48 public UInt16 tl_anglog_input; // Wejście analogowe narzędzia
49
50 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
51 public double[] ft_sensor_raw_data; // Surowe dane czujnika siły i momentu
52 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
53 public double[] ft_sensor_data; // Dane czujnika siły i momentu
54 public byte ft_sensor_active; // Stan aktywacji czujnika siły i momentu, 0-reset, 1-aktywacja
55
56 public byte EmergencyStop; // Znacznik awaryjnego zatrzymania, 0-niewciśnięty, 1-wciśnięty
57 public int motion_done; // Sygnał osiągnięcia pozycji, 1-osiągnięto, 0-nie osiągnięto
58 public byte gripper_motiondone; // Sygnał zakończenia ruchu chwytaka, 0-nie zakończono, 1-zakończono (nie wykryto obiektu), 2-ruch zakończony (wykryto obiekt)
59 public int mc_queue_len; // Długość kolejki instrukcji ruchu
60 public byte collisionState; // Wykrywanie kolizji, 1-kolizja, 0-brak kolizji
61 public int trajectory_pnum; // Numer punktu trajektorii
62 public byte safety_stop0_state; // Sygnał bezpiecznego zatrzymania SI0
63 public byte safety_stop1_state; // Sygnał bezpiecznego zatrzymania SI1
64 public byte gripper_fault_id; // Numer uszkodzonego chwytaka
65 public UInt16 gripper_fault; /* Błąd chwytaka */
66 public UInt16 gripper_active; /* Stan aktywacji chwytaka */
67 public byte gripper_position; // Pozycja chwytaka
68 public byte gripper_speed; /* Prędkość chwytaka */
69 public byte gripper_current; /* Prąd chwytaka */
70 public int gripper_temp; // Temperatura chwytaka
71 public int gripper_voltage; // Napięcie chwytaka
72
73 public ROBOT_AUX_STATE auxState; // Stan osi rozszerzonej 485
74
75 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
76 public EXT_AXIS_STATUS[] extAxisStatus; // Stan osi rozszerzonej UDP
77
78 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
79 public UInt16[] extDIState; // Wejście rozszerzone DI
80 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
81 public UInt16[] extDOState; // Wyjście rozszerzone DO
82 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
83 public UInt16[] extAIState; // Wejście rozszerzone AI
84 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
85 public UInt16[] extAOState; // Wyjście rozszerzone AO
86
87 public int rbtEnableState; // Stan załączenia robota
88
89 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
90 public double[] jointDriverTorque; // Moment obrotowy napędu stawu robota
91 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
92 public double[] jointDriverTemperature; // Temperatura napędu stawu robota
93
94 public ROBOT_TIME robotTime; // Czas systemowy robota
95 public int softwareUpgradeState; // Stan aktualizacji oprogramowania robota
96 public UInt16 endLuaErrCode; // Stan działania LUA końcówki
97
98 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
99 public UInt16[] cl_analog_output; // Wyjście analogowe skrzynki sterowniczej
100 public UInt16 tl_analog_output; // Wyjście analogowe narzędzia
101
102 public float gripperRotNum; // Bieżąca liczba obrotów chwytaka obrotowego
103 public byte gripperRotSpeed; // Bieżący procent prędkości obrotowej chwytaka obrotowego
104 public byte gripperRotTorque; // Bieżący procent momentu obrotowego chwytaka obrotowego
105
106 public WELDING_BREAKOFF_STATE weldingBreakOffState; // Stan przerwania spawania
107
108 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
109 public double[] jt_tgt_tor; // Instrukcja momentu obrotowego stawu
110 public int smartToolState; // Stan przycisków uchwytu SmartTool
111 public float wideVoltageCtrlBoxTemp; // Temperatura skrzynki sterowniczej szerokiego napięcia
112 public UInt16 wideVoltageCtrlBoxFanVel; // Prąd wentylatora skrzynki sterowniczej szerokiego napięcia (mA)
113
114 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
115 public double[] toolCoord; // Wartości bieżącego układu współrzędnych narzędzia; x,y,z,rx,ry,rz
116 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
117 public double[] wobjCoord; // Wartości bieżącego układu współrzędnych przedmiotu; x,y,z,rx,ry,rz
118 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
119 public double[] extoolCoord; // Wartości bieżącego zewnętrznego układu współrzędnych narzędzia; x,y,z,rx,ry,rz
120 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
121 public double[] exAxisCoord; // Wartości bieżącego układu współrzędnych osi rozszerzonej; x,y,z,rx,ry,rz
122
123 public double load; // Masa ładunku
124 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
125 public double[] loadCog; // Środek ciężkości ładunku
126 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
127 public double[] lastServoTarget; // Ostatnia docelowa pozycja ServoJ w kolejce
128 public int servoJCmdNum; // Licznik instrukcji servoJ
129
130 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
131 public double[] targetJointPos; // Instrukcje pozycji 6 stawów, jednostka °
132 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
133 public double[] targetJointVel; // Instrukcje prędkości 6 stawów, jednostka °/s
134 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
135 public double[] targetJointAcc; // Instrukcje przyspieszeń 6 stawów, jednostka °/s²
136 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
137 public double[] targetJointCurrent; // Instrukcje prądu 6 stawów, jednostka A
138 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
139 public double[] actualJointCurrent; // Bieżące prądy 6 stawów, jednostka A
140 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
141 public double[] actualTCPForce; // Moment końcowy robota Nm; x,y,z,rx,ry,rz
142 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
143 public double[] targetTCPPos; // Instrukcje pozycji TCP robota mm; x,y,z,rx,ry,rz
144 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
145 public byte[] collisionLevel; // Poziom kolizji robota
146
147 public double speedScaleManual; // Procent prędkości globalnej w trybie ręcznym
148 public double speedScaleAuto; // Procent prędkości globalnej w trybie automatycznym
149 public int luaLineNum; // Bieżący numer linii programu lua
150 public byte abnomalStop; // 0-brak nieprawidłowości; 1-występuje nieprawidłowość
151
152 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
153 public byte[] currentLuaFileName; // Nazwa bieżącego programu lua
154 public byte programTotalLine; // Całkowita liczba linii programu lua
155 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
156 public byte[] safetyBoxSingal; // Stan przycisków panelu przyciskowego robota
157
158 public double weldVoltage; // Napięcie spawania V
159 public double weldCurrent; // Prąd spawania
160 public double weldTrackVel; // Prędkość śledzenia spoiny mm/s
161
162 public byte tpdException; // Przekroczenie limitu liczby załadowanych trajektorii TPD, 0-nie przekroczono, 1-przekroczono
163 public byte alarmRebootRobot; // Ostrzeżenie, 1-zwolnij przycisk awaryjnego zatrzymania, wyłącz i włącz ponownie skrzynkę sterowniczą, 2-nieprawidłowa komunikacja stawów, wyłącz i włącz ponownie skrzynkę sterowniczą
164 public byte modbusMasterConnect; /* Stan połączenia masterów ModbusTCP 0-7, bity bit0-bit7, 0-odłączony, 1-połączony */
165 public byte modbusSlaveConnect; /* Stan połączenia slave ModbusTCP, 0-odłączony; 1-połączony */
166 public byte btnBoxStopSignal; /* Sygnał awaryjnego zatrzymania panelu przyciskowego, 0-zwolniony; 1-wciśnięty */
167 public byte dragAlarm; /* Ostrzeżenie przeciągania, aktualnie w trybie automatycznym, 0-brak alarmu, 1-alarm, 2-nieprawidłowość pozycji sprzężenia zwrotnego, brak przełączania */
168 public byte safetyDoorAlarm; /* Ostrzeżenie drzwi bezpieczeństwa; 0-drzwi bezpieczeństwa zamknięte; 1-drzwi bezpieczeństwa otwarte */
169 public byte safetyPlaneAlarm; /* Ostrzeżenie wejścia w ścianę bezpieczeństwa; 0-nie weszło w ścianę bezpieczeństwa; 1-weszło w ścianę bezpieczeństwa */
170 public byte motonAlarm; /* Ostrzeżenie ruchu */
171 public byte interfaceAlarm; /* Ostrzeżenie wejścia w strefę interferencji */
172 public int udpCmdState; /* Stan połączenia komunikacji UDP na porcie 20007 */
173 public byte weldReadyState; /* Stan gotowości spawarki */
174 public byte alarmCheckEmergStopBtn; /* 0-normalny; 1-nieprawidłowość komunikacji, sprawdź, czy przycisk awaryjnego zatrzymania jest zwolniony */
175 public byte tsTmCmdComError; /* 0-normalny; 1-błąd komunikacji instrukcji momentu */
176 public byte tsTmStateComError; /* 0-normalny; 1-błąd komunikacji stanu momentu */
177 public int ctrlBoxError; /* Błąd skrzynki sterowniczej */
178 public byte safetyDataState; /* Znacznik stanu danych bezpieczeństwa, 0-normalny, 1-nieprawidłowy */
179 public byte forceSensorErrState; /* Błąd przekroczenia limitu czasu połączenia czujnika siły; bit0-bit1 odpowiadają ID1-ID2 czujnika siły */
180
181 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
182 public byte[] ctrlOpenLuaErrCode; /* 4 kody błędów protokołu otwartego urządzeń peryferyjnych kontrolera (kod błędu 500) */
183
184 public byte strangePosFlag; /* Znacznik bieżącej osobliwej pozycji; 0-normalny; 1-osobliwa pozycja */
185 public byte alarm; /* Ostrzeżenie */
186 public byte driverAlarm; /* Numer osi alarmu napędu */
187 public byte aliveSlaveNumError; /* Błąd liczby aktywnych stacji podrzędnych, 0: normalny; 1: błąd liczby */
188
189 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
190 public byte[] slaveComError; /* Błąd stacji podrzędnej, 0: normalny; 1: utrata połączenia ze stacją podrzędną; 2: stan stacji podrzędnej niezgodny z ustawioną wartością; 3: stacja podrzędna nieskonfigurowana; 4: błąd konfiguracji stacji podrzędnej; 5: błąd inicjalizacji stacji podrzędnej; 6: błąd inicjalizacji komunikacji e-mail stacji podrzędnej */
191
192 public byte cmdPointError; /* Błąd punktu instrukcji */
193 public byte IOError; /* Błąd I/O */
194 public byte gripperError; /* Błąd chwytaka */
195 public byte fileError; /* Błąd pliku */
196 public byte paraError; /* Błąd parametru */
197 public byte exaxisOutLimitError; /* Błąd przekroczenia miękkiego limitu osi rozszerzonej */
198
199 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
200 public byte[] driverComError; /* Błąd komunikacji z napędem */
201 public byte driverError; /* Numer osi błędu komunikacji napędu */
202 public byte outSoftLimitError; /* Błąd przekroczenia miękkiego limitu */
203
204 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 130)]
205 public byte[] axleGenComData; /* Dane zwrotne transmisji transparentnej końcówki robota */
206
207 public byte socketConnTimeout; /* Znacznik przekroczenia limitu czasu połączenia socket */
208 public byte socketReadTimeout; /* Znacznik przekroczenia limitu czasu odczytu socket */
209 public byte tsWebStateComErr; /* ts_web_state_com_err */
210 public byte exaxisCoordID; /* Numer układu współrzędnych osi rozszerzonej */
211 public UInt16 check_sum; /* Suma kontrolna */
212
213 // Konstruktor: inicjalizuje wszystkie pola tablicowe
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. Typ wyliczeniowy konfiguracji informacji zwrotnej o stanie robota
1/**
2* @brief Wyliczenie konfigurowalnych stanów robota, zakres 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 connection timeout, bit0-bit4: socketID 1-4
136 SocketReadTimeout = 130, // socket read timeout, bit0-bit4: socketID 1-4
137 TsWebStateComErr = 131, // web-torque communication failure; 0-normal; 1-failure
138 ExaxisCoordID = 132 // Numer układu współrzędnych osi rozszerzonej
139}