Node.js® TypeScript Modul-Beispielimplementierung
Erstellen eines TypeScript-Moduls
- Um ein neues TypeScript-Modul zu erstellen, suchen Sie zunächst die von WinCC OA bereitgestellten Vorlagen im Ordner data/nodejs/templates/typescript in Ihrem WinCC OA-Installationsverzeichnis.
- Erstellen Sie in Ihrem WinCC OA-Projekt einen Pfad mit dem
Namen javascript/<modulename> (wobei
<modulename>
der Name ist, den Sie für Ihr Modul verwenden möchten) und kopieren Sie den Inhalt des Ordnerstemplates
aus Schritt 1 in<modulname>
. - Ersetzen Sie in javascript/<modulname>/package.json den
Wert für
"name"
durch den Namen des Moduls, welcher der Konvention nach dem Verzeichnisnamen entsprechen muss, z. B.:{ "name": "<modulename>", ... }
- Öffnen Sie eine Eingabeaufforderung in dem kopierten javascript/<modulename>-Verzeichnis.
- Rufen Sie den folgenden Befehl auf, um die erforderlichen
Module einschließlich eines Pfads zu den winccoa-manager-Typdefinitionen (die
vom Compiler benötigt werden) zu installieren.
npm install --save-dev <path-to-installation>/javascript/@types/winccoa-manager
Anmerkung:Derzeit benötigt das TypeScript Plug-in für EsLint eine EsLint-Version, die veraltete Pakete verwendet. Es ist also mit einigen Warnungen zu rechnen, wenn diese Pakete installiert werden. - Transpilieren Sie TypeScript-Dateien in JavaScript, indem Sie sie aus dem kopierten Verzeichnis
ausführen ODER starten Sie einen Watcher, der automatisch TypeScript-Dateien transpiliert, wenn diese geändert werden:npx tsc
npx tsc -w
In diesem Verzeichnis wird index.js erzeugt, das im nächsten Schritt vom JavaScript-Manager verwendet wird.
- Fügen Sie einen JavaScript-Manager mit dem Pfad von
im kopierten Verzeichnis als einzigen Parameter hinzu (relativ zu javascript, z. B.: <modulename>/index.js). Setzen sie den Start-Modus auf manuell.<modulname>/index.js
Abbildung 1. Einen JavaScript-Manager hinzufügen - Starten Sie den Manager - er wird sich sofort schließen.
- Überprüfen Sie, ob die Meldung "
JavaScript Manager for WinCC OA working
" im Log angezeigt wird. - Starten Sie die Entwicklung. Nachstehend finden Sie ein Beispiel für das Modul:
// The command line for the Node.js® manager must contain the path to // the transpiled file for this file relative to data/javascript, e. g.: // // modulename/index.js // // NB: since the transpiled file must be used by the manager, the // extension is .js, not .ts // import WinCC OA interface import { WinccoaManager } from 'winccoa-manager'; const winccoa = new WinccoaManager(); // main function async function main() { const dpeName = 'ExampleDP_Arg1.'; const value = await winccoa.dpGet(dpeName); console.info('Node.js® manager for WinCC OA working'); console.info('Value of ' + dpeName + ' = ' + value); winccoa.exit(0); } // start the main function main();
Anmerkung:Beachten Sie, dass der TypeScript-Code innerhalb einer Methode oder Funktion aufgerufen werden muss, um unerwartetes oder undefiniertes Verhalten zu vermeiden. - (Optional, aber empfohlen) Prüfen und formatieren Sie Ihren Code mit:
npm run lint npm run format