Skip to main content

Pinning

Preparatory measure for the verification

The developer has to take preparatory measures for the verification of the safety application. An important aspect here is to define the version of the safety application intended for the verification and thus to ensure that only precisely this version of the safety application is used for the verification, validation, and subsequent acceptance.

CODESYS Safety Extension provides the pinning function especially for this purpose.

Important

When verifying safety applications, the description of the procedure in the user manual is to be observed

What is pinning?

Pinning means that a reference point to the current version of a safety application is set that identifies the specific version of the safety application and the associated objects. By means of the pin it is possible to identify a certain version of the application in the project, of an object in the editor and of a boot application on the safety controller. In addition, the verifier, on the basis of the pin, can recognize at any time changes in the application structure, in the contents of its objects, and in the library function blocks referred to.

Tip

A specific version is made identifiable by setting a pin. However, no copy of the specific version is generated when doing this.

The pin functions can be found in the editor of the application object. To do this, the safety application object is selected in the project tree and opened by means of the Edit Object context menu command. The Objects tab shows the compare view, which displays the version and the CRC of the objects of the current project and of the pinned project.

For a detailed description of the information and the application list see: Tab: Objects (object list))

. Commands for the pin function
  • For the command to pin the safety application, see: Pin project

  • For the command to clear the pin, see: Clear pin

The pinned version of the safety application comprises the following:

  • Scope of the safety application:

    • Which safety objects belong to the application

    • Which library function blocks the application requires

  • Execution-relevant version of the objects and library function blocks in the scope of the application:

    • Code of each object of the application

    • Configuration and device parameter of each logical I/O object of the application

    • Interface of the external implementation of each library function block used

    • Version designations of the objects

The execution-relevant version does not include the object comments. These are not pinned and therefore can be updated at the end and during the verification.

The verifier identifies a pinned version by a pin identifier, which is displayed at different points in the development system. The pin identifier contains the following information:

  • Name

  • Revision counter, which is incremented by one when pinning.

  • CRC: A CRC32 of the pinned execution version

In addition, the time of pinning is recorded. However, this is not part of the pin identifier.

Display of the pin information and its deviations

The application pin information for a safety application is displayed in the editor of the safety application object.

. The safety application pin information consists of the following:
  • Name

    Name of the pin

  • Revision

  • Safety CRC

    The CRC is created for the entire pinned application.

  • Last change

    Time of the pin generation

In addition, the comparison view of the safety application object shows how the current project version differs from the current pinned version of the application. The following differences are shown:

  • New objects

  • Deleted objects

  • Objects modified with regard to code, configuration or parameters

  • POUs recently referred from libraries

  • Library function blocks no longer referred

  • Library function blocks differing with regard to interface or implementation version

Differences are clearly marked in color so that the verifier can easily recognize them:

  • Green: New objects or function library blocks in the project

  • Red: Change/difference in the contents of the object or device parameter set or library function block

  • Blue: Objects or library function blocks deleted from, or no longer used in the project

Pinning in the project view and object view

If the safety application is pinned, then the comparison view contains the pin information and in the project tree the node point (SafetyAppIcon.png) and its child objects are marked with the (SafetyPinIcon.png) symbol. The SafetyApp node point is considered to be pinned (PinIcon.png) when the object and all its child objects correspond to the object version noted in the pin.

If the application has not yet been pinned or if the pin has been deleted, then only the In work status appears in the top line and in the project tree the node point (SafetyAppIcon.png) and its child objects are not marked. If a child object of the safety application is In work, then the safety application is also In work.

The information about the pin or In work is shown in the object view and in the printout of the project.