[etherlab-users] el7031 stepper drivers - input registers always zero in PDO, ok in SDO

Graeme Foot Graeme.Foot at touchcut.com
Wed Dec 14 23:07:25 CET 2016

Have a look for any errors in your dmesg log.

Also, what do your pdoEntries, pdos, syncs structures look like?  Whats your firmware revision?  There are a couple of firmware revisions with different parameter requirements.

Being a stepper without an encoder, why do you need an actual position?  Set the target position and assume that 5ms later it will be there.


-----Original Message-----
From: etherlab-users [mailto:etherlab-users-bounces at etherlab.org] On Behalf Of Michal Rawlik
Sent: Wednesday, 14 December 2016 9:28 p.m.
To: etherlab-users at etherlab.org
Subject: [etherlab-users] el7031 stepper drivers - input registers always zero in PDO, ok in SDO


I am having a peculiar issue with the el7031 stepper motor drivers.

I use them with the predefined PDO assignment "Positioning interface with info data":
SM2 (output): 0x1601 0x1602 0x1606
SM3 (input): 0x1A01 0x1A03 0x1A06

I have no problem with the output PDO entries and can operate motors. However, when I read the input registers I always get 0 (in particular I care about (0x6020 0x01 1 "busy") and (0x6020 0x11 32 "actual position"). At the same time I can get the correct values of those registers via SDO.

I do not use distributed clocks, have a cycle time of 5ms, run the program in userspace with the ethercat service, on openSUSE Leap 42.2, with generic ethernet driver.

I had a look in TwinCAT3 and there it is the same - okay in SDO, always zeros in PDO.

etherlab-users mailing list
etherlab-users at etherlab.org

More information about the Etherlab-users mailing list