How to monitor OP mode in Panasonic A6B Ethercat

More
11 Feb 2024 18:25 #293102 by marq_torque
Dear all,

Is there any method to monitor OP state of driver?? Many times some drives not coming in OP mode and also many times not coming Servo Lock. And still Linuxcnc goes into homing and working mode. How to stop this?? Any solution? 

Thanks in Advance 

Please Log in or Create an account to join the conversation.

More
12 Feb 2024 10:06 - 12 Feb 2024 10:09 #293145 by zmrdko
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.
Last edit: 12 Feb 2024 10:09 by zmrdko.
The following user(s) said Thank You: marq_torque, endian

Please Log in or Create an account to join the conversation.

More
12 Feb 2024 10:19 - 12 Feb 2024 10:20 #293146 by TimP
it is strange that LCNC doesn't throw an error in this case. For my EtherCAT drivers if any of those not in OP mode or not ready and i try to move or do something with it, it power machine off and throw an error.

As an addition i also check for OP of driver with `slave-oper` pin, each lcec device should have it as well as other states
slave-state-init
slave-state-op
slave-state-preop
slave-state-safeop

also you can designate your own pins from driver state from int -> bit

<pdoEntry idx="6041" subIdx="00" bitLen="16" halType="complex">
<complexEntry bitLen="1" halPin="status.ready-to-switch-on" halType="bit"/>
<complexEntry bitLen="1" halPin="status.switch-on" halType="bit"/>
<complexEntry bitLen="1" halPin="status.operation-enabled" halType="bit"/>
<complexEntry bitLen="1" halPin="status.fault" halType="bit"/>
<complexEntry bitLen="1" halPin="status.voltage-enabled" halType="bit"/>
<complexEntry bitLen="1" halPin="status.quick-stop" halType="bit"/>
<complexEntry bitLen="1" halPin="status.switch-on-disabled" halType="bit"/>
<complexEntry bitLen="1" halPin="status.warning" halType="bit"/>
<complexEntry bitLen="1"/>
<complexEntry bitLen="1" halPin="status.remote" halType="bit"/>
<complexEntry bitLen="1" halPin="status.target-reached" halType="bit"/>
<complexEntry bitLen="1" halPin="status.internal-limit-active" halType="bit"/>
<complexEntry bitLen="1" halPin="status.op-limit-active" halType="bit"/>
<complexEntry bitLen="1" halPin="status.op-limit-active1" halType="bit"/>
<complexEntry bitLen="1"/>
<complexEntry bitLen="1" halPin="status.home-find" halType="bit"/>
</pdoEntry>
Last edit: 12 Feb 2024 10:20 by TimP.
The following user(s) said Thank You: marq_torque

Please Log in or Create an account to join the conversation.

More
15 Feb 2024 08:15 - 15 Feb 2024 08:24 #293367 by marq_torque
Thanks for response ... Yes, I'm giving try to this.

I am using i3 gigabyte motherboard. No ethercat Switch. Using parallel port for I/O

Many times drives getting into OP Mode without trouble. and If i restart system or forgot to power on drive before computer then it is volatile. any random drive out of 5 is not getting into OP mode. Strange is  from all 5 = X Y1 Y2 Z A .. .sometimes it is Y2 Z sometimes X Y1 or any random and last drive A is coming in OP mode and Servo-ON normally


 
Last edit: 15 Feb 2024 08:24 by marq_torque.

Please Log in or Create an account to join the conversation.

More
15 Feb 2024 08:51 - 15 Feb 2024 08:57 #293369 by marq_torque

it is strange that LCNC doesn't throw an error in this case. For my EtherCAT drivers if any of those not in OP mode or not ready and i try to move or do something with it, it power machine off and throw an error.

 Yes power cycle reset error often. But not sure....

As an addition i also check for OP of driver with `slave-oper` pin, each lcec device should have it as well as other statesslave-state-initslave-state-opslave-state-preopslave-state-safeop 

Ok I'm checking this.

also you can designate your own pins from driver state from int -> bit<pdoEntry idx="6041" subIdx="00" bitLen="16" halType="complex"><complexEntry bitLen="1" halPin="status.ready-to-switch-on" halType="bit"/><complexEntry bitLen="1" halPin="status.switch-on" halType="bit"/><complexEntry bitLen="1" halPin="status.operation-enabled" halType="bit"/><complexEntry bitLen="1" halPin="status.fault" halType="bit"/><complexEntry bitLen="1" halPin="status.voltage-enabled" halType="bit"/><complexEntry bitLen="1" halPin="status.quick-stop" halType="bit"/><complexEntry bitLen="1" halPin="status.switch-on-disabled" halType="bit"/><complexEntry bitLen="1" halPin="status.warning" halType="bit"/><complexEntry bitLen="1"/><complexEntry bitLen="1" halPin="status.remote" halType="bit"/><complexEntry bitLen="1" halPin="status.target-reached" halType="bit"/><complexEntry bitLen="1" halPin="status.internal-limit-active" halType="bit"/><complexEntry bitLen="1" halPin="status.op-limit-active" halType="bit"/><complexEntry bitLen="1" halPin="status.op-limit-active1" halType="bit"/><complexEntry bitLen="1"/><complexEntry bitLen="1" halPin="status.home-find" halType="bit"/></pdoEntry> 



This is bit difficult for me to understand can you simplify please. I'm attaching my XML file. I don't know how to grab drive parameters for XML file.  

File Attachment:

File Name: autocnc_A6.ini
File Size:10 KB

File Attachment:

File Name: axisPin_A6.hal
File Size:10 KB

File Attachment:

File Name: lcnc_ecat_A6.xml
File Size:4 KB

File Attachment:

File Name: lcec_ecat_A6.hal
File Size:8 KB

File Attachment:

File Name: motionPin_A6.hal
File Size:16 KB


 
Attachments:
Last edit: 15 Feb 2024 08:57 by marq_torque.

Please Log in or Create an account to join the conversation.

More
15 Feb 2024 18:57 #293428 by scottlaird
It doesn't help today, but there's an open bug for similar issues.  We also fail to notice, for example, if you oversubscribe the power on a row of Beckhoff EL* modules.  The modules themselves know and stop working, but that's utterly invisible in LinuxCNC.

We need to do a better job of monitoring diagnostics, and then expose them in the UI one way or another.
The following user(s) said Thank You: tommylight, marq_torque, bob8020, besriworld

Please Log in or Create an account to join the conversation.

More
15 Feb 2024 20:07 #293431 by tommylight

The modules themselves know and stop working, but that's utterly invisible in LinuxCNC.

:(
The following user(s) said Thank You: marq_torque

Please Log in or Create an account to join the conversation.

More
15 Feb 2024 21:39 - 15 Feb 2024 21:49 #293442 by TimP
this is my ethercat conf, you can take a look at slave 0

also this shouldn't be like this###################################################################
addf lcec.read-all servo-thread
addf lcec.write-all servo-thread


addf motion-command-handler servo-thread
addf motion-controller servo-thread

addf lcec.write-all servo-thread should be at the end, after all others addf, smt like this, i also group them, 1st load than addf, and after this nets and set pins, i don't know does it make difference but oldies says it does 


loadrt hal_parport cfg="0x378 out"
loadrt stepgen step_type=0,0,0
loadrt pwmgen output_type=1###################################################################
addf lcec.read-all servo-thread

addf motion-command-handler servo-thread
addf motion-controller servo-thread

addf parport.0.read base-thread
addf stepgen.make-pulses base-thread
addf pwmgen.make-pulses base-thread
addf parport.0.write base-thread
addf parport.0.reset base-thread

#addf stepgen.capture-position servo-thread
#addf motion-command-handler servo-thread
#addf motion-controller servo-thread
addf stepgen.update-freq servo-thread
addf pwmgen.update servo-threadaddf lcec.write-all servo-thread

 setp parport.0.reset-time 3500
Attachments:
Last edit: 15 Feb 2024 21:49 by TimP.
The following user(s) said Thank You: marq_torque

Please Log in or Create an account to join the conversation.

More
15 Feb 2024 21:56 #293448 by TimP
I am using i3 gigabyte motherboard. No ethercat Switch. Using parallel port for I/O

I thought main idea of EtherCAT is to use it over ethernet port, maybe you can get network card or other motherboard with ethernet port on it?

Please Log in or Create an account to join the conversation.

More
16 Feb 2024 17:56 #293532 by marq_torque
Hey TimP,

Sorry, I created Misunderstanding, Motherboard has Ethernet port. "No ethercat switch" By that i mean I'm not using any Beckhoff IO Module, I'm using parallel port for IO

Please Log in or Create an account to join the conversation.

Time to create page: 0.193 seconds
Powered by Kunena Forum