I didn't properly explain it earlier: in my use case the devices are all the same and serviceable. We'd like to avoid reprogramming IDs if a device fails and gets swapped by another, so we intend to use an ID from an EEPROM dongle (that will be permanently mounted) rather than SII (that will change with the new device). Basically, what you describe in your last paragraph poking the AL Ctrl/Status Code Registers. Can you explain why this is less useful than station alias? It looks like one way around it would be to write the dongle ID to the alias register when the micro starts up?
Thank you, ps: sorry dev-list I should have sent this to etherlab-users On 11/28/17, 2:29 PM, "Gavin Lambert" <gav...@compacsort.com> wrote: On 29 November 2017 10:10, quoth Matthieu Bec: > I have an application that requires uniquely identifying all our slaves (~180 > that are essentially one same model) in the fieldbus. > Using "configured station alias" seems it could work, since it means updating > all the SII individually. > Those are custom built slave built around micro-processor and we have a way > to expose unique id (from a location eeprom dongle) I was looking at "Explicit > Device Identification" from ETG1020 protocol enhancement. > > Has anyone experience with that? I don't see it being currently supported in > etherlab master. The method I use is to program the EEPROM with a unique serial/alias address during production, so in the field they're preprogrammed with an appropriate station alias. The alias can alternatively be set during commissioning using the "ethercat alias" command, or other means. These are probably the simplest thing that just works. The explicit device id method is mostly intended for things like hardware dipswitches. There's a procedure outlined in ETG1020 to let the slave configure the alias on its own on bootup (the short version is to use the value in the SII EEPROM if nonzero, then the id selector if nonzero, or signal an error if both are nonzero). This process is invisible to the master and again would just work, given a slave that supports it. ETG1020 also specifies a command the master can send to request the slave provide a hardware address as a one-off request. This is not directly supported by the Etherlab master (although you can use register requests to do it yourself in the application or a commissioning tool). This is independent of the station alias but that also makes it less useful -- especially in a network where devices could be connected in alternate orders (which is usually the reason why you want individual addressing) you should be using the alias addresses to define your slave_configs, so that things will Just WorkT when the network is reconfigured. _______________________________________________ etherlab-dev mailing list etherlab-dev@etherlab.org http://lists.etherlab.org/mailman/listinfo/etherlab-dev