Details
Description
The internal SYNC algorithm uses the MN relative time from the SoC frames for the clock adjustments. In case the MN sends the value 0 here (e.g. old versions of openCONFORMANCE test tool), the SYNC handler is deactivated and can only be reactivated with a firmware reset.
Now apparently some B&R MN do not send a valid relative time value in the first SoC frames after a reboot. So in case of a PLC reset while netX firmware is running, the SYNC handler will be deactivated.
Solution: Start the SYNC handler in the NMT state ReadyToOperate instead of PreOperational_2 to make sure to couple the SYNC adjustment to a regular and correct cycle. Further more, the MN relative time should be checked each time the SYNC handler is started, to avoid an endless blocking of the SYNC state machine. If in state ReadyToOperate MN still sending SoC frames with relative time value 0, the SYNC will not be activated.