All CPUs are to be password protected.
Passwords are not generic. Must be unique per CPU.
Only trusted persons can know the passwords.
Before any program change, verify that the backup matches the program on the CPU.
Backup and document (*) every program change to a server.
The bigger PLC vendors have software solutions to handle the passwords, users, backups etc. across an entire plant.
Discrepancies between backups and CPU programs are to be investigated, documented, and ultimately end with consequences for persons that cannot be trusted.
Same goes for wiring changes, but here it is more difficult to enforce a strict regime. You cannot press a button and make the schematics test itself against the actual wiring.
That it is not easy is no excuse though.
*: In my opinion, the documentation part does not need to be very detailed. Just something like 'fix implemented due to program locking up in step xx..' is enough. To my experience no-one goes back and studies a minutely detailed log after the fix is implemented.
Passwords are not generic. Must be unique per CPU.
Only trusted persons can know the passwords.
Before any program change, verify that the backup matches the program on the CPU.
Backup and document (*) every program change to a server.
The bigger PLC vendors have software solutions to handle the passwords, users, backups etc. across an entire plant.
Discrepancies between backups and CPU programs are to be investigated, documented, and ultimately end with consequences for persons that cannot be trusted.
Same goes for wiring changes, but here it is more difficult to enforce a strict regime. You cannot press a button and make the schematics test itself against the actual wiring.
That it is not easy is no excuse though.
*: In my opinion, the documentation part does not need to be very detailed. Just something like 'fix implemented due to program locking up in step xx..' is enough. To my experience no-one goes back and studies a minutely detailed log after the fix is implemented.