Simulation of application software
Safety Instrumented functions comprise of sensors, a logic solver and final elements.
A very critical part of the safety functions is the application program in the Logic Solver.
The application program may be complex which makes it difficult to verify it’s design.
The Application Program Tester is designed to visualize logic functions of a Logic Solver and to be able to thoroughly test these functions.
The objective is to be able to verify and improve the application program design.
The Application Program Tester PLC will be loaded with the designed logic functions. The verification team (consisting of the Client, Engineering Contractor and Consiltant BV) will test all relevant functions based on Cause & Effect diagrams, shut down schedules, reset and start-up definitions. Complex logic functions are translated into a clear and easy interface in which simple switches are used to manipulate inputs signals and outputs signals are depicted by LEDs.
Especially sequence logic functions and batch control functions require direct feedback from the process installation. The application program will be implemented in the PLC as well as a simplified process feedback in order to have a dynamic and realistic simulation. For this purpose, 3-position switches are applied.
- Receipt of relevant information (Functional Logic Diagrams or flow charts, cause & effect charts, P&IDs, narratives, etc.)
- Implementation into the Application Program Tester by Consiltant BV
- Functional test by verification team (engineers & operator(s) from client and engineering contractor and consultant of Consiltant BV)
- Approval for Construction status of Functional Logic Diagrams.
Reference (IEC 61511)
The application program shall be reviewed by a competent person not involved in the original development.
Application program testing may take place initially on a simulator The purpose of the initial testing phases (simulation and testing against the design specifications) is:
1) To demonstrate that the application program modules provided the necessary functionality and are incapable of any prohibited behaviour;
2) To subject the application program to a wide range of conditions and sequences to show that it is resilient to unexpected behaviour.