Ethercat HAL driver
29 May 2016 18:42 #75228
by jpettit
Replied by jpettit on topic Ethercat HAL driver
Does anyone know if Kollmorgen ADK etherCAT servo amplifiers work with the HAL EtherCAT Drivers here?
Please Log in or Create an account to join the conversation.
29 May 2016 18:50 #75229
by sirop
Read this
www.iram.fr/~blanchet/ethercat/akd/
in order to avoid Raw SDO.
Then try to proceed as if it were a generic slave with preconfigured PDOs.
Replied by sirop on topic Ethercat HAL driver
Does anyone know if Kollmorgen ADK etherCAT servo amplifiers work with the HAL EtherCAT Drivers here?
Read this
www.iram.fr/~blanchet/ethercat/akd/
in order to avoid Raw SDO.
Then try to proceed as if it were a generic slave with preconfigured PDOs.
The following user(s) said Thank You: jpettit
Please Log in or Create an account to join the conversation.
29 May 2016 20:55 #75232
by jpettit
Replied by jpettit on topic Ethercat HAL driver
Thanks for the link and suggestion. Looks like we have a solution
Jim P
Jim P
Please Log in or Create an account to join the conversation.
- chuchengbing
- Offline
- Senior Member
Less
More
- Posts: 45
- Thank you received: 0
09 Jun 2016 13:55 #75729
by chuchengbing
Replied by chuchengbing on topic Ethercat HAL driver
Hello everyone:
Recently, I use Linuxcnc control a robot and the kinematics module is genserkins, now I have a question:
as all 6 joints of my robot are rotate joints drived by ethercat motors with absolute encoders, when I open Linuxcnc with AXIS interface, I should jog the joint to make a better accuracy. When i set INCREMENTS in my ini file, I found the unit of this is just in, mm, not degree, as my joints all are rotare joints,the unit of angle is degree, I don't know it is right to set INCRMENTS to 1mm when i want one of my joints to move 1 degree. I just think it is ok, but, when I change one of my joints's degree approaching to 0.0000,then this joint has a following error. I read the source of this, it shows the joint->ferror= joint->pos_cmd - joint->pos_fb,and my FERROR =2, MIN_FERROR=1. then, I use halscope to read the pins of joint.0.error、joint.0.f-error、joint.0.f-error-lim、joint.0.f-errored、joint.0.pos-cmd、joint.0.pos-fb、joint.0.vel-cmd. Then I jog 0 joint, it occurs following error four times and all are when I want to change the joint's value to 0.0000 while joint.0.error、joint.0.f-errored、joint.0.vel-cmd are zero, and joint.0.ferror is far less than joint.0.f-error-lim. I find that before the coming of following error,the joint.0.pos-cmd and joint.0.pos-fb are alway likes below:
joint.0.pos-cmd -0.00000229672098 joint.0.pos-fb -0.00003390842014
joint.0.pos-cmd +0.00000000000000 joint.0.pos-fb +0.00000000000000
joint.0.pos-cmd +0.00071207682292 joint.0.pos-fb +0.00071207682292
Does someone know the answers?thanks very much
Recently, I use Linuxcnc control a robot and the kinematics module is genserkins, now I have a question:
as all 6 joints of my robot are rotate joints drived by ethercat motors with absolute encoders, when I open Linuxcnc with AXIS interface, I should jog the joint to make a better accuracy. When i set INCREMENTS in my ini file, I found the unit of this is just in, mm, not degree, as my joints all are rotare joints,the unit of angle is degree, I don't know it is right to set INCRMENTS to 1mm when i want one of my joints to move 1 degree. I just think it is ok, but, when I change one of my joints's degree approaching to 0.0000,then this joint has a following error. I read the source of this, it shows the joint->ferror= joint->pos_cmd - joint->pos_fb,and my FERROR =2, MIN_FERROR=1. then, I use halscope to read the pins of joint.0.error、joint.0.f-error、joint.0.f-error-lim、joint.0.f-errored、joint.0.pos-cmd、joint.0.pos-fb、joint.0.vel-cmd. Then I jog 0 joint, it occurs following error four times and all are when I want to change the joint's value to 0.0000 while joint.0.error、joint.0.f-errored、joint.0.vel-cmd are zero, and joint.0.ferror is far less than joint.0.f-error-lim. I find that before the coming of following error,the joint.0.pos-cmd and joint.0.pos-fb are alway likes below:
joint.0.pos-cmd -0.00000229672098 joint.0.pos-fb -0.00003390842014
joint.0.pos-cmd +0.00000000000000 joint.0.pos-fb +0.00000000000000
joint.0.pos-cmd +0.00071207682292 joint.0.pos-fb +0.00071207682292
Does someone know the answers?thanks very much
Please Log in or Create an account to join the conversation.
16 Jun 2016 23:42 #76188
by Roger
Replied by Roger on topic How to read IDN List from drive
I'm back in the test lab now and am still trying to get the Indradrive Cs to turn the servo.
Sorry this is a bit long winded. I want to explain how I got to the conclusion in case I have got something wrong.
The problem is we cannot get linuxcnc to drive the servos to motion. Everything seems OK, they just won't rotate from linuxcnc. They work fine using Twincat and Indraworks.
Since the last post I have discovered that the Fieldbus status word P-0-4078 is not showing 'Operating mode' in the first two bits. Instead it is showing 'Parameter mode'. The word contains: 0xC808 - which is 1100 1000 0000 1000
The first two bits on the right are zero (00) for parameter mode. According to the state machine (page 120 Fig 4-37) in the manual [1] they should be 10 for operating mode.
There are two checks C0100 and C0200 between the state with the bits at 00 and the state with them at 10.
In more detail the two checks are:
"S‑0‑0127, C0100 Communication phase 3 transition check"
"S‑0‑0128, C5200 Communication phase 4 transition check"
When they fail they place a the parameters causing the failure in an IDN List. So to troubleshoot why those checks are failing I want to read the IDN Lists from S‑0‑0021 and S-0-0022.
The question is, how do I read an IDN List using the ethercat command in linux? I can read a simple value out using:But I don't know how to read an IDN list to find the parameter causing the fault.
Thanks,
Roger
[1] ftp://ftp.boschrexroth.pl/brc/IndraDrive_CS/CS_func.pdf
Sorry this is a bit long winded. I want to explain how I got to the conclusion in case I have got something wrong.
The problem is we cannot get linuxcnc to drive the servos to motion. Everything seems OK, they just won't rotate from linuxcnc. They work fine using Twincat and Indraworks.
Since the last post I have discovered that the Fieldbus status word P-0-4078 is not showing 'Operating mode' in the first two bits. Instead it is showing 'Parameter mode'. The word contains: 0xC808 - which is 1100 1000 0000 1000
The first two bits on the right are zero (00) for parameter mode. According to the state machine (page 120 Fig 4-37) in the manual [1] they should be 10 for operating mode.
There are two checks C0100 and C0200 between the state with the bits at 00 and the state with them at 10.
In more detail the two checks are:
"S‑0‑0127, C0100 Communication phase 3 transition check"
"S‑0‑0128, C5200 Communication phase 4 transition check"
When they fail they place a the parameters causing the failure in an IDN List. So to troubleshoot why those checks are failing I want to read the IDN Lists from S‑0‑0021 and S-0-0022.
The question is, how do I read an IDN List using the ethercat command in linux? I can read a simple value out using:
ethercat soe_read -p3 0 'S-0-0013'
Thanks,
Roger
[1] ftp://ftp.boschrexroth.pl/brc/IndraDrive_CS/CS_func.pdf
Please Log in or Create an account to join the conversation.
17 Jun 2016 05:43 #76198
by roschi
Replied by roschi on topic How to read IDN List from drive
Hi Roger,
for your question how to read out a list i don't have an anwser. But perhaps you can try it with EOE.
You have a running EtherCAT Master and the possibility to connect via IndraWorks over EOE. Then you have the possibility to get more information via the gui.
Perhaps you can share your files: hal + xml.
Which Firmware Version is running on IndraDrive Cs. There is a change in the Verions > 20.x that the drives now support CoE. (my indradrives don't support CoE).
Regards
Andreas
for your question how to read out a list i don't have an anwser. But perhaps you can try it with EOE.
You have a running EtherCAT Master and the possibility to connect via IndraWorks over EOE. Then you have the possibility to get more information via the gui.
Perhaps you can share your files: hal + xml.
Which Firmware Version is running on IndraDrive Cs. There is a change in the Verions > 20.x that the drives now support CoE. (my indradrives don't support CoE).
Regards
Andreas
The following user(s) said Thank You: Roger
Please Log in or Create an account to join the conversation.
18 Jun 2016 05:03 - 19 Jun 2016 16:41 #76239
by sirop
Replied by sirop on topic Ethercat HAL driver: running a slave at 250 us OK
Hallo.
Has anybody tried to run a CoE slave at 250 us?
I found out that the usage of
void ecrt_slave_config_state(const ec_slave_config_t *sc, ec_slave_config_state_t *state)
in github.com/sittner/linuxcnc-ethercat/blo...c_main.c#L1086-L1097
can cause problems....
Sorry, it was false alarm, this alleged bug was because of my experimenting with the code.
Has anybody tried to run a CoE slave at 250 us?
void ecrt_slave_config_state(const ec_slave_config_t *sc, ec_slave_config_state_t *state)
in github.com/sittner/linuxcnc-ethercat/blo...c_main.c#L1086-L1097
can cause problems....
Sorry, it was false alarm, this alleged bug was because of my experimenting with the code.
Last edit: 19 Jun 2016 16:41 by sirop. Reason: false alarm
Please Log in or Create an account to join the conversation.
22 Jun 2016 23:30 #76467
by highbiker
Replied by highbiker on topic Ethercat HAL driver
Dear all,
I have got a Problem with the inputs of one slave in my EtherCAT Network. I'm using the Etherlab Master 1.5.2 and the latest lcec driver from the sittner-git.
My Network extends of the following slaves:
Slave 1: Bausano EasyCAT Arduino Shield (32 byte Output, 32 byte Input)
Slave 2: Beckhoff EK1100
Slave 3: Beckhoff EL1008 (1 byte Input)
Slave 4: Beckhoff EL2008 (1 byte Output)
With my configuration linuxcnc starts and everything works exept the Inputs of the EasyCAT Arduino Shield. In Hal-Meter they are always 0.
I tested the Network with the Beckoff EtherCAT Configurator and there the inputs worked. So the EasyCAT Shield must be ok.
my ethercat-conf.xml:
The ESI (xml) File of the EasyCAT Shield could be found here:
www.bausano.net/images/arduino-easycat/EasyCAT.xml
while linuxcnc was running i read out the etherlab domain information (ethercat domain -v):
The input section of the EasyCAT ist missing and I'm confused about the size of 34. I think i should get 32+32+1+1=66. Are the inputs completely dropped?
In my dmesg output i also find the domain size of 34:
What am I doing wrong? I've run out of ideas. Could someone please help me to figure out a solution for my annoying problem.
Thanks and kind regards
Arndt
I have got a Problem with the inputs of one slave in my EtherCAT Network. I'm using the Etherlab Master 1.5.2 and the latest lcec driver from the sittner-git.
My Network extends of the following slaves:
Slave 1: Bausano EasyCAT Arduino Shield (32 byte Output, 32 byte Input)
Slave 2: Beckhoff EK1100
Slave 3: Beckhoff EL1008 (1 byte Input)
Slave 4: Beckhoff EL2008 (1 byte Output)
With my configuration linuxcnc starts and everything works exept the Inputs of the EasyCAT Arduino Shield. In Hal-Meter they are always 0.
I tested the Network with the Beckoff EtherCAT Configurator and there the inputs worked. So the EasyCAT Shield must be ok.
my ethercat-conf.xml:
Warning: Spoiler!
<masters>
<master idx="0" appTimePeriod="1000000" refClockSyncCycles="1000">
<slave idx="0" type="generic" vid="0000079A" pid="00DEFEDE" name="EasyCAT" configPdos="true">
<syncManager idx="0" dir="out">
<pdo idx="1600">
<pdoEntry idx="0005" subIdx="01" bitLen="8" halPin="out-0" halType="u32"/>
<pdoEntry idx="0005" subIdx="02" bitLen="8" halPin="out-1" halType="u32"/>
<pdoEntry idx="0005" subIdx="03" bitLen="8" halPin="out-2" halType="u32"/>
<pdoEntry idx="0005" subIdx="04" bitLen="8" halPin="out-3" halType="u32"/>
<pdoEntry idx="0005" subIdx="05" bitLen="8" halPin="out-4" halType="u32"/>
<pdoEntry idx="0005" subIdx="06" bitLen="8" halPin="out-5" halType="u32"/>
<pdoEntry idx="0005" subIdx="07" bitLen="8" halPin="out-6" halType="u32"/>
<pdoEntry idx="0005" subIdx="08" bitLen="8" halPin="out-7" halType="u32"/>
<pdoEntry idx="0005" subIdx="09" bitLen="8" halPin="out-8" halType="u32"/>
<pdoEntry idx="0005" subIdx="10" bitLen="8" halPin="out-9" halType="u32"/>
<pdoEntry idx="0005" subIdx="11" bitLen="8" halPin="out-10" halType="u32"/>
<pdoEntry idx="0005" subIdx="12" bitLen="8" halPin="out-11" halType="u32"/>
<pdoEntry idx="0005" subIdx="13" bitLen="8" halPin="out-12" halType="u32"/>
<pdoEntry idx="0005" subIdx="14" bitLen="8" halPin="out-13" halType="u32"/>
<pdoEntry idx="0005" subIdx="15" bitLen="8" halPin="out-14" halType="u32"/>
<pdoEntry idx="0005" subIdx="16" bitLen="8" halPin="out-15" halType="u32"/>
<pdoEntry idx="0005" subIdx="17" bitLen="8" halPin="out-16" halType="u32"/>
<pdoEntry idx="0005" subIdx="18" bitLen="8" halPin="out-17" halType="u32"/>
<pdoEntry idx="0005" subIdx="19" bitLen="8" halPin="out-18" halType="u32"/>
<pdoEntry idx="0005" subIdx="20" bitLen="8" halPin="out-19" halType="u32"/>
<pdoEntry idx="0005" subIdx="21" bitLen="8" halPin="out-20" halType="u32"/>
<pdoEntry idx="0005" subIdx="22" bitLen="8" halPin="out-21" halType="u32"/>
<pdoEntry idx="0005" subIdx="23" bitLen="8" halPin="out-22" halType="u32"/>
<pdoEntry idx="0005" subIdx="24" bitLen="8" halPin="out-23" halType="u32"/>
<pdoEntry idx="0005" subIdx="25" bitLen="8" halPin="out-24" halType="u32"/>
<pdoEntry idx="0005" subIdx="26" bitLen="8" halPin="out-25" halType="u32"/>
<pdoEntry idx="0005" subIdx="27" bitLen="8" halPin="out-26" halType="u32"/>
<pdoEntry idx="0005" subIdx="28" bitLen="8" halPin="out-27" halType="u32"/>
<pdoEntry idx="0005" subIdx="29" bitLen="8" halPin="out-28" halType="u32"/>
<pdoEntry idx="0005" subIdx="30" bitLen="8" halPin="out-29" halType="u32"/>
<pdoEntry idx="0005" subIdx="31" bitLen="8" halPin="out-30" halType="u32"/>
<pdoEntry idx="0005" subIdx="32" bitLen="8" halPin="out-31" halType="u32"/>
</pdo>
</syncManager>
<syncManager idx="1" dir="in">
<pdo idx="1A00">
<pdoEntry idx="0005" subIdx="01" bitLen="8" halPin="in_0" halType="u32"/>
<pdoEntry idx="0005" subIdx="02" bitLen="8" halPin="in_1" halType="u32"/>
<pdoEntry idx="0005" subIdx="03" bitLen="8" halPin="in_2" halType="u32"/>
<pdoEntry idx="0005" subIdx="04" bitLen="8" halPin="in_3" halType="u32"/>
<pdoEntry idx="0005" subIdx="05" bitLen="8" halPin="in_4" halType="u32"/>
<pdoEntry idx="0005" subIdx="06" bitLen="8" halPin="in_5" halType="u32"/>
<pdoEntry idx="0005" subIdx="07" bitLen="8" halPin="in_6" halType="u32"/>
<pdoEntry idx="0005" subIdx="08" bitLen="8" halPin="in_7" halType="u32"/>
<pdoEntry idx="0005" subIdx="09" bitLen="8" halPin="in_8" halType="u32"/>
<pdoEntry idx="0005" subIdx="10" bitLen="8" halPin="in_9" halType="u32"/>
<pdoEntry idx="0005" subIdx="11" bitLen="8" halPin="in_10" halType="u32"/>
<pdoEntry idx="0005" subIdx="12" bitLen="8" halPin="in_11" halType="u32"/>
<pdoEntry idx="0005" subIdx="13" bitLen="8" halPin="in_12" halType="u32"/>
<pdoEntry idx="0005" subIdx="14" bitLen="8" halPin="in_13" halType="u32"/>
<pdoEntry idx="0005" subIdx="15" bitLen="8" halPin="in_14" halType="u32"/>
<pdoEntry idx="0005" subIdx="16" bitLen="8" halPin="in_15" halType="u32"/>
<pdoEntry idx="0005" subIdx="17" bitLen="8" halPin="in_16" halType="u32"/>
<pdoEntry idx="0005" subIdx="18" bitLen="8" halPin="in_17" halType="u32"/>
<pdoEntry idx="0005" subIdx="19" bitLen="8" halPin="in_18" halType="u32"/>
<pdoEntry idx="0005" subIdx="20" bitLen="8" halPin="in_19" halType="u32"/>
<pdoEntry idx="0005" subIdx="21" bitLen="8" halPin="in_20" halType="u32"/>
<pdoEntry idx="0005" subIdx="22" bitLen="8" halPin="in_21" halType="u32"/>
<pdoEntry idx="0005" subIdx="23" bitLen="8" halPin="in_22" halType="u32"/>
<pdoEntry idx="0005" subIdx="24" bitLen="8" halPin="in_23" halType="u32"/>
<pdoEntry idx="0005" subIdx="25" bitLen="8" halPin="in_24" halType="u32"/>
<pdoEntry idx="0005" subIdx="26" bitLen="8" halPin="in_25" halType="u32"/>
<pdoEntry idx="0005" subIdx="27" bitLen="8" halPin="in_26" halType="u32"/>
<pdoEntry idx="0005" subIdx="28" bitLen="8" halPin="in_27" halType="u32"/>
<pdoEntry idx="0005" subIdx="29" bitLen="8" halPin="in_28" halType="u32"/>
<pdoEntry idx="0005" subIdx="30" bitLen="8" halPin="in_29" halType="u32"/>
<pdoEntry idx="0005" subIdx="31" bitLen="8" halPin="in_30" halType="u32"/>
<pdoEntry idx="0005" subIdx="32" bitLen="8" halPin="in_31" halType="u32"/>
</pdo>
</syncManager>
<syncManager idx="2" dir="out">
</syncManager>
<syncManager idx="3" dir="in">
</syncManager>
</slave>
<slave idx="1" type="EK1100" name="EK1100"/>
<slave idx="2" type="EL1008" name="EL1008"/>
<slave idx="3" type="EL2008" name="EL2008"/>
</master>
</masters>
The ESI (xml) File of the EasyCAT Shield could be found here:
www.bausano.net/images/arduino-easycat/EasyCAT.xml
while linuxcnc was running i read out the etherlab domain information (ethercat domain -v):
Warning: Spoiler!
Domain0: LogBaseAddr 0x00000000, Size 34, WorkingCounter 5/5
SlaveConfig 0:0, SM0 (Output), LogAddr 0x00000000, Size 32
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
SlaveConfig 0:2, SM0 ( Input), LogAddr 0x00000001, Size 1
00
SlaveConfig 0:3, SM0 (Output), LogAddr 0x00000002, Size 1
00
The input section of the EasyCAT ist missing and I'm confused about the size of 34. I think i should get 32+32+1+1=66. Are the inputs completely dropped?
In my dmesg output i also find the domain size of 34:
Warning: Spoiler!
[Do Jun 23 01:57:16 2016] I-pipe: head domain RTAI registered.
[Do Jun 23 01:57:16 2016] RTAI[hal]: compiled with gcc version 4.7.2 (Debian 4.7.2-5) .
[Do Jun 23 01:57:16 2016] RTAI[hal]: mounted (IPIPE-NOTHREADS, IMMEDIATE (INTERNAL IRQs DISPATCHED), ISOL_CPUS_MASK: 0).
[Do Jun 23 01:57:16 2016] SYSINFO: CPUs 4, LINUX APIC IRQ 2312, TIM_FREQ 5207884, CLK_FREQ 1999999000, CPU_FREQ 1999999000
[Do Jun 23 01:57:16 2016] RTAI_APIC_TIMER_IPI: RTAI DEFINED 2314, VECTOR 2314; LINUX_APIC_TIMER_IPI: RTAI DEFINED 2312, VECTOR 2312
[Do Jun 23 01:57:16 2016] TIMER NAME: lapic; VARIOUSLY FOUND APIC FREQs: 5207884, 5207884, 5188000
[Do Jun 23 01:57:16 2016] RTAI[malloc]: global heap size = 2097152 bytes, <BSD>.
[Do Jun 23 01:57:16 2016] , <uses LINUX SYSCALLs>, kstacks pool size = 524288 bytes.
[Do Jun 23 01:57:16 2016] RTAI[sched]: hard timer type/freq = APIC/5207884(Hz); default timing: oneshot; linear timed lists.
[Do Jun 23 01:57:16 2016] RTAI[sched]: Linux timer freq = 250 (Hz), TimeBase freq = 1999999000 hz.
[Do Jun 23 01:57:16 2016] RTAI[sched]: timer setup = 999 ns, resched latency = 2944 ns.
[Do Jun 23 01:57:16 2016] RTAI[math]: loaded.
[Do Jun 23 01:57:16 2016] EtherCAT: Requesting master 0...
[Do Jun 23 01:57:16 2016] EtherCAT: Successfully requested master 0.
[Do Jun 23 01:57:16 2016] EtherCAT 0: Domain0: Logical address 0x00000000, 34 byte, expected working counter 5.
[Do Jun 23 01:57:16 2016] EtherCAT 0: Datagram domain0-0-main: Logical offset 0x00000000, 34 byte, type LRW.
[Do Jun 23 01:57:16 2016] EtherCAT 0: Master thread exited.
[Do Jun 23 01:57:16 2016] EtherCAT 0: Starting EtherCAT-OP thread.
[Do Jun 23 01:57:16 2016] EtherCAT WARNING 0: 1 datagram UNMATCHED!
[Do Jun 23 01:57:16 2016] EtherCAT 0: Domain 0: Working counter changed to 2/5.
[Do Jun 23 01:57:16 2016] EtherCAT 0: Slave states on main device: OP.
[Do Jun 23 01:57:17 2016] EtherCAT 0: Domain 0: 2 working counter changes - now 5/5.
[Do Jun 23 01:58:17 2016] EtherCAT 0: Master thread exited.
[Do Jun 23 01:58:17 2016] EtherCAT 0: Starting EtherCAT-IDLE thread.
[Do Jun 23 01:58:17 2016] EtherCAT 0: Releasing master...
[Do Jun 23 01:58:17 2016] EtherCAT 0: Released.
[Do Jun 23 01:58:17 2016] EtherCAT 0: 0 slave(s) responding on main device.
[Do Jun 23 01:58:17 2016] EtherCAT 0: 4 slave(s) responding on main device.
[Do Jun 23 01:58:17 2016] EtherCAT 0: Slave states on main device: OP.
[Do Jun 23 01:58:17 2016] EtherCAT 0: Scanning bus.
[Do Jun 23 01:58:17 2016] EtherCAT WARNING: Datagram f7374420 (master-fsm) was SKIPPED 1 time.
[Do Jun 23 01:58:17 2016] EtherCAT 0: Bus scanning completed in 396 ms.
[Do Jun 23 01:58:17 2016] EtherCAT 0: Using slave 0 as DC reference clock.
[Do Jun 23 01:58:17 2016] EtherCAT 0: Slave states on main device: PREOP.
[Do Jun 23 01:58:19 2016] RTAI[math]: unloaded.
[Do Jun 23 01:58:19 2016] SCHED releases registered named ALIEN PEDV$D
[Do Jun 23 01:58:19 2016] RTAI[malloc]: unloaded.
[Do Jun 23 01:58:19 2016] RTAI[sched]: unloaded (forced hard/soft/hard transitions: traps 0, syscalls 0).
[Do Jun 23 01:58:19 2016] I-pipe: head domain RTAI unregistered.
[Do Jun 23 01:58:19 2016] RTAI[hal]: unmounted.
What am I doing wrong? I've run out of ideas. Could someone please help me to figure out a solution for my annoying problem.
Thanks and kind regards
Arndt
The following user(s) said Thank You: Nico2017
Please Log in or Create an account to join the conversation.
23 Jun 2016 02:32 #76469
by sirop
Seems to have only two Sync Managers:www.bausano.net/images/arduino-easycat/EasyCAT.xml
You use however 4 Sync Managers.
BTW, what is the maximum cycle frequency this EasyCAT Arduino Shield can work with?
Replied by sirop on topic Ethercat HAL driver
In my dmesg output i also find the domain size of 34:
[Do Jun 23 01:58:17 2016] EtherCAT 0: Using slave 0 as DC reference clock.
Seems to have only two Sync Managers:
<!-- indirizzo fisico di base per gli output -->
<Sm StartAddress="#x1000" ControlByte="#x64" Enable="1">Outputs</Sm>
<!-- indirizzo fisico di base per gli input -->
<Sm StartAddress="#x1200" ControlByte="#x20" Enable="1">Inputs</Sm>
You use however 4 Sync Managers.
BTW, what is the maximum cycle frequency this EasyCAT Arduino Shield can work with?
Please Log in or Create an account to join the conversation.
23 Jun 2016 07:49 #76474
by highbiker
Replied by highbiker on topic Ethercat HAL driver
Thanks for your fast reply!
The four Sync Managers were just a test. At first I tried only two Sync Managers (0 and 1) with no success.
I don't know the max cycle frequency of the EasyCAT Shield, so I have to ask the manufacturer. But in Beckhoff EtherCAT Configurator it worked with 1ms. In LinuxCNC I also tried a cycle time of 25ms with no success too.
It's a mystery to me, why only the outputs operate. So the communication couldn't be completely wrong.
BTW: is there any way to use the Etherlab Master (Slaves PREOP -> OP and reading Process Data) from Terminal without using the lcec driver, or do I have to write a C-Program?
I would like to test my Network without lcec in order to identify the point of failure.
kind regards
Arndt
The four Sync Managers were just a test. At first I tried only two Sync Managers (0 and 1) with no success.
I don't know the max cycle frequency of the EasyCAT Shield, so I have to ask the manufacturer. But in Beckhoff EtherCAT Configurator it worked with 1ms. In LinuxCNC I also tried a cycle time of 25ms with no success too.
It's a mystery to me, why only the outputs operate. So the communication couldn't be completely wrong.
BTW: is there any way to use the Etherlab Master (Slaves PREOP -> OP and reading Process Data) from Terminal without using the lcec driver, or do I have to write a C-Program?
I would like to test my Network without lcec in order to identify the point of failure.
kind regards
Arndt
Please Log in or Create an account to join the conversation.
Time to create page: 0.216 seconds