55 #define EC_MAXERRORNAME 127 97 {0x00000000,
"No error" },
98 {0x05030000,
"Toggle bit not changed" },
99 {0x05040000,
"SDO protocol timeout" },
100 {0x05040001,
"Client/Server command specifier not valid or unknown" },
101 {0x05040005,
"Out of memory" },
102 {0x06010000,
"Unsupported access to an object" },
103 {0x06010001,
"Attempt to read to a write only object" },
104 {0x06010002,
"Attempt to write to a read only object" },
105 {0x06010003,
"Subindex can not be written, SI0 must be 0 for write access" },
106 {0x06010004,
"SDO Complete access not supported for variable length objects" },
107 {0x06010005,
"Object length exceeds mailbox size" },
108 {0x06010006,
"Object mapped to RxPDO, SDO download blocked" },
109 {0x06020000,
"The object does not exist in the object directory" },
110 {0x06040041,
"The object can not be mapped into the PDO" },
111 {0x06040042,
"The number and length of the objects to be mapped would exceed the PDO length" },
112 {0x06040043,
"General parameter incompatibility reason" },
113 {0x06040047,
"General internal incompatibility in the device" },
114 {0x06060000,
"Access failed due to a hardware error" },
115 {0x06070010,
"Data type does not match, length of service parameter does not match" },
116 {0x06070012,
"Data type does not match, length of service parameter too high" },
117 {0x06070013,
"Data type does not match, length of service parameter too low" },
118 {0x06090011,
"Subindex does not exist" },
119 {0x06090030,
"Value range of parameter exceeded (only for write access)" },
120 {0x06090031,
"Value of parameter written too high" },
121 {0x06090032,
"Value of parameter written too low" },
122 {0x06090036,
"Maximum value is less than minimum value" },
123 {0x08000000,
"General error" },
124 {0x08000020,
"Data cannot be transferred or stored to the application" },
125 {0x08000021,
"Data cannot be transferred or stored to the application because of local control" },
126 {0x08000022,
"Data cannot be transferred or stored to the application because of the present device state" },
127 {0x08000023,
"Object dictionary dynamic generation fails or no object dictionary is present" },
128 {0xffffffff,
"Unknown" }
133 {0x0000 ,
"No error" },
134 {0x0001 ,
"Unspecified error" },
135 {0x0002 ,
"No memory" },
136 {0x0011 ,
"Invalid requested state change" },
137 {0x0012 ,
"Unknown requested state" },
138 {0x0013 ,
"Bootstrap not supported" },
139 {0x0014 ,
"No valid firmware" },
140 {0x0015 ,
"Invalid mailbox configuration" },
141 {0x0016 ,
"Invalid mailbox configuration" },
142 {0x0017 ,
"Invalid sync manager configuration" },
143 {0x0018 ,
"No valid inputs available" },
144 {0x0019 ,
"No valid outputs" },
145 {0x001A ,
"Synchronization error" },
146 {0x001B ,
"Sync manager watchdog" },
147 {0x001C ,
"Invalid sync Manager types" },
148 {0x001D ,
"Invalid output configuration" },
149 {0x001E ,
"Invalid input configuration" },
150 {0x001F ,
"Invalid watchdog configuration" },
151 {0x0020 ,
"Slave needs cold start" },
152 {0x0021 ,
"Slave needs INIT" },
153 {0x0022 ,
"Slave needs PREOP" },
154 {0x0023 ,
"Slave needs SAFEOP" },
155 {0x0024 ,
"Invalid input mapping" },
156 {0x0025 ,
"Invalid output mapping" },
157 {0x0026 ,
"Inconsistent settings" },
158 {0x0027 ,
"Freerun not supported" },
159 {0x0028 ,
"Synchronisation not supported" },
160 {0x0029 ,
"Freerun needs 3buffer mode" },
161 {0x002A ,
"Background watchdog" },
162 {0x002B ,
"No valid Inputs and Outputs" },
163 {0x002C ,
"Fatal sync error" },
164 {0x002D ,
"No sync error" },
165 {0x002E ,
"Invalid input FMMU configuration" },
166 {0x0030 ,
"Invalid DC SYNC configuration" },
167 {0x0031 ,
"Invalid DC latch configuration" },
168 {0x0032 ,
"PLL error" },
169 {0x0033 ,
"DC sync IO error" },
170 {0x0034 ,
"DC sync timeout error" },
171 {0x0035 ,
"DC invalid sync cycle time" },
172 {0x0035 ,
"DC invalid sync0 cycle time" },
173 {0x0035 ,
"DC invalid sync1 cycle time" },
174 {0x0042 ,
"MBX_EOE" },
175 {0x0043 ,
"MBX_COE" },
176 {0x0044 ,
"MBX_FOE" },
177 {0x0045 ,
"MBX_SOE" },
178 {0x004F ,
"MBX_VOE" },
179 {0x0050 ,
"EEPROM no access" },
180 {0x0051 ,
"EEPROM error" },
181 {0x0060 ,
"Slave restarted locally" },
182 {0x0061 ,
"Device identification value updated" },
183 {0x00f0 ,
"Application controller available" },
184 {0xffff ,
"Unknown" }
189 {0x0000,
"No error" },
191 {0x1009,
"Invalid access to element 1" },
192 {0x2001,
"No Name" },
193 {0x2002,
"Name transmission too short" },
194 {0x2003,
"Name transmission too long" },
195 {0x2004,
"Name cannot be changed (read only)" },
196 {0x2005,
"Name is write-protected at this time" },
197 {0x3002,
"Attribute transmission too short" },
198 {0x3003,
"Attribute transmission too long" },
199 {0x3004,
"Attribute cannot be changed (read only)" },
200 {0x3005,
"Attribute is write-protected at this time" },
201 {0x4001,
"No units" },
202 {0x4002,
"Unit transmission too short" },
203 {0x4003,
"Unit transmission too long" },
204 {0x4004,
"Unit cannot be changed (read only)" },
205 {0x4005,
"Unit is write-protected at this time" },
206 {0x5001,
"No minimum input value" },
207 {0x5002,
"Minimum input value transmission too short" },
208 {0x5003,
"Minimum input value transmission too long" },
209 {0x5004,
"Minimum input value cannot be changed (read only)" },
210 {0x5005,
"Minimum input value is write-protected at this time" },
211 {0x6001,
"No maximum input value" },
212 {0x6002,
"Maximum input value transmission too short" },
213 {0x6003,
"Maximum input value transmission too long" },
214 {0x6004,
"Maximum input value cannot be changed (read only)" },
215 {0x6005,
"Maximum input value is write-protected at this time" },
216 {0x7002,
"Operation data transmission too short" },
217 {0x7003,
"Operation data transmission too long" },
218 {0x7004,
"Operation data cannot be changed (read only)" },
219 {0x7005,
"Operation data is write-protected at this time (state)" },
220 {0x7006,
"Operation data is smaller than the minimum input value" },
221 {0x7007,
"Operation data is smaller than the maximum input value" },
222 {0x7008,
"Invalid operation data:Configured IDN will not be supported" },
223 {0x7009,
"Operation data write protected by a password" },
224 {0x700A,
"Operation data is write protected, it is configured cyclically" },
225 {0x700B,
"Invalid indirect addressing: (e.g., data container, list handling)" },
226 {0x700C,
"Operation data is write protected, due to other settings" },
227 {0x700D,
"Reserved" },
228 {0x7010,
"Procedure command already active" },
229 {0x7011,
"Procedure command not interruptible" },
230 {0x7012,
"Procedure command at this time not executable (state)" },
231 {0x7013,
"Procedure command not executable (invalid or false parameters)" },
232 {0x7014,
"No data state" },
233 {0x8001,
"No default value" },
234 {0x8002,
"Default value transmission too long" },
235 {0x8004,
"Default value cannot be changed, read only" },
236 {0x800A,
"Invalid drive number" },
237 {0x800A,
"General error" },
238 {0x800A,
"No element addressed" },
244 {0x0000,
"No error" },
245 {0x0001,
"Syntax of 6 octet Mailbox Header is wrong" },
246 {0x0002,
"The mailbox protocol is not supported" },
247 {0x0003,
"Channel Field contains wrong value"},
248 {0x0004,
"The service is no supported"},
249 {0x0005,
"Invalid mailbox header"},
250 {0x0006,
"Length of received mailbox data is too short"},
251 {0x0007,
"No more memory in slave"},
252 {0x0008,
"The lenght of data is inconsistent"},
265 while ( (ec_sdoerrorlist[i].errorcode != 0xfffffffful) &&
266 (ec_sdoerrorlist[i].errorcode != sdoerrorcode) )
283 while ( (ec_ALstatuscodelist[i].ALstatuscode != 0xffff) &&
284 (ec_ALstatuscodelist[i].ALstatuscode != ALstatuscode) )
301 while ( (ec_soeerrorlist[i].errorcode != 0xffff) &&
302 (ec_soeerrorlist[i].errorcode != errorcode) )
319 while ( (ec_mbxerrorlist[i].errorcode != 0xffff) &&
320 (ec_mbxerrorlist[i].errorcode != errorcode) )
340 sprintf(timestr,
"Time:%12.3f", Ec.
Time.
sec + (Ec.
Time.
usec / 1000000.0) );
345 sprintf(
estring,
"%s SDO slave:%d index:%4.4x.%2.2x error:%8.8x %s\n",
351 sprintf(
estring,
"%s EMERGENCY slave:%d error:%4.4x\n",
357 sprintf(
estring,
"%s PACKET slave:%d index:%4.4x.%2.2x error:%d\n",
363 sprintf(
estring,
"%s SDO slave:%d index:%4.4x.%2.2x error:%8.8x %s\n",
369 sprintf(
estring,
"%s SoE slave:%d IDN:%4.4x error:%4.4x %s\n",
375 sprintf(
estring,
"%s MBX slave:%d error:%4.4x %s\n",
381 sprintf(
estring,
"%s error:%8.8x\n",
394 char* ec_elist2string(
void)
char * ec_ALstatuscode2string(uint16 ALstatuscode)
char errordescription[EC_MAXERRORNAME+1]
const ec_sdoerrorlist_t ec_sdoerrorlist[]
char * ec_soeerror2string(uint16 errorcode)
char estring[EC_MAXERRORNAME]
General typedefs and defines for EtherCAT.
char * ecx_elist2string(ecx_contextt *context)
const ec_soeerrorlist_t ec_soeerrorlist[]
char ALstatuscodedescription[EC_MAXERRORNAME+1]
char errordescription[EC_MAXERRORNAME+1]
Headerfile for ethercatmain.c.
char * ec_sdoerror2string(uint32 sdoerrorcode)
char errordescription[EC_MAXERRORNAME+1]
const ec_ALstatuscodelist_t ec_ALstatuscodelist[]
boolean ecx_poperror(ecx_contextt *context, ec_errort *Ec)
char * ec_mbxerror2string(uint16 errorcode)
const ec_mbxerrorlist_t ec_mbxerrorlist[]