Dear forum users,
I have a question regarding mappSafety and Safety project password management.
I use a single machine configuration that is deployed to multiple machines. Currently, all machines use the same Safety project password. However, due to Cyber Resilience Act (CRA) requirements, each machine should have its own unique password.
Is it possible to make the Safety project password dynamic, for example by assigning it from a variable during installation or commissioning?
Before migrating to mappSafety (sfDomain), I was able to set the password programmatically after formatting the SafeCPU using the asSafety library. For example:
example cyclic Code:
lRemoteControlCmdTypeV1.Command = safeCMD_ENTER;
lRemoteControlCmdTypeV1.Data = safeCMD_SK_PW;
safeRemoteControl_V2_0.Execute = TRUE;
During initialization, I could set the Safety CPU password with:
Example init Code:
strcpy(ADR(lRemoteControlCmdTypeV1.Password), "password");
strcpy(ADR(lRemoteControlCmdTypeV1.NewPassword), "password");
This allowed me to assign a unique password to each machine automatically.
With sfDomain, we currently log in using the System Management user role, and we have already implemented a dynamic, machine-specific login password for this role. However, when connecting to the Safety application, we still need to use the same standard Safety password on every machine.
Therefore, I am looking for a way to make the Safety password machine-specific as well. Is there any mechanism in mappSafety/sfDomain that allows the Safety password to be configured dynamically during installation, commissioning, or first startup?
Has anyone implemented a CRA-compliant solution for this use case, or can recommend a best practice?
Thank you in advance for your support.