Dear etherlab-users,

I am quite new to the use of ethercat in linux and struggling to get a 
particular slave from state PREOP to OP, and to read values of this slave. I 
have found some commends on this topic already, where it is suggested to do a 
“reg_write” at “0x500 -tbool 1”. Other suggested to generate a SII file out of 
an XML file with TwinCAT and to download it to the slave. I did both but 
without success. The slave I am struggling with is an absolute encoder, and the 
problem might be related to the memory architecture of the EEPROM.

I am using “ethercat version IgH EtherCAT master 1.5.2” on “Ubuntu 20.04.2 LTS” 
with “uname -r 5.4.84-rt47” kernel.

First, I am wondering if it is required to have an application in order to 
communicate with slaves or is this also possible via the terminal. I can do the 
following in the terminal:

  *   When I enter “sudo ethercat slaves” all connected slaves a listed, so I 
assume that the bus topology is correctly recognized.
  *   I can list all sdos with “sudo ethercat sdos -p0”, e.g., SDO 0x6004, 
"Position value" 0x6004:00, r-r-r-, uint32, 32 bit, "SubIndex 000".
  *   I do not receive the correct position values, e.g., when I read the 
position sdo with “sudo ethercat upload -p0 -tuint32 0x6004 0” I receive 
“0x00000000 0”. When I enter ”dmesg” I receive three error massages: “SDO 
download 0x6004 (4 bytes) aborted.”, “SDO abort message 0x06010000: 
"Unsupported access to an object".”, and “Failed to process SDO request.”. 
However, a meaningful value is displayed in TwinCAT.
  *   I cannot change the state of the slaves to OP via the terminal.

Second, I am wondering if the reg_write can be done in the terminal (which 
appears not work in my case):

  1.  Change state “sudo ethercat state -p0 INIT” works.
  2.  Do “sudo ethercat -p0 reg_write 0x500 -tbool 1” appear to work.
  3.  Change state “sudo ethercat state -p0 PREOP” works.
  4.  Change state “sudo ethercat state -p0 SAFEOP” does not work. When I enter 
”dmesg” I receive two error massages: “Failed to set SAFEOP state, slave 
refused state change (PREOP + ERROR)” and “AL status message 0x001E: "Invalid 
input configuration”.”.

I would appreciate it a lot if somebody could answer me my question!

Kind regards,
Gabriel


_____________________________________________________________________________
[cid:image002.png@01D70A10.3B96EBE0]Gabriel Forstner, Senior Software and 
Automation Engineer
CorPower Ocean
Västberga Allé 60, 126 30 Hägersten
M: +46 73 155 88 88
www.corpowerocean.com<http://www.corpowerocean.com/>



-- 
Etherlab-users mailing list
Etherlab-users@etherlab.org
https://lists.etherlab.org/mailman/listinfo/etherlab-users

Reply via email to