Node.js® JavaScript Modul-Beispielimplementierung

Erstellen eines JavaScript Moduls

Um ein neues JavaScript Modul zu erstellen, gehen Sie folgendermaßen vor (vorausgesetzt, dass Node.js® installiert ist).

  1. Entscheiden Sie sich für einen Namen für das Node.js®-Modul, das Sie erstellen möchten (<Modulname>).
  2. Kopieren Sie dieses Verzeichnis in ein Projekt ins Verzeichnis javascript/<modulename>.
    Anmerkung: Falls die kopierten Dateien schreibgeschützt sind, müssen Sie den Schreibzugriff mit den Betriebssystem-Tools aktivieren
  3. Setzen Sie modulname als den Wert für "name" in javascript/<Modulname>/package.json, z. B.:
    {
     "name": "<modulename>",
     ...
    }
  4. Öffnen Sie eine Eingabeaufforderung in dem kopierten javascript/<modulename>-Verzeichnis.
  5. Rufen Sie den folgenden Befehl auf, um die erforderlichen Module zu installieren.
     npm install
  6. Fügen Sie einen JavaScript-Manager mit dem Pfad von
    <modulname>/index.js
    im kopierten Verzeichnis als einzigen Parameter hinzu (relativ zu javascript, z. B.: <modulename>/index.js). Setzen sie den Start-Modus auf manuell.
    Abbildung 1. Einen JavaScript-Manager hinzufügen
  7. Starten Sie den Manager - er wird sich sofort schließen.
  8. Überprüfen Sie, ob die Meldung "JavaScript Manager for WinCC OA working" im Log angezeigt wird.
  9. 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/nodejs, 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 JavaScript-Code innerhalb einer Methode oder Funktion aufgerufen werden muss, um unerwartetes oder undefiniertes Verhalten zu vermeiden.
  10. (Optional aber empfohlen) Prüfen und formatieren Sie Ihren Code mit:
    npm run lint
    npm run format           
Tipp: Obwohl es nicht notwendig ist, könnte es hilfreich sein, der IDE den Ort der TypeScript Typdefinitionen mitzuteilen, um die automatische Vervollständigung und Anzeige von Methodendetails zu ermöglichen. Dies kann über die IDE-Einstellungen oder mit dem folgenden Befehl geschehen:
npm install --save-dev
In jedem Fall befinden sich die Typdefinitionen in <WinCC OA Installationspfad>/javascript/@types/winccoa-manager.