That was also my understanding after the research I’ve done — I couldn’t find any library or standard way to send NMT commands directly from the user application.
I will check with Bronkhorst whether it is possible to trigger the requested behavior via SDO, possibly using the AsEPL library as you mentioned.
this should be done automatically by the MN (managing node) following the defined NMT state machine, and should never need any user interaction.
So I agree to Oliver and I think, that the CN (the slave) is in the wrong NMT state machine step (should be in CS_NMT_PREOPERATIONAL_1 after loss of frames of the MN → this is what’s initially happening, when MN is rebooted but CN not).
For the B&R controller acting as MN it makes no difference if it’s a warmstart (from SERV or RUN) or a power-off (which also leads to a warmstart that is executed after power-on) regarding to the boot-up sequence that is executed to configure the complete PL network and all CNs in there.
I’m not sure if the NMT state can be changed directly (don’t think so), but as I understood in the PL spec. there’s a standardized SDO for resetting a node:
From my point of view, this is quite strange because:
The device reports CE_OPERATIONAL
The MN seems to complete the boot sequence
But no cyclic I/O frames are exchanged
Additionally, I tested sending a reset command while the module was in the normal reference state (I/O working correctly). After sending the command, the device falls back into the same “Initial condition” state described above (Module OK = TRUE, CE_OPERATIONAL, but I/O = Null).
Thanks to your valuable input, I now have solid technical information to provide to Bronkhorst. As Oliver already pointed out at the beginning, the device does not seem to behave according to the expected specification.
I totally agree, this sounds very strange, for example like as the device does react on the SoC (start of cycle) commands but does not provide IO data anymore…
… please keep us updated, I think it’s very valuable for the whole Community (independent of where the cause is located, but more about how to determine and analyze such things).