General Questions about using ethercat
- Hakan
- Offline
- Platinum Member
-
Less
More
- Posts: 685
- Thank you received: 222
06 May 2025 18:20 #327877
by Hakan
Replied by Hakan on topic General Questions about using ethercat
You will not be helped by knowing command 110.
It's the following error on the line above one need to react on.
They move a tiny tiny bit or not at all? Does the shaft stop free rotation?
Anyway, the drives are closed loop drives, you need to set them to open loop mode so they ignore the input from the non-existent encoder on the motors.
I searched briefly for a manual but couldn't find one - Lichuan CL3-E57H?
So you have to look in the manual, or perhaps there is a configuration software with it, I saw comments that suggests that. Turn of closed loop, enable open loop.
Hopefully it is that easy.
It's the following error on the line above one need to react on.
They move a tiny tiny bit or not at all? Does the shaft stop free rotation?
Anyway, the drives are closed loop drives, you need to set them to open loop mode so they ignore the input from the non-existent encoder on the motors.
I searched briefly for a manual but couldn't find one - Lichuan CL3-E57H?
So you have to look in the manual, or perhaps there is a configuration software with it, I saw comments that suggests that. Turn of closed loop, enable open loop.
Hopefully it is that easy.
The following user(s) said Thank You: Tntmold
Please Log in or Create an account to join the conversation.
- Tntmold
- Away
- Junior Member
-
Less
More
- Posts: 36
- Thank you received: 1
06 May 2025 18:46 - 06 May 2025 18:57 #327878
by Tntmold
Replied by Tntmold on topic General Questions about using ethercat
According to the manual, parameter 2301 indicates open/closed loop and is set to open loop:
ethercat upload -p 0 -t int16 0x2301 0
0x0001 1
The shafts make no motion at all, the velocity display changes to 200 for an instant and then back to zero. I can easily turn the motor shafts
It looks like the operation mode is not set. The manual says to use CSP mode by setting 6060 to 8, then set 6040 to 0x6, 0x7, and 0xf in sequence
ethercat upload -p 0 -t int8 0x6060 0
0x00 0
ethercat download -p 0 -t int8 0x6060 0 8
ethercat upload -p 0 -t int8 0x6060 0
0x00 0
so the value is not being set via ethercat. How should I do this?
ethercat upload -p 0 -t int16 0x2301 0
0x0001 1
The shafts make no motion at all, the velocity display changes to 200 for an instant and then back to zero. I can easily turn the motor shafts
It looks like the operation mode is not set. The manual says to use CSP mode by setting 6060 to 8, then set 6040 to 0x6, 0x7, and 0xf in sequence
ethercat upload -p 0 -t int8 0x6060 0
0x00 0
ethercat download -p 0 -t int8 0x6060 0 8
ethercat upload -p 0 -t int8 0x6060 0
0x00 0
so the value is not being set via ethercat. How should I do this?
Last edit: 06 May 2025 18:57 by Tntmold. Reason: Added information
Please Log in or Create an account to join the conversation.
- Hakan
- Offline
- Platinum Member
-
Less
More
- Posts: 685
- Thank you received: 222
06 May 2025 19:59 - 06 May 2025 20:02 #327885
by Hakan
Replied by Hakan on topic General Questions about using ethercat
That's what the cia402 component does. You have already set cia402.0.csp-mode to 1 in the hal file.
You can go into halshow and find the pin lcec.0.X.target-position and lcec.0.X.actual-position.
The difference between them is the following error and one always accepts some error but when it becomes too large lcnc stops.
You have the cia402.0.pos-scale to play with. The manual should say how many "steps" per revolution it uses, or how to found out. Calculate how many steps per axis unit (mm?) you have (thread pitch).
However I looked at your ethercat-conf.xml. You got to remove those pdos from syncmanager 0 and 1, actually remove sm0 and sm1 completely and only use those in sm2 and sm3.
Like this
Keep dccconf line and all other lines. If I made a type above I hope you can correct it.
You can go into halshow and find the pin lcec.0.X.target-position and lcec.0.X.actual-position.
The difference between them is the following error and one always accepts some error but when it becomes too large lcnc stops.
You have the cia402.0.pos-scale to play with. The manual should say how many "steps" per revolution it uses, or how to found out. Calculate how many steps per axis unit (mm?) you have (thread pitch).
However I looked at your ethercat-conf.xml. You got to remove those pdos from syncmanager 0 and 1, actually remove sm0 and sm1 completely and only use those in sm2 and sm3.
Like this
<dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0"/>
<syncManager idx="2" dir="out">
<pdo idx="1600">
<pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="controlword" halType="U32"/>
<pdoEntry idx="607a" subIdx="00" bitLen="32" halPin="target-position" halType="S32"/>
<pdoEntry idx="60ff" subIdx="00" bitLen="32" halPin="target-velocity" halType="S32"/>
<pdoEntry idx="6060" subIdx="00" bitLen="8" halPin="opmode" halType="S32"/>
</pdo>
</syncManager>
<syncManager idx="3" dir="in">
<pdo idx="1a00">
<pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="statusword" halType="U32"/>
<pdoEntry idx="6064" subIdx="00" bitLen="32" halPin="actual-position" halType="S32"/>
<pdoEntry idx="606c" subIdx="00" bitLen="32" halPin="actual-velocity" halType="S32"/>
<pdoEntry idx="6061" subIdx="00" bitLen="8" halPin="opmode-display" halType="S32"/>
</pdo>
</syncManager>
Keep dccconf line and all other lines. If I made a type above I hope you can correct it.
Last edit: 06 May 2025 20:02 by Hakan.
The following user(s) said Thank You: Tntmold
Please Log in or Create an account to join the conversation.
- Tntmold
- Away
- Junior Member
-
Less
More
- Posts: 36
- Thank you received: 1
06 May 2025 23:09 #327910
by Tntmold
Replied by Tntmold on topic General Questions about using ethercat
I made those changes to the xml but I see no difference.
ethercat slaves shows both drives in OP but I can't get them to move and the motor shafts act as if no power is present
ethercat slaves shows both drives in OP but I can't get them to move and the motor shafts act as if no power is present
Please Log in or Create an account to join the conversation.
- Hakan
- Offline
- Platinum Member
-
Less
More
- Posts: 685
- Thank you received: 222
07 May 2025 06:02 #327924
by Hakan
Replied by Hakan on topic General Questions about using ethercat
The config should be ok now and I don't know of any obvious thing to do..
I made a quick search and there seems to be a problem with the CL3-E57H, in which order power, linuxcnc and network cable are activated, I might have got that wrong. Maybe you find something in that thread
forum.linuxcnc.org/ethercat/47534-etherc...e-configuration-woes
I made a quick search and there seems to be a problem with the CL3-E57H, in which order power, linuxcnc and network cable are activated, I might have got that wrong. Maybe you find something in that thread
forum.linuxcnc.org/ethercat/47534-etherc...e-configuration-woes
The following user(s) said Thank You: Tntmold
Please Log in or Create an account to join the conversation.
- Tntmold
- Away
- Junior Member
-
Less
More
- Posts: 36
- Thank you received: 1
07 May 2025 14:29 #327948
by Tntmold
Replied by Tntmold on topic General Questions about using ethercat
Thanks, I will read through that thread to see if it will help, however that thread is for a closed loop drive and mine are open loop. The drives know they are open loop, but I am wondering if linuxcnc knows they are open loop. Where is that set in linuxcnc?
Please Log in or Create an account to join the conversation.
- Hakan
- Offline
- Platinum Member
-
Less
More
- Posts: 685
- Thank you received: 222
08 May 2025 05:54 - 08 May 2025 05:54 #327978
by Hakan
Replied by Hakan on topic General Questions about using ethercat
You don't set open loop in linuxcnc. You set it to cia402 csp (cyclic synchronous position) mode and it is up to the drive to figure out how to come to the position you tell it. In open loop the driver will just report back the target position, not the actual position as the actual position well that's obvious I guess.
If you need to set the sdo value during startup you can do that like this (example from my ect60 drive)
Note the byte order, 4000 which is hex x0fa0 is entered as "a0 0f"
If you need to set the sdo value during startup you can do that like this (example from my ect60 drive)
<dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0"/>
<sdoConfig idx="2000" subIdx="0"><sdoDataRaw data ="a0 0f"/></sdoConfig> <!-- Max motor current (3.0A=b80b 4.0=a00f 5.0=8813) Rated=4.0A -->
<sdoConfig idx="2003" subIdx="0"><sdoDataRaw data ="64 00"/></sdoConfig> <!-- Standby current percentage (100%) -->
Note the byte order, 4000 which is hex x0fa0 is entered as "a0 0f"
Last edit: 08 May 2025 05:54 by Hakan.
Please Log in or Create an account to join the conversation.
Time to create page: 0.087 seconds