Hi,

you may be using an old version of the slave. What version are you using? (ethercat slave -v -p?)

You will need to use the generic slave in this case. Run the following command
ethercat pdos -pX --skin etherlab
and save it in el3162.m. Then insert this function for "EtherCAT Slave Configuration struct".

Attached is a function I used for another slave. You may use it for comparison.

- Richard Hacker


On 01.03.2015 17:28, Sebastian Rehberger wrote:
Hi,

We’re trying to read analog output signals from a EL3162 input device.
The Master is up and running, and other EL1004/EL2004 devices are
functioning properly. Also two EL4102 analog output devices are working
and behave normally.


The EL3162 does not switch from PREOP to SAFEOP or OP, neither by
command line (“sudo ./ethercat states –p 9 SAFEOP”), nor during
execution of the simulink generated Etherlab application. However,
Syslog gives the following debugging information:

Mar  1 17:18:50 ubuntu kernel: [ 4960.647334] EtherCAT ERROR 0-9: SDO
download 0x8000:06 (1 bytes) aborted.

Mar  1 17:18:50 ubuntu kernel: [ 4960.647338] EtherCAT ERROR 0-9: SDO
abort message 0x06020000: "This object does not exist in the object
directory".

Mar  1 17:18:50 ubuntu kernel: [ 4960.647340] EtherCAT ERROR 0-9: SDO
configuration failed.

In the slave list (“sudo. /ethercat slaves –p 9”), the EL3162
immediately sets the error flag after execution of the Simulink application.

Has anyone experienced similar problems or may support with further
debugging methods?

Kind Regards,

Sebastian



_______________________________________________
etherlab-users mailing list
[email protected]
http://lists.etherlab.org/mailman/listinfo/etherlab-users

function rv = el3162(gain)
% vim:et

rv.SlaveConfig(1).vendor = 2;
rv.SlaveConfig(1).product = hex2dec('0c5a3052');
rv.SlaveConfig(1).description = 'EL3162';
rv.SlaveConfig(1).sm = {
    {3, 1, {
        {hex2dec('1a10'), [
            hex2dec('6401'),1,16;
            hex2dec('6401'),2,16;
        ]}
    }}
};


%%%%%%%%%%%%%%%%%%%%%%%%
rv.PortConfig.output(1) = struct(...
        'pdo', [0,0,0,0;
                0,0,1,0], ...
        'pdo_data_type', uint(16), ...
        'full_scale', 2^15, ...
        'gain', {{'Gain',gain}} ...
);
_______________________________________________
etherlab-users mailing list
[email protected]
http://lists.etherlab.org/mailman/listinfo/etherlab-users

Reply via email to