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))
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.
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 () and its child objects are marked with the (
) symbol. The SafetyApp node point is considered to be pinned (
) 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 () 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.