Advanced Search

Search Results (Searched for: )

  • Robbbbbb
  • Robbbbbb
11 Jul 2024 09:49 - 11 Jul 2024 10:10
Replied by Robbbbbb on topic Problems with Lichuan Ethercat servo drive

Problems with Lichuan Ethercat servo drive

Category: EtherCAT

Success! So I added the missing pdo entry, and the two missing sync managers (with no pdos set) and now everything is working great. Attached my complete config. Working ethercat-conf.xml:
<masters>
  <master idx="0" appTimePeriod="1000000" refClockSyncCycles="1">
    <slave idx="0" type="generic" vid="00000766" pid="00000402" configPdos="true">
      <dcConf assignActivate="300" sync0Cycle="*1" sync0Shift="0"/>
      <syncManager idx="0" dir="out">
      </syncManager>
      <syncManager idx="1" dir="in">
      </syncManager>
      <syncManager idx="2" dir="out">
        <pdo idx="1600">
          <pdoEntry idx="6040" subIdx="00" bitLen="16" halPin="cia-controlword" halType="u32"/>
          <pdoEntry idx="6060" subIdx="00" bitLen="8" halPin="opmode" halType="s32"/>
          <pdoEntry idx="607A" subIdx="00" bitLen="32" halPin="target-position" halType="s32"/>
          <pdoEntry idx="60FF" subIdx="00" bitLen="32" halPin="target-speed" halType="s32"/>
        </pdo>
      </syncManager>
      <syncManager idx="3" dir="in">
        <pdo idx="1a00">
          <pdoEntry idx="6041" subIdx="00" bitLen="16" halPin="cia-statusword" halType="u32"/>
          <pdoEntry idx="6061" subIdx="00" bitLen="8" halPin="opmode-display" halType="s32"/>
          <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="6077" subIdx="00" bitLen="16" halPin="actual-torque" halType="s32"/>
        </pdo>
      </syncManager>
    </slave>
  </master>
</masters>
  • timaer
  • timaer
11 Jul 2024 09:45 - 11 Jul 2024 09:47

Built my .ui, works in SIM, how do I move it to the machine?

Category: QtPyVCP

The .ui file is related to the handler.py file. You'd better check the official doc linuxcnc.org/docs/stable/html/gui/qtvcp.html  ,
in real enviroment ,you need also adjust your hal and ini file to satisfy the specific machine detail.
  • meme
  • meme
11 Jul 2024 09:28
Replied by meme on topic [solved] Auto Tool Measurement

[solved] Auto Tool Measurement

Category: Qtvcp

I updated linuxcnc, I edited the file as you suggested:

def slider_rapid_changed(self, value):
rapid = (float(value) / 100) * self.factor = 1.0
self.w.lbl_max_rapid.setText("{:4.0f}".format(rapid))

Now the error is as follow:


Traceback (most recent call last):
File "/usr/bin/qtvcp", line 508, in <module>
_qtvcp = QTVCP()
^^^^^^^
File "/usr/bin/qtvcp", line 251, in __init__
window.load_extension(opts.usermod)
File "/usr/lib/python3/dist-packages/qtvcp/qt_makegui.py", line 265, in load_extension
methods, self[obj].handler_module, self[obj].handler_instance = self._load_handlers([handlerpath], self.halcomp, self[obj])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/qtvcp/qt_makegui.py", line 293, in _load_handlers
mod = __import__(basename)
^^^^^^^^^^^^^^^^^^^^
File "/usr/share/qtvcp/screens/qtdragon/qtdragon_handler.py", line 700
rapid = (float(value) / 100) * self.factor = 1.0
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: cannot assign to expression
  • Aciera
  • Aciera's Avatar
11 Jul 2024 09:23

How to monitor OP mode in Panasonic A6B Ethercat

Category: EtherCAT

I think I already tried using "not" component, can you confirm this is right format?

I know nothing about EtherCAT, so I have no idea if you can get an inverted value back from the drive. What I suggested was using the built in HAL component called 'NOT'. For which you would need to use 'loadrt' and 'addf' commands and connect the input and output pins in hal.
  • endian
  • endian's Avatar
11 Jul 2024 09:11

How to monitor OP mode in Panasonic A6B Ethercat

Category: EtherCAT

try running this in terminal:
watch -n 0.1 ethercat slaves

however drives not getting to OP mode must have a reason. What hardware are you on? I have similar issue with RPI5 and generic driver. I tried faster servo threads, but developers told me, that generic driver is only good for 1 000 000 ns servo thread.

 

Hello zmrdko,

have you ever reinstalling drivers from default generic to other as e1000e or rtl8190too ? I did some questions about this problematic during early days of lcec at one of the first threads and guys told me that there is no much big difference between them...

but I should have calmer sleeping if there is right driver with the right hardware..

regards
  • timaer
  • timaer
11 Jul 2024 09:10 - 11 Jul 2024 09:10

[resolved]Ethercat servo spindle orient problem while using M19 ?

Category: General LinuxCNC Questions

Hi,Aciera,I've modified it following your suggestion.it seems to be still not working.before modifying ,the final value is always 0.2 and after modifying ,now the value jump over again in 0.2 and -0.2 .


###########################################################
#
# CIA 402 example snippet Hal
#
###########################################################

###########################################################
# Setup
###########################################################


loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS

loadusr -W lcec_conf ethercat-conf.xml
loadrt lcec
loadrt cia402 count=2
loadrt pid names=pos-pid,velo-pid
loadrt orient count=1
loadrt mux2 count=1
loadrt or2 count=1


###########################################################
# Functions servo-thread
###########################################################

addf lcec.read-all servo-thread #reading from servo
addf cia402.0.read-all servo-thread
addf cia402.1.read-all servo-thread

addf motion-command-handler servo-thread
addf motion-controller servo-thread #linuxcnc module ,cia402 module as a translator
addf pos-pid.do-pid-calcs servo-thread
addf velo-pid.do-pid-calcs servo-thread
addf orient.0 servo-thread
addf mux2.0 servo-thread
addf or2.0 servo-thread


addf cia402.0.write-all servo-thread
addf cia402.1.write-all servo-thread #writing to servo
addf lcec.write-all servo-thread


#########################################
#nets
#########################################
net emc-enable => iocontrol.0.emc-enable-in
sets emc-enable 1

#config


#
# Joint 0
#
setp cia402.0.csp-mode 0
setp cia402.0.velo-scale 166

#FOR SPINDLE
setp velo-pid.deadband 0.3 #limit pid tolerance
setp velo-pid.maxoutput 500 #limit pid maxoutput to protect
setp pos-pid.deadband 0.3
setp pos-pid.maxoutput 500

net 0-statusword lcec.0.0.cia-statusword => cia402.0.statusword
net 0-opmode-display lcec.0.0.opmode-display => cia402.0.opmode-display
net 0-drv-act-pos lcec.0.0.actual-position => cia402.0.drv-actual-position
net 0-drv-act-velo lcec.0.0.actual-velocity => cia402.0.drv-actual-velocity
net 0-speed-fb cia402.0.velocity-fb => velo-pid.feedback
net 0-pos-fb pos-pid.feedback <= cia402.0.pos-fb => orient.0.position

#for spindle orient
#from linuxcnc motion to cia402 / cia402 to motion
#net 0-spindleON spindle.0.on => cia402.0.enable
#net 0-target-speed spindle.0.speed-out => cia402.0.velocity-cmd

net 0-spindleon-normal velo-pid.enable <= spindle.0.on => or2.0.in0
net 0-home-index spindle.0.index-enable => cia402.0.home
net 0-target-speed spindle.0.speed-out => velo-pid.command

net 0-orient pos-pid.enable <= spindle.0.orient => orient.0.enable => mux2.0.sel => or2.0.in1
net 0-spindleON or2.0.out => cia402.0.enable
net 0-angle spindle.0.orient-angle => orient.0.angle
net 0-orient_topos orient.0.command => pos-pid.command

net 0-pospid-tomux pos-pid.output => mux2.0.in1
net 0-velopid-tomux velo-pid.output => mux2.0.in0
net 0-muxtoabs-final-speed mux2.0.out => cia402.0.velocity-cmd
net 0-amp-fault spindle.0.amp-fault-in <= cia402.0.drv-fault


#from cia402 to servo
net 0-controlword cia402.0.controlword => lcec.0.0.cia-controlword
net 0-modes-of-operation cia402.0.opmode => lcec.0.0.opmode
net 0-drv-target-pos cia402.0.drv-target-position => lcec.0.0.target-position
net 0-drv-target-velo cia402.0.drv-target-velocity => lcec.0.0.target-velocity



#
# Joint 1
#
setp cia402.1.csp-mode 1
setp cia402.1.pos-scale 166

#from servo to cia402
net 1-statusword lcec.0.1.cia-statusword => cia402.1.statusword
net 1-opmode-display lcec.0.1.opmode-display => cia402.1.opmode-display
net 1-drv-act-pos lcec.0.1.actual-position => cia402.1.drv-actual-position
net 1-drv-act-velo lcec.0.1.actual-velocity => cia402.1.drv-actual-velocity


#from linuxcnc motion to cia402 / cia402 to motion
net 1-home-index joint.1.index-enable => cia402.1.home
net 1-enable joint.1.amp-enable-out => cia402.1.enable
net 1-amp-fault joint.1.amp-fault-in <= cia402.1.drv-fault
net 1-pos-cmd joint.1.motor-pos-cmd => cia402.1.pos-cmd
net 1-pos-fb joint.1.motor-pos-fb <= cia402.1.pos-fb


#from cia402 to servo
net 1-controlword cia402.1.controlword => lcec.0.1.cia-controlword
net 1-modes-of-operation cia402.1.opmode => lcec.0.1.opmode
net 1-drv-target-pos cia402.1.drv-target-position => lcec.0.1.target-position
net 1-drv-target-velo cia402.1.drv-target-velocity => lcec.0.1.target-velocity
  • marq_torque
  • marq_torque's Avatar
11 Jul 2024 09:04 - 11 Jul 2024 09:10
Replied by marq_torque on topic How to monitor OP mode in Panasonic A6B Ethercat

How to monitor OP mode in Panasonic A6B Ethercat

Category: EtherCAT

Now, do I need to invert "lcec.0.0.drivestatus-0" ? How it can be done?
Maybe try the 'NOT' component:
linuxcnc.org/docs/devel/html/man/man9/not.9.html
 


I think I already tried using "not" component, can you confirm this is right format?

  • rodw
  • rodw's Avatar
11 Jul 2024 09:03
Replied by rodw on topic Linuxcnc's Ethercat in Raspberry pi-5

Linuxcnc's Ethercat in Raspberry pi-5

Category: EtherCAT

I'm not really sure if ethercat is supported on the Pi5 as the Pi 5 was released just after Linuxcnc 2.9.1 was released
Can you try  using the pi5 image from the downloads page and burn the image to a SD card using Balena Etcher.
It has the ethercat repository already installed.
So then follow the Sticky I wrote in this section to install ethercat from the repositories
if that works, the issue is with your build.
  • marq_torque
  • marq_torque's Avatar
11 Jul 2024 09:02
Replied by marq_torque on topic How to monitor OP mode in Panasonic A6B Ethercat

How to monitor OP mode in Panasonic A6B Ethercat

Category: EtherCAT

Sorry for my illiteracy but This is beyond my understanding... Can you give me detailed steps to start from.?

Thanks in advance.
  • Aciera
  • Aciera's Avatar
11 Jul 2024 08:56
Replied by Aciera on topic Gmoccapy SCARA EtherCAT drive - joint error

Gmoccapy SCARA EtherCAT drive - joint error

Category: Gmoccapy

Have you tried substantially increasing the FERROR and MIN_FERROR values in your ini file?
Since you are using an EtherCAT drive the following error should be handled in the drive already.
  • Aciera
  • Aciera's Avatar
11 Jul 2024 08:46

[resolved]Ethercat servo spindle orient problem while using M19 ?

Category: General LinuxCNC Questions

Looks like the spindle drive is only enabled when using M3/M4:

net 0-spindleON velo-pid.enable <= spindle.0.on => cia402.0.enable

I guess you need to enable the spindle drive if 'spindle.0.on' is true OR 'spindle.0.orient' is true
So maybe try inserting an 'OR2' component with the 'spindle.0.on' signal on input 0, 'spindle.0.orient' signal on input 1 and the output going to 'cia402.0.enable'
  • DPFlex
  • DPFlex
11 Jul 2024 08:46

Gmoccapy SCARA EtherCAT drive - joint error

Category: Gmoccapy

Hello,
I am not sure my topic is in correct category, please move to correct one if it is not.
My testing system is:
- Debian bookworm, kernel 6.1.0-22-rt-amd64
- LinuxCNC: 2.9.2; EtherCAT:  Igh EtherCAT 1.6.0
I test SCARA in step:
- Using sim.gmoccapy.non-trival-kinematics.scara to record position X,Y,Z in 2 positions.
  In simulation, it runs well.
- Create macro position_1 and position_2
- Apply same to real system: it has error of joint as attach photos.
Can you explain why and how to avoid this issue ?.
Thank you.

File Attachment:

File Name: position_1.ngc
File Size:0 KB

File Attachment:

File Name: position_2.ngc
File Size:0 KB
  • timaer
  • timaer
11 Jul 2024 08:36 - 11 Jul 2024 08:47

[resolved]Ethercat servo spindle orient problem while using M19 ?

Category: General LinuxCNC Questions

Hi,Thank you ,Aciera.I just runned M19 R180,and the 0-muxtoabs-final-speed value is 0.2, is this the reason why the orient not working ?
BTW,"for M19 'spindle.on' is false 'spindle.orient' is true ",that's the exact situation while I runned M19,but still ,the orient action not happed.
  • Aciera
  • Aciera's Avatar
11 Jul 2024 08:19

[resolved]Ethercat servo spindle orient problem while using M19 ?

Category: General LinuxCNC Questions

for M19

'spindle.on' is false
'spindle.orient' is true

Have a look at section 2:
linuxcnc.org/docs/devel/html/config/core...html#sec:motion-pins


When you call M19 what do you see when you watch this signal:

net 0-muxtoabs-final-speed mux2.0.out => cia402.0.velocity-cmd
  • MarkoPolo
  • MarkoPolo
11 Jul 2024 08:05
Replied by MarkoPolo on topic [solved] Auto Tool Measurement

[solved] Auto Tool Measurement

Category: Qtvcp

This is quite an old version of the file. Update linuxcnc , or try adding "self.factor = 1.0" as in the screenshot.
Displaying 25351 - 25365 out of 25515 results.
Time to create page: 0.541 seconds
Powered by Kunena Forum