The SafetyConsumerID allows for discrimination between RequestSPDUs and ResponseSPDUs belonging to different SafetyConsumers. It is mainly used for diagnostic purposes, such as detecting unintentional concurrent access of multiple SafetyConsumers on a single SafetyProvider. Safety-related communication errors which are detected by checking the SafetyConsumerID would also be detected by other mechanisms, including the MNR, the SafetyProviderID, and the SafetyConsumerTimeOut.
From a safety point of view, there are no qualitative requirements regarding the generation or administration the SafetyConsumerID. It can be assigned during engineering, commissioning, at startup, and may even change during runtime. It is not required to check for uniqueness of SafetyConsumerID.
However, assigning identical SafetyConsumerIDs to multiple consumers is not recommended because fault localization may become more difficult.