Advanced Search

Search Results (Searched for: )

  • kb58
  • kb58
30 Sep 2025 14:59 - 30 Sep 2025 18:04

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

Category: Driver Boards

I don't know the syntax for writing a line of code that causes a factory reset.

I'll try downloading the XAE code and print out the config file to see if there's anything different.

I'll also try "ethercat rescan", thanks.

Just to prolong the drama a bit, the Amazon seller of the ECT60 drive reported that a week-long national holiday is coming up, so they won't be able to ship the drivers until they return - and cancelled my order. Perhaps this is the universe telling me to keep working on the ECR drivers...
  • peterpan
  • peterpan
30 Sep 2025 14:57
Replied by peterpan on topic Trouble with Cia402 drive configuration

Trouble with Cia402 drive configuration

Category: EtherCAT

LINUXCNC - 2.9.4
Machine configuration directory is '/home/cnc/linuxcnc/configs/sim.axis'
Machine configuration file is 'axis.ini'
Starting LinuxCNC...
linuxcnc TPMOD=tpmod HOMEMOD=homemod EMCMOT=motmod
Note: Using POSIX realtime
Found file(REL): ./ethercat.hal
LCEC: slave 0.D4: FAILURE: FAILURE: more input PDO entries configured than your hardware supports.
Axis 1 has 13 PDO entries, vs a configured limit of 8.  You will need to edit your XML
configuration and either remove some <modParam name="enable*"> entries or increase 
<modParam name="ciaTxPDOEntryLimit">. Check your CiA 402 slave's hardware manual to determine the
correct limit.

Enabled features that impact this limit are:

  -  <modParam name="enableActualFollowingError" value="true">
  -  <modParam name="enableActualTorque" value="true">
  -  <modParam name="enableActualVoltage" value="true">
  -  <modParam name="enableErrorCode" value="true">
  -  <modParam name="enablePositionDemand" value="true">
  -  <modParam name="enableProbeStatus" value="true">
  -  <modParam name="enableTorqueDemand" value="true">
  -  <modParam name="enableVelocityDemand" value="true">

In addition, disabling unneeded CiA 402 modes may help, as some implicitly add additional PDO entries:

  -  <modParam name="enablePP" value="true">
  -  <modParam name="enablePV" value="true">
  -  <modParam name="enableCSP" value="true">
  -  <modParam name="enableCSV" value="true">
  -  <modParam name="enableCST" value="true">
  -  <modParam name="enableHM" value="true">
  -  <modParam name="enableTQ" value="true">
LCEC: Invalid appTimePeriod of 0 for master 0 (should be 1000000).
LCEC: slave 0.D4: FAILURE: FAILURE: more input PDO entries configured than your hardware supports.

Axis 1 has 13 PDO entries, vs a configured limit of 8.  You will need to edit your XML

configuration and either remove some <modParam name="enable*"> entries or increase 

<modParam name="ciaTxPDOEntryLimit">. Check your CiA 402 slave's hardware manual to determine the

correct limit.


Enabled features that impact this limit are:


  -  <modParam name="enableActualFollowingError" value="true">

  -  <modParam name="enableActualTorque" value="true">

  -  <modParam name="enableActualVoltage" value="true">

  -  <modParam name="enableErrorCode" value="true">

  -  <modParam name="enablePositionDemand" value="true">

  -  <modParam name="enableProbeStatus" value="true">

  -  <modParam name="enableTorqueDemand" value="true">

  -  <modParam name="enableVelocityDemand" value="true">


In addition, disabling unneeded CiA 402 modes may help, as some implicitly add additional PDO entries:


  -  <modParam name="enablePP" value="true">

  -  <modParam name="enablePV" value="true">

  -  <modParam name="enableCSP" value="true">

  -  <modParam name="enableCSV" value="true">

  -  <modParam name="enableCST" value="true">

  -  <modParam name="enableHM" value="true">

  -  <modParam name="enableTQ" value="true">

LCEC: Invalid appTimePeriod of 0 for master 0 (should be 1000000).

note: MAXV     max: 5.000 units/sec 300.000 units/min
note: LJOG     max: 5.000 units/sec 300.000 units/min
note: LJOG default: 0.250 units/sec 15.000 units/min
note: jog_order='X'
note: jog_invert=set()

When you say to try TwinCAT, do you mean hook it up on a windows system?

If I were to just get a different drive to make this easier for me, which lineup of drives would you recommend, so that I run into as few problems like this with lcec?
  • jschulze
  • jschulze
30 Sep 2025 14:56
Replied by jschulze on topic Wrapped Rotary on Non Rotary Axis Letter.

Wrapped Rotary on Non Rotary Axis Letter.

Category: Basic Configuration

Hmm...

There must be a solution so your setup can be XYZABC.

How does the PC communicate with the machine?

I use a Mesa 7i76eu with ethernet.  I'm guessing with a little trial and error I could modify the kinematics file to just set the B axis value to a constant 0 to avoid it being in the calculations for TCP and then passthrough the actual value to my joint.  The actual matrix math stuff is well beyond my level, so I'd rather leave that alone.  Not totally sure I'd want to label it B axis instead of W anyway, since B wraps around Y in my head.

I'm going to work a bit on trying to get the axis to retain position values when it's in spindle mode, I'm using a step/dir servo, so I need to figure out a way to keep track of position somehow.
  • heaven
  • heaven
30 Sep 2025 14:38
Replied by heaven on topic Robot / coBot functions

Robot / coBot functions

Category: General LinuxCNC Questions

Posible but not simple,
1. Linuxcnc control robot arm - Yes
2. Hand teach - No, you have to build it by force/torque sensor or dynamic model
2. Linuxcnc logging it's trajectory - Yes but linuxcnc trajectory planner only support 3 axis-XYZ readahead. This mean if you record 6 axis and playback it will be very slow
  • Hakan
  • Hakan
30 Sep 2025 13:49 - 30 Sep 2025 14:24
Replied by Hakan on topic Sync Problem LinuxCNC + EL8EC400F

Sync Problem LinuxCNC + EL8EC400F

Category: EtherCAT

Good to hear. Especially the -10 thing.
The "-" actually synchronizes linuxCNC's servo-thread to the DC reference clock.
Wasn't documented, I ran across it in the source code. Seems to work though, and I am happy to get
that feedback from you.
But I don't want to spread this. I have submitted a Pull Request to the linuxcnc-ethercat that will introduce
an option
syncToRefClock="true|false"
that will both document this and 
make it clear that this can be used. Until then, keep using the "-".
  • Ahmed.emara
  • Ahmed.emara
30 Sep 2025 13:30
Replied by Ahmed.emara on topic Sync Problem LinuxCNC + EL8EC400F

Sync Problem LinuxCNC + EL8EC400F

Category: EtherCAT

hey hakan
i discovered that i had huge latency problem i solved it with disable some features in BIOS and made core isolation, and then i changed the refclock to -10 and it worked! but i want to understand why it worked with -10
thank you guys for your help!
  • Hakan
  • Hakan
30 Sep 2025 13:28

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

Category: EtherCAT

Comment out this line in the ini file.
#HALFILE = LIB:basic_sim.tcl
Hope it doesn't mean a lot of extra errors but I think it might work.
Then give cia402.0.pos-cmd a value in halshow.
  • dextaca
  • dextaca
30 Sep 2025 13:04
Robot / coBot functions was created by dextaca

Robot / coBot functions

Category: General LinuxCNC Questions

Good day Forum
Wondering on possibility of implementing linuxcnc on a Older Motoman robot. 
Wondering if the necessary is in place to be able to to hand teach of the robot arm ( cobot style ) logging its trajectory etc. 
I think that would catapult Linuxcnc in the cobot world. 
ideas?

Thank  you 
  • 2tinker
  • 2tinker
30 Sep 2025 11:01

hm2/hm2_7i76e.0: error finishing read! iter=1342204

Category: Deutsch

Hallo zusammen.Nachdem ich ein paar Erfahrungen mit einem ArduinoUno und ESTLCAM gesammelt habe, versuche ich mich jetzt an LinuxCNC und einer MESA 7i76eu. Mit Windows kenne ich mich recht gut aus. Mit Linux leider noch gar nicht, darum bitte ich um Nachsicht!Mein System besteht zur Zeit aus einem i3 mit 4GB RAM und zwei Realtek LAN-Adapter (einer OnBoard, einer als PCIe-Karte); Debian 12 und LinuxCNC 2.9.4.=11.0ptWie bereits an anderer Stelle hier im Forum beschrieben erhalte ich nach einiger Zeit folgende Fehlermeldung: „hm2/hm2_7i76e.0: error finishing read! iter=1342204„

Wie in diesem Thread ( Mesa i76e error finishing read. Another Time with LinuxCNC 2.9.1 ) beschrieben, habe ich ethtool installiert.Das Auslesen der Werte mit „sudo ethtool –c enp1s0“ zeigt, das „rx-usecs“ bereits auf 0 gesetzt ist.
Soweit ich den Thread richtig gelesen habe, sollte diese Einstellung (bis zu eine reboot) die Fehlermeldung unterdrücken/beseitigen.
Auch habe ich in der Maschinen-INI den Parameter „SERVO-PERIOD“ auf 2000000 gesetzt.Vielleicht hat ja jemand eine Idee, woran es liegt, dass dieser Fehler geschmissen wird. =11.0ptDanke im Voraus und Grüße vom tinker.
  • jrc
  • jrc
30 Sep 2025 09:54

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

Category: EtherCAT

I added them back in and got the same error : HAL: ERROR: function 'motion-command-handler' may only be added to one thread

I think the simple minimal sim config I use as a starting point probably has those somewhere so it's complaining about duplicates
  • ShemJ
  • ShemJ's Avatar
  • 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.
Displaying 8086 - 8100 out of 18116 results.
Time to create page: 0.394 seconds
Powered by Kunena Forum