NoSql Expert Mode

NoSQL

NoSql-Datenbanken (not only Sequel) sind Datenbanken, die von der herkömmlichen relationalen Datenspeicherung abweichen.

Dokumentbasierte Datenbanken:

Datensätze werden als Dokumente in der Datenbank abgelegt. Das bietet den Vorteil flexibler und auch hierarchisch tiefergehend Daten zu archivieren.

NoSql Expert Mode 1:

Falls ein Datensatz aus mehr als einer flachen Struktur von Basisdatentypen besteht, kann diese nicht mehr ohne Umwege über eine relationale Datenbank abgebildet werden. NoSql-Datenbanken bieten diese Flexibilität. Auch Veränderungen im Programmcode und den entsprechenden Strukturen können einfach übernommen werden, ohne dass eine neue Tabelle dafür angelegt werden muss.

Dokumentbasierte Datenbanken speichern die Daten meist als Json-formatierte Datensätze. Jeder Datensatz kann dabei vom anderen abweichen.

Projekt erstellen

Durch die TwinCAT-Connectivity-Erweiterung für Visual Studio steht eine neue Projektvorlage zur Verfügung. Beim Erstellen eines neuen Projektes erscheint nun die Kategorie TwinCAT Connectivity Project in der Auswahl.

Um ein neues TwinCAT-Connectivity-Projekt zu erstellen, wählen Sie das Empty TwinCAT Connectivity Project, legen den Projektnamen und den Speicherort fest und fügen es mit OK der Solution hinzu. TwinCAT-Connectivity-Projekte bzw. TwinCAT-Database-Server-Projekte können so komfortabel neben TwinCAT- oder anderen Visual-Studio-Projekten angelegt werden.

NoSql Expert Mode 2:

In der Solution erscheint ein neuer Projektknoten. Unterhalb des Connectivity-Projektknotens können Sie Subprojekte der unterstützten Connectivity-Funktionen ergänzen.

Mit Add können Sie dem TwinCAT-Connectivity-Projekt ein neues TwinCAT-Database-Server-Projekt hinzufügen. Das TwinCAT-Database-Server-Projekt befindet sich in der Auflistung der vorhandenen Item Templates.

NoSql Expert Mode 3:

Unterhalb des TwinCAT-Connectivity-Knotens wird ein neues TwinCAT-Database-Server-Projekt angelegt.

NoSql Expert Mode 4:

Dieses dient nun als Basis für die anstehende Konfiguration eines TwinCAT Database Servers. Das Dokument können Sie sowohl über die Eigenschaften im Eigenschaftsfenster, als auch über einen Editor bearbeiten.

Einem Connectivity-Projekt können Sie beliebig viele TwinCAT-Database-Server-Projekte oder andere Projekte hinzufügen, und damit auch mehrere Konfigurationen in einem Connectivity-Projekt einstellen.

Editor für Server-Einstellungen

NoSql Expert Mode 5:

Im Editor Server Settings können Sie die Einstellungen für den TwinCAT Database Server bearbeiten. Diese Einstellungen betreffen den entsprechenden Server im Allgemeinen. Im Drop‑down‑Menü (1) können Sie das Zielsystem über die Ams-NetId angegeben. Dafür müssen Sie über TwinCAT eine Route zum Zielsystem anlegen. Wird eine fertige Konfiguration übertragen, werden die Einstellungen auf den TwinCAT Database Server dieses Zielsystems gespeichert.

In den Log settings konfigurieren Sie Einstellungen zum Aufzeichnen von Fehlerfällen. In einem Fehlerfall erzeugt der Database Server einen detaillierten Eintrag in einer Logdatei. Diese können Sie mit dem Information Log Viewer auslesen. In den Log Settings geben Sie einen Pfad zum Ablageort und die maximale Größe der Datei an. Zusätzlich können Sie die Genauigkeit des Logs beeinflussen. Wir empfehlen, aus Performancegründen, das Loggen nach erfolgter Fehleranalyse wieder abzuschalten, wenn es nicht mehr benötigt wird.

Bei Netzwerkzugriff auf dateibasierende Datenbanken wie Access Datenbanken oder SQL Compact Datenbanken müssen Sie die Option Impersonate setzen, damit sich der TwinCAT Database Server mit dem Netzwerklaufwerk verbinden kann. Diese Funktion wird zurzeit nicht unter Windows CE unterstützt.

Sie können weitere Einstellungen konfigurieren, um das Lesen aus der Datenbank zu steuern. Diese Einstellungen beziehen sich auf den TwinCAT Database Server auf dem Zielsystem:

MaxStringLength

Maximale String-Länge der Variablen in der SPS

MaxByteArrayLength

Maximale Byte-Array-Länge der Variablen in der SPS

DBNullAllowed

Gibt an, ob NULL-Werte im TwinCAT Database Server angenommen werden.

DBConnectionTimeout

Gibt die Zeit an, wann der TwinCAT Database Server bei einem Verbindungsaufbau von einem Verbindungsfehler ausgeht.

DBCommandTimeout

Gibt die Zeit an, wann der TwinCAT Database Server bei einem abgesendeten Kommando von einem Verbindungsfehler ausgeht. Bei hohen Datenmengen kann, je nach Datenbank und Infrastruktur ein Befehl durchaus sehr viel Zeit in Anspruch nehmen.

Unterstützte Datenbanktypen

NoSql Expert Mode 6:

Die installierten Datenbanktypen können in den Server Einstellungen ausgewählt werden. Standardmäßig sind alle installierten Datenbanken angewählt. Der TwinCAT 3 Database Server wird die entsprechenden Datenbankschnittstellen laden. Auf diese Weise können nicht genutzte Datenbanken auf dem Zielsystem abgewählt werden.

Datenbankkonfiguration hinzufügen

Eine neue Datenbankkonfiguration können Sie mithilfe des Kommandos Add new Database über das Kontextmenü eines Database-Server-Projektes oder das entsprechende Kommando in der Toolbar hinzufügen.

NoSql Expert Mode 7:

Eine neue Datenbankkonfiguration wird als Datei auf im Projektordner hinzugefügt und in das Projekt eingebunden. Wie bei allen Visual-Studio-Projekten, werden die Informationen über die neuen Dateien im Connectivity-Projekt hinterlegt.

Editor für Datenbankkonfigurationen

NoSql Expert Mode 8:

Im oberen Teil des Editors wird die Datenbank ID angezeigt (1), die für einige Funktionsbausteine in der SPS benötigt wird. Den Datenbanktyp der Zieldatenbank können Sie aus dem Drop-down-Menü auswählen (2). Hier können Sie auch die Odbc-Schnittstelle für eine Datenbank nutzen, die noch nicht unterstützt wird. Beachten Sie, dass je nach Datenbank nicht alle Funktionen des TwinCAT Database Servers gewährleistet werden.

Außerdem können Sie optional eine sogenannte FailOver-Datenbank (3) auswählen, welche im ‚Configure‘-Mode beim Fehlerfall einspringt. Bei einem Verbindungsabbruch zum Netzwerk kann in einem solchen Fall automatisch gewährleistet werden, dass keine Daten verloren gehen und an anderer Stelle gespeichert werden.

Für jede Datenbank stehen zusätzlich weitere einstellbare Parameter zur Verfügung. Je nach Datenbank wird ein Connection String (5) erstellt, welcher die Verbindung zur Datenbank beschreibt. Diese Anzeige dient zur Transparenz Ihrer eingestellten Parameter.

Über die Schaltfläche CREATE (4) können Sie eine neue Datenbank zu erstellen. Diese Funktion wird nur angezeigt, wenn sie von der jeweiligen Datenbank unterstützt wird. Mithilfe von CHECK kann die Verbindung zur Datenbank überprüft werden.

Unter den Zieldatenbanken können auch NoSQL-Datenbanken ausgewählt werden. Aktivieren Sie das Projekt mit einer NoSQL-Datenbank, wird im SQL-Query Editor ein NoSql-Tab freigeschaltet, um NoSql-spezifische Funktionen nutzen zu können.

Projekt aktivieren

Um ein konfiguriertes Projekt auf dem TwinCAT Database Server zu aktivieren, verwenden Sie im Kontextmenü des TwinCAT-Database-Server-Projektes das Kommando Activate Configuration.

NoSql Expert Mode 9:

MongoDB im PLC Expert/Configure Mode

Der PLC Expert und der Configure Mode verwenden in ihren Abläufen das vorgegebene Schema einer Datenbank. Im Normalfall wird sich das Schema der verwendeten Strukturen im laufenden Betrieb nicht ändern. Um dennoch die Bausteine nutzen zu können, benötigt der TwinCAT 3 Database Server eine Beschreibung des Tabellenschemas. Für MongoDB wird deshalb eine Tabelle simuliert.
Verwenden Sie im SQL Query Editor den Reiter SQL, sowie die Unterkategorie CREATE TABLE um eine Tabelle bzw. in diesem Fall eine Collection zu erstellen. Zusätzlich wird, anders als bei relationalen Datenbanken, ein Eintrag in eine Metadaten-Collection erzeugt. Hier sind Informationen zum Tabellenschema für den TwinCAT 3 Database Server abgespeichert.

Um erweiterte Funktionsmöglichkeiten zu nutzen, wie z.B. Strukturen beliebiger Hierarchie oder flexible Datensätze, wird empfohlen die NoSQL-Funktionsbausteine zu verwenden.

InformationLog View zur Diagnose

Um fehlerhaftes Verhalten zu diagnostizieren, steht der InformationLog View zur Verfügung.

Der InformationLog View ist ein Tool, um die Logdateien vom TwinCAT Database Server auszulesen. Protokollierte Informationen werden mit einem Zeitstempel, IDs und Fehlermeldungen im Klartext angezeigt.

Die Log-Dateien können nicht nur über den direkten Dateizugriff eingesehen oder geleert werden, sondern auch direkt über das Target. Gerade für verteilte Database Server im Netzwerk ist dies vorteilhaft, um einen schnellen und einfachen Zugriff auf die Logdatei zu erlangen. Für diesen Zugriff muss eine Route zum Zielgerät bestehen.

NoSql Expert Mode 10: