User Authorization in the StdLib

The Stdlib defines whether a value/state of a certain elementary symbol (referenced via a data point element) in the faceplate is only visualized for the library user (read access) or if the user can also change this value/state (write access).

The authorizing concept in the Stdlib depends on the authorization that was configured in the WinCC OA user administration (see the WinCC OA online help under System Management -> Authorization levels). The authorizing concept in the Stdlib can de divided up in three levels.

  1. The project HOOK function hook_hasUserAuthorization() is called. It returns 1, if the user has the necessary authorization, 0 if the user has no authorization, or < 0 if the HOOK function was not implemented.

  2. If the HOOK function hook_hasUserAuthorization() was not implemented, the corresponding data point element (to which the elementary symbol references) is checked, to see whether the authorization data point config _auth is available. If it is available, the corresponding authorization level is checked.

  3. If the authorization data point config _auth is not available, the authorization test takes place via the node name of the data point (see table below). This applies to data point elements located under the nodes alarm/cmd/command/para/state/. These nodes belong to the StdLib data point type structure. For how to create an StdLib data point type - see chapter How to Create Data point Types for the StdLib.

The user must possess the following authorization levels (bits) in order to access the data point elements:

Node Name Authorization bit Authorization
ALM or alarm 5 Allows the acknowledgement of alerts.
STA or state 2 Normal operator authorization
CMD or command 2 Normal operator authorization
PAR or para 3 Advanced operator authorization: permits execution of commands, explicit setting of replacement values, input of correction values as well as changes to all value range types.

If the user does not have the necessary authorization bit, then the values/states of the data point element in the faceplate are only visualized - the associated elementary symbol is inactive.