Quoting Andreas Stewering-Bone <a...@igh-essen.com>:

Hello,

DC is a little bit more difficult than normal io.

First there are some questions:

- Which Realtime Subsystem do you use? (RTAI, Xenomai, Preempt)

RTAI

- Which CPU do you use?

root@rtai:~/ethercat-default/examples/dc_rtai# cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 15
model           : 2
model name      : Intel(R) Pentium(R) 4 CPU 2.80GHz
stepping        : 9
cpu MHz         : 2800.284
cache size      : 512 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe up pebs bts cid xtpr
bogomips        : 5600.56
clflush size    : 64
cache_alignment : 128
address sizes   : 36 bits physical, 32 bits virtual
power management:


- Which NIC driver do you use?

root@rtai:~/ethercat-default/examples/dc_rtai# lspci
...
___01:01.0 Ethernet controller: Intel Corporation 82547GI Gigabit Ethernet Controller___ 02:08.0 Ethernet controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) integrated LAN Controller (rev 02)
...
root@rtai:~/ethercat-default/examples/dc_rtai# lsmod
Module                  Size  Used by
ec_e1000               92872  0
ec_master             216679  1 ec_e1000
rtai_sem               24011  0
rtai_sched             95259  1 rtai_sem
rtai_hal               64480  2 rtai_sem,rtai_sched
e100                   26234  0


- Which etherlab master version do you use?

root@rtai:~/ethercat-default/examples/dc_rtai# ethercat version
IgH EtherCAT master devel afb40fd6018e

after this commit:
author  Florian Pose <f...@igh-essen.com>
Thu Sep 22 16:52:54 2011 +0200 (7 weeks ago)

- What is your system latency? (RTAI/testsuite)

User latency:
root@rtai:/usr/realtime/testsuite/user/latency# ./run
*
*
* Type ^C to stop this application.
*
*

## RTAI latency calibration tool ##
# period = 100000 (ns)
# average time = 1 (s)
# use the FPU
# start the timer
# timer_mode is oneshot

RTAI Testsuite - USER latency (all data in nanoseconds)
2011/11/14 13:53:08
RTH|    lat min|    ovl min|    lat avg|    lat max|    ovl max|   overruns
RTD|       -554|       -554|       -490|        958|        958|          0
RTD|       -559|       -559|       -492|       1037|       1037|          0
RTD|       -554|       -559|       -480|        196|       1037|          0
RTD|       -554|       -559|       -485|       2673|       2673|          0
RTD|       -554|       -559|       -477|       2582|       2673|          0
RTD|       -554|       -559|       -481|       2629|       2673|          0
RTD|       -551|       -559|       -496|       2442|       2673|          0
RTD|       -553|       -559|       -492|        275|       2673|          0
RTD|       -551|       -559|       -491|        483|       2673|          0
RTD|       -551|       -559|       -494|        291|       2673|          0
RTD|       -558|       -559|       -489|        391|       2673|          0
RTD|       -557|       -559|       -497|       2612|       2673|          0
RTD|       -551|       -559|       -495|        276|       2673|          0
RTD|       -551|       -559|       -494|       2602|       2673|          0
RTD|       -551|       -559|       -495|       2707|       2707|          0
RTD|       -551|       -559|       -497|        388|       2707|          0
RTD|       -551|       -559|       -493|        355|       2707|          0
RTD|       -551|       -559|       -490|       2647|       2707|          0
RTD|       -551|       -559|       -492|       2688|       2707|          0
RTD|       -551|       -559|       -492|        583|       2707|          0
RTD|       -557|       -559|       -495|        463|       2707|          0

- Which slave do you want to use?

I tried with 4 slaves, EL2004, EL1004, EL3102 and EL4132


About OP State

try to set

ethercat debug 1

and start your application and post the dmesg output.

dmesg#

EtherCAT 0: Master debug level set to 1.
ec_dc_rtai_sample: Starting...
EtherCAT: Requesting master 0...
EtherCAT DEBUG 0: IDLE -> OPERATION.
EtherCAT: Successfully requested master 0.
EtherCAT DEBUG 0: ecrt_master_callbacks(master = f7b82000, lock_cb = f8d86020, unlock_cb = f8d86000, cb_data = f7b82000)
ec_dc_rtai_sample: Registering domain...
EtherCAT DEBUG 0: ecrt_master_create_domain(master = 0xf7b82000)
EtherCAT DEBUG 0: Created domain 0.
ec_dc_rtai_sample: Configuring PDOs...
EtherCAT DEBUG 0: ecrt_master_slave_config(master = 0xf7b82000, alias = 0, position = 0, vendor_id = 0x00000002, product_code = 0x044d2c52)
EtherCAT DEBUG 0: Creating slave configuration for 0:0, 0x00000002/0x044D2C52.
EtherCAT DEBUG 0 0:0: Attached slave 0.
EtherCAT DEBUG 0: ecrt_master_slave_config(master = 0xf7b82000, alias = 0, position = 1, vendor_id = 0x00000002, product_code = 0x07d43052)
EtherCAT DEBUG 0: Creating slave configuration for 0:1, 0x00000002/0x07D43052.
EtherCAT DEBUG 0 0:1: Attached slave 1.
EtherCAT DEBUG 0 0:1: ecrt_slave_config_pdos(sc = 0xf7072000, n_syncs = 4294967295, syncs = 0xf8d868e0) EtherCAT DEBUG 0 0:1: ecrt_slave_config_sync_manager(sc = 0xf7072000, sync_index = 0, dir = 1, watchdog_mode = 0) EtherCAT DEBUG 0 0:1: ecrt_slave_config_pdo_assign_clear(sc = 0xf7072000, sync_index = 0) EtherCAT DEBUG 0 0:1: ecrt_slave_config_pdo_assign_add(sc = 0xf7072000, sync_index = 0, pdo_index = 0x1600)
EtherCAT DEBUG 0 0:1: Loading default mapping for PDO 0x1600.
EtherCAT DEBUG 0 0:1: Found PDO name "Channel 1".
EtherCAT DEBUG 0 0:1: Entry 0x7000:01.
EtherCAT DEBUG 0 0:1: ecrt_slave_config_pdo_mapping_clear(sc = 0xf7072000, pdo_index = 0x1600) EtherCAT DEBUG 0 0:1: ecrt_slave_config_pdo_mapping_add(sc = 0xf7072000, pdo_index = 0x1600, entry_index = 0x7000, entry_subindex = 0x01, entry_bit_length = 1) EtherCAT DEBUG 0 0:1: ecrt_slave_config_pdo_assign_add(sc = 0xf7072000, sync_index = 0, pdo_index = 0x1601)
EtherCAT DEBUG 0 0:1: Loading default mapping for PDO 0x1601.
EtherCAT DEBUG 0 0:1: Found PDO name "Channel 2".
EtherCAT DEBUG 0 0:1: Entry 0x7010:01.
EtherCAT DEBUG 0 0:1: ecrt_slave_config_pdo_mapping_clear(sc = 0xf7072000, pdo_index = 0x1601) EtherCAT DEBUG 0 0:1: ecrt_slave_config_pdo_mapping_add(sc = 0xf7072000, pdo_index = 0x1601, entry_index = 0x7010, entry_subindex = 0x02, entry_bit_length = 1) EtherCAT DEBUG 0 0:1: ecrt_slave_config_pdo_assign_add(sc = 0xf7072000, sync_index = 0, pdo_index = 0x1602)
EtherCAT DEBUG 0 0:1: Loading default mapping for PDO 0x1602.
EtherCAT DEBUG 0 0:1: Found PDO name "Channel 3".
EtherCAT DEBUG 0 0:1: Entry 0x7020:01.
EtherCAT DEBUG 0 0:1: ecrt_slave_config_pdo_mapping_clear(sc = 0xf7072000, pdo_index = 0x1602) EtherCAT DEBUG 0 0:1: ecrt_slave_config_pdo_mapping_add(sc = 0xf7072000, pdo_index = 0x1602, entry_index = 0x7020, entry_subindex = 0x03, entry_bit_length = 1) EtherCAT DEBUG 0 0:1: ecrt_slave_config_pdo_assign_add(sc = 0xf7072000, sync_index = 0, pdo_index = 0x1603)
EtherCAT DEBUG 0 0:1: Loading default mapping for PDO 0x1603.
EtherCAT DEBUG 0 0:1: Found PDO name "Channel 4".
EtherCAT DEBUG 0 0:1: Entry 0x7030:01.
EtherCAT DEBUG 0 0:1: ecrt_slave_config_pdo_mapping_clear(sc = 0xf7072000, pdo_index = 0x1603) EtherCAT DEBUG 0 0:1: ecrt_slave_config_pdo_mapping_add(sc = 0xf7072000, pdo_index = 0x1603, entry_index = 0x7030, entry_subindex = 0x04, entry_bit_length = 1) EtherCAT DEBUG 0 0:1: ecrt_slave_config_sync_manager(sc = 0xf7072000, sync_index = 1, dir = 2, watchdog_mode = 0)
ec_dc_rtai_sample: Registering PDO entries...
EtherCAT DEBUG 0: ecrt_domain_reg_pdo_entry_list(domain = 0xf7934f40, regs = 0xf8d86400) EtherCAT DEBUG 0: ecrt_master_slave_config(master = 0xf7b82000, alias = 0, position = 1, vendor_id = 0x00000002, product_code = 0x07d43052)
EtherCAT DEBUG 0: Domain 0: Added 1 bytes, total 1.
EtherCAT DEBUG 0 0:1: ecrt_slave_config_reg_pdo_entry(index = 0x7000, subindex = 0x01, domain = 0, bytepos=0, bitpos=0) EtherCAT DEBUG 0 0:1: ecrt_slave_config_dc(sc = 0xf7072000, assign_activate = 0x0700, sync0_cycle = 1000000, sync0_shift = 440000, sync1_cycle = 0, sync1_shift = 0
ec_dc_rtai_sample: Activating master...
EtherCAT DEBUG 0: ecrt_master_activate(master = 0xf7b82000)
EtherCAT 0: Domain0: Logical address 0x00000000, 1 byte, expected working counter 1.
EtherCAT 0:   Datagram domain0-0: Logical offset 0x00000000, 1 byte, type LWR.
EtherCAT DEBUG 0: Stopping master thread.
EtherCAT DEBUG 0: Master IDLE thread exiting...
EtherCAT 0: Master thread exited.
EtherCAT DEBUG 0: FSM datagram is f7b823f4.
EtherCAT 0: Starting EtherCAT-OP thread.
ec_dc_rtai_sample: Starting cyclic sample thread...
ec_dc_rtai_sample: RT timer started with 8333/8334 ticks.
ec_dc_rtai_sample: Initialized.
EtherCAT DEBUG 0: Operation thread running with fsm interval = 4000 us, max data size=45000
EtherCAT WARNING 0: 1 datagram UNMATCHED!
ec_dc_rtai_sample: 5 slave(s).
ec_dc_rtai_sample: AL states: 0x02.
ec_dc_rtai_sample: Link is up.
EtherCAT DEBUG 0: Set application start time = 374589987757929000
EtherCAT DEBUG 0: Configuration changed (aborting state check).
EtherCAT DEBUG 0: Writing system time offsets...
ec_dc_rtai_sample: Stopping...
EtherCAT 0: Releasing master...
EtherCAT DEBUG 0: ecrt_master_deactivate(master = 0xf7b82000)
EtherCAT DEBUG 0: Stopping master thread.
EtherCAT DEBUG 0: Master OP thread exiting...
EtherCAT 0: Master thread exited.
EtherCAT 0: Starting EtherCAT-IDLE thread.
EtherCAT DEBUG 0: OPERATION -> IDLE.
EtherCAT 0: Released.
ec_dc_rtai_sample: Unloading.
EtherCAT DEBUG 0: Idle thread running with send interval = 4000 us, max data size=45000
EtherCAT DEBUG 0: UNMATCHED datagram:
EtherCAT DEBUG: 0B CC 00 00 00 00 01 00 00 00 06 00 00
EtherCAT 0: Master debug level set to 0.



Thank you for your response!

--
Carlos Jiménez

ENCOPIM S.L.
C/. del Parc 5 (nau 13), P.I. Els Pinetons
E-08291 RIPOLLET (Barcelona)
Tel: (+34) 935 94 23 47
Fax: (+34) 935 94 64 15

==========================================================
La información contenida en la presente transmisión es confidencial y su
uso únicamente está permitido a su(s) destinatario(s). Si Ud. no es la
persona destinataria de la presente transmisión, rogamos nos lo
comunique de manera inmediata por teléfono (+34 935 942 347) y destruya
cualquier copia de la misma (tanto digitales como en papel).

The information contained in this transmission is confidential and is
intended only for the use of the addressee(s). If you are not the
designated recipient of this transmission, please advise us immediately
by telephone (+34 935 942 347) and destroy any copies (digital and
paper).
==========================================================
_______________________________________________
etherlab-users mailing list
etherlab-users@etherlab.org
http://lists.etherlab.org/mailman/listinfo/etherlab-users

Reply via email to