Compiler Errors
The following errors may be seen when compiling a project.
"EtherCAT: ERROR: Failed to retrieve EtherCAT device…"
These errors indicate either the ESI file for the EtherCAT***EtherCAT is an open, high-performance Ethernet-based fieldbus system. The development goal of EtherCAT was to apply Ethernet to automation applications which require short data update times (also called cycle times) with low communication jitter (for synchronization purposes) and low hardware costs device is missing or information is missing from the ESI file for a device and/or module.
Examples:
EtherCAT: ------------- Generating EtherCAT Network Information (ENI) file ---------------
EtherCAT: ERROR: Failed to retrieve Vendor for vendorID=0x21 in ESI cache
Project compile failed
EtherCAT: ------------- Generating EtherCAT Network Information (ENI) file ---------------
EtherCAT: ERROR: Failed to retrieve EtherCAT device (vendorID=0x2, productCode=0x44c2c52, revision=0x120000) in ESI cache
Project compile failed
To correct the error, identify which EtherCAT devices or modules are listed as “Unknown” in the Project View and import an appropriate ESI file. For more details, see: Unknown – Missing ESI File.
"Failed to export ENI file, check the logs for more details.", or
"EtherCAT: Warning : In AKD_1, PDO object index 0x3470, subIndex 4 is redundant."
These errors are indicative of redundant PDOPDO is a type of protocol frame used in some fieldbuses. A PDO contains one or more object dictionary entries, which define the application data transferred between devices. entries, see "Redundant PDO Entries".
The following compiler output indicates a failure to compile the optimized ("C") code:
Controller:PLC"Programmable Logic Controller" A Programmable Logic Controller, PLC, or Programmable Controller is a digital computer used for automation of industrial processes, such as control of machinery on factory assembly lines. Used to synchronize the flow of inputs from (physical) sensors and events with the flow of outputs to actuators and events:> ------------- Compile Optimized Code ------------- Controller:PLC:> Compiling "C" code. Controller:PLC:> ERROR: Failed to compile PLC "C" code. Controller:PLC:> Compilation log: ... Controller:PLC:> End of Compilation log Controller:PLC:> Compile Time Elapsed:1.37 seconds Controller:PLC:> ------------- Compile Optimized Code FAILED -------------
Please send the following items to Kollmorgen technical support to help us resolve it with you.
- the compilation log (copied from the compiler output)
- the files in the following directory (the path can be copied and pasted into the Windows Explorer address bar):
%LOCALAPPDATA%\Kollmorgen\KAS\Project\Controller\PLC\CC\
Kollmorgen technical support contact information can be found in Global Support Contacts, or at Kollmorgen.com. Please call or e-mail the appropriate support for your region.
A possible cause for optimized PLC code to fail compilation is if the user does not have permission to write to an output file or folder. The problem can be resolved by modifying the file permissions to allow writing to the file. Below are examples of error messages for specific files.
Controller:PLC:> ------------- Compile Optimized Code -------------
Controller:PLC:> ERROR: cannot remove old output file "C:\Users\my.name\AppData\Local\Kollmorgen\KAS\Project\Controller\PLC\CC\cclog.txt"
Controller:PLC: > To resolve the issue, set the permissions on the file so that it is writeable.
Controller:PLC:> Compile Time Elapsed:0.02 seconds
Controller:PLC:> ------------- Compile Optimized Code FAILED -------------
Figure 9-2: The file cclog.txt is not writeable.
Controller:------------- Compile PLC ---------------
...
Controller:PLC:main
Controller:PLC:c:\users\my.name\appdata\local\kollmorgen\kas\project\controller\plc\cc\main.c:
Cant write output file
Controller:PLC:appli
Controller:PLC:Error(s) detected
Controller:------------- PLC failed ---------------