[etherlab-users] el9820 Etherlab CANopen
Florian Pose
fp at igh-essen.com
Wed Jul 15 20:25:16 CEST 2009
Hi,
On Wed, Jul 15, 2009 at 05:40:16PM +0200, Edgar Garzon wrote:
> Two different proves:
> 1. Using the user command interface. Trying to pass the slave in OP states
> using: /opt/etherlab/bin/ethercat states OP. And correspoonds to the master
> logs: "ethercat.log" (File attached).
this won't be enough, because no slave configuration is supplied and
moreover no cyclic exchange of process data is done. You have to provide
an application (like you're doing in the second example).
> 2. Using a application "mini.c". And corresponds to the master log:
> etherlab.log1.
In the logs you can see:
> EtherCAT DEBUG: ecrt_master_slave_config(master = 0xf6ee4800, alias = 5,
> position = 0, vendor_id = 0x2, product_code = 0x4570862)
> EtherCAT DEBUG: Creating slave configuration for 5:0,
> 0x00000002/0x04570862.
> EtherCAT DEBUG: Slave 0 has an invalid type (0x00000002/0x26483052) for
> configuration 5:0 (0x00000002/0x04570862).
The vendor/product combination in your application does not match your
slave.
If you correct this, you will most probably get a second problem:
> General:
> Group: EvaBoardDemo
> Image name: DEVICE
> Order number: EL9800-0100
> Device name: EL9800 (V4.08) (SPI, ET1100)
> CoE details:
> Enable SDO: yes
> Enable SDO Info: yes
> Enable PDO Assign: no
> Enable PDO Configuration: no
The slave does not allow altering the PDO assignment and the PDOs'
mappings. What you're trying to do here...
> static ec_pdo_info_t el9800_pdos[] = {
> {0x1A02, 8, el9800_pdo_entries},
> };
>
> static ec_sync_info_t el9800_syncs[] = {
> {2, EC_DIR_OUTPUT},
> {3, EC_DIR_INPUT, 1, el9800_pdos},
> {0xff}
> };
...is to assign only PDO 0x1a02 to SM 3, what the slave will reject. Try
to include both PDOs (0x1a00 and 0x1a02) in the configuration (or
comment the CONFIGURE_PDOS define out).
When doing this, you will certainly be successful.
--
Best regards,
Florian Pose
http://etherlab.org
More information about the Etherlab-users
mailing list