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}