Speicherprogrammierbare Steuerungen

Knud Jansen | Günter Herkommer,

Per SQL-Anbindung direkt in die Datenbank

Datenbankanwendungen sind per se nicht die Domäne einer klassischen Speicherprogrammierbaren Steuerung. Mittlerweile gibt es allerdings Ansätze, die die Beschränkungen bisheriger SPS-Lösungen aufheben beziehungsweise eine direkte SQL-Anbindung an unterschiedliche Datenbanken erlauben.

© ABB Automation Products

Für viele Anwendungen in der Prozess- und Fertigungsindustrie werden zunehmend ein Monitoring von Qualitäts- und Betriebswerten und die Übertragung von Rezeptur- oder Produktionsvorgaben benötigt. Zum Beispiel bei Solar- oder Windkraftanlagen sind Daten wie Mess- und Steuerwerte, Energieverbräuche oder Alarmmeldungen zusätzlich an ein überlagertes System zu übertragen. Bei solchen weit entfernt liegenden Anlagen besteht allerdings meist keine feste Standleitung. Um die dortigen Strings zu beobachten oder Energie-Erträge abzufragen, muss der Betreiber die Daten vielmehr über ein GPS-Modem von der Anlage holen. Die Datenmengen und die Datentypen, wie etwa Binärwerte, Texte (zum Beispiel Alarmmeldungen) oder auch Zählerstände können dabei stark variieren. Des Weiteren können die Daten von mehreren Steuerungssystemen stammen, die sie in unterschiedlichster Form bereitstellen.

Da die Übertragung dieser Daten eine entgeltpflichtige Kommunikationsverbindung erfordert, kommt in der Regel aus Kostengründen eine zyklische Datenübertragung nicht infrage. Ruft der Betreiber die Daten zum Beispiel nur einmal täglich ab, so sollte das große Datenpaket in einer Struktur vorliegen, die ein direktes Eintragen der Daten ohne einen Zwischenschritt in die Datenbank ermöglicht. Aber auch in Anwendungen mit zyklischer Datenübertragung sind Datenbank-Anbindungen häufig anzufinden, zum Beispiel in Fertigungsanlagen, um Auftragsdaten wie Stückzahlen vom Auftragsverwaltungssystem an die Steuerung zu übertragen.

Derartige Datenbankanwendungen werden in der Automatisierung derzeit selten mittels klassischer SPS-Technik realisiert, da diese normalerweise für die typischen SPS-Funktionen, wie Schalten, Zustandsüberwachung oder Generierung von Sollwerten konzipiert ist. Vielmehr liegt die Datensicherung beziehungsweise -speicherung heute klar im Aufgabenfeld eines PC. Ein wesentlicher Grund dafür ist die fehlende Speicherfähigkeit der Steuerungen, um große Datenmengen intern zu puffern und abrufbar vorzuhalten.

Da aber relationale SQL-Datenbanken in der Automatisierungspraxis weit verbreitet sind, liegt es nahe, eine direkte SQL-Anbindung der SPS an unterschiedliche Datenbanken zu realisieren. Dabei sollte es sich um keine proprietäre Lösung handeln, um eine Anbindung an Datenbanken verschiedener Hersteller zu gewährleisten. Insbesondere bei der Erweiterung von Produktionslinien, in denen bereits ein bestehendes Datenbanksystem installiert ist, ist letzteres ein wichtiges Kriterium.

Anzeige

OPC-Client erübrigt sich

Mit der PM592-ETH hat ABB genau solch eine Möglichkeit geschaffen. Diese leistungsstärkste CPU der SPS-Familie AC500 wurde für die genannten Zwecke mit 4 MByte Arbeitsspeicher und 4 MByte Datenspeicher ausge­rüstet. Mit ihrer fest eingebauten, ausfall­sicheren 4-GByte-Flashdisk bietet sie zudem nicht nur einen großen Zwischenspeicher, sondern auch einen diebstahlsicheren Schutz für geloggte Daten, beispielsweise für das Condition Monitoring in Solarparks, bei Windturbinen oder in dezentralen Wasser- und Gebäude-Anwendungen. Die Daten lassen sich dabei komprimiert in einem Zip-File ablegen.

Über die SQL-Anbindung mit der SPS erhält der Anwender eine komplette Datenbanklösung aus einer Hand, die zudem einfach zu implementieren ist. Da keine separaten Lizenzen erforderlich sind, fallen keine zusätz­lichen Kosten an.

© ABB Automation Products

Ein wesentlicher Vorteil dieser Lösung ist, dass sie eine direkte Anbindung mit einer SQL-Datenbank ermöglicht, ohne dass ein OPC-Client dazwischengeschaltet sein muss. Konkret testete ABB hierfür MySQL, die derzeit populärste Open-Source-Datenbank der Welt. Diese ist auf einer Vielzahl von Plattformen einsetzbar, darunter Windows und Linux.

Potenzielle Alternativen der Datenübertragung mit den genannten Anforderungen wären Techniken wie OPC, FTP oder Open Modbus TCP/IP. Sie alle haben jedoch Nachteile, die einer einfachen und direkten Datenbankanbindung mittels SPS entgegenstehen. So muss bei der standardisierten Software-Schnittstelle OPC jeder zu übertragende Wert in OPC angelegt werden. Dies reduziert die Flexibilität und würde die Einrichtung eines zyklischen Datenverkehrs erfordern, der aber aus Kostengründen nicht erwünscht ist.

Mit FTP lassen sich variable Daten wie beispielsweise Prozessinformationen beziehungsweise variable Datenmengen in ein File schreiben und per Kopierfunktion von der SPS auf einen PC übertragen. Diese Lösung erfordert allerdings ein zusätzliches Programm, das die Daten aus dem File in die Datenbank importiert. Mit Open Modbus TCP/IP schließlich lässt sich ein Datenpaket zwar in einem Telegramm verschicken; dies setzt aber zum einen eine Definition der Datenübertragung zwischen dem Sender (SPS) und dem Empfänger (Datenbank) voraus. Zum anderen ist zu definieren, in welcher Form der Eintrag in die Datenbank erfolgt.

Für die volle SQL-Funktionalität sind in der SPS lediglich vier Funktionsbausteine nötig.

© ABB Automation Products

Anders bei der SQL-Anbindung in der SPS, wie es bei der AC500 realisiert wurde: Hier sind keine externen Tools erforderlich. Solche Gateways sind bekanntermaßen mit Risiken behaftet und können Kommunikationsprobleme zur Folge haben. Externe Tools erfordern zudem vielfach Lizenzen, was wiederum einer kostengünstigen Anbindung entgegensteht. Ein zwischengestaltetes externes Tool bedeutet außerdem einen zusätzlichen Zwischenschritt, der die Performance des Systems mindern kann. Bei der direkten SQL-Anbindung ist dies nicht der Fall. Nicht zuletzt ist bei diesem Ansatz ein besserer Support gewährleistet, da alle Debug-Möglichkeiten in der SPS zur Verfügung stehen.

Ein zunehmend wichtiges Thema, das aus Sicht des Datenbank-Administrators ebenfalls nicht außer Acht gelassen werden darf, ist die IT- und Cyber Security – also der Schutz der Unternehmensdaten und -systeme vor unbefugtem Zugriff. Um die Zugriffsberechtigung auf die Daten der SPS sicherzustellen, wird in der SQL-Datenbank die SPS als Benutzer angelegt und erhält ein Kennwort. Die Steuerung bekommt dann entsprechende Rechte zugewiesen und darf in Ab­hängigkeit von diesen Rechten auf Daten zugreifen. Infolge dieser Autorisierung des Benutzers mit einstellbaren Benutzerrechten beim Einrichten der Datenverbindung ist so zu jeder Zeit eine sichere Datenübertragung gewährleistet.

Um die SQL-Funktionalität zu realisieren, hat ABB die SQL-Syntax in Funktionsbausteinen der SPS integriert. Deren Programmierung erfolgt mit der Sprache ST (Strukturierter Text) nach IEC 61131-3, die die SQL-Syntax analysiert und in interne SPS-Datenzugriffe umsetzt.

Vier Funktionsbausteine genügen

Für die Implementierung der vollen SQL-Funktionalität sind lediglich vier Funktionsbausteine erforderlich: Der Baustein MySQL_Connect baut die Verbindung zum SQL-Server auf und ist für die Autorisierung der Datenverbindung verantwortlich.

Über den Eingang Statement werden die SQL-Anweisung übertragen, die Ausgänge melden das dazugehörige Ergebnis.

© ABB Automation Products

Nach dem Aufbau der Verbindung führt MySQL_Execute die SQL-Anweisungen aus, die den Datenaustausch zwischen dem Anwenderprogramm und der Datenbank ermöglichen. Übliche MySQL-Befehle wie INSERT, SELECT, UPDATE, DROP oder CREATE werden in vollem Umfang unterstützt. So lässt sich etwa mit UPDATE in einer Adressdatenbank einfach die Telefonnummer ändern, während mit der Anweisung INSERT ein neuer Kontakt in die Datenbank eingegeben wird. Mit dem Funktionsbaustein MySQL_GetValue lässt sich ein Zellenwert aus der Ergebnismenge extrahieren (Extrahieren der Query-Anfrage) und mit MySQL_Disconnect wird die Verbindung mit dem SQL-Server geschlossen.

Mit diesen vier Funktionsbausteinen kann das Anwenderprogramm in der SPS neue Datenbanken anlegen, Tabellen und Strukturen in einer Datenbank erstellen, Datensätze mit unterschiedlichen Datentypen (String, Integer usw.) hinzufügen und Daten direkt in der Datenbank lesen und schreiben. Mit den entsprechenden Rechten kann sie diese Elemente auch löschen. Die Anbindung der AC500 wurde von ABB sowohl zu einem Microsoft-SQL-Server 2008 als auch zu einem MySQL-Server (Windows und Linux) intensiv getestet.

Autor: Knud Jansen ist Produktmanager PLC&Automation bei ABB Automation Products.

Datenbankmanagement mit SQL

In relationalen Datenbanken werden die Daten in sogenannten Relationen gesammelt. Dies sind Tabellen, deren Zeilen der Daten­sätze und die Spalten die einzelnen Feldeinträge beinhalten. Zur Definition der Datenstrukturen in relationalen Datenbanken und zum Bearbeiten und Abfragen der darauf basierenden Datenbestände hat die standardisierte Datenbanksprache SQL (Structured Query Language) eine starke Verbreitung gefunden. Fast alle gängigen Datenbanksysteme unter­stützen SQL.

Ein Grund hierfür ist, dass es sich bei SQL um eine hoch perfor­mante Lösung für Datenbankanwendungen handelt, mit der sich große Datenmengen einfach und rasch übertragen lassen und anschließend direkt in der Datenbank zur Verfügung stehen.

  • Xing Icon
  • LinkedIn Icon
Anzeige
Anzeige

Das könnte Sie auch interessieren

Anzeige

Industrierobotik

Programmieren per Drag & Drop

Eines der größten Hindernisse für die Anschaffung von Industrierobotern im produzierenden Mittelstand sind die fehlenden Fachkräfte. Vor diesem Hintergrund wurde ein neues Betriebssystem entwickelt, mit dem sich via Drag & Drop Programme einfach...

mehr...
Anzeige
Anzeige

Antriebstechnik

Wie steht es um den 'Antrieb 4.0'?

Antriebe sind die Kernkomponente in der industriellen Produktion. Sie ermöglichen im Verbund mit Sensoren und Software die Digitalisierung des Produktionsprozesses und damit die Transparenz der technischen Abläufe. Kurzum: Nur mit ‚Antrieben 4.0‘...

mehr...
Anzeige

Steuerungstechnik

Künstliche Intelligenz in der Simatic

Künstliche Intelligenz (KI) – schlägt ein neues Kapitel der digitalen Transformation in der Fertigung auf. In der Steuerung implementiert – und damit direkt an der Maschine – trägt sie dazu bei, den herkömmlichen Programmier- und Engineering-Aufwand...

mehr...
Anzeige
Anzeige
Anzeige
Jetzt Newsletter abonnieren