Pros and cons in using a PLC-approach or a progammatic i.e. using C language for embedded microcontrollers in safety interlocking software for railway.
PLC coding
PROS
HW and low-level firmware are typically designed by and accompanied by a safety case. The designers of the interlocking SW shall only concentrate of safety aspects within their scope.
Simplicity of use and learning curve: languages such as FBD are more intuitive to use.
Even when part of the code is developed using a textual language, the latter does not typically have the compiler-depending issues and other pitfalls of C
CONS
Integration with platform HW can be problematic from the SW safety point of view
Less tools available to support the safety lifecycle activities: some activities (such as impact analysis or formal code inspection) can become expensive C-coding
PROS
Large number of platforms (microcontrollers) and compilers available, usually with consistent existing experience
Certified SW libraries and packages available
Availability in the market of certified tools that can be used in the lifecycle activities: requirements management tools, verification and validation tools, HILs for HW/SW integration testing etc.
CONS
ANSI C has numerous issues for safety applications: a very detailed coding standard, and corresponding analyses and tests, are needed platform hardware and its integration with SW is typically not certified in advance. The need to create a custom low-level firmware is more prone to safety issues.