From Volker.Moebius at baader.com Wed Apr 22 16:16:24 2026 From: Volker.Moebius at baader.com (Moebius, Volker) Date: Wed, 22 Apr 2026 14:16:24 +0000 Subject: [Etherlab-users] User mode "Register" access methods Message-ID: Hello everyone, The `ethercat` CLI tool implements the "Register Access" functions `reg_read` and `reg_write`. These functions are using EC_IOCTL_SLAVE_REG_READ and EC_IOCTL_SLAVE_REG_WRITE to execute these methods. (lines 433ff of tool/MasterDevice.cpp) Is there a reason why possibly corresponding methods for "Register Read" and "Register Write" aren't implemented in the "normal" user mode C API (include/ecrt.h)? Don't these methods make sense for controlling EtherCAT slaves? I'm unfortunately not an EtherCAT expert and I'm confused about the different data objects and communication objects. Are the functions `ecrt_slave_config_create_reg_request`, `ecrt_reg_request_data`, `ecrt_reg_request_state`, `ecrt_reg_request_write` and `ecrt_reg_request_read` related to the same "Register Access" ("Slave Registers") as implemented by the CLI? Or do they manage a different kind of registers? . -------------- next part -------------- An HTML attachment was scrubbed... URL: From ha at igh.de Wed Apr 22 16:31:19 2026 From: ha at igh.de (Richard Hacker) Date: Wed, 22 Apr 2026 16:31:19 +0200 Subject: [Etherlab-users] User mode "Register" access methods In-Reply-To: References: Message-ID: The 'ecrt_reg_*' family of functions in the C-API mirror the 'reg_*' functions of the CLI tool. The ESC registers are reserved for the master. As an EtherCAT user, you do not need to touch them. On Wed, 2026-04-22 at 14:16 +0000, Moebius, Volker wrote: > > > > Hello everyone, > ? > The `ethercat` CLI tool implements the ?Register Access? functions > `reg_read` and `reg_write`. These functions are using > EC_IOCTL_SLAVE_REG_READ and EC_IOCTL_SLAVE_REG_WRITE to execute these > methods. (lines 433ff of tool/MasterDevice.cpp) > ? > Is there a reason why possibly corresponding methods for ?Register > Read? and ?Register Write? aren?t implemented in the ?normal? user > mode C API (include/ecrt.h)? Don?t these methods make sense for > controlling EtherCAT slaves? > ? > I?m unfortunately not an EtherCAT expert and I?m confused about the > different data objects and communication objects. Are the functions > `ecrt_slave_config_create_reg_request`, `ecrt_reg_request_data`, > `ecrt_reg_request_state`, `ecrt_reg_request_write` and > `ecrt_reg_request_read` related to the same ?Register Access? (?Slave > Registers?) as implemented by the CLI? Or do they manage a different > kind of registers? > ? > . -- Mit freundlichem Gru? / Best regards, Richard Hacker -- ? ----------------------------------------------------------------------- Richard Hacker, M.Sc. Entwicklungsingenieur / Development Engineer ha at igh.de Tel.: +49 201 / 36014-16 Ingenieurgemeinschaft IgH Gesellschaft f?r Ingenieurleistungen mbH Nordsternstra?e 66 D-45329 Essen https://igh.de | https://etherlab.org Amtsgericht Essen HRB 11500 | USt-Id.-Nr.: DE 174 626 722 Gesch?ftsf?hrung: Frederik Becker, Dr.-Ing. Siegfried Rotth?user, Jost Braukmann ----------------------------------------------------------------------- From Volker.Moebius at baader.com Wed Apr 22 19:03:24 2026 From: Volker.Moebius at baader.com (Moebius, Volker) Date: Wed, 22 Apr 2026 17:03:24 +0000 Subject: [Etherlab-users] User mode "Register" access methods In-Reply-To: References: Message-ID: Hi Richard, thank you for your quick response! The functions `ecrt_reg_request_read` and `ecrt_reg_request_write` are documented as _This method is meant to be called in realtime context (after master activation)_ Don't they work before the master isn't activated? The `reg_*` methods of the CLI seem to work independently from the master activation!? > -----Original Message----- > From: Richard Hacker > Sent: Wednesday, April 22, 2026 4:31 PM > To: Moebius, Volker ; etherlab- > users at etherlab.org > Subject: Re: [Etherlab-users] User mode "Register" access methods > > The 'ecrt_reg_*' family of functions in the C-API mirror the 'reg_*' > functions of the CLI tool. > > The ESC registers are reserved for the master. As an EtherCAT user, you do not > need to touch them. > > > > On Wed, 2026-04-22 at 14:16 +0000, Moebius, Volker wrote: > > > > > > > > Hello everyone, > > > > The `ethercat` CLI tool implements the "Register Access" functions > > `reg_read` and `reg_write`. These functions are using > > EC_IOCTL_SLAVE_REG_READ and EC_IOCTL_SLAVE_REG_WRITE to execute > these > > methods. (lines 433ff of tool/MasterDevice.cpp) > > > > Is there a reason why possibly corresponding methods for "Register > > Read" and "Register Write" aren't implemented in the "normal" user > > mode C API (include/ecrt.h)? Don't these methods make sense for > > controlling EtherCAT slaves? > > > > I'm unfortunately not an EtherCAT expert and I'm confused about the > > different data objects and communication objects. Are the functions > > `ecrt_slave_config_create_reg_request`, `ecrt_reg_request_data`, > > `ecrt_reg_request_state`, `ecrt_reg_request_write` and > > `ecrt_reg_request_read` related to the same "Register Access" ("Slave > > Registers") as implemented by the CLI? Or do they manage a different > > kind of registers? > > > > . > > -- > Mit freundlichem Gru? / Best regards, > Richard Hacker > -- > ----------------------------------------------------------------------- > Richard Hacker, M.Sc. > Entwicklungsingenieur / Development Engineer ha at igh.de > > Tel.: +49 201 / 36014-16 > > Ingenieurgemeinschaft IgH Gesellschaft f?r Ingenieurleistungen mbH > Nordsternstra?e 66 > D-45329 Essen > > https://igh.de/ > &data=05%7C02%7CMoebiusv%40nmlbaader.mail.onmicrosoft.com%7C8024e9 > 9f807441f90e4808dea07bd8a7%7C0353fbdd75b9475da865fc06cdfddda8%7C0% > 7C0%7C639124650938547509%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hc > GkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjo > yfQ%3D%3D%7C0%7C%7C%7C&sdata=ulASp%2Bw81KA%2F9S76e6%2BKi8vScF > 2H1xQp85zbVYj3vD0%3D&reserved=0 | > https://etherlab.o/ > rg%2F&data=05%7C02%7CMoebiusv%40nmlbaader.mail.onmicrosoft.com%7C8 > 024e99f807441f90e4808dea07bd8a7%7C0353fbdd75b9475da865fc06cdfddda8 > %7C0%7C0%7C639124650938584993%7CUnknown%7CTWFpbGZsb3d8eyJFbXB > 0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCI > sIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=dbTXor0LKM7c2AUTTR3mIeyXOc > lu3yxRxxTKO8a8uOU%3D&reserved=0 > > Amtsgericht Essen HRB 11500 | USt-Id.-Nr.: DE 174 626 722 > Gesch?ftsf?hrung: > Frederik Becker, Dr.-Ing. Siegfried Rotth?user, Jost Braukmann > ----------------------------------------------------------------------- .