2. Descrizione delle strutture dati
2.1. Tipo di dati della posizione dei giunti
1/**
2* @brief Tipo di dati della posizione dei giunti
3*/
4struct JointPos
5{
6 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
7 public double[] jPos; /* Posizioni dei sei giunti, unità deg */
8}
2.2. Tipo di dati della posizione nello spazio cartesiano
1/**
2* @brief Tipo di dati della posizione nello spazio cartesiano
3*/
4struct DescTran
5{
6 public double x; /* Coordinata dell'asse x, unità mm */
7 public double y; /* Coordinata dell'asse y, unità mm */
8 public double z; /* Coordinata dell'asse z, unità mm */
9}
2.3. Tipo di dati dell’orientamento degli angoli di Eulero
1/**
2* @brief Tipo di dati dell'orientamento degli angoli di Eulero
3*/
4struct Rpy
5{
6public double rx; /* Angolo di rotazione attorno all'asse fisso X, unità: deg */
7public double ry; /* Angolo di rotazione attorno all'asse fisso Y, unità: deg */
8public double rz; /* Angolo di rotazione attorno all'asse fisso Z, unità: deg */
9}
2.4. Tipo di dati della posa nello spazio cartesiano
1/**
2*@brief Tipo di dati della posa nello spazio cartesiano
3*/
4struct DescPose
5{
6 public DescTran tran; /* Posizione nello spazio cartesiano */
7 public Rpy rpy; /* Orientamento nello spazio cartesiano */
8}
2.5. Tipo di dati della posizione dell’asse esteso
1/**
2* @brief Tipo di dati della posizione dell'asse esteso
3*/
4struct ExaxisPos
5{
6 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
7 public double[] ePos; /* Posizioni dei quattro assi estesi, unità mm */
8}
2.6. Tipo di dati del sensore di coppia
1/**
2* @brief Componenti di forza e coppia del sensore di forza
3*/
4struct ForceTorque
5{
6 public double fx; /* Componente di forza lungo l'asse x, unità N */
7 public double fy; /* Componente di forza lungo l'asse y, unità N */
8 public double fz; /* Componente di forza lungo l'asse z, unità N */
9 public double tx; /* Componente di coppia attorno all'asse x, unità Nm */
10 public double ty; /* Componente di coppia attorno all'asse y, unità Nm */
11 public double tz; /* Componente di coppia attorno all'asse z, unità Nm */
12}
2.7. Tipo di dati dei parametri a spirale
1public struct SpiralParam
2{
3 public int circle_num; /* Numero di spire */
4 public float circle_angle; /* Angolo di inclinazione della spirale */
5 public float rad_init; /* Raggio iniziale della spirale, unità mm */
6 public float rad_add; /* Incremento del raggio */
7 public float rotaxis_add; /* Incremento della direzione dell'asse di rotazione */
8 public uint rot_direction; /* Direzione di rotazione, 0-senso orario, 1-senso antiorario */
9 public int velAccMode; // Modalità parametri velocità/accelerazione: 0-velocità angolare costante; 1-velocità lineare costante
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. Tipo di stato dell’asse esteso
Nuovo nella versione C#SDK-v1.0.6.
1/**
2* @brief Tipo di stato dell'asse esteso
3*/
4[StructLayout(LayoutKind.Sequential, Pack = 1)]
5public struct ROBOT_AUX_STATE
6{
7 public byte servoId; // ID driver servo
8 public int servoErrCode; // Codice errore driver servo
9 public int servoState; // Stato driver servo
10 public double servoPos; // Posizione corrente servo
11 public float servoVel; // Velocità corrente servo
12 public float servoTorque; // Coppia corrente servo
13}
2.9. Stato di interruzione della saldatura
1[StructLayout(LayoutKind.Sequential, Pack = 1)]
2public struct WELDING_BREAKOFF_STATE
3{
4 public byte breakOffState; // Stato di interruzione della saldatura
5 public byte weldArcState; // Stato di interruzione dell'arco di saldatura
6}
2.10. Tipo di struttura di feedback dello stato del robot
Nuovo nella versione C#SDK-V1.1.4: Web-3.8.3
1/**
2* @brief Tipo di struttura di feedback dello stato del robot
3*/
4[StructLayout(LayoutKind.Sequential, Pack = 1)]
5public class ROBOT_STATE_PKG
6{
7 public UInt16 frame_head; // Intestazione frame 0x5A5A
8 public byte frame_cnt; // Conteggio frame
9 public UInt16 data_len; // Lunghezza dati 5
10 public byte program_state; // Stato esecuzione programma, 1-fermo; 2-in esecuzione; 3-in pausa;
11 public byte robot_state; // Stato movimento robot, 1-fermo; 2-in esecuzione; 3-in pausa; 4-transcina
12 public int main_code; // Codice guasto principale
13 public int sub_code; // Codice guasto secondario
14 public byte robot_mode; // Modalità robot, 1-modalità manuale; 0-modalità automatica;
15
16 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
17 public double[] jt_cur_pos; // Posizione attuale giunti per 6 assi, unità deg
18 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
19 public double[] tl_cur_pos; // Posizione attuale utensile (TCP)
20 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
21 public double[] flange_cur_pos; // Posizione attuale flangia finale
22 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
23 public double[] actual_qd; // Velocità attuale 6 giunti, unità deg/s
24 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
25 public double[] actual_qdd; // Accelerazione attuale 6 giunti, unità deg/s^2
26 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
27 public double[] target_TCP_CmpSpeed;// Velocità istruzione composita TCP (posizione, orientamento)
28 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
29 public double[] target_TCP_Speed; // Velocità istruzione TCP
30 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
31 public double[] actual_TCP_CmpSpeed;// Velocità effettiva composita TCP
32 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
33 public double[] actual_TCP_Speed; // Velocità effettiva TCP
34 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
35 public double[] jt_cur_tor; // Coppia attuale 6 assi, unità N·m
36
37 public int tool; // Numero sistema coordinate utensile applicato
38 public int user; // Numero sistema coordinate pezzo applicato
39 public byte cl_dgt_output_h; // Uscita IO digitale scatola di controllo 15-8
40 public byte cl_dgt_output_l; // Uscita IO digitale scatola di controllo 7-0
41 public byte tl_dgt_output_l; // Uscita IO digitale utensile 7-0, solo bit0-bit1 validi
42 public byte cl_dgt_input_h; // Ingresso IO digitale scatola di controllo 15-8
43 public byte cl_dgt_input_l; // Ingresso IO digitale scatola di controllo 7-0
44 public byte tl_dgt_input_l; // Ingresso IO digitale utensile 7-0, solo bit0-bit1 validi
45
46 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
47 public UInt16[] cl_analog_input; // Ingressi analogici scatola di controllo
48 public UInt16 tl_anglog_input; // Ingresso analogico utensile
49
50 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
51 public double[] ft_sensor_raw_data; // Dati grezzi sensore di coppia
52 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
53 public double[] ft_sensor_data; // Dati sensore di coppia
54 public byte ft_sensor_active; // Stato attivazione sensore di coppia, 0-reset, 1-attivo
55
56 public byte EmergencyStop; // Flag arresto emergenza, 0-non premuto, 1-premuto
57 public int motion_done; // Segnale movimento completato, 1-completato, 0-non completato
58 public byte gripper_motiondone; // Segnale completamento movimento pinza, 1-completato, 0-non completato
59 public int mc_queue_len; // Lunghezza coda comandi movimento
60 public byte collisionState; // Rilevamento collisione, 1-collisione, 0-nessuna collisione
61 public int trajectory_pnum; // Numero punto traiettoria
62 public byte safety_stop0_state; // Segnale stop sicurezza SI0
63 public byte safety_stop1_state; // Segnale stop sicurezza SI1
64 public byte gripper_fault_id; // ID pinza errata
65 public UInt16 gripper_fault; /* Guasto pinza */
66 public UInt16 gripper_active; /* Stato attivazione pinza */
67 public byte gripper_position; // Posizione pinza
68 public byte gripper_speed; /* Velocità pinza */
69 public byte gripper_current; /* Corrente pinza */
70 public int gripper_temp; // Temperatura pinza
71 public int gripper_voltage; // Tensione pinza
72
73 public ROBOT_AUX_STATE auxState; // Stato assi estensione 485
74
75 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
76 public EXT_AXIS_STATUS[] extAxisStatus; // Stato assi estensione UDP
77
78 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
79 public UInt16[] extDIState; // Ingressi DI estesi
80 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
81 public UInt16[] extDOState; // Uscite DO estese
82 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
83 public UInt16[] extAIState; // Ingressi AI estesi
84 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
85 public UInt16[] extAOState; // Uscite AO estese
86
87 public int rbtEnableState; // Stato abilitazione robot
88
89 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
90 public double[] jointDriverTorque; // Coppie driver giunto robot
91 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
92 public double[] jointDriverTemperature; // Temperature driver giunto robot
93
94 public ROBOT_TIME robotTime; // Tempo sistema robot
95 public int softwareUpgradeState; // Stato aggiornamento software robot
96 public UInt16 endLuaErrCode; // Stato esecuzione LUA fine
97
98 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
99 public UInt16[] cl_analog_output; // Uscite analogiche scatola di controllo
100 public UInt16 tl_analog_output; // Uscita analogica utensile
101
102 public float gripperRotNum; // Numero giri corrente pinza rotante
103 public byte gripperRotSpeed; // Percentuale velocità corrente pinza rotante
104 public byte gripperRotTorque; // Percentuale coppia corrente pinza rotante
105
106 public WELDING_BREAKOFF_STATE weldingBreakOffState; // Stato interruzione saldatura
107
108 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
109 public double[] jt_tgt_tor; // Coppie istruzione giunto
110 public int smartToolState; // Stato pulsante impugnatura SmartTool
111 public float wideVoltageCtrlBoxTemp; // Temperatura scatola di controllo wide voltage
112 public UInt16 wideVoltageCtrlBoxFanVel; // Corrente ventola scatola di controllo wide voltage (mA)
113
114 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
115 public double[] toolCoord; // Valori correnti coordinate utensile; x,y,z,rx,ry,rz
116 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
117 public double[] wobjCoord; // Valori correnti coordinate pezzo; x,y,z,rx,ry,rz
118 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
119 public double[] extoolCoord; // Valori correnti coordinate utensile esterno; x,y,z,rx,ry,rz
120 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
121 public double[] exAxisCoord; // Valori correnti coordinate assi estensione; x,y,z,rx,ry,rz
122
123 public double load; // Massa carico
124 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
125 public double[] loadCog; // Baricentro carico
126 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
127 public double[] lastServoTarget; // Ultima posizione target ServoJ in coda
128 public int servoJCmdNum; // Conteggio comandi servoJ
129
130 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
131 public double[] targetJointPos; // Posizione istruzione 6 giunti, unità °
132 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
133 public double[] targetJointVel; // Velocità istruzione 6 giunti, unità °/s
134 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
135 public double[] targetJointAcc; // Accelerazione istruzione 6 giunti, unità °/s²
136 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
137 public double[] targetJointCurrent; // Corrente istruzione 6 giunti, unità A
138 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
139 public double[] actualJointCurrent; // Corrente attuale 6 giunti, unità A
140 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
141 public double[] actualTCPForce; // Coppia fine robot Nm; x,y,z,rx,ry,rz
142 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
143 public double[] targetTCPPos; // Posizione istruzione TCP robot mm; x,y,z,rx,ry,rz
144 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
145 public byte[] collisionLevel; // Livelli collisione robot
146
147 public double speedScaleManual; // Percentuale velocità globale modalità manuale
148 public double speedScaleAuto; // Percentuale velocità globale modalità automatica
149 public int luaLineNum; // Numero riga programma lua corrente in esecuzione
150 public byte abnomalStop; // 0-nessuna anomalia; 1-anomalia presente
151
152 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)]
153 public byte[] currentLuaFileName; // Nome programma lua corrente in esecuzione
154 public byte programTotalLine; // Righe totali programma lua
155 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
156 public byte[] safetyBoxSingal; // Stato pulsanti box pulsanti robot
157
158 public double weldVoltage; // Tensione saldatura V
159 public double weldCurrent; // Corrente saldatura
160 public double weldTrackVel; // Velocità inseguimento cordone saldatura mm/s
161
162 public byte tpdException; // Superamento limite caricamento traiettorie TPD, 0-non superato, 1-superato
163 public byte alarmRebootRobot; // Avviso, 1-rilasciare pulsante arresto emergenza e riavviare scatola di controllo, 2-anomalia comunicazione giunto riavviare scatola di controllo
164 public byte modbusMasterConnect; // bit0-bit7 corrispondono a stato connessione master 0-7 ModbusTCP 0-non connesso 1-connesso
165 public byte modbusSlaveConnect; // Stato connessione slave ModbusTCP 0-non connesso; 1-connesso
166 public byte btnBoxStopSignal; // Segnale arresto emergenza pulsantiera, 0-arresto emergenza rilasciato; 1-arresto emergenza premuto
167 public byte dragAlarm; // Avviso trascinamento, attualmente in modalità automatica, 0-nessun avviso, 1-avviso, 2-anomalia feedback posizione nessuna commutazione
168 public byte safetyDoorAlarm; // Avviso porta sicurezza; 0-porta sicurezza chiusa; 1-porta sicurezza aperta
169 public byte safetyPlaneAlarm; // Avviso ingresso safety wall; 0-nessun ingresso safety wall; 1-ingresso safety wall
170 public byte motonAlarm; // Avviso movimento
171 public byte interfaceAlarm; // Avviso ingresso area interferenza
172 public int udpCmdState; // Stato connessione comunicazione UDP porta 20007
173 public byte weldReadyState; // Stato preparazione saldatrice completato
174 public byte alarmCheckEmergStopBtn; // 0-normale; 1-anomalia comunicazione, verificare se pulsante arresto emergenza rilasciato
175 public byte tsTmCmdComError; // 0-normale; 1-guasto comunicazione comando coppia
176 public byte tsTmStateComError; // 0-normale; 1-guasto comunicazione stato coppia
177 public int ctrlBoxError; // Errore scatola di controllo
178 public byte safetyDataState; // Flag stato dati sicurezza, 0-normale, 1-anomalo
179 public byte forceSensorErrState; // Guasto timeout connessione sensore forza; bit0-bit1 corrispondono a ID sensore forza ID1-ID2
180
181 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
182 public byte[] ctrlOpenLuaErrCode; // 4 codici errore protocollo periferiche controller (codice errore 500)
183
184 public byte strangePosFlag; // Flag posizione singolare attuale; 0-normale; 1-posizione singolare
185 public byte alarm; // Avviso
186 public byte driverAlarm; // Numero asse allarme driver
187 public byte aliveSlaveNumError; // Errore numero slave attivi, 0: normale; 1: errore numero
188
189 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
190 public byte[] slaveComError; // Errore slave, 0: normale; 1: slave offline; 2: stato slave non corrisponde a valore impostato; 3: slave non configurato; 4: errore configurazione slave; 5: errore inizializzazione slave; 6: errore inizializzazione comunicazione mailbox slave
191
192 public byte cmdPointError; // Errore punto comando
193 public byte IOError; // Errore IO
194 public byte gripperError; // Errore pinza
195 public byte fileError; // Errore file
196 public byte paraError; // Errore parametro
197 public byte exaxisOutLimitError; // Errore superamento limite soft asse esterno
198
199 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
200 public byte[] driverComError; // Guasto comunicazione con driver
201 public byte driverError; // Numero asse guasto comunicazione driver
202 public byte outSoftLimitError; // Guasto superamento limite soft
203
204 [MarshalAs(UnmanagedType.ByValArray, SizeConst = 130)]
205 public byte[] axleGenComData; // Dati feedback trasmissione trasparente fine robot
206
207 public byte socketConnTimeout; // Flag timeout connessione socket
208 public byte socketReadTimeout; // Flag timeout lettura socket
209 public byte tsWebStateComErr; // ts_web_state_com_err
210 public byte exaxisCoordID; // Numero del sistema di coordinate degli assi di estensione
211 public UInt16 check_sum; /* Checksum */
212
213 // Costruttore: inizializza tutti i campi array
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. Tipo di Enumerazione della Configurazione del Feedback di Stato del Robot
1/**
2* @brief Enumerazione degli stati configurabili del robot, intervallo 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, // Timeout connessione socket, bit0-bit4: socketID 1-4
136 SocketReadTimeout = 130, // Timeout lettura socket, bit0-bit4: socketID 1-4
137 TsWebStateComErr = 131, // Guasto comunicazione web-coppia; 0-normale; 1-guasto
138 ExaxisCoordID = 132 // Numero del sistema di coordinate degli assi di estensione
139}