External Error Handler (Fehlerbehandler)

External Error Handlers (Externe Fehlerbehandler) spielen eine wichtige Rolle in der Sicherheitsanalyse. Die WinCC OA-Installation enthält ein Template für den External Error Handler. Das Template finden Sie unter wincc_oa_path/api/TemplateExtErrHdl.

Die Dateien im Verzeichnis wincc_oa_path/api/TemplateExtErrHdl bilden ein Grundgerüst für einen neuen WinCC OA-External Error Handler. Dieses Kapitel beschreibt wie Sie einen externen Fehlerbehandler erstellen.

External Error Handler (Fehlerbehandler) - Windows

Voraussetzungen

  • Installierte WinCC OA-API
  • Microsoft VC++ (VisualStudio; Für die erforderliche Version siehe Software-Voraussetzungen).
    Anmerkung: WinCC OA erfordert keine Debug-Libraries oder Microsoft Foundation-Klassen (MFC).

Erstellen Sie einen External Error Handler

  • Erstellen Sie ein Verzeichnis für das Projekt z.B. D:\Development\Projects\API_Example\
  • Öffnen Sie eine Visual Studio-Eingabeaufforderung: Visual Studio 2019 > Visual Studio Tools und selektieren Sie : "VS2019 x64 Native Tools Command Prompt" .
    Anmerkung: Die Eingabeaufforderung muss als Administrator gestartet werden.
  • Navigieren Sie zu dem Verzeichnis, das Sie erstellt haben, e.g. D:\Development\Projects\API_Example\
  • Setzen Sie die Umgebungsvariable API_ROOT auf das API-Verzeichnis.
  • Geben Sie den Befehl checkApiEnv in die Eingabeaufforderung ein. Dadurch wird die Umgebung eingerichtet und die folgende Ausgabe angezeigt:
    -------
    found API_ROOT - good
    found VCXX compiler - good
    setting env for 64bit development
    done
    -------       
  • Erstellen Sie ein Develop-Projekt für den External Error Handler. Verwenden Sie den Projektnamen als Parameter:

    newWCCILErrHdl.cmd APITest

  • Ein Verzeichnis ExtErrHdlAPITest , welches die Quelldateien enthält, und ein Visual Studio-Projekt werden erstellt.
  • Navigieren Sie zum Verzeichnis ExtErrHdlAPITest\build und geben Sie devenv ExtErrHdlAPITest.slnAPITestDrv.sln ein, um das Visual Studio-Projekt zu starten.
  • Klicken Sie auf F5, um zu kompilieren.
    Anmerkung: Um das richtige Setup zu erhalten, muss das Projekt immer von der Befehlszeile aus gestartet werden.

Analog können folgende Scripts gestartet werden:

%API_ROOT%\newWCCILManager.cmd --- create a WinCC OA Manager developer project.
%API_ROOT%\newWCCILDriver.cmd --- create a WinCC OA Driver developer project.
%API_ROOT%\newWCCILCtrlExt.cmd --- create a CTRL extension DLL (plugin) developer project.
%API_ROOT%\newEWO.cmd --- create an EWO (External Widget Object) developer project as plugin for WinCC OA panels          
Anmerkung: Informationen zum Konvertieren vorhandener API-Projekte von früheren VC++-Versionen in die unterstützte Version finden Sie in wincc_oa_path\api\README.NT.

Durch die Verwendung der Datei VersInfo.rc können dem kompilierten Objekt zusätzliche Informationen wie z.B. Dateibeschreibungen hinzugefügt werden.

External Error Handler (Fehlerbehandler) - Linux

  • Überprüfen Sie ob die erforderliche GCC-Version installiert ist, indem Sie gcc -v eingeben. Siehe Software-Voraussetzungen.
  • Setzen Sie die erforderlichen Umgebungsvariablen (Siehe Installation Linux).
  • Unter Linux steht wie unter Windows eine Reihe analoger Skripte zur Verfügung. Sie können die Skripte mit $API_ROOT/newWCCILErrHdl.sh man aufrufen.