Advanced Search

Search Results (Searched for: )

  • Hakan
  • Hakan
30 Sep 2025 09:18

Leadshine 2CS3E-D507 / Cia402 almost working - help please!

Category: EtherCAT

You need those two motion-command controller statements, they should go in between the cia402.read-all and write-all as in the example file.
It won't move without those.

It was just an example to show how it is normally done.
You can set the pos-cmd in halshow, try that.
The two drives are distinguished by the variable name srv-2-var srv-1-var etc.
 
  • jrc
  • jrc
30 Sep 2025 08:03

Leadshine 2CS3E-D507 / Cia402 almost working - help please!

Category: EtherCAT

Many thanks for your quick reply.
My hal file looks like this:
loadusr -W lcec_conf ethercat-conf.xml
loadrt lcec
loadrt cia402 count=2

addf lcec.read-all            servo-thread
addf cia402.0.read-all        servo-thread
addf cia402.1.read-all        servo-thread
addf cia402.0.write-all       servo-thread
addf cia402.1.write-all       servo-thread
addf lcec.write-all           servo-thread

#*******************
#  Right Carousel  lcec.0.0 arm (r1) cia402.0 joint.3 platter (r2) cia402.1 joint.4
#*******************
## Carousel arm ##
setp cia402.0.enable 1
#setp cia402.0.opmode 1
setp cia402.0.csp-mode 1
setp cia402.0.pos-scale 4000

# ethercat to cia402 driver
net r1-statusword      lcec.0.0.srv-1-cia-statusword  => cia402.0.statusword
net r1-opmode-display  lcec.0.0.srv-1-opmode-display  => cia402.0.opmode-display
net r1-drv-act-pos     lcec.0.0.srv-1-actual-position => cia402.0.drv-actual-position
net r1-drv-act-vel     lcec.0.0.srv-1-actual-velocity => cia402.0.drv-actual-velocity

# cia402 driver to ethercat
net r1-controlword         cia402.0.controlword         => lcec.0.0.srv-1-cia-controlword
net r1-modes-of-operation  cia402.0.opmode              => lcec.0.0.srv-1-opmode
net r1-drv-target-pos      cia402.0.drv-target-position => lcec.0.0.srv-1-target-position

## Carousel Platter ##
setp cia402.1.enable 1
setp cia402.1.csp-mode 1
setp cia402.1.pos-scale 4000

# ethercat to cia402 driver
net r2-statusword      lcec.0.0.srv-2-cia-statusword  => cia402.1.statusword
net r2-opmode-display  lcec.0.0.srv-2-opmode-display  => cia402.1.opmode-display
net r2-drv-act-pos     lcec.0.0.srv-2-actual-position => cia402.1.drv-actual-position
net r2-drv-act-vel     lcec.0.0.srv-2-actual-velocity => cia402.1.drv-actual-velocity

# cia402 driver to ethercat
net r2-controlword         cia402.1.controlword         => lcec.0.0.srv-2-cia-controlword
net r2-modes-of-operation  cia402.1.opmode              => lcec.0.0.srv-2-opmode
net r2-drv-target-pos      cia402.1.drv-target-position => lcec.0.0.srv-2-target-position

The missing part relative to the example you give me from dbraun is: 
addf motion-command-handler servo-thread
addf motion-controller servo-thread

#from motion to cia
net r1-enable    <= joint.3.amp-enable-out => cia402.0.enable
net r1-amp-fault => joint.3.amp-fault-in   <= cia402.0.drv-fault
net r1-pos-cmd   <= joint.3.motor-pos-cmd  => cia402.0.pos-cmd
net r1-pos-fb    => joint.3.motor-pos-fb   <= cia402.0.pos-fb

net r2-enable    <= joint.4.amp-enable-out => cia402.1.enable
net r2-amp-fault => joint.4.amp-fault-in   <= cia402.1.drv-fault
net r2-pos-cmd   <= joint.4.motor-pos-cmd  => cia402.1.pos-cmd
net r2-pos-fb    => joint.4.motor-pos-fb   <= cia402.1.pos-fb

If I add that into my hal file , LinuxCNC fails to start and complains about being unable to execute certain SDO uploads:
Failed to execute SDO upload: Invalid argument
LCEC: slave 0.1: Failed to execute SDO upload (0x6502:0x00, error -22, abort_code 00000000)
Failed to execute SDO upload: Invalid argument
LCEC: slave 0.1: Failed to execute SDO upload (0x6060:0x00, error -22, abort_code 00000000)
Failed to execute SDO upload: Invalid argument
LCEC: slave 0.1: Failed to execute SDO upload (0x607a:0x00, error -22, abort_code 00000000)
Failed to execute SDO upload: Invalid argument
LCEC: slave 0.1: Failed to execute SDO upload (0x6d02:0x00, error -22, abort_code 00000000)
Failed to execute SDO upload: Invalid argument
LCEC: slave 0.1: Failed to execute SDO upload (0x6860:0x00, error -22, abort_code 00000000)
Failed to execute SDO upload: Invalid argument
LCEC: slave 0.1: Failed to execute SDO upload (0x687a:0x00, error -22, abort_code 00000000)
HAL: ERROR: function 'motion-command-handler' may only be added to one thread
./2CS3E_D507.hal:12: addf failed

The last item in the list about the motion-command-handler suggests that this is duplicating another one in the standard config. If I comment out the motion-command-handler and motion-controller lines of the dbraun additions., that message goes away but it still crashes on startup with a similar list of SDO complaints and a new one about being unable to add a pin:
Failed to execute SDO upload: Invalid argument
LCEC: slave 0.1: Failed to execute SDO upload (0x6502:0x00, error -22, abort_code 00000000)
Failed to execute SDO upload: Invalid argument
LCEC: slave 0.1: Failed to execute SDO upload (0x6060:0x00, error -22, abort_code 00000000)
Failed to execute SDO upload: Invalid argument
LCEC: slave 0.1: Failed to execute SDO upload (0x607a:0x00, error -22, abort_code 00000000)
Failed to execute SDO upload: Invalid argument
LCEC: slave 0.1: Failed to execute SDO upload (0x6d02:0x00, error -22, abort_code 00000000)
Failed to execute SDO upload: Invalid argument
LCEC: slave 0.1: Failed to execute SDO upload (0x6860:0x00, error -22, abort_code 00000000)
Failed to execute SDO upload: Invalid argument
LCEC: slave 0.1: Failed to execute SDO upload (0x687a:0x00, error -22, abort_code 00000000)
./2CS3E_D507.hal:36: Pin 'joint.3.amp-enable-out' does not exist
43420
Stopping realtime threads
Unloading hal components
Note: Using POSIX realtime

@Hakan - Any further suggestions? Am I doing something dumb like omitting some essential pin definition, or ir is possible that the cia402 mappings are somehow not working for a dual-stepper drive for some reason?

@scottlaird  - do you have a simple hal file that works for a 2CS3E-D507 and actually gets both closed-loop steppers to move? Ideally in pp mode if possible, but at a push CSP would also work with the risk of more complexity, which is not needed for a toolchanger.
 
  • Hakan
  • Hakan
30 Sep 2025 07:57 - 30 Sep 2025 07:59

(Solved) Initialization code for a rintelligent ECT60 fails when run on an ECR60

Category: Driver Boards

It's the Twincat XAE to download.
You also tried to reset to factory defaults?
Also doing "ethercat rescan" won't hurt, might help.
  • Hakan
  • Hakan
30 Sep 2025 07:55
Replied by Hakan on topic Trouble with Cia402 drive configuration

Trouble with Cia402 drive configuration

Category: EtherCAT

Well, you can try with that as your ethercat-conf.xml
  • Hakan
  • Hakan
30 Sep 2025 07:52

can't pass a home-mode negative number to ethercat drive with setp in HAL file

Category: HAL

Does home-mode have halType="u32" in ethercat-conf.xml? Try changing to "s32".
  • ArcAiN6
  • ArcAiN6's Avatar
30 Sep 2025 06:48

Looking for a specific, detailed howto guide for XYYZ gantry setup

Category: Advanced Configuration

This is as close as i've gottent to getting it to home to where i want it... the problem however, is it keeps throwing an error :

Exceeded NEGATIVE soft limit (0.000000) on joint 2
Hint: switch to joint mode to jog off soft limit

Here's the current INI: 
 

File Attachment:

File Name: my-mill_20...9-30.ini
File Size:3 KB


Thank you for helping :)
Displaying 13276 - 13281 out of 13281 results.
Time to create page: 2.088 seconds
Powered by Kunena Forum