Workflow: Creating a safety-relevant application or library for this application

Warning 1

When using the documentation "Safety instructions on working with the IDE", it is imperative to consult the safety manuals for the respective target platform and the respective safety →PLC as well.
Observe the following concerning these applicable safety manuals:

  • The safety manual for the target platform when using logi.CAD 3 version 3.16.2 to create safety-relevant applications and/or libraries for them is the documentation " logi.µSRTS safety manual" .
    This document is provided by logi.cals to the system integrator. The system integrator might have adapted this document for application when using the system integrator's safety PLC .

  • The safety manual for the safety PLC is provided by the system integrator.
    This document is not part of the scope of the documentation "Safety instructions on working with the IDE"

This means: When using logi.CAD 3 version 3.16.2 to create safety-relevant applications and/or →libraries for them, follow all instructions of " logi.µSRTS safety manual" and the safety manual for the safety PLC. Contact the system integrator to obtain both documents.

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/information.svg Therefore, the workflow of the " logi.µSRTS safety manual" must be applied when developing a safety-relevant application and/or libraries for them by using logi.CAD 3. See the " logi.µSRTS safety manual" for details on its workflow phases and the safety instructions.

This article contains safety instructions for these workflow phases that you must additionally observe and some additional workflow phases not mentioned in the " logi.µSRTS safety manual" .

Warning 2

The following workflow phases must be applied when developing a safety-relevant application and/or creating a library respectively :

  • Application/library specification

  • Module specification

  • Module implementation

  • Static code analysis – This workflow phase is not mentioned in the " logi.µSRTS safety manual".

  • SiL-test (on PC) with a 100% branch coverage

  • PiL-test (on PLC)

  • Generate the application or the library:

    • in the case of an application: Build and load application onto PLC – This phase is a part of the workflow phase "Integration and system test" in the " logi.µSRTS safety manual".

    • in the case of a library: Create and deploy library – This workflow phase is not mentioned in the " logi.µSRTS safety manual".

  • Check of the build report – This workflow phase is not mentioned in the " logi.µSRTS safety manual".

  • Integration and system test – not required when creating a library

  • Application/library release

Observe the following:
logi.CAD 3 must only be used for developing safety-relevant applications and libraries for them when using a full functional safety management (FSM) process and appropriate fault avoiding measures for the target SIL/ASIL which includes tests with 100% branch coverage .

Comply with the additional warnings Warning 3 to Warning 16 in the appropriate workflow phase:

Implementing the elements (= modules)

Warning 3

When implementing the elements (= modules) and test cases for the application or library, mind all restrictions when using logi.CAD 3 . See the article "Restrictions for the application" of the " logi.µSRTS safety manual" and the article "List of unsupported and restricted elements" of the documentation "Safety instructions on working with the IDE " .

Performing a static code analysis

The static code analysis is required in addition to the V&V activities that are required by the " logi.µSRTS safety manual".

Warning 4

Perform a static code analysis for all application elements in the context of the →resource (in the case of an application) or for all library elements in the context of each library (in the case of a library). This means that you need to execute a static code analysis relating to the →instance or the library. Details: See logi.CAD 3 user documentation, "Validating objects" – section "Validation relating to the instance" or "Validation relating to the library".
images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/information.svg The static code analysis is executed according to the rules that are activated for the resource (in the case of an application) or the →project (in the case of a library). Contact the system integrator for information on the minimum set of the activated rules.

The generated MRC-report (a report with the file extension .mrclog) contains information about the executed static code analysis.

images/download/attachments/512953064/ValidationReport-version-1-modificationdate-1675679838811-api-v2.png
Example for MRC-report

Check the 1st and 2nd pieces of the following information in this MRC-report:

  1. the number of errors, warnings and information
    Make sure that no errors are reported. If errors are listed, fix them and repeat the static code analysis. In the case that there are only warnings and/or infos, contact the system integrator and clarify the necessary course of events.

  2. the rules and their activation/configuration state
    Make sure that the required rules have been activated with the appropriate severity (ERROR, WARNING or INFO). Make sure that there are no occurrences of rule violations. If yes, fix them and repeat the static code analysis.

  3. the names and the →fingerprints of each application element
    There is no need to check these pieces of the following information in this phase but they are needed later on. Reason: In the phase "Checking the build report", you will need to compare the names and fingerprints of the elements in this MRC-report with the information contained in the build report.


Keep this MRC-report of the static code analysis because the names and fingerprints of the elements in this MRC-report will need to be compared with the information contained in the build report.

images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/information.svg In the case of a library only: The static code analysis for the library is automatically triggered when the logi.CAD 3 library is generated (see Warning 9). Keep the MRC-report of the final static code analysis when the library is generated because the names and fingerprints of the elements in this MRC-report will need to be compared with the information contained in the build report .

Executing the SiL-test (on PC) and PiL-test (on PLC)

Warning 5

When testing the application/library elements (→SIL-test and →PIL-test), SiL-/PiL-test reports are generated. The information in the SiL-/PiL-test reports must be checked as specified in the " logi.µSRTS safety manual" (e.g. the result of the tests). In particular, the following checks are required in this workflow phase:

  • In the case of the SiL-test, you must check for each →POU that the achieved coverage (test coverage incl. covered branches, coverage of requirements) is meeting your expectations that are based on the test specification for the POU.

  • You must check for each POU which tests have been executed during the SiL-test and PIL-test.

    • It is mandatory that the same tests will be executed during the SiL-test and the PiL-test.

    • The number of the executed tests must correspond to the expectations that are based on the test specification for the POU.


Keep these SiL-/PiL-test reports as well because the names and fingerprints of the elements in this SiL-/PiL-test report will need to be compared with the information contained in the build report.

Warning 6 applies to a library only:

Warning 6

Only qualified code must be used when developing a library.
Qualified code means that the code is tested in the context of block tests. See the workflow phase about testing (SIL-test, PIL-test) in the " logi.µSRTS safety manual".

Building and loading the application onto the PLC

This section incl. Warning 7 and Warning 8 apply to an application only:

Warning 7

Before loading the application onto the PLC, m ake sure that only tested versions of POUs are used in the safety-relevant application . This must be solved by organisational measures .

One possibility to ensure that only tested versions of POUs are used is the usage of only POUs that are provided within a versioned library after the POUs have been tested (a SiL-test, a PiL-test and a static code analysis must have been performed for them) and they have been released as well. Details on creating a library with POUs: See logi.CAD 3 user documentation, "Creating custom library with user blocks".

Warning 8

After the application has been built and loaded onto the PLC (for executing the integration and system tests), the loaded application must be checked as specified in the " logi.µSRTS safety manual". In particular, the following checks are required in this workflow phase:

  • Check the execution state in the Instances view. See the " logi.µSRTS safety manual" for the possible execution states and which execution state must be displayed when building and loading the application.

  • Check the Problems and Error Log views or separate windows for messages. If errors are reported, fix them and repeat all workflow phases (as required by the change of the application). In the case that there are only warnings and/or infos, contact the system integrator and clarify the necessary course of events.

  • Make sure that the fingerprint for the application in logi.CAD 3 matches the fingerprint for the application loaded onto the PLC (both are displayed in the Instances view of logi.CAD 3). Continue with the workflow only if the fingerprints do match. If they do not match, do not go on. See the " logi.µSRTS safety manual for details which fingerprints in the Instances view are to be checked.

  • Make sure that the safety-relevant application contains only the correct →programs (= program →instances listed in the Instances view) as they are intended to be used in the safety-relevant application.

Creating and deploying the library

This section incl. Warning 9 and Warning 10 apply to a library only:

Create, generate and deploy a logi.CAD 3 library as specified in the logi.CAD 3 reference documentation (see logi.CAD 3 user documentation, "Creating and deploying a custom library").

When the library is generated, 2 reports are generated:

  1. a MRC-report (a report with the file extension .mrclog) – This is the MRC-report of the final static code analysis.

    Warning 9

    Check and keep this MRC-report of the final static code analysis as specified under Warning 4.

  2. the library generation report (in HTML-format)
    This library generation report is created within the usually hidden sub-folder target of the project (see the logi.CAD 3 user documentation, Generating and examining a library or password-protected library – 2nd box "Good to know" how to have the folder target shown). The name of this library generation report is: library__version.buildreport.html. This library generation report contains information about the built library, its elements and their test coverage.

    Warning 10

    Check and keep this library generation report as specified under Warning 12.

Checking the build report

When developing a safety-relevant application and creating a library respectively, the appropriate build report must be checked.

In the case of an application, the build report is generated when the application is built in logi.CAD 3. When the application is built, the Build Log view is displayed and provides the possibility to open the generated build report. Details: See logi.CAD 3 user documentation, "Displaying build log and build history".
Hence, Warning 11 applies to an application only:

Warning 11

After the application has been built and loaded on the PLC, open the generated build report from within this Build Log view by clicking on the provided link in the field Report. This build report contains information about the built application and its elements.

images/download/attachments/512953064/Application_BuildReport-version-1-modificationdate-1675679838787-api-v2.png
Example for build report

Check the following information in this build report:

  1. the build infrastructure – in particular the version numbers and checksums
    Make sure that these pieces of information match the information provided by the system integrator to guarantee that the variant/version of logi.CAD 3 has been released by the system integrator for the usage of developing a safety-relevant application and/or libraries for them.

  2. the →resource information – in particular the code identification (= fingerprint of the application)
    Make sure that this piece of information matches the fingerprint for the application loaded onto the PLC as displayed in the Instances view of logi.CAD 3. If they do not match, do not go on to validate and/or release the application.

  3. the remaining program structure – in particular the names and the fingerprints of each application element
    Make sure that these pieces of information match the names and fingerprints recorded in the MRC-report and in the SiL-/PiL-test reports. If they do not match, do not go on to validate and/or release the application.

  4. errors, warnings and infos
    Make sure that no errors are reported. If errors are listed, fix them and repeat all workflow phases (as required by the change of the application). In the case that there are only warnings and/or infos, contact the system integrator and clarify the necessary course of events.


Keep all reports (MRC-report, SiL-/PiL-test reports and the build report). Observe that the build report is in particular required to clearly identify the built/loaded application.

In the case of a library, the build report is the library generation report. This library generation report is generated when the library is generated (see the previous description under "Creating and deploying the library").
Hence, Warning 12 applies to an application only:

Warning 12

After the library has been generated, open the generated library generation report . This library generation report contains information about the built library, its elements and their test coverage.

images/download/attachments/512953064/Library_Generation_Report-version-1-modificationdate-1675679838829-api-v2.png
Example for library generation report

Check the following information in this library generation report:

  1. the version number of logi.CAD 3
    Make sure that a version has been used that has been released by the system integrator for the usage of a developing safety-relevant application and/or libraries for them.

  2. errors and warnings
    Make sure that no errors are reported. If errors are listed, fix them and repeat the generation of the library. In the case that there are only warnings, contact the system integrator and clarify the necessary course of events.

  3. the library elements – in particular the names and the fingerprints of each library element
    Make sure that these pieces of information match the names and fingerprints recorded in the MRC-report and in the SiL-/PiL-test reports. If they do not match, do not go on to release the library.
    images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/information.svg If you are using manually written C-/H-code for a library element, also make sure that the names and fingerprints for the relevant C-/H-files (under the section "Source File") match with the ones recorded in the other reports.

  4. reports for SiL-tests and PiL-tests (not depicted in the above illustration)
    Make sure that necessary Sil-/PiL- tests have been executed with the required coverage (100% branch coverage). Use the names and fingerprints of the tested elements to identify the associated tests.


Keep the library generation report to be able to clearly identify the generated library.

Executing the integration and system test

The integration and system test are only required when developing a safety-relevant application, they are not required when creating a custom library with user blocks.
Hence, Warning 13 applies to an application only:

Warning 13

When validating the application running on the PLC, observe the unsupported elements of logi.CAD 3 as well (as listed in the article "List of unsupported and restricted elements") – in particular, the testing/debugging features.

Releasing the application or the library

Warning 14

When releasing the application or a library, make sure that all instructions have been executed as specified in the above safety instructions and that the verification and validation stages of the " logi.µSRTS safety manual" have successfully passed. As a consequence, the following reports must exist and their contents must have been checked:

  • MRC-report

  • SiL-test reports

  • PiL-test reports

  • build report (in the case of an application) or the library generation report (in the case of an library)

Warning 15 and Warning 16 apply to a library only:

Warning 15

Before a custom library is installed in a project to be used for developing safety-relevant applications, this custom library must be released – in particular, by a qualified person.
images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/information.svg The release process is an organizational measure that needs to be done by qualified persons as specified under the article "Requirements for use".

Warning 16

If a custom library should not be used any longer, delete this custom library from the library provider (see logi.CAD 3 user documentation, "Library provider and library cache") and clean the library cache as described in the reference documentation (see logi.CAD 3 user documentation, "Cleaning the library cache") so that obsolete libraries cannot be installed from the library cache by mistake.