SQL4automation

In den Wintermonaten der Jahre 2011 bis 2014 habe ich im Auftrag der Firma Inasoft aus Lyssach in der Schweiz das Programmpaket SQL4automation entwickelt.

Das Programm dient der Verbindung von SPS- und Robotersteuerungen mit SQL-Datenbanken. Neben dem Hauptprogramm, dem als Windows-Dienst bzw. Linux-Dämon laufenden Connector für den eigentlichen Datenbankzugriff enthält das Programmpaket noch Hilfsprogramme zur Einrichtung und Konfiguration, zum Abfrage einer Debug-Datenbank, die vom Connector gefüllt wird sowie einem Tool zum Testen der SQL-Abfragen.

Die Entwicklung erfolgte in C++ unter Verwendung der Qt-Bibliotheken unter Linux und Windows, dabei kam unter Linux der QtCreator, unter Windows MS Visual Studio 2010 zum Einsatz. Für die Datenbank-Verbindungen sind unter Linux die Datenbankserver MySQL und PostgreSQL implementiert, unter Windows werden die Datenbanken in der Regel über die ODBC-Schnittstelle angesprochen.

Kernstück des Programms ist der S4AConnector, eine unter Windows als Service, unter Linux als Daemon im Hintergrund laufende Anwendung, die SQL-Anfragen der Clients annimmt, an die Datenbank weiterleitet und das Ergebnis wieder an den Client zurückgibt. Fehlermeldungen und Warnungen werden in eine SQLite-Datenbank geschrieben.
Die Konfiguration des Connectors erfolgt via Socket-Verbindung über ein eigens definiertes Protokoll. Über eine weitere Socketverbindung liefert der Connector kontinuierlich Daten über den Status der eingerichteten Links zu den Steuerungsrechnern. Für die Verbindung zwischen Steuerungsrechner und Connector beherrscht der Connector eine Anzahl hierfür definierter Protokolle.

Zur Konfiguration des Connectors dient die Anwendung S4AConfig. Über diese unter Windows und Linux lauffähige GUI-Anwendung können sämtliche Einstellungen für den Connector vorgenommen werden, wie z.B.

Der zu konfigurierende Connector muss dafür nicht auf dem lokalen Rechner ausgeführt werden, sondern kann auf einem beliebigen Windows- oder Linux-Rechner im Netzwerk laufen.

Zum Testen der Verbindung zur Datenbank sowie von einzelnen SQL-Abfragen unter den Bedingungen des Connectors dient das Progamm S4AQueryTool. Wie alle anderen Programme des Pakets auch unter Windows und Linux lauffähig, baut er analog zu den Steuerungsrechnern eine Verbindung zu einem Link des Connectors auf und setzt unter Verwendung des eingestellten Protokolls den eingegebenen SQL-Befehl ab. Dabei können alle vom Protokoll unterstützten Parameter vorgegeben werden.

Das Programm S4AConnector speichert Fehlermeldungen, Warnungen und Protokolleinträge in einer lokalen SQLite-Datenbank. Diese Datenbank kann über das Programm S4ADebugger abgefragt werden, wobei eine Filterung der Einträge nach verschiedenen Kriterien möglich ist. Die Abfrage der Datenbank erfolgt über den S4AConnector, so daß die Datenbank von beliebigen PCs im Netzwerk aus abgefragt werden kann.

Weitergehende Informationen zum Programmpaket SQL4automation entnehmen Sie bitte der SQL4automation Produktseite der Firma Inasoft sowie deren Firmenhomepage.