Benutzerrollen

Das Grundgerüst der SPS kennt keine Benutzer, sondern nur Rollen. Daher geht die weitere Beschreibung auf die Bedeutung der Rollen ein.
Eine Anwendung (z. B. TcHmiBa) definiert Benutzer und weist diesen dann eine entsprechende Rolle zu.
Entsprechend der Rolle eines angemeldeten Benutzers werden in der Anwendung Funktionen verfügbar gemacht oder nicht.

Rollen

Für unterschiedliche Anwender sind verschiedene Zugriffsrechte vorgesehen:

Rolle

Beschreibung

Guest

Geringste Zugriffsberechtigungen.
Nutzer können keine Parameter ändern und nur aktuelle Werte, die in der Tc3_XBA unter VAR_INPUT CONSTANT PERSISTENT stehen, lesen.
Empfohlen für Standard-Zugänge ohne Benutzer-Anmeldung (z. B. allgemein zugängliche Bedien-Panels).

Basic

Eingeschränkte Zugriffsberechtigungen.
Nutzer können rudimentäre Parameter einsehen und kaum Werte ändern.
Empfohlen für Bediener mit geringen Anlagenkenntnissen.

Advanced

Erweiterte Zugriffsberechtigungen.
Nutzer haben Einsicht in verschiedene Parameter und z.B. Berechtigung zum Ändern von Sollwerten oder Zeitschaltprogrammen.
Empfohlen für Bediener mit grundlegenden Anlagen-Kenntnissen und Anweisung zur Betreuung dieser Anlagen.

Expert

Vollständige Zugriffsberechtigungen.
Empfohlen für Inbetriebnahme- und Service-Personal, da auch tiefergehende Eingriffe (z. B. Anpassen von Regler-Parametern) möglich sind.

Internal

Nur für den Beckhoff-Support.

Benutzerrollen 1:

Der Zugriffsbereich des Benutzers wird an unterschiedlichen Stellen in der Anwendung ausgewertet, um bestimmte Funktionen freizugeben bzw. zu verbergen.

Anpassung der Zugriffsrechte aus der PLC heraus

Es gibt die Möglichkeit, Zugriffsrechte aus der PLC heraus zu definieren.

Dies allerdings geht nur initial, also nicht zur Laufzeit, und bezieht sich dann auf alle Objekte, die dieses Property haben.

Dazu wird in einem geeigneten Programmteil, vorzugsweise im MAIN, eine Instanz des FB_BA_Param angelegt und mit den entsprechenden Schreib- und Leserechten vorinitialisiert.

Benutzerrollen 2:

Die Initialisierung reicht dabei aus - ein weiterer Aufruf im eigentlichen Programmteil erfolgt nicht.

Beispiel:

Im folgenden Beispiel sollen an zwei Parametern die Lese- und Schreibrechte verändert werden:

Diese Anpassung erfordert die Instanziierung eines FB_BA_Param, hier Parameters genannt, die sich wie folgt gestaltet:

Parameters : FB_BA_Param :=  (DefReadAccess := F_BA_ParameterRolesBuilder()
            .Set(E_BA_Parameter.eAcknowledgeRm, E_BA_Role.eBasic)
            .Set(E_BA_Parameter.eDefaultValue, E_BA_Role.eInternal)
            .Build(),

        DefWriteAccess := F_BA_ParameterRolesBuilder()
            .Set(E_BA_Parameter.eAcknowledgeRm, E_BA_Role.eExpert)
            .Set(E_BA_Parameter.eDefaultValue, E_BA_Role.eAdvanced)
            .Build());

Die Properties DefReadAccess und DefWriteAccess, stellen jeweils ein Array der verschiedenen Parameter mit den dazugehörigen Rollen als Mindestzugriff dar und dienen nur zur Veränderung der Rollen, welche allerdings schon vordefiniert sind.

Die Set-Methoden verändern für einen bestimmten Parameter (E_BA_Parameter) die Mindest-Zugriffsrolle (E_BA_Role). Für jeden Parameter, dessen Zugriffsrecht verändert werden soll, ist jeweils eine Set-Methode hinzuzufügen.

Abgeschlossen wird die Parametrierung der Properties jeweils mit einem Aufruf der Methode Build. Diese gilt sowohl für das Property des Lesezugriffs DefReadAccess, als auch für das Property des Schreibzugriffs DefWriteAccess.

Die oben aufgeführte Implementierung verändert den Lese- und Schreibzugriff aller Objekte, die die Properties bAcknowledgeRm und DefaultValue (bDefaultValue, fDefaultValue, nDefaultValue) besitzen. Es ist auch möglich nur den Lese- oder nur den Schreibzugriff zu ändern, die Änderung muss keineswegs paarweise geschehen.

Am Beispiel eines AV-Objektes stellt sich die Änderung im Site-Explorer wie folgt dar:

Benutzerrollen 3: