I just bought a set of Lichuan drives and motors (400w and 750w with brake), and am trying to bring one up. I started with a fresh 2.9.3 debian 12 install, and have carefully gone through this entire thread. As far as I can see, the last, most successful configuration was this one by Robbb:
forum.linuxcnc.org/ethercat/52341-proble...rive?start=60#304887
When I use this, I cannot get beyond PREOP state (blinking 2 0ry). The dmesg output is:
[ +9.303879] EtherCAT: Requesting master 0...
[ +0.000004] EtherCAT: Successfully requested master 0.
[ +0.000248] EtherCAT 0: Domain0: Logical address 0x00000000, 24 byte, expected
working counter 3.
[ +0.000003] EtherCAT 0: Datagram domain0-0-main: Logical offset 0x00000000,
24 byte, type LRW.
[ +0.000014] EtherCAT 0: Master thread exited.
[ +0.000001] EtherCAT 0: Starting EtherCAT-OP thread.
[ +0.000048] EtherCAT WARNING 0: 1 datagram TIMED OUT!
[Nov21 11:52] e1000e 0000:00:1f.6 eno1: NIC Link is Up 100 Mbps Full Duplex, Flo
w Control: None
[ +0.000804] EtherCAT 0: Link state of ecm0 changed to UP.
[ +0.042737] EtherCAT 0: 1 slave(s) responding on main device.
[ +0.000005] EtherCAT 0: Slave states on main device: PREOP.
[ +0.002248] EtherCAT 0: Scanning bus.
[ +0.509737] EtherCAT WARNING 0: 2 datagrams TIMED OUT!
[ +0.840264] EtherCAT ERROR 0-0: Reception of CoE upload request for SDO 0x1c12
:0 failed with timeout after 1000 ms: No response.
[ +0.000007] EtherCAT ERROR 0-0: Failed to read number of assigned PDOs for SM2
.
[ +0.999993] EtherCAT ERROR 0-0: Reception of CoE upload request for SDO 0x1c13
:0 failed with timeout after 1000 ms: No response.
[ +0.000006] EtherCAT ERROR 0-0: Failed to read number of assigned PDOs for SM3
.
[ +0.000398] EtherCAT 0: Bus scanning completed in 2352 ms.
[ +0.000003] EtherCAT 0: Using slave 0 as DC reference clock.
[ +0.000003] EtherCAT 0: Starting EoE thread.
[ +0.039613] EtherCAT ERROR 0-0: Failed to set SAFEOP state, slave refused stat
e change (PREOP + ERROR).
[ +0.001998] EtherCAT ERROR 0-0: AL status message 0x001E: "Invalid input confi
guration".
[ +0.004007] EtherCAT 0-0: Acknowledged state PREOP.
[ +0.033984] EtherCAT ERROR 0-0: Failed to set SAFEOP state, slave refused stat
e change (PREOP + ERROR).
[ +0.000997] EtherCAT ERROR 0-0: AL status message 0x001E: "Invalid input confi
guration".
[ +0.002000] EtherCAT 0-0: Acknowledged state PREOP.
From the Lichuan LC-E manual, it looks like 0x1c12 sets the RxPDO allocation and 0x1c13 sets the TxPDO allocation. I have programmed the drive EEPROM using the xml file and eeprom programming software provided to me by Lichuan. It seems off that it is complaining about this, since I seem to be able to see the PDO registers with 'ethercat pdos':
SM0: PhysAddr 0x1000, DefaultSize 256, ControlRegister 0x26, Enable 1
SM1: PhysAddr 0x1400, DefaultSize 256, ControlRegister 0x22, Enable 1
SM2: PhysAddr 0x1800, DefaultSize 12, ControlRegister 0x64, Enable 1
RxPDO 0x1600 "1st receive PDO Mapping"
PDO entry 0x6040:00, 16 bit, "Control Word"
PDO entry 0x607a:00, 32 bit, "TargetPosition"
PDO entry 0x60b8:00, 16 bit, "Touch probe function"
PDO entry 0x6060:00, 8 bit, "Modes of Operation"
PDO entry 0x60ff:00, 32 bit, "Target velocity"
SM3: PhysAddr 0x1c00, DefaultSize 28, ControlRegister 0x20, Enable 1
TxPDO 0x1a00 "1st transmit PDO Mapping"
PDO entry 0x603f:00, 16 bit, "Error code"
PDO entry 0x6041:00, 16 bit, "Statusword"
PDO entry 0x6064:00, 32 bit, "Position actual value"
PDO entry 0x606c:00, 32 bit, "Velocity Actual Value"
PDO entry 0x60b9:00, 16 bit, "Touch probe status"
PDO entry 0x60ba:00, 32 bit, "Touch probe pos1 pos value"
PDO entry 0x60fd:00, 32 bit, "Digital inputs"
PDO entry 0x6061:00, 8 bit, "Modes of Operation Display"
Can somebody help me over this hump? I feel like I'm close to success.
Thanks!
-- Ralph