Erstellen eines Benutzerdefinierten Plug-ins

Das WinCC OA Access Control Plugin ist ein Addon für WinCC OA Manager und muss mittels des WinCC OA APIs für C++ implementiert werden. Es bietet frei programmierbare Funktionen für die Zugriffskontrolle zu den Managern als Shared Library.

Dieses Kapitel beschreibt die erforderlichen Schritte, um ein Plug-in zu erstellen. Um ein eigenes Access Control Plug-in zu erstellen, folgen Sie den Schritten innerhalb dieser Sektion. Diese gelten für alle verfügbaren Templates und sollen helfen diese Funktionalität für Ihr spezifisches Projekt zu implementieren.

WINDOWS

  1. Innerhalb des Kommandozeilen Tools: Setzen Sie die API_ROOT Umgebungsvariable (für das API, siehe Installation API) und führen Sie %API_ROOT%\checkAPIenv.cmd aus.
  2. Innerhalb des API-Verzeichnisses befindet sich die Datei newWCCOAAccessControlPlugin.cmd. Aufruf dieser Datei als %API_ROOT%\checkAPIenv.cmd erlaubt es eine neue Access Control Plugin-Instanz innerhalb des aktuellen Verzeichnisses anzulegen, welche innerhalb Ihres Projektes verwendet werden kann. Typischerweise weißt die .cmd Datei auf nicht erfüllte Vorraussetzungen, wie fehlende Umgebungsvariablen, hin.
Anmerkung:

checkAPIenv (auch innerhalb von newWCCOAAccessControlPlugin.cmd aufgerufen) bietet ein Argument, um die Plattform korrekt zu setzen: x86 und x64, um das Plug-in für unterschiedliche Betriebssystemvarianten zu kompilieren. Die Kommandozeile in welcher Sie diese Befehle ausführen, muss entsprechend für Ihr Entwicklungsstudio konfiguriert sein.

Beispiel

Kompilieren Sie das Template nie direkt. Dies führt zu einem inkorrekten Access Control Plug-in da das C++ Klassennamen-Schema durch die cmd-Datei von der Template-Struktur zur tatsächlichen Struktur angepasst werden muss.

  1. Um eine neue Access Control Plugin-Instanz anzulegen, rufen Sie in Ihrem Entwicklungsverzeichnis das Skript newWCCOAAccessControlPlugin.cmd mit dem Namen Ihres Plug-ins auf:: <WinCC_OA>/api/newWCCOAAccessControlPlugin.cmd <PluginName> [template-no].

    Dies erlaubt es eine Template Nummer interaktiv oder mittels Parameter auszuwählen (siehe Kapitel Templates für das Access Control Plugin für die Templates) und legt eine neue Kopie des Access Control Plug-ins für die Implementierung der benutzerdefinierten Filteroptionen an. Beim Starten mittels einer der Demo Access Control Plug-in Template-Dateien, stehen bereits vordefinierte Demo-Filterkonfigurationen zur Verfügung.

  2. Implementieren Sie Authentifikationsoptionen, welche innerhalb des Data-Managers und der anderen verbunden Manager Ihres Projektes verwendet werden sollen.
  3. Implementieren Sie eigene Konfigurationen für das Filtern von Manager-Messages.
Anmerkung:

Jede WinCC OA API Komponente muss mittels "Release" Konfiguration für die Zielplattform (64bit oder 32bit) kompiliert werden, wenn der Microsoft Compiler verwendet wird. Überprüfen Sie ihre Profileinstellungen in Visual Studio nach dem Anlegen des Security Plugins aus dem Template heraus. Die Einstellungen könnten sich auf den Standard von Visual Studio geändert haben: "Debug" für 32bit Applikationen. Mit dieser Einstellung wird die WinCC OA Komponente nicht funktionieren. Die Einstellungen können in Visual Studio unter: “BUILD” -> “Configuration Manager” angepasst werden. In diesem Dialog muss "Release" für "x64" eingestellt werden. Erforderliche pdb-Dateien werden mit dem "Release" Profil der WinCC OA Komponente erstellt.

LINUX

  1. Setzen Sie die Umgebungsvariable API_ROOT auf das Verzeichnis <WinCC_OA_Directory>/api
  2. Setzen Sie die Umgebungsvariable PLATFORM auf den Wert, welcher durch das Shell-Skript $API_ROOT/platform zurückgeliefert wird.

    Das Plattform-Skript überprüft den Typ des momentanen Betriebssystems und die Compiler Version.

    Die verfügbaren Werte hängen von der von Ihnen benutzen WinCC OA Version ab.

  3. Rufen Sie das $API_ROOT/newWCCOAAccessControlPlugin.sh Skript in Ihrem Entwicklungsverzeichnis auf, um ein neues Access Control Plug-in anzulegen.
  4. Rufen Sie "make" in dem im vorherigen Schritt erstellten Verzeichnis auf und verschieben Sie die erstellte Shared Library in den Ordner <WinCC OA project directory>/bin.
Anmerkung:

Das WinCC OA Access Control Plugin ist nicht für Linux 32bit verfügbar.