My EtherCAT slave is working well with my IPC MotionCore
but i'm trying to get data on slave using SDO
i tried the following in terminal and watch list
"L0=ecattypedsdo(0,3,1,$6060,0,0,1) L0"
and got "-nan"
than i tried to get data using /opt/etherlab/bin/ethercat
but got an error as following:
"
root@192.168.0.136:/opt/etherlab/bin# ethercat upload -m 0 -p 2 -t int8 0x6060 1
-bash: /opt/etherlab/bin/ethercat: cannot execute binary file: Exec format error
"
Slave num 2 and 3 are MackTron motors by Axor and working well with CSP mode.
It's PowerPmac IPC MotionCore with Sys.EcatType=1 (Actonics)
I tried when ECAT[0].enable=1 (enable) and also when ECAT[0].enable=0 (disable)
EDIT:
By checking the EtherCAT file info, I found out it was built for 32bit ARM CPU but the IPC MotionCore running Intel x86_64 CPU with OS Ubuntu i686 (32bit)
is it affecting the watch window command ecattypedsdo?
I believe that I should get a different build of this executable, how should I do it?
I checked the executable info as following:
"
root@192.168.0.136:/opt/etherlab/bin# file ./ethercat
./ethercat: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 2.6.32, BuildID[sha1]=9caa83c5c319dcc87a78e1f31b56584283f604b8, not stripped
"
and also checked the CPU model and OS version as following:
"
root@192.168.0.136:/opt/etherlab/bin# cat /proc/cpuinfo | grep 'model name' | uniq
model name : Intel® Core i7-4700EQ CPU @ 2.40GHz
root@192.168.0.136:/opt/etherlab/bin# uname -a
Linux lx-ppmac 4.1.18-xenomai-2.6.5 #9 SMP Tue Oct 10 12:20:19 PDT 2017 i686 i686 i686 GNU/Linux
"
EDIT 2 :
* I tried in OP and PRE-OP modes and got the same results
* I tried also reading SDO from Pneumatic Outputs, Festo CTEU module, and got the same results
(10-18-2012, 03:47 PM)andyf Wrote: [ -> ]I am trying to use ecatsdo command in the terminal. I can read an SDO just fine, but when I try to write it fails. If I ssh to the PMAC and use the etherlab utility (/opt/etherlab/bin/ethercat) I and write just fine.
Screenshot 1 shows terminal window ecatsdo read OK, but write fails
Screenshot 2 shows etherlab working for both read and write
Any ideas why ecatsdo might not be working? Is there a log somewhere I can look at?