SoMachine - Schneider Electric

Werbung
SoMachine
EIO0000002413 11/2016
SoMachine
SqlRemoteAccess
Bibliothekshandbuch
EIO0000002413.00
11/2016
www.schneider-electric.com
Die Informationen in der vorliegenden Dokumentation enthalten allgemeine Beschreibungen
und/oder technische Leistungsmerkmale der hier erwähnten Produkte. Diese Dokumentation dient
keinesfalls als Ersatz für die Ermittlung der Eignung oder Verlässlichkeit dieser Produkte für
bestimmte Verwendungsbereiche des Benutzers und darf nicht zu diesem Zweck verwendet
werden. Jeder Benutzer oder Integrator ist verpflichtet, angemessene und vollständige
Risikoanalysen, Bewertungen und Tests der Produkte im Hinblick auf deren jeweils spezifischen
Verwendungszweck vorzunehmen. Weder Schneider Electric noch deren Tochtergesellschaften
oder verbundene Unternehmen sind für einen Missbrauch der Informationen in der vorliegenden
Dokumentation verantwortlich oder können diesbezüglich haftbar gemacht werden.
Verbesserungs- und Änderungsvorschlage sowie Hinweise auf angetroffene Fehler werden
jederzeit gern entgegengenommen.
Dieses Dokument darf ohne entsprechende vorhergehende, ausdrückliche und schriftliche
Genehmigung durch Schneider Electric weder in Teilen noch als Ganzes in keiner Form und auf
keine Weise, weder anhand elektronischer noch mechanischer Hilfsmittel, reproduziert oder
fotokopiert werden.
Bei der Montage und Verwendung dieses Produkts sind alle zutreffenden staatlichen, landesspezifischen, regionalen und lokalen Sicherheitsbestimmungen zu beachten. Aus Sicherheitsgründen
und um die Übereinstimmung mit dokumentierten Systemdaten besser zu gewährleisten, sollten
Reparaturen an Komponenten nur vom Hersteller vorgenommen werden.
Beim Einsatz von Geräten für Anwendungen mit technischen Sicherheitsanforderungen sind die
relevanten Anweisungen zu beachten.
Die Verwendung anderer Software als der Schneider Electric-eigenen bzw. einer von Schneider
Electric genehmigten Software in Verbindung mit den Hardwareprodukten von Schneider Electric
kann Körperverletzung, Schäden oder einen fehlerhaften Betrieb zur Folge haben.
Die Nichtbeachtung dieser Informationen kann Verletzungen oder Materialschäden zur Folge
haben!
© 2016 Schneider Electric. Alle Rechte vorbehalten.
2
EIO0000002413 11/2016
Inhaltsverzeichnis
Sicherheitshinweise . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Über dieses Buch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Teil I Allgemeine Informationen . . . . . . . . . . . . . . . . . . . . .
Kapitel 1 Spezifische Sicherheitshinweise. . . . . . . . . . . . . . . . . . .
Qualifiziertes Fachpersonal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sachgerechte Verwendung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Produktinformationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Kapitel 2 Beschreibung der Bibliothek . . . . . . . . . . . . . . . . . . . . . .
Allgemeine Informationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Kapitel 3 Vorgehensweise zur Übertragung von Daten über das
SQL Gateway zwischen SoMachine und einer beliebigen
Datenbank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Funktionsprinzip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Teil II Enumerationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Kapitel 4 Enumerationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ET_Result . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Kapitel 5 Strukturen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ST_ConnectionSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Kapitel 6 ALIAS (DUT). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ALIAS - Device Unit Types (DUT) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Teil III Globale Variablen . . . . . . . . . . . . . . . . . . . . . . . . . . .
Kapitel 7 Liste der globalen Konstanten . . . . . . . . . . . . . . . . . . . .
Liste globaler Konstanten (LGK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Kapitel 8 Liste der globalen Parameter . . . . . . . . . . . . . . . . . . . . .
Globale Parameterliste (GPL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Teil IV Programmorganisationseinheiten (POU) . . . . . . . . .
Kapitel 9 Funktionsbausteine. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FB_SqlDbRead. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FB_SqlDbWrite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Kapitel 10 Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FC_EtResultToString . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Anhang
EIO0000002413 11/2016
.........................................
5
9
11
13
14
14
15
19
19
23
23
27
29
29
33
33
35
35
37
39
39
41
41
43
45
46
49
53
53
55
3
Anhang A Darstellung von Funktionen und Funktionsbausteinen . .
Unterschiede zwischen einer Funktion und einem Funktionsbaustein
Verwenden einer Funktion oder eines Funktionsbausteins in der
Sprache AWL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verwenden einer Funktion oder eines Funktionsbausteins in der
Sprache ST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Glossar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
57
58
59
63
65
69
EIO0000002413 11/2016
Sicherheitshinweise
Wichtige Informationen
HINWEISE
Lesen Sie sich diese Anweisungen sorgfältig durch und machen Sie sich vor Installation, Betrieb,
Bedienung und Wartung mit dem Gerät vertraut. Die nachstehend aufgeführten Warnhinweise
sind in der gesamten Dokumentation sowie auf dem Gerät selbst zu finden und weisen auf
potenzielle Risiken und Gefahren oder bestimmte Informationen hin, die eine Vorgehensweise
verdeutlichen oder vereinfachen.
EIO0000002413 11/2016
5
BITTE BEACHTEN
Elektrische Geräte dürfen nur von Fachpersonal installiert, betrieben, bedient und gewartet
werden. Schneider Electric haftet nicht für Schäden, die durch die Verwendung dieses Materials
entstehen.
Als qualifiziertes Fachpersonal gelten Mitarbeiter, die über Fähigkeiten und Kenntnisse
hinsichtlich der Konstruktion und des Betriebs elektrischer Geräte und deren Installation verfügen
und eine Schulung zur Erkennung und Vermeidung möglicher Gefahren absolviert haben.
BEVOR SIE BEGINNEN
Dieses Produkt nicht mit Maschinen ohne effektive Sicherheitseinrichtungen im Arbeitsraum
verwenden. Das Fehlen effektiver Sicherheitseinrichtungen im Arbeitsraum einer Maschine kann
schwere Verletzungen des Bedienpersonals zur Folge haben.
WARNUNG
UNBEAUFSICHTIGTE GERÄTE


Diese Software und zugehörige Automatisierungsgeräte nicht an Maschinen verwenden, die
nicht über Sicherheitseinrichtungen im Arbeitsraum verfügen.
Greifen Sie bei laufendem Betrieb nicht in das Gerät.
Die Nichtbeachtung dieser Anweisungen kann Tod, schwere Verletzungen oder Sachschäden
zur Folge haben.
Dieses Automatisierungsgerät und die zugehörige Software dienen zur Steuerung verschiedener
industrieller Prozesse. Der Typ bzw. das Modell des für die jeweilige Anwendung geeigneten
Automatisierungsgeräts ist von mehreren Faktoren abhängig, z. B. von der benötigten
Steuerungsfunktion, der erforderlichen Schutzklasse, den Produktionsverfahren, außergewöhnlichen Bedingungen, behördlichen Vorschriften usw. Für einige Anwendungen werden
möglicherweise mehrere Prozessoren benötigt, z. B. für ein Backup-/Redundanzsystem.
Nur Sie als Benutzer, Maschinenbauer oder -integrator sind mit allen Bedingungen und Faktoren
vertraut, die bei der Installation, der Einrichtung, dem Betrieb und der Wartung der Maschine bzw.
des Prozesses zum Tragen kommen. Demzufolge sind allein Sie in der Lage, die Automatisierungskomponenten und zugehörigen Sicherheitsvorkehrungen und Verriegelungen zu
identifizieren, die einen ordnungsgemäßen Betrieb gewährleisten. Bei der Auswahl der Automatisierungs- und Steuerungsgeräte sowie der zugehörigen Software für eine bestimmte Anwendung
sind die einschlägigen örtlichen und landesspezifischen Richtlinien und Vorschriften zu beachten.
Das National Safety Council's Accident Prevention Manual (Handbuch zur Unfallverhütung; in den
USA landesweit anerkannt) enthält ebenfalls zahlreiche nützliche Hinweise.
6
EIO0000002413 11/2016
Für einige Anwendungen, z. B. Verpackungsmaschinen, sind zusätzliche Vorrichtungen zum
Schutz des Bedienpersonals wie beispielsweise Sicherheitseinrichtungen im Arbeitsraum
erforderlich. Diese Vorrichtungen werden benötigt, wenn das Bedienpersonal mit den Händen
oder anderen Körperteilen in den Quetschbereich oder andere Gefahrenbereiche gelangen kann
und somit einer potenziellen schweren Verletzungsgefahr ausgesetzt ist. Software-Produkte allein
können das Bedienpersonal nicht vor Verletzungen schützen. Die Software kann daher nicht als
Ersatz für Sicherheitseinrichtungen im Arbeitsraum verwendet werden.
Vor Inbetriebnahme der Anlage sicherstellen, dass alle zum Schutz des Arbeitsraums
vorgesehenen mechanischen/elektronischen Sicherheitseinrichtungen und Verriegelungen
installiert und funktionsfähig sind. Alle zum Schutz des Arbeitsraums vorgesehenen Sicherheitseinrichtungen und Verriegelungen müssen mit dem zugehörigen Automatisierungsgerät und der
Softwareprogrammierung koordiniert werden.
HINWEIS: Die Koordinierung der zum Schutz des Arbeitsraums vorgesehenen
mechanischen/elektronischen Sicherheitseinrichtungen und Verriegelungen geht über den
Umfang der Funktionsbaustein-Bibliothek, des System-Benutzerhandbuchs oder andere in dieser
Dokumentation genannten Implementierungen hinaus.
START UND TEST
Vor der Verwendung elektrischer Steuerungs- und Automatisierungsgeräte ist das System zur
Überprüfung der einwandfreien Funktionsbereitschaft einem Anlauftest zu unterziehen. Dieser
Test muss von qualifiziertem Personal durchgeführt werden. Um einen vollständigen und
erfolgreichen Test zu gewährleisten, müssen die entsprechenden Vorkehrungen getroffen und
genügend Zeit eingeplant werden.
WARNUNG
GEFAHR BEIM GERÄTEBETRIEB



Überprüfen Sie, ob alle Installations- und Einrichtungsverfahren vollständig durchgeführt
wurden.
Vor der Durchführung von Funktionstests sämtliche Blöcke oder andere vorübergehende
Transportsicherungen von den Anlagekomponenten entfernen.
Entfernen Sie Werkzeuge, Messgeräte und Verschmutzungen vom Gerät.
Die Nichtbeachtung dieser Anweisungen kann Tod, schwere Verletzungen oder Sachschäden
zur Folge haben.
Führen Sie alle in der Dokumentation des Geräts empfohlenen Anlauftests durch. Die gesamte
Dokumentation zur späteren Verwendung aufbewahren.
Softwaretests müssen sowohl in simulierten als auch in realen Umgebungen stattfinden.
EIO0000002413 11/2016
7
Sicherstellen, dass in dem komplett installierten System keine Kurzschlüsse anliegen und nur
solche Erdungen installiert sind, die den örtlichen Vorschriften entsprechen (z. B. gemäß dem
National Electrical Code in den USA). Wenn Hochspannungsprüfungen erforderlich sind, beachten
Sie die Empfehlungen in der Gerätedokumentation, um eine versehentliche Beschädigung zu
verhindern.
Vor dem Einschalten der Anlage:
 Entfernen Sie Werkzeuge, Messgeräte und Verschmutzungen vom Gerät.
 Schließen Sie die Gehäusetür des Geräts.
 Alle temporären Erdungen der eingehenden Stromleitungen entfernen.
 Führen Sie alle vom Hersteller empfohlenen Anlauftests durch.
BETRIEB UND EINSTELLUNGEN
Die folgenden Sicherheitshinweise sind der NEMA Standards Publication ICS 7.1-1995
entnommen (die Englische Version ist maßgebend):
 Ungeachtet der bei der Entwicklung und Fabrikation von Anlagen oder bei der Auswahl und
Bemessung von Komponenten angewandten Sorgfalt, kann der unsachgemäße Betrieb solcher
Anlagen Gefahren mit sich bringen.
 Gelegentlich kann es zu fehlerhaften Einstellungen kommen, die zu einem unbefriedigenden
oder unsicheren Betrieb führen. Für Funktionseinstellungen stets die Herstelleranweisungen zu
Rate ziehen. Das Personal, das Zugang zu diesen Einstellungen hat, muss mit den
Anweisungen des Anlagenherstellers und den mit der elektrischen Anlage verwendeten
Maschinen vertraut sein.
 Bediener sollten nur über Zugang zu den Einstellungen verfügen, die tatsächlich für ihre Arbeit
erforderlich sind. Der Zugriff auf andere Steuerungsfunktionen sollte eingeschränkt sein, um
unbefugte Änderungen der Betriebskenngrößen zu vermeiden.
8
EIO0000002413 11/2016
Über dieses Buch
Auf einen Blick
Ziel dieses Dokuments
In diesem Dokument wird die SqlRemoteAccess-Bibliothek beschrieben.
Die Bibliothek stellt SQL-Client-Funktionsbausteine (Structured Query Language) bereit, die der
Steuerung den Aufbau einer Verbindung zu einer SQL-Datenbank für die Ausführung von SQLAbfragen zum Lesen und Schreiben von Daten ermöglichen.
Voraussetzung für die Verwendung der SQL-Funktionen ist die Installation der SQL GatewayKomponenten, die im Lieferumfang von SoMachine als optionale Komponente bereitgestellt wird
und die eine spezifische Lizenz erfordert.
Die SqlRemoteAccess-Bibliothek verwendet Systemfunktionen und -ressourcen, die von
spezifischen Steuerungsplattformen, verfügbar in SoMachine, unterstützt werden.
Folgende Steuerungen werden unterstützt:
 Modicon M241 Logic Controller
 Modicon M251 Logic Controller
 Modicon M258 Logic Controller
 Modicon LMC058 Motion Controller
 Modicon LMC078 Motion Controller
Gültigkeitsbereich
Diese Dokumentation wurde für die SoMachine-Version V4.2 aktualisiert.
Die technischen Merkmale der hier beschriebenen Geräte sind auch online abrufbar. So greifen
Sie auf diese Informationen online zu:
Schritt
Aktion
1
Gehen Sie zur Homepage von Schneider Electric. www.schneider-electric.com.
2
Geben Sie im Feld Search die Referenz eines Produkts oder den Namen einer Produktreihe ein.
 Die Referenz bzw. der Name der Produktreihe darf keine Leerstellen enthalten.
 Wenn Sie nach Informationen zu verschiedenen vergleichbaren Modulen suchen, können Sie
Sternchen (*) verwenden.
3
Wenn Sie eine Referenz eingegeben haben, gehen Sie zu den Suchergebnissen für technische
Produktdatenblätter (Product Datasheets) und klicken Sie auf die Referenz, über die Sie mehr
erfahren möchten.
Wenn Sie den Namen einer Produktreihe eingegeben haben, gehen Sie zu den
Suchergebnissen Product Ranges und klicken Sie auf die Reihe, über die Sie mehr erfahren
möchten.
EIO0000002413 11/2016
9
Schritt
Aktion
4
Wenn mehrere Referenzen in den Suchergebnissen unter Products angezeigt werden, klicken
Sie auf die gewünschte Referenz.
5
Je nach der Größe der Anzeige müssen Sie ggf. durch die technischen Daten scrollen, um sie
vollständig einzusehen.
6
Um ein Datenblatt als PDF-Datei zu speichern oder zu drucken, klicken Sie auf Download XXX
product datasheet.
Die in diesem Handbuch vorgestellten Merkmale sollten denen entsprechen, die online angezeigt
werden. Im Rahmen unserer Bemühungen um eine ständige Verbesserung werden Inhalte im
Laufe der Zeit möglicherweise überarbeitet, um deren Verständlichkeit und Genauigkeit zu
verbessern. Sollten Sie einen Unterschied zwischen den Informationen im Handbuch und denen
online feststellen, nutzen Sie die Online-Informationen als Referenz.
Weiterführende Dokumentation
Dokumenttitel
Bestellnummer
SoMachine Benutzerhandbuch zu Funktionen und
Bibliotheken
EIO0000000735 (ENG);
EIO0000000792 (FRE);
EIO0000000793 (GER);
EIO0000000795 (SPA);
EIO0000000794 (ITA);
EIO0000000796 (CHS)
SoMachine – Programmierhandbuch
EIO0000000067 (ENG);
EIO0000000069 (FRE);
EIO0000000068 (GER);
EIO0000000071 (SPA);
EIO0000000070 (ITA);
EIO0000000072 (CHS)
SQL Gateway – Benutzerhandbuch
EIO0000002417 (ENG);
EIO0000002418 (FRE);
EIO0000002419 (GER);
EIO0000002421 (SPA);
EIO0000002420 (ITA);
EIO0000002422 (CHS)
Sie können diese technischen Veröffentlichungen sowie andere technische Informationen von
unserer Website herunterladen: http://download.schneider-electric.com.
10
EIO0000002413 11/2016
SoMachine
Allgemeine Informationen
EIO0000002413 11/2016
Teil I
Allgemeine Informationen
Allgemeine Informationen
Inhalt dieses Teils
Dieser Teil enthält die folgenden Kapitel:
Kapitel
Kapitelname
Seite
1
Spezifische Sicherheitshinweise
13
2
Beschreibung der Bibliothek
19
3
Vorgehensweise zur Übertragung von Daten über das SQL Gateway zwischen
SoMachine und einer beliebigen Datenbank
23
EIO0000002413 11/2016
11
Allgemeine Informationen
12
EIO0000002413 11/2016
SoMachine
Spezifische Sicherheitshinweise
EIO0000002413 11/2016
Kapitel 1
Spezifische Sicherheitshinweise
Spezifische Sicherheitshinweise
Übersicht
Dieser Abschnitt enthält Informationen zur Arbeit mit der SqlRemoteAccess-Bibliothek. Das
Personal, das mit der SqlRemoteAccess-Bibliothek arbeitet, muss sich diese Informationen
unbedingt durchlesen und sich daran halten.
Inhalt dieses Kapitels
Dieses Kapitel enthält die folgenden Themen:
Thema
Seite
Qualifiziertes Fachpersonal
14
Sachgerechte Verwendung
14
Produktinformationen
15
EIO0000002413 11/2016
13
Spezifische Sicherheitshinweise
Qualifiziertes Fachpersonal
Überblick
Elektrische Geräte dürfen nur von Fachpersonal installiert, betrieben, bedient und gewartet
werden.
Schneider Electric haftet nicht für Schäden, die durch die Verwendung dieses Materials entstehen.
Als qualifiziertes Fachpersonal gelten Mitarbeiter, die über Fähigkeiten und Kenntnisse in Bezug
auf die Konstruktion und den Betrieb elektrischer Geräte im Allgemeinen und der betroffenen
Anlage im Besonderen verfügen und eine sicherheitstechnische Schulung zur Erkennung und
Vermeidung möglicher Gefahren absolviert haben.
Das Fachpersonal muss in der Lage sein, potenzielle Gefahrenquellen in Verbindung mit der
Parametrierung und Änderung von Parametern sowie allgemein in Verbindung mit mechanischen,
elektrischen oder elektronischen Geräten zu erkennen. Alle relevanten Normen, Vorschriften und
Regelungen zur industriellen Unfallverhütung müssen dem Fachpersonal bekannt sein und bei der
Konzeption und Implementierung des Systems eingehalten werden.
Sachgerechte Verwendung
Überblick
Bei diesem Produkt handelt es sich um eine Bibliothek, die für eine Verwendung in Verbindung mit
Steuerungssystemen und Servoverstärkern ausschließlich zu den in der vorliegenden
Dokumentation beschriebenen Zwecken gemäß der branchenüblichen Regelungen im Industriesektor vorgesehen ist.
Dabei sind stets die geltenden sicherheitsbezogenen Anweisungen, die angegebenen
Bedingungen und die technischen Kenndaten zu beachten.
Führen Sie vor der Verwendung des Produkts eine Risikobeurteilung für den geplanten
spezifischen Einsatz durch. Ergreifen Sie im Anschluss daran angemessene
Sicherheitsmaßnahmen.
Da das Produkt als Komponente eines globalen Systems zum Einsatz kommt, ist die Sicherheit
des Personals durch eine angemessene Auslegung des Gesamtsystems sicherzustellen (z. B.
durch die Konzeption der Maschine).
Andere Verwendungszwecke sind nicht bestimmungsgemäß und können sich als gefährlich
erweisen. Elektrische Geräte und Ausrüstungen dürfen nur von qualifiziertem Fachpersonal
installiert, betrieben, gewartet und repariert werden.
14
EIO0000002413 11/2016
Spezifische Sicherheitshinweise
Produktinformationen
Produktinformationen
WARNUNG
STEUERUNGSAUSFALL





Bei der Konzeption von Steuerungsstrategien müssen mögliche Störungen auf den
Steuerpfaden berücksichtigt werden, und bei bestimmten kritischen Steuerungsfunktionen ist
dafür zu sorgen, dass während und nach einem Pfadfehler ein sicherer Zustand erreicht wird.
Beispiele kritischer Steuerungsfunktionen sind die Notabschaltung (Not-Aus) und der
Nachlauf-Stopp, Stromausfall und Neustart.
Für kritische Steuerungsfunktionen müssen separate oder redundante Steuerpfade bereitgestellt werden.
Systemsteuerungspfade können Kommunikationsverbindungen umfassen. Dabei müssen die
Auswirkungen unerwarteter Sendeverzögerungen und Verbindungsstörungen berücksichtigt
werden.
Sämtliche Unfallverhütungsvorschriften und lokale Sicherheitsrichtlinien sind zu beachten.1
Jede Implementierung des Geräts muss individuell und sorgfältig auf einen einwandfreien
Betrieb geprüft werden, bevor das Gerät an Ort und Stelle in Betrieb gesetzt wird.
Die Nichtbeachtung dieser Anweisungen kann Tod, schwere Verletzungen oder Sachschäden
zur Folge haben.
1
Weitere Informationen finden Sie in den aktuellen Versionen von NEMA ICS 1.1 „Safety
Guidelines for the Application, Installation, and Maintenance of Solid State Control“ sowie von
NEMA ICS 7.1, „Safety Standards for Construction and Guide for Selection, Installation, and
Operation of Adjustable-Speed Drive Systems“ oder den entsprechenden, vor Ort geltenden
Vorschriften.
Bevor Sie unter Verwendung der POUs in der Bibliothek eine Lösung (Maschine oder Prozess) für
eine spezifische Anwendung bereitstellen, sind relevante Best Practices zu prüfen, anzuwenden
und zu vervollständigen. Hierzu gehören u. a. Risikoanalyse, Funktionssicherheit, Komponentenkompatibilität, Prüfung und Systemabnahme, sofern ein Bezug zur Bibliothek gegeben ist.
EIO0000002413 11/2016
15
Spezifische Sicherheitshinweise
WARNUNG
UNSACHGEMÄSSE VERWENDUNG DER POUS






Führen Sie für die betroffene Anwendung und die installierten Geräte eine sicherheitstechnische Analyse durch.
Vergewissern Sie sich, dass die POUs mit dem Geräten in Ihrem System kompatibel sind und
den ordnungsgemäßen Betrieb des Systems nicht auf unbeabsichtigte Weise beeinträchtigen.
Verwenden Sie geeignete Parameter, insbesondere für die Grenzwerte, und kontrollieren Sie
Abnutzung und Stoppverhalten der Maschine.
Stellen Sie sicher, dass die Sensoren und Stellglieder mit den ausgewählten POUs kompatibel
sind.
Bei der Prüfung und Inbetriebnahme sind sämtliche Funktionen in allen Betriebsarten einem
gründlichen Test zu unterziehen.
Stellen Sie in Übereinstimmung mit der durchgeführten sicherheitstechnischen Analyse und
allen geltenden Regeln und Vorschriften unabhängige Verfahren für kritische Steuerungsfunktionen bereit (Nothalt, Überschreitung der Grenzbedingungen usw.).
Die Nichtbeachtung dieser Anweisungen kann Tod, schwere Verletzungen oder Sachschäden
zur Folge haben.
WARNUNG
UNBEABSICHTIGTER GERÄTEBETRIEB


Verwenden Sie mit diesem Gerät nur von Schneider Electric genehmigte Software.
Aktualisieren Sie Ihr Anwendungsprogramm jedes Mal, wenn Sie die physische Hardwarekonfiguration ändern.
Die Nichtbeachtung dieser Anweisungen kann Tod, schwere Verletzungen oder Sachschäden
zur Folge haben.
WARNUNG
UNBEABSICHTIGTER GERÄTEBETRIEB
Aktualisieren Sie bei einer Änderung der Hardwarekonfiguration Ihr Anwendungsprogramm
entsprechend und achten Sie dabei insbesondere auf die Anpassung der E/A-Adressen.
Die Nichtbeachtung dieser Anweisungen kann Tod, schwere Verletzungen oder Sachschäden
zur Folge haben.
16
EIO0000002413 11/2016
Spezifische Sicherheitshinweise
Unvollständige Dateiübertragungen, wie Datendateien, Applikationsdateien und/oder Firmwaredateien, können ernsthafte Folgen für Ihre Maschine oder Ihre Steuerung haben/ Wenn Sie
während der Dateiübertragung den Strom abschalten oder ein Stromausfall oder eine Kommunikationsunterbrechung auftritt, kann Ihre Maschine nicht mehr operativ sein oder Ihre Applikation kann
versuchen, mit beschädigten Dateidaten zu arbeiten. Sollte die Kommunikation unterbrochen
werden, dann führen Sie die Übertragung erneut durch. Stellen Sie sicher, dass Sie den Effekt
beschädigter Daten in Ihrer Risikoanalyse berücksichtigen.
WARNUNG
UNBEABSICHTIGTER GERÄTEBETRIEB, DATENVERLUST ODER DATEIBESCHÄDIGUNG



Unterbrechen Sie eine laufende Datenübertragung nicht.
Wenn die Übertragung aus einem beliebigen Grund unterbrochen wird, starten Sie sie erneut.
Nehmen Sie Ihre Maschine nicht in Betrieb bis die Dateiübertragung erfolgreich
abgeschlossen wurde, es sei denn, sie haben die beschädigten Daten in Ihre Risikoanalyse
miteinbezogen und entsprechende Schritte eingeleitet, um mögliche ernste Folgen wegen
einer nicht erfolgreichen Datenübertragung zu vermeiden.
Die Nichtbeachtung dieser Anweisungen kann Tod, schwere Verletzungen oder Sachschäden
zur Folge haben.
EIO0000002413 11/2016
17
Spezifische Sicherheitshinweise
18
EIO0000002413 11/2016
SoMachine
Beschreibung
EIO0000002413 11/2016
Kapitel 2
Beschreibung der Bibliothek
Beschreibung der Bibliothek
Allgemeine Informationen
Einführung
Die Bibliothek SqlRemoteAccessstellt SQL-Client-Funktionsbausteine (Structured Query
Language) bereit, die der Steuerung den Aufbau einer Verbindung zu einer SQL-Datenbank für die
Ausführung von SQL-Abfragen zum Lesen und Schreiben von Daten ermöglichen.
Die Kommunikation zwischen der Steuerung, die als SQL-Client fungiert, und dem SQLDatenbankserver erfolgt über das Schneider Electric-SQL Gateway. Aus diesem Grund müssen
Sie vor Verwendung der SQL-Funktion die SQL Gateway-Komponente installieren, die im
Lieferumfang von SoMachine als optionale Komponente bereitgestellt wird und eine spezifische
Lizenz erfordert. Weitere Informationen finden Sie im SQL Gateway-Benutzerhandbuch
(siehe Seite 10).
1
2
3
4
5
1...n Steuerungen (SQL-Clients)
Daten lesen
Daten schreiben
SQL Gateway
1...n Datenbankserver
Nach der erfolgreichen Installation kann die Steuerung eine bedarfsgerecht angepasste SQLAbfrage an den Datenbankserver senden, z. B.:
 Abfragen von Daten aus Tabellen
 Einfügen, Ändern und Löschen von Daten in Tabellen
 Ausführen von Datenbankprozeduren
EIO0000002413 11/2016
19
Beschreibung
In der nachstehenden Tabelle werden die Merkmale der Bibliothek aufgeführt:
Merkmal
Wert
Bibliothekstitel
SqlRemoteAccess
Firma
Schneider Electric
Kategorie
Kommunikation
Komponente
SQL-Bibliothek
Standard-Namespace
SE_SQL
Sprachmodell-Attribut
qualified-access-only (siehe SoMachine,
Benutzerhandbuch zu Funktionen und Bibliotheken)
Aufwärtskompatible Bibliothek
Ja (AWK (siehe SoMachine, Benutzerhandbuch zu
Funktionen und Bibliotheken))
(Nur qualifizierter Zugriff)
HINWEIS: Für diese Bibliothek wurde das Attribut „qualified-access-only“ für die Beschränkung auf
einen qualifizierten Zugriff eingestellt. Das bedeutet, dass für den Zugriff auf die POUs,
Datenstrukturen, Enumerationen (Aufzählungen) und Konstanten der Namespace der Bibliothek
erforderlich ist. Der Standard-Namespace der Bibliothek lautet SE_SQL.
Allgemeine Hinweise
Für die SQL-Kommunikation gelten folgende Einschränkungen:
Nur IPv4 (Internetprotokoll Version 4) wird unterstützt.
 Es werden nur Datenbanktypen unterstützt, die der Norm IEC 61131-3 entsprechen.
 Das Lesen und Schreiben von BLOB-Objekten (Binary Large Objects) in einer Datenbank wird
nicht unterstützt.

Hinweise zur Cybersicherheit
Die Funktionen der SqlRemoteAccess-Bibliothek unterstützen keine sicheren Verbindungen zum
SQL Gateway, wie beispielsweise TLS (Transport Layer Security) oder SSL (Secure Socket
Layer). Aus diesem Grund sollte die Kommunikation nur innerhalb Ihres industriellen Netzwerks
erfolgen, das von anderen Netzwerken Ihres Unternehmens getrennt und vom Internet geschützt
ist.
HINWEIS: Schneider Electric operiert unter den Industriestandards bei der Entwicklung und
Implementierung von Steuerungssystemen. Dies beinhaltet ein „Defense-in-Depth-Konzept“ zum
Schutz industrieller Steuerungssysteme. Bei diesem Verfahren werden die Steuerungen hinter
einer oder mehreren Firewalls platziert, um den Zugriff auf autorisierte Personen und Protokolle zu
beschränken.
20
EIO0000002413 11/2016
Beschreibung
WARNUNG
UNBERECHTIGTER ZUGRIFF MIT UNBERECHTIGTEM MASCHINENBETRIEB







Beurteilen Sie, ob Ihre Betriebsumgebung bzw. Ihre Maschinen mit Ihrer kritischen
Infrastruktur verbunden sind. Ist das der Fall, dann ergreifen Sie angemessene Präventivmaßnahmen auf der Basis des Defense-in-Depth-Konzepts, bevor Sie das
Automatisierungssystem mit einem Netzwerk verbinden.
Begrenzen Sie die Anzahl der mit einem Netzwerk verbundenen Geräte auf das strikte
Minimum.
Isolieren Sie Ihr Industrienetzwerk von anderen Netzwerken in Ihrer Firma.
Schützen Sie alle Netzwerke vor unberechtigtem Zugriff mithilfe von Firewalls, VPNs oder
anderen bewährten Schutzmaßnahmen.
Überwachen Sie die Aktivität in Ihren Systemen.
Verhindern Sie jeden direkten Zugriff bzw. jede direkte Verbindung von Fachgeräten durch
unberechtigte Personen oder nicht autorisierte Vorgänge.
Stellen Sie einen Wiederherstellungsplan für den Notfall auf. Dazu gehört ebenfalls der
Backup Ihrer System- und Prozessdaten.
Die Nichtbeachtung dieser Anweisungen kann Tod, schwere Verletzungen oder Sachschäden
zur Folge haben.
Übersicht über die POUs
Funktionsbaustein/Funktion
Verwendung
FB_SqlDbRead (siehe Seite 46)
Führt SQL-Requests zum Auslesen von Daten aus der SQLDatenbank aus.
FB_SqlDbWrite (siehe Seite 49)
Führt SQL-Requests zur Aktualisierung oder Änderung der
SQL-Datenbank aus.
FC_EtResultToString (siehe Seite 53)
Konvertiert ein Enumerationselement vom Typ ET_Result in
eine Zeichenfolgenvariable.
Überblick über die Strukturen der modulspezifischen Schnittstelle
Struktur
Verwendung
ST_ConnectionSettings (siehe Seite 33)
Enthält Informationen für den Aufbau einer Verbindung zu
einem SQL Gateway sowie zur SQL-Datenbank.
Übersicht über die Enumerationen
Enumeration
Verwendung
ET_Result (siehe Seite 29)
Enthält die möglichen Werte, die auf das Ergebnis der vom
Funktionsbaustein durchgeführten Operationen verweisen.
EIO0000002413 11/2016
21
Beschreibung
22
EIO0000002413 11/2016
SoMachine
Vorgehensweise zur Übertragung von Daten über das SQL Gateway zwischen SoMachine und einer beliebigen Datenbank
EIO0000002413 11/2016
Kapitel 3
Vorgehensweise zur Übertragung von Daten über das SQL Gateway zwischen SoMachine und einer beliebigen Datenbank
Vorgehensweise zur Übertragung von Daten über das
SQL Gateway zwischen SoMachine und einer beliebigen
Datenbank
Funktionsprinzip
Systemanforderungen
Folgende systemspezifische Anforderungen sind zu beachten:
Server (z. B. MySQL, von Schneider Electric nicht bereitgestellt)
 SQL-Client (z. B. MySQL Workbench, von Schneider Electric nicht bereitgestellt)
 Datenbank, erstellt mit dem SQL-Client (z. B. MySQL Workbench)
 SQL Gateway (separate Installation auf der SoMachine-DVD)
 SqlRemoteAccess-Bibliothek (Teil der Installation von SoMachine)

Vorgehensweise zur Übertragung von Daten über das SQL Gateway von SoMachine in eine beliebige
Datenbank
Vor der Übertragung von Daten muss die SQL-Verbindung mithilfe des SQL Gateway hergestellt
werden. Detaillierte Informationen hierzu finden Sie im Benutzerhandbuch des SQL-Gateways
(siehe Seite 10).
Um mit dem SQL Gateway kommunizieren zu können, müssen Sie beim Administrator der SQLUmgebung ggf. Umständen Informationen zum SQL Gateway sowie zur Datenbank anfordern. Sie
benötigen die IP-Adresse des SQL Gateway, den im SQL Gateway konfigurierten
Verbindungsnamen sowie den Namen der Datenbank.
HINWEIS: Die in den Codebeispielen in dieser Bescchreibung verwendete SQL-Syntax beruht auf
einem MySQL-Server. Wenn Sie einen anderen SQL-Server verwenden, können die Befehle
unterschiedlich ausfallen.
Schreiben von Daten vom SoMachine in die Datenbank
Deklaration:
PROGRAM WriteData
VAR
fbWrite
: SE_SQL.FB_SqlDbWrite;
stConnSettings
: SE_SQL.ST_ConnectionSettings;
refRequestWstring : SE_SQL.RequestWstring;
END_VAR
EIO0000002413 11/2016
23
Vorgehensweise zur Übertragung von Daten über das SQL Gateway zwischen SoMachine und einer beliebigen Daten-
Implementierung:
stConnSettings.wsDbConnectionName
:= "ConnectionCountry";
stConnSettings.wGwPort
:= 3457;
stConnSettings.wsGwIpAddress
:= "10.128.154.47";
stConnSettings.timSqlTimeout
:= T#20S;
//SQL Command to insert a new Country - MySQLSyntax: INSERT INTO <database name>.<table name> (column1...columnN) va
lues (value1...valueN)
//SQLite-Syntax: without "<database name>.")
refRequestWstring[1]
:= "INSERT INTO world.countries (C
ountry, CapitalCity, Language)";
refRequestWstring[2]
:= "values ('Germany', 'Berlin', '
german')";
fbWrite(
i_xExecute
iq_stConnSettings
i_refRequestWstring
i_uiNumOfWstrings
);
:=
:=
:=
:=
TRUE,
stConnSettings,
refRequestWstring,
2
Beschreibung der verwendeten Parameter
Schritt
Aktion
1
Stellen Sie in ST_ConnectionSettings (siehe Seite 33) die IP-Adresse (wsGwIpAddress
(siehe Seite 33)) Ihres PC ein, auf dem das Gateway ausgeführt wird. Beispiel: 10.128.154.47.
2
Legen Sie in ST_ConnectionSettings (siehe Seite 33) den Port (wGwPort (siehe Seite 33)) des
Gateways fest (Standardeinstellung: 3457).
3
Geben Sie in ST_ConnectionSettings (siehe Seite 33) den in den SQL Gateway konfigurierten
Verbindungsnamen (wsDbConnectionName (siehe Seite 33)) an. Beispiel:
ConnectionCountry.
4
Stellen Sie in ST_ConnectionSettings (siehe Seite 33) das Timeout (timSqlTimeout
(siehe Seite 33)) ein. Beispiel: T#20S.
5
Schreiben Sie Ihren Schreibrequest in refRequestWstring (siehe Seite 46). Beispiel: INSERT
INTO world.countries (Country) values ('France').
6
Stellen Sie in i_uiNumOfWstrings (siehe Seite 46) die Zeilen in refRequestWstring
(siehe Seite 46) ein. Beispiel: 2.
7
Rufen Sie FB_SqlDbWrite (siehe Seite 49) mit den oben aufgeführten
Einstellungen/Parametern/Variablen auf.
HINWEIS: Pro Funktionsbausteinaufruf kann nur jeweils ein Request gesendet werden.
24
EIO0000002413 11/2016
Vorgehensweise zur Übertragung von Daten über das SQL Gateway zwischen SoMachine und einer beliebigen Daten-
Auslesen von Daten von SoMachine in die Datenbank
Deklaration:
PROGRAM ReadData
VAR
fbRead
stConnSettings
refRequestWstring
refUserData
END_VAR
:
:
:
:
SE_SQL.FB_SqlDbRead;
SE_SQL.ST_ConnectionSettings;
SE_SQL.RequestWstring;
SE_SQL.UserData;
Implementierung:
stConnSettings.wsDbConnectionName
stConnSettings.wGwPort
stConnSettings.wsGwIpAddress
stConnSettings.timSqlTimeout
:=
:=
:=
:=
"ConnectionCountry";
3457;
"10.128.154.47";
T#1 M;
//SQL Command to read all Countries in the database - MySQLSyntax: SELECT (column1...columnN) FROM <database name>.<table name> [w
here <column>=<value>]
//SQLite-Syntax: without "<database name>."
refRequestWstring[1]
:= "SELECT * FROM world.countries";
fbRead
(
i_xExecute
iq_stConnSettings
i_refRequestWstring
i_uiNumOfWstrings
i_refUserData
:=
:=
:=
:=
:=
TRUE,
stConnSettings,
refRequestWstring,
1,
refUserData
);
Beschreibung der verwendeten Parameter
Schritt
Aktion
1
Stellen Sie in ST_ConnectionSettings (siehe Seite 33) die IP-Adresse (wsGwIpAddress
(siehe Seite 33)) Ihres PC ein, auf dem das SQL Gateway ausgeführt wird. Beispiel:
10.128.154.47.
2
Legen Sie in ST_ConnectionSettings (siehe Seite 33) den Port (wGwPort (siehe Seite 33)) des
Gateways fest (Standardeinstellung: 3457).
3
Geben Sie in ST_ConnectionSettings (siehe Seite 33) den im SQL Gateway konfigurierten
Verbindungsnamen (wsDbConnectionName (siehe Seite 33)) an. Beispiel:
ConnectionCountry.
4
Stellen Sie in ST_ConnectionSettings (siehe Seite 33) das Timeout (timSqlTimeout
(siehe Seite 33)) ein. Beispiel: T#20S.
5
Schreiben Sie Ihren Leserequest in refRequestWstring (siehe Seite 46). Beispiel: SELECT *
FROM world.countries.
EIO0000002413 11/2016
25
Vorgehensweise zur Übertragung von Daten über das SQL Gateway zwischen SoMachine und einer beliebigen DatenSchritt
Aktion
6
Stellen Sie in i_uiNumOfWstrings (siehe Seite 46) die Zeilen in refRequestWstring
(siehe Seite 46) ein. Beispiel: 1.
7
Geben Sie in i_refUserData (siehe Seite 46) das UserData (siehe Seite 46)-Array
(Benutzerdaten) an.
8
Rufen Sie FB_SqlDbRead (siehe Seite 46) mit den oben aufgeführten
Einstellungen/Parametern/Variablen auf.
Erweiterte Einstellungen für den Datenpuffer / Request mit den globalen Parametern
HINWEIS: Die erweiterten Einstellungen können speziell für Ihr Projekt im Bibliotheksverwalter
überschrieben werden.
Schritt
26
Aktion
1
Legen Sie in Gc_uiMaxRows (siehe Seite 41) die maximale Anzahl an Zeilen für das ARRAY of
UserData fest (nur erforderlich für FB_SqlDbRead (siehe Seite 46)). Beispiel: 20.
Ergebnis: In der konfigurierten Datenbank können 20 Zeilen gelesen werden.
2
Legen Sie in Gc_uiMaxColumns (siehe Seite 41) die maximale Anzahl an Spalten für das
ARRAY of UserData fest (nur erforderlich für FB_SqlDbRead). Beispiel: 10.
Ergebnis: In der konfigurierten Datenbank können 10 Spalten gelesen werden.
3
Legen Sie in Gc_uiTableWstringLength (siehe Seite 41) die maximale Anzahl an Zeichen im
zweidimensionalen ARRAY of UserData fest (nur erforderlich für FB_SqlDbRead
(siehe Seite 46)). Beispiel: 200.
Ergebnis: In der konfigurierten Datenbank können 200 Zeichen gelesen werden.
4
Legen Sie in Gc_uiMaxRequest (siehe Seite 41) die maximale Anzahl an Zeilen für das ARRAY
of RequestWstring fest. Beispiel: 20.
Ergebnis: Der Request kann in 20 WSTRINGs-Zeilen aufgespalten werden.
5
Legen Sie in Gc_uiRequestWstringLength (siehe Seite 41) die maximale Anzahl an Zeichen im
ARRAY of RequestWstring fest. Beispiel: 200.
Ergebnis: Eine Request-Zeile kann 200 Zeichen umfassen.
EIO0000002413 11/2016
SoMachine
Enumerationen
EIO0000002413 11/2016
Teil II
Enumerationen
Enumerationen
Inhalt dieses Teils
Dieser Teil enthält die folgenden Kapitel:
Kapitel
Kapitelname
Seite
4
Enumerationen
29
5
Strukturen
33
6
ALIAS (DUT)
35
EIO0000002413 11/2016
27
Enumerationen
28
EIO0000002413 11/2016
SoMachine
Enumerationen
EIO0000002413 11/2016
Kapitel 4
Enumerationen
Enumerationen
ET_Result
Übersicht
Typ
Enumeration
Verfügbar ab:
V1.0.0.0
Beschreibung
Die Enumeration ET_Result enthält die möglichen Werte, die auf das Ergebnis der vom
Funktionsbaustein durchgeführten Operationen verweisen.
Enumerationselemente
Name
Datentyp Wert Beschreibung
Wenn q_xError eines Funktionsbausteins (siehe Seite 45) den Wert FALSE aufweist, wird die nachstehend
aufgeführte Statusmeldung angezeigt.
Ok
DINT
0
Operation erfolgreich abgeschlossen.
Wenn q_xError eines Funktionsbausteins (siehe Seite 45) den Wert TRUE aufweist, wird eine der nachstehend
aufgeführten Statusmeldungen angezeigt.
TcpClientIssue
DINT
1
Die TCP-Operation wurde nicht erfolgreich
abgeschlossen. Generisches TCP-Problem. Siehe das
TcpUdpCommunication-Bibliothekshandbuch
(siehe SoMachine, TcpUdpCommunication,
Bibliothekshandbuch).
InvalidIP
DINT
26
Die angegebene IP-Adresse ist ungültig. Prüfen Sie die
Einstellung des
iq_stConnSettings.wsGpIpAddress
(siehe Seite 33)-Eingangs.
ClientNotConnected
DINT
28
Der Client ist nicht mit dem TCP-Server verbunden.
Vergewissern Sie sich, dass das SQL Gateway installiert
ist und an der angegebenen IP-Adresse und am
vorgegebenen Port ausgeführt wird.
ConnectionTimedOut
DINT
41
Das dezentrale System ist nicht verfügbar oder antwortet
nicht auf den Request. Vergewissern Sie sich, dass das
SQL Gateway installiert ist und an der angegebenen IPAdresse und am vorgegebenen Port ausgeführt wird.
EIO0000002413 11/2016
29
Enumerationen
Name
Datentyp Wert Beschreibung
DbConnectionNameNull
DINT
61
DbConnectionName ist leer (Null). Das Element
wsDbConnectionName des Eingangs
iq_stConnSettings (siehe Seite 33) ist leer.
DataBufferTooSmall
DINT
63
Der Benutzerpuffer ist nicht ausreichend für die
zurückgegebenen Daten. Vergleichen Sie die Anzahl der
zurückgegebenen Zeilen und Spalten mit den
Einstellungen in der globalen Parameterliste
(siehe Seite 41), um die Mindesteinstellungen in
q_uiRetNumOfRows (q_uiRetNumOfColumns) für
FB_SqlDbRead (siehe Seite 46) nach jeder Ausführung
zu identifzieren.
SqlDatabaseBusy
DINT
64
Zurzeit wird ein früherer Request verarbeitet. Im
Augenblick wird eine andere Instanz mit demselben
Eingang für iq_stConnSettings ausgeführt (Ausgang
q_xBusy = TRUE).
SqlGwToPlcCorruptedMessage
DINT
65
Die Steuerung hat eine ungültige Meldung vom
SQL Gateway empfangen. Nehmen Sie Kontakt mit dem
örtlichen Schneider Electric-Support auf.
TimeoutExpired
DINT
66
Betriebs-Timeout des Funktionsbausteins abgelaufen.
Prüfen Sie die Einstellung des Eingangs
iq_stConnSettings.timSqlTimeout
(siehe Seite 33). Je nach Systemkonfiguration muss der
Standardwert erhöht werden.
TransactionNumMismatch
DINT
67
Transaktionsnummer stimmt nicht überein. Schneider
ElectricNehmen Sie Kontakt mit dem örtlichen Support
auf.
TransmissionNumMismatch
DINT
68
Übertragungsnummer stimmt nicht überein. Schneider
ElectricNehmen Sie Kontakt mit dem örtlichen Support
auf.
ConnectionNotIdle
DINT
69
TcpUdp-Client-Verbindung bereits von einem anderen
Dienst verwendet. Vergewissern Sie sich, dass keine
andere Instanz von TCPUDP.FB_TCPClient innerhalb
Ihrer Anwendung die Verbindung belegt.
SocketNotClosed
DINT
70
Methode Shutdown oder Close von TcpUdp nicht
erfolgreich. Problem mit der TCP-Verbindung. Starten
Sie die Steuerung neu.
NoDataReturned
DINT
71
Der Funktionsbaustein FB_SqlDbGetData stellt keine
Daten bereit. Der SQL-Request wurde erfolgreich
ausgeführt, es wurden jedoch keine Daten
zurückgegeben. Vergewissern Sie sich, dass die
zugeordnete Datenbank Daten enthält.
30
EIO0000002413 11/2016
Enumerationen
Name
Datentyp Wert Beschreibung
NotConnected
DINT
72
TcpUdp-Client-System nicht bereit für den Empfang bzw.
die Übertragung von Daten. Problem mit der TCPVerbindung. Starten Sie die Steuerung neu.
InvalidPort
DINT
80
Die angegebene Portnummer ist gleich Null. Prüfen Sie
den iq_stConnSettings.wGwPort (siehe Seite 33)Eingang. In der Regel wird der Standardwert 3457
verwendet.
InvalidWstringNumber
DINT
81
Der Eingang i_uiNumOfWstrings weist einen Wert
unter 1 oder über GPL.Gc_uiMaxRequest auf.
Prüfen Sie den i_uiNumOfWstrings-Eingang.
Mindestens ein WSTRING ist erforderlich.
Stellen Sie zudem sicher, dass die angegebene Zahl den
Grenzwert GPL.Gc_uiMaxRequest überschreitet (GPL
(siehe Seite 41)).
InvalidRequestWstring
DINT
82
Leere Request-Zeichenfolge oder ungültige Referenu
(NULL). Prüfen Sie den i_refRequestWstring
(siehe Seite 49)-Eingang. Der erste WSTRING
(i_refRequestWstring[1]) muss einen beliebigen
Buchstaben enthalten. Vergewissern Sie sich, dass der
Eingang zugewiesen wurde.
InvalidUserDataWstring
DINT
8
Ungültige Benutzerdatenreferenz (NULL). Vergewissern
Sie sich, dass der i_refUserData (siehe Seite 46)Eingang zugewiesen wurde.
GplMaxRowsExceedsLimits
DINT
85
GPL.Gc_uiMaxRows liegt außerhalb des zulässigen
Bereichs. Überprüfen Sie die Einstellungen der globalen
Parameterliste (siehe Seite 41).
GplMaxColumnsExceedsLimits
DINT
86
GPL.Gc_uiMaxColumns liegt außerhalb des
zulässigen Bereichs. Überprüfen Sie die Einstellungen
der globalen Parameterliste (siehe Seite 41).
GplTableWstringExceedsLimits
DINT
87
GPL.Gc_uiTableWstringLength liegt außerhalb des
zulässigen Bereichs. Überprüfen Sie die Einstellungen
der globalen Parameterliste (siehe Seite 41).
GplRequestWstringExceedsLimits DINT
88
GPL.Gc_uiRequestWstringLength liegt außerhalb
des zulässigen Bereichs. Überprüfen Sie die
Einstellungen der globalen Parameterliste
(siehe Seite 41).
GplMaxRequestExceedsLimits
DINT
89
GPL.Gc_uiMaxRequest liegt außerhalb des
zulässigen Bereichs. Überprüfen Sie die Einstellungen
der globalen Parameterliste (siehe Seite 41).
GplMaxByteArrayExceedsLimits
DINT
90
GPL.Gc_uiByteArrayLength liegt außerhalb des
zulässigen Bereichs. Überprüfen Sie die Einstellungen
der globalen Parameterliste (siehe Seite 41).
EIO0000002413 11/2016
31
Enumerationen
Name
Datentyp Wert Beschreibung
GplMaxRecBufferExceedsLimits
DINT
91
GPL.Gc_uiRecBufferLength liegt außerhalb des
zulässigen Bereichs. Überprüfen Sie die Einstellungen
der globalen Parameterliste (siehe Seite 41).
GplMaxSendBufferExceedsLimits
DINT
92
GPL.Gc_uiSendBufferLength liegt außerhalb des
zulässigen Bereichs. Überprüfen Sie die Einstellungen
der globalen Parameterliste (siehe Seite 41).
ConnectionNameNotExisting
DINT
100
Der SQL Gateway-Verbindungsname existiert nicht.
Prüfen Sie die verfügbaren Datenbankverbindungen auf
der SQL Gateway-Konsole.
DbConfigurationInvalid
DINT
101
Die SQL Gateway-Verbindungskonfiguration stimmt
nicht überein. Führen Sie Test Database
Connection auf der SQL Gateway-Konsole aus.
DbConnectionNotAvailable
DINT
102
Die SQL Gateway-Verbindung zur Datenbank
funktioniert nicht. Führen Sie Test Database
Connection auf der SQL Gateway-Konsole aus.
SqlGwProtocolError
DINT
120
Protokollfehler zwischen SQL-Bibliothek und Gateway
erkannt. Nehmen Sie Kontakt mit dem örtlichen
Schneider Electric-Support auf.
CommandExecutionIssue
DINT
150
Ausführung des SQL-Requests nicht erfolgreich. Prüfen
Sie den i_refRequestWString (siehe Seite 46)Eingang im Hinblick auf die Übereinstimmung mit der
erforderlichen SQL-Syntax. Siehe hierzu das SQLServer-Handbuch.
NoQueryResultAvailable
DINT
151
Das SQL Gateway stellt keine Antwort bereit.
Vergewissern Sie sicher, dass die adressierte
Datenbank Daten mit einer zusätzlichen Anwendung
enthält.
SqlGwInvalidLicense
DINT
170
Problem mit der SQL Gateway-Lizenz. Öffnen Sie den
License Manager, um sicherzustellen, dass SQL für
SoMachine gültig ist.
SqlGwUnexpectedError
DINT
199
SQL Gateway-Fehler erkannt. Nehmen Sie Kontakt mit
dem örtlichen Schneider Electric-Support auf.
HINWEIS: Die Ergebnisse im Bereich 100 bis 199 sind Meldungen vom SQL Gateway. Siehe
hierzu das Benutzerhandbuch des SQL-Gateways (siehe Seite 10).
Verwendet von
 FB_SqlDbRead
 FB_SqlDbWrite
32
EIO0000002413 11/2016
SoMachine
Strukturen
EIO0000002413 11/2016
Kapitel 5
Strukturen
Strukturen
ST_ConnectionSettings
Übersicht
Typ:
Struktur
Verfügbar ab:
V1.0.0.0
Übernommen aus:
–
Beschreibung
Die Struktur ST_ConnectionSettings enthält Informationen für den Aufbau einer Verbindung
zu einem SQL Gateway sowie zur SQL-Datenbank.
Strukturelemente
Name
Datentyp
Beschreibung
wsDbConnectionName
WSTRING[40]
Der Wert dieses Elements muss mit dem im SQL Gateway
konfigurierten Verbindungsnamen übereinstimmen. Siehe
hierzu das Benutzerhandbuch des SQL-Gateways
(siehe Seite 10).
wsGwIpAddress
WSTRINGGPL.Gc_uiIp IP-Adresse des SQL Gateway. Hierbei handelt es sich um die
StringSize
IP-Adresse des Servers, auf dem das Gateway ausgeführt
wird.
wGwPort
WORD
Die Portnummer des SQL Gateway.
Standardwert: 3457
timSqlTimeout
TIME
Der Timeout-Wert, der auf SQL-Requests angewendet wird.
Standardwert: 60 s
Verwendet von
 FB_SqlDbRead
 FB_SqlDbWrite
EIO0000002413 11/2016
33
Strukturen
34
EIO0000002413 11/2016
SoMachine
ALIAS (DUT)
EIO0000002413 11/2016
Kapitel 6
ALIAS (DUT)
ALIAS (DUT)
ALIAS - Device Unit Types (DUT)
Übersicht
Typ:
ALIAS (DUT)
Verfügbar ab:
V1.0.0.0
Übernommen aus:
–
Beschreibung
Die ALIASE RequestWstring und UserData gruppieren komplexe Datenstrukturen in einem
Datentyp, um die Benutzeroberfläche übersichtlicher zu gestalten.
RequestWstring
Name
Datentyp
Beschreibung
RequestWstring
ARRAY
[1..GPL.Gc_uiMaxRequest]
OF WSTRING(GPL.Gc_ui
RequestWstringLength)
RequestWstring ist ein ALIAS für ein WSTRINGS-Array. Der
Request STRING enthält den SQL-Abfragerequest.
Jeder SQL-Request muss in separate Zeichenfolgen einer Länge
von jeweils maximal 200 Zeichen aufgespalten werden.
Passen Sie die Größe der globalen Parameter (siehe Seite 41)
Gc_uiMaxRequest und Gc_uiRequestWstringLength in
Übereinstimmung mit der Länge der in Ihrer Anwendung
verwendeten SQL-Requests an.
Name
Datentyp
Beschreibung
UserData
ARRAY
[1..GPL.Gc_uiMaxRows,
1..GPL.Gc_uiMaxColumns]
OF
WSTRING(GPL.Gc_uiTable
WstringLength)
UserData ist ein WSTRING-Array, das in der Steuerung für die
Speicherung der aus der Datenbank ausgelesenen SQL-Daten
verfügbar sein muss.
Passen Sie die Größe der globalen Parameter (siehe Seite 41)
Gc_uiMaxRows, Gc_uiMaxColums und
GPL.Gc_uiTableWstringLength in Übereinstimmung mit der
maximalen Größe der Benutzerdaten (UserData) für den
Empfang in Ihrer Anwendung an.
UserData
EIO0000002413 11/2016
35
ALIAS (DUT)
36
EIO0000002413 11/2016
SoMachine
Globale Variablen
EIO0000002413 11/2016
Teil III
Globale Variablen
Globale Variablen
Inhalt dieses Teils
Dieser Teil enthält die folgenden Kapitel:
Kapitel
Kapitelname
Seite
7
Liste der globalen Konstanten
39
8
Liste der globalen Parameter
41
EIO0000002413 11/2016
37
Globale Variablen
38
EIO0000002413 11/2016
SoMachine
Liste der globalen Konstanten
EIO0000002413 11/2016
Kapitel 7
Liste der globalen Konstanten
Liste der globalen Konstanten
Liste globaler Konstanten (LGK)
Übersicht
Typ:
Globale Konstanten
Verfügbar ab:
V1.0.0.0
Beschreibung
Die Liste der globalen Konstanten (LGK) enthält die globalen Konstanten der SqlRemoteAccessBibliothek.
Globale Konstanten
Variable
Datentyp
Gc_sLibraryVersion
STRING[80]
1
Wert
Beschreibung
1
Vx.x.x.0
Bibliotheksversion
Dieser Wert verweist auf die Version der Bibliothek und fällt dementsprechend jeweils unterschiedlich aus.
EIO0000002413 11/2016
39
Liste der globalen Konstanten
40
EIO0000002413 11/2016
SoMachine
Liste der globalen Parameter
EIO0000002413 11/2016
Kapitel 8
Liste der globalen Parameter
Liste der globalen Parameter
Globale Parameterliste (GPL)
Übersicht
Typ:
Globale Parameter
Verfügbar ab:
V1.0.0.0
Beschreibung
Die globale Parameterliste enthält die globalen Parameter der SqlRemoteAccess-Bibliothek. Sie
können spezifisch für Ihr Projekt im Bibliotheksverwalter überschrieben werden.
In den globalen Parametern der SqlRemoteAccess-Biliothek können Sie die Größe der folgenden
ALIAS für Datenpuffer festlegen:
 UserData (siehe Seite 35) - Benutzerdaten müssen in der Steuerung für die Speicherung der
aus der SQL-Datenbank ausgelesenen SQL-Daten verfügbar sein.
 RequestData (siehe Seite 35) - Request-Daten müssen in der Steuerung zur Segmentierung
der SQL-Requests in separate Zeichenfolge mit jeweils maximal 200 Zeichen vor der
Übertragung an die SQL-Datenbank verfügbar sein.
Globale Parameter
Variable
Datentyp
Wert
Bereich
Beschreibung
Gc_uiIpStringSize
UINT
–
WSTRING-Obergrenze für das Element
wsGwIpaddress in der
ST_ConnectionSettings-Struktur
(siehe Seite 33).
Standardwert: 15
Gc_uiMaxRows
UINT
1...50
Maximale Anzahl an Zeilen für das ARRAY mit
Benutzerdaten (siehe Seite 48).
Standardwert: 20
Gc_uiMaxColumns
UINT
1...50
Maximale Anzahl an Spalten für das ARRAY mit
Benutzerdaten (siehe Seite 48).
Standardwert: 10
Gc_uiTableWstringLength
UINT
20...200
Länge von WSTRING im ARRAY mit
Benutzerdaten (siehe Seite 48).
Standardwert: 200
EIO0000002413 11/2016
41
Liste der globalen Parameter
Variable
Datentyp
Gc_uiRequestWstringLength UINT
Wert
Bereich
Beschreibung
20...200
Länge von WSTRING im ARRAY der RequestDaten.
Konfigurieren Sie einen Wert, der der Länge der
in Ihrer Anwendung verwendeten SQL-Requests
entspricht.
Standardwert: 200
Gc_uiMaxRequest
UINT
1...40
Obergrenze für das ARRAY der Request-Daten.
Konfigurieren Sie einen Wert, der der Länge der
in Ihrer Anwendung verwendeten SQL-Requests
entspricht.
Standardwert: 20
Gc_uiByteArrayLength
UINT
255...
65355
Obergrenze für das ARRAY OF BYTE zum
Lesen oder Schreiben von Binärdaten.
Im Rahmen einer Funktionsbausteinausführung
kann jeweils nur eine Zeile/Spalte gelesen oder
geschrieben werden (für Standarddatentypen
wird ein zweidimensionales Array definiert).
Standardwert: 300
Gc_uiRecBufferLength
UINT
512...
2000
Länge des Antwortpuffers in Byte.
Standardwert: 1000
Gc_uiSendBufferLength
UINT
512...
2000
Länge des Sendepuffers in Byte.
Standardwert: 1000
HINWEIS: Die Variablen Gc_uiRecBufferLength und Gc_uiSendBufferLength geben die
Größe des internen Puffers für das Senden und den Empfang von Daten an. Die Größe dieser
Puffer bestimmt die erforderliche Anzahl an Zyklen für die vollständige Übertragung eines
Requests oder einer Antwort zwischen Steuerung und SQL Gateway. Die von Ihnen ausgewählten
Werte können sich auf die Ausführungszeit der SQL-Dienste sowie auf den Speicher und damit
auf die globale Leistung Ihrer Anwendung auswirken.
42
EIO0000002413 11/2016
SoMachine
Programmorganisationseinheiten (POU)
EIO0000002413 11/2016
Teil IV
Programmorganisationseinheiten (POU)
Programmorganisationseinheiten (POU)
Inhalt dieses Teils
Dieser Teil enthält die folgenden Kapitel:
Kapitel
9
10
EIO0000002413 11/2016
Kapitelname
Seite
Funktionsbausteine
45
Funktionen
53
43
Programmorganisationseinheiten (POU)
44
EIO0000002413 11/2016
SoMachine
Funktionsbausteine
EIO0000002413 11/2016
Kapitel 9
Funktionsbausteine
Funktionsbausteine
Inhalt dieses Kapitels
Dieses Kapitel enthält die folgenden Themen:
Thema
Seite
FB_SqlDbRead
46
FB_SqlDbWrite
49
EIO0000002413 11/2016
45
Funktionsbausteine
FB_SqlDbRead
Übersicht
Typ
Funktionsbaustein
Verfügbar ab
V1.0.0.0
Aufgabe
Der Funktionsbaustein FB_SqlDbRead ermöglicht die Ausführung von SQL-Requests zum
Auslesen von Daten aus der SQL-Datenbank. Die Rückgabedaten werden in einem zweidimensionalen Daten-Array bereitgestellt, dessen Größe mittels globaler Parameter (siehe Seite 41)
festgelegt wird.
Funktionsbeschreibung
Der Funktionsbaustein FB_SqlDbRead fungiert als Benutzerschnittstelle für das Lesen von Daten
in der SQL-Datenbank.
Bei Erkennung einer steigenden Flanke an i_xExecute wird unter Verwendung der in der
Struktur ST_ConnectionSettings definierten Parameter eine Verbindung zum SQL Gateway
hergestellt. Sobald die Verbindung aufgebaut ist, kann der Funktionsbaustein einen SQL-Request
an die SQL-Datenbank senden.
Während der Ausführung des Funktionsbausteins steht der Ausgang q_xBusy auf TRUE. Sobald
ein Befehl erfolgreich abgeschlossen wurde, wird der Ausgang q_xDone auf TRUE gesetzt.
Statusmeldungen und Diagnoseinformationen werden unter Verwendung der Ausgänge
q_xError (TRUE, wenn ein Fehler erkannt wurde), q_etResult und q_etResultMsg
bereitgestellt.
46
EIO0000002413 11/2016
Funktionsbausteine
Schnittstelle
Eingang
Datentyp
Beschreibung
i_xExecute
BOOL
Der Funktionsbaustein führt einen SQLRequest aus, um bei einer steigenden
Flanke an diesem Eingang Daten in der
SQL-Datenbank zu lesen.
i_refRequestWstring
REFERENCE TO
[RequestWstring]
Verweis auf die Request-Daten, die einen
SQL-Abfragerequest enthalten (z. B.
Select * from DB limit 10;).
Jeder SQL-Request muss in separate
Zeichenfolgen einer Länge von jeweils
maximal 200 Zeichen aufgespalten werden.
Passen Sie die Größe der globalen
Parameter (siehe Seite 41)
Gc_uiMaxRequest und
Gc_uiRequestWstringLength in
Übereinstimmung mit der Länge der in Ihrer
Anwendung verwendeten SQL-Requests
an.
(siehe Seite 35)
HINWEIS: Verwenden Sie zur Verkettung
der WSTRINGS die Funktion WCONCAT
der Standard64-Bibliothek.
i_uiNumOfWstrings
UINT
Die Anzahl der erforderlichen WSTRINGS
mit dem aufgeteilten SQL-Request.
Die maximale Anzahl wird vom globalen
Parameter (siehe Seite 41)
Gc_uiMaxRequest vorgegeben.
i_refUserData
REFERENCE TO
[UserData]
(siehe Seite 35)
Verweis auf die Benutzerdaten (UserData
(siehe Seite 48)), die in der Steuerung für
die Speicherung der aus der Datenbank
ausgelesenen SQL-Daten verfügbar sein
müssen.
Datentyp
Beschreibung
ST_ConnectionSettings
Enthält Informationen für den Aufbau einer
Verbindung zu einem SQL Gateway sowie
zur SQL-Datenbank.
Eingang/Ausgang
iq_stConnSettings
(siehe Seite 33)
EIO0000002413 11/2016
47
Funktionsbausteine
Ausgang
Datentyp
Beschreibung
q_xBusy
BOOL
Wenn dieser Ausgang auf TRUE gesetzt
wird, bedeutet das, dass der
Funktionsbaustein ausgeführt wird.
q_xDone
BOOL
Wenn dieser Ausgang auf TRUE gesetzt
wird, wurde die Ausführung erfolgreich
abgeschlossen.
q_xError
BOOL
Wenn dieser Ausgang auf TRUE gesetzt
wird, wurde ein Fehler identifiziert. Für
weitere Informationen, siehe q_etResult
und q_etResultMsg,
q_etResult
ET_Result
Gibt Diagnose- und Statusinformationen an.
q_sResultMsg
STRING[255]
Gibt zusätzliche Diagnose- und
Statusinformationen an.
q_uiRetNumOfRows
UINT
Anzahl der Zeilen in den Rückgabedaten.
Dieser Ausgang wird mit der Anzahl der von
der SQL-Datenbank empfangenen
Datensätze aktualisiert.
q_uiRetNumOfColumns
UINT
Anzahl der Spalten in den Rückgabedaten.
Dieser Ausgang wird mit der Anzahl der von
der SQL-Datenbank empfangenen
Datensätze aktualisiert.
Definition eines ARRAY mit Benutzerdaten.
Ein zweidimensionales ARRAY muss in der Steuerung für die Zwischenspeicherung der aus der
Datenbank ausgelesenen SQL-Daten verfügbar sein. Das zweidimensionale ARRAY wird im
ALIAS UserData (siehe Seite 35) definiert.
Die Größe des ARRAY kann über die globalen Parameter (siehe Seite 41) Gc_uiMaxRows,
Gc_uiMaxColumns und Gc_uiTableWstringLength angepasst werden.
Bei der Konfiguration dieser Parameter ist der Umfang der SQL-Daten zu berücksichtigen, deren
Empfang erwartet wird. Vor dem Start der Datenübertragung werden die SQL-Daten gemäß der
Größe dieses Puffers segmentiert.
Wenn die empfangenen SQL-Daten die Größe des ARRAY überschreiten, wird der SQLDatentransfer angehalten und der Funktionsbaustein signalisiert einen Fehler.
48
EIO0000002413 11/2016
Funktionsbausteine
FB_SqlDbWrite
Übersicht
Typ
Funktionsbaustein
Verfügbar ab
V1.0.0.0
Aufgabe
Der Funktionsbaustein FB_SqlDbWrite ermöglicht die Ausführung von SQL-Requests zur
Aktualisierung oder Änderung der SQL-Datenbank. Auf diese Requests werden keine Daten
zurückgegeben.
Funktionsbeschreibung
Der Funktionsbaustein FB_SqlDbWrite fungiert als Benutzerschnittstelle für die Aktualisierung
und Änderung der SQL-Datenbank.
Bei Erkennung einer steigenden Flanke an i_xExecute wird unter Verwendung der in der
Struktur ST_ConnectionSettings (siehe Seite 33) definierten Parameter eine Verbindung zum
SQL Gateway hergestellt. Sobald die Verbindung aufgebaut ist, kann der Funktionsbaustein einen
SQL-Request an die SQL-Datenbank senden (Übergabe an den Eingang
i_refRequestWstring).
Während der Ausführung des Funktionsbausteins steht der Ausgang q_xBusy auf TRUE. Sobald
ein Befehl erfolgreich abgeschlossen wurde, wird der Ausgang q_xDone auf TRUE gesetzt.
Statusmeldungen und Diagnoseinformationen werden unter Verwendung der Ausgänge
q_xError (TRUE, wenn ein Fehler erkannt wurde), q_etResult und q_etResultMsg
bereitgestellt.
EIO0000002413 11/2016
49
Funktionsbausteine
Schnittstelle
Eingang
Datentyp
Beschreibung
i_xExecute
BOOL
Der Funktionsbaustein führt einen SQLRequest aus, um die SQL-Datenbank bei
einer steigenden Flanke an diesem Eingang
zu aktualisieren oder zu ändern.
i_refRequestWstring
REFERENCE TO
[RequestWstring]
Verweis auf die Request-Daten, die einen
SQL-Aktualisierungsrequest enthalten.
Folgende SQL-Abfragetypen werden
unterstützt:
 INSERT INTO
 UPDATE
 DELETE FROM
 CREATE TABLE
 CREATE VIEW
 CREATE INDEX
 ALTER TABLE
 DROP TABLE
 TRUNCATE TABLE
(siehe Seite 35)
Jeder SQL-Request muss in separate
Zeichenfolgen einer Länge von jeweils
maximal 200 Zeichen aufgespalten werden.
Passen Sie die Größe der globalen
Parameter (siehe Seite 41)
Gc_uiMaxRequest und
Gc_uiRequestWstringLength in
Übereinstimmung mit der Länge der in Ihrer
Anwendung verwendeten SQL-Requests
an.
HINWEIS: Verwenden Sie zur Verkettung
der WSTRINGS die Funktion CONCAT der
Standard64-Bibliothek.
i_uiNumOfWstrings
UINT
Die Anzahl der erforderlichen WSTRINGS
mit dem aufgeteilten SQL-Request.
Die maximale Anzahl wird vom globalen
Parameter (siehe Seite 41)
Gc_uiMaxRequest vorgegeben.
Eingang/Ausgang
Datentyp
Beschreibung
iq_stConnSettings
ST_ConnectionSettings
Enthält Informationen für den Aufbau einer
Verbindung zu einem SQL Gateway sowie
zur SQL-Datenbank.
(siehe Seite 33)
50
EIO0000002413 11/2016
Funktionsbausteine
Ausgang
Datentyp
Beschreibung
q_xBusy
BOOL
Wenn dieser Ausgang auf TRUE gesetzt
wird, bedeutet das, dass der
Funktionsbaustein ausgeführt wird.
q_xDone
BOOL
Wenn dieser Ausgang auf TRUE gesetzt
wird, wurde die Ausführung erfolgreich
abgeschlossen.
q_xError
BOOL
Wenn dieser Ausgang auf TRUE gesetzt
wird, wurde ein Fehler identifiziert. Für
weitere Informationen, siehe q_etResult
und q_etResultMsg,
q_etResult
ET_Result
Gibt Diagnose- und Statusinformationen an.
q_sResultMsg
STRING[255]
Gibt zusätzliche Diagnose- und
Statusinformationen an.
EIO0000002413 11/2016
51
Funktionsbausteine
52
EIO0000002413 11/2016
SoMachine
Funktionen
EIO0000002413 11/2016
Kapitel 10
Funktionen
Funktionen
FC_EtResultToString
Übersicht
Typ:
Funktion
Verfügbar ab:
V1.0.0.0
Übernommen aus:
–
Implementiert:
–
Aufgabe
Konvertierung eines Enumerationselements vom Typ ET_Result in einen Zeichenfolgenwert mit
Diagnose- und Statusinformationen.
Funktionsbeschreibung
Über die Funktion FC_EtResultToString können Sie ein Enumerationselement vom Typ
ET_Result in einen Zeichenfolgenwert konvertieren.
Schnittstelle
Eingang
Datentyp
Beschreibung
i_etResult
ET_Result
Enumeration mit dem Ergebnis.
Rückgabewert
Datentyp
Beschreibung
STRING(80)
ET_Result, konvertiert in einen Zeichenfolgenwert.
EIO0000002413 11/2016
53
Funktionen
54
EIO0000002413 11/2016
SoMachine
EIO0000002413 11/2016
Anhang
EIO0000002413 11/2016
55
56
EIO0000002413 11/2016
SoMachine
Darstellung von Funktionen und Funktionsbausteinen
EIO0000002413 11/2016
Anhang A
Darstellung von Funktionen und Funktionsbausteinen
Darstellung von Funktionen und Funktionsbausteinen
Übersicht
Jede Funktion kann in den folgenden Sprachen dargestellt werden.
AWL: Anweisungsliste
 ST: Strukturierter Text
 KOP: Kontaktplan
 FBD: Funktionsbausteindiagramm
 CFC: Continuous Function Chart

Dieses Kapitel enthält Darstellungen von Funktionen und Funktionsbausteinen und erläutert deren
Verwendung in den Sprachen AWL und ST.
Inhalt dieses Kapitels
Dieses Kapitel enthält die folgenden Themen:
Thema
Seite
Unterschiede zwischen einer Funktion und einem Funktionsbaustein
58
Verwenden einer Funktion oder eines Funktionsbausteins in der Sprache AWL
59
Verwenden einer Funktion oder eines Funktionsbausteins in der Sprache ST
63
EIO0000002413 11/2016
57
Darstellung von Funktionen und Funktionsbausteinen
Unterschiede zwischen einer Funktion und einem Funktionsbaustein
Funktion
Eine Funktion hat die folgenden Eigenschaften:
Ist eine POU (Program Organization Unit), die ein einzelnes direktes Ergebnis zurückgibt
 Wird direkt über ihren Namen aufgerufen (nicht über eine Instanz)
 Ist nicht instanziiert
 Kann als Operand in anderen Ausdrücken verwendet werden

Beispiele: Boolesche Operatoren (AND), Berechnungen, Konvertierung (BYTE_TO_INT)
Funktionsbaustein
Ein Funktionsbaustein hat die folgenden Eigenschaften:
Ist eine POU (Program Organization Unit), die ein oder mehrere direkte Ausgänge zurückgibt
 Muss von einer Instanz aufgerufen werden (Funktionsbausteinkopie mit dediziertem Namen
und Variablen)
 Hat für jede Instanz einen persistenten Status (Ausgänge und interne Variablen) von einem
Aufruf zum anderen aus einem Funktionsbaustein oder Programm

Beispiele: Zeitgeber, Zähler
In dem nachstehenden Beispiel ist Timer_ON eine Instanz des Funktionsbausteins TON:
58
EIO0000002413 11/2016
Darstellung von Funktionen und Funktionsbausteinen
Verwenden einer Funktion oder eines Funktionsbausteins in der Sprache AWL
Allgemeine Informationen
In diesem Abschnitt wird das Implementieren einer Funktion und eines Funktionsbausteins in der
Sprache AWL beschrieben.
Die Funktionen IsFirstMastCycle und SetRTCDrift und der Funktionsbaustein TON werden
als Implementierungsbeispiele verwendet.
Verwenden einer Funktion in der AWL-Sprache
Im Folgenden wird das Einfügen einer Funktion in der AWL-Sprache beschrieben:
Schritt Aktion
1
Öffnen oder erstellen Sie eine neue POU in der AWL-Sprache.
HINWEIS: Die Vorgehensweise zum Erstellen einer POU wird hier nicht erläutert. Weitere
Informationen finden Sie unter Hinzufügen und Aufrufen von POUs (siehe SoMachine,
Programmierhandbuch).
2
Erstellen Sie die Variablen, die für die Funktion erforderlich sind.
3
Wenn die Funktion über mindestens einen Eingang verfügt, beginnen Sie mit dem Laden des ersten
Eingangs mithilfe der LD-Anweisung.
4
Fügen Sie unten eine neue Zeile ein, und gehen Sie wie folgt vor:
 Geben Sie den Namen der Funktion in der Operator-Spalte (linkes Feld) ein.
 Oder verwenden Sie die Eingabehilfe, um die Funktion auszuwählen. (Wählen Sie im
Kontextmenü Bausteinaufruf einfügen.)
5
Wenn die Funktion über mehr als einen Eingang verfügt und die Eingabehilfe verwendet wird, wird
die erforderliche Anzahl von Zeilen automatisch mit ??? in den Feldern rechts erstellt. Ersetzen Sie
??? durch den geeigneten Wert oder die Variable, die der Reihenfolge der Eingänge entspricht.
6
Fügen Sie eine neue Zeile ein, um das Ergebnis der Funktion in der entsprechenden Variable zu
speichern: Geben Sie die ST-Anweisung in die Operator-Spalte (linkes Feld) und einen
Variablennamen in das rechte Feld ein.
EIO0000002413 11/2016
59
Darstellung von Funktionen und Funktionsbausteinen
Die Funktionen IsFirstMastCycle (ohne Eingangsparameter) und SetRTCDrift (mit
Eingangsparametern) werden im Folgenden grafisch dargestellt:
Funktion
Grafische Darstellung
ohne Eingangsparameter:
IsFirstMastCycle
mit Eingangsparametern:
SetRTCDrift
In der AWL-Sprache wird der Funktionsname direkt in der Operator-Spalte verwendet:
Funktion
Darstellung im SoMachine POU-Editor in AWL
Beispiel einer Funktion
ohne
Eingangsparameter in
der AWL-Sprache:
IsFirstMastCycle
Beispiel einer Funktion
mit Eingangsparametern
in der AWL-Sprache:
SetRTCDrift
60
EIO0000002413 11/2016
Darstellung von Funktionen und Funktionsbausteinen
Verwenden eines Funktionsbausteins in der AWL-Sprache
Im Folgenden wird das Einfügen eines Funktionsbausteins in der AWL-Sprache beschrieben:
Schritt
Aktion
1
Erstellen Sie eine neue POU in der AWL-Sprache.
HINWEIS: Die Vorgehensweise zum Erstellen einer POU wird hier nicht erläutert. Weitere Informationen
finden Sie unter Hinzufügen und Aufrufen von POUs (siehe SoMachine, Programmierhandbuch).
2
Erstellen Sie die Variablen, die für den Funktionsbaustein erforderlich sind, einschließlich des
Instanznamens.
3
Funktionsbausteine werden mithilfe einer CAL-Anweisung aufgerufen:
 Verwenden Sie die Eingabehilfe, um den FB auszuwählen. (Klicken Sie mit der rechten Maustaste, und
wählen Sie im Kontextmenü Bausteinaufruf einfügen aus.)
 Die CAL-Anweisung und der entsprechende E/A werden erstellt.
Jeder Parameter (E/A) ist eine Anweisung:
 Werte für Eingänge werden mit ":=" festgelegt.
 Werte für Ausgänge werden mit "=>" festgelegt.
4
Ersetzen Sie im rechten CAL-Feld die ??? durch den Instanznamen.
5
Ersetzen Sie weitere ??? durch eine geeignete Variable oder einen direkten Wert.
Der grafisch dargestellte Funktionsbaustein TON dient in diesem Beispiel zur Veranschaulichung:
Funktionsbaustein
Grafische Darstellung
TON
EIO0000002413 11/2016
61
Darstellung von Funktionen und Funktionsbausteinen
In der AWL-Sprache wird der Name des Funktionsbausteins direkt in der Operator-Spalte
verwendet:
Funktionsbaustein
Darstellung im SoMachine POU-Editor in AWL
TON
62
EIO0000002413 11/2016
Darstellung von Funktionen und Funktionsbausteinen
Verwenden einer Funktion oder eines Funktionsbausteins in der Sprache ST
Allgemeine Informationen
In diesem Teil wird die Implementierung einer Funktion oder eines Funktionsbausteins in der
ST-Sprache erläutert.
Dabei werden die Funktion SetRTCDrift und der Funktionsbaustein TON als Beispiele
verwendet.
Verwenden einer Funktion in der ST-Sprache
Im Folgenden wird das Einfügen einer Funktion in der ST-Sprache beschrieben:
Schritt
Aktion
1
Erstellen Sie eine neue POU in der ST-Sprache.
HINWEIS: Die Vorgehensweise zum Erstellen einer POU wird hier nicht erläutert. Weitere Informationen
finden Sie unter Hinzufügen und Aufrufen von POUs (siehe SoMachine, Programmierhandbuch).
2
Erstellen Sie die Variablen, die für die Funktion erforderlich sind.
3
Verwenden Sie im POU-ST-Editor die allgemeine Syntax zur Darstellung einer Funktion in der
ST-Sprache. Die allgemeine Syntax lautet:
Funktionsergebnis:= Funktionsname(VarEingang1, VarEingang2,.. VarEingangx);
Zur Veranschaulichung dieses Verfahrens betrachten wir die grafisch dargestellte Funktion
SetRTCDrift:
Funktion
Grafische Darstellung
SetRTCDrift
In der ST-Sprache wird diese Funktion folgendermaßen dargestellt:
Funktion
Darstellung im SoMachine POU-Editor in der ST-Sprache
SetRTCDrift
PROGRAM MyProgram_ST
VAR myDrift: SINT(-29..29) := 5;
myDay: DAY_OF_WEEK := SUNDAY;
myHour: HOUR := 12;
myMinute: MINUTE;
myRTCAdjust: RTCDRIFT_ERROR;
END_VAR
myRTCAdjust:= SetRTCDrift(myDrift, myDay, myHour, myMinute);
EIO0000002413 11/2016
63
Darstellung von Funktionen und Funktionsbausteinen
Verwenden eines Funktionsbausteins in der ST-Sprache
Im Folgenden wird das Einfügen eines Funktionsbausteins in der ST-Sprache beschrieben:
Schritt
Aktion
1
Erstellen Sie eine neue POU in der ST-Sprache.
HINWEIS: Die Vorgehensweise zum Erstellen einer POU wird hier nicht erläutert. Weitere
Informationen zum Hinzufügen, Deklarieren und Aufrufen von POUs finden Sie in der
entsprechenden Dokumentation (siehe SoMachine, Programmierhandbuch).
2
Erstellen Sie die Eingangs- und Ausgangsvariablen und die Instanzen, die für den
Funktionsbaustein erforderlich sind:
 Die Eingangsvariablen sind die für den Funktionsbaustein erforderlichen Eingangsparameter.
 Die Ausgangsvariablen erhalten den vom Funktionsbaustein zurückgegebenen Wert.
3
Verwenden Sie im POU-ST-Editor die allgemeine Syntax zur Darstellung eines Funktionsbausteins
in der ST-Sprache. Die allgemeine Syntax lautet:
Funktionsbaustein_Instanzname(Eingang1:=VarEingang1,
Eingang2:=VarEingang2,... Ausgang1=>VarAusgang1,
Ausgang2=>VarAusgang2,...);
Der grafisch dargestellte Funktionsbaustein TON dient in diesem Beispiel zur Veranschaulichung:
Funktionsbaustein Grafische Darstellung
TON
Die folgende Tabelle zeigt Beispiele für den Aufruf eines Funktionsbausteins in der ST-Sprache:
Funktionsbaustein
Darstellung im SoMachine POU-Editor in der ST-Sprache
TON
64
EIO0000002413 11/2016
SoMachine
Glossar
EIO0000002413 11/2016
Glossar
A
Anwendung
Programm mit Konfigurationsdaten, Symbolen und Dokumentation.
B
Byte
In einem 8-Bit-Format codierter Typ. Gültiger Wertebereich: 00 hex bis FF hex.
C
CFC
(Continuous Function Chart) Grafische Programmiersprache (Erweiterung des Standards IEC
61131-3) auf der Grundlage der FBD-Sprache (Funktionsbausteindiagramm), die wie ein
Flussdiagramm aufgebaut ist. Grafische Elemente werden allerdings, sofern möglich, ohne die
Verwendung von Netzwerken frei positioniert, sodass Rückkopplungsschleifen möglich sind. Bei
jedem Baustein befinden sich die Eingänge links und die Ausgänge rechts. Sie können die
Bausteinausgänge mit den Eingängen anderer Bausteine verbinden, um komplexe Ausdrücke zu
erstellen.
E
E/A
Eingang/Ausgang
Erweiterungsbus
Elektronischer Kommunikationsbus zwischen E/A-Erweiterungsmodulen und einer Steuerung.
F
FB
(Function Block: Funktionsbaustein) Nützlicher Programmiermechanismus, der eine Gruppe von
Programmieranweisungen zur Durchführung eines spezifischen und normierten Vorgangs
konsolidiert, z. B. Drehzahlregelung, Intervallkontrolle oder Zählen. Ein Funktionsbaustein kann
Konfigurationsdaten, eine Gruppe interner oder externer Betriebsparameter und in der Regel 1
oder mehrere Dateneingänge und -ausgänge umfassen.
EIO0000002413 11/2016
65
Glossar
Funktionsbausteindiagramm (Programmiersprache)
Eine von 5 Sprachen für die Logik oder Steuerung, die von dem Standard IEC 61131-3 für
Steuerungssysteme unterstützt wird. Es handelt sich hierbei um eine grafisch orientierte
Programmiersprache. Sie arbeitet mit einer Liste von Netzwerken, wobei jedes Netzwerk eine
grafische Struktur von Feldern und Verbindungslinien enthält, die entweder einen logischen oder
einen arithmetischen Ausdruck, den Aufruf eines Funktionsbausteins, einen Sprung oder einen
Rückkehrbefehl darstellen.
I
IL
INT
(Instruction List: Anweisungsliste (AWL)) Ein in Anweisungsliste geschriebenes Programm besteht
aus einer Abfolge textbasierter Anweisungen, die von der Steuerung der Reihe nach ausgeführt
werden. Jede Anweisung besteht aus einer Zeilennummer, einem Anweisungscode und einem
Operanden (siehe IEC 61131-3).
(Integer: Ganzzahl) Über 16 Bits codierte Ganzzahl.
K
Konfiguration
Die Anordnung und Vernetzung von Hardwarekomponenten innerhalb eines Systems und die
Hardware- und Softwareparameter, die die Betriebsmerkmale des Systems bestimmen.
L
LD
(Ladder Diagramm: Kontaktplan (KOP)) Grafische Darstellung der Anweisungen eines
Steuerungsprogramms mit Symbolen für Kontakte, Spulen und Bausteine in einer Abfolge von
Programmbausteinen, die von der Steuerung der Reihe nach ausgeführt werden (siehe
IEC 61131-3).
P
POU
(Program Organization Unit: Programmierorganisationseinheit) Variablendeklaration im Quellcode
und der entsprechende Anweisungssatz. POUs ermöglichen die modulare Wiederverwendung
von Softwareprogrammen, Funktionen und Funktionsbausteinen. Sobald POUs deklariert sind,
stehen sie sich gegenseitig zur Verfügung.
Programm
Komponente einer Anwendung, die aus kompiliertem Quellcode besteht und im Speicher einer
programmierbaren Steuerung installiert werden kann.
66
EIO0000002413 11/2016
Glossar
S
SQL
ST
SQL (Structured Query Language) ist eine Programmiersprache zur Verwaltung der in relationalen
Datenbank-Management-Systemen gespeicherten Daten.
(Structured Text: Strukturierter Text) Programmiersprache, die komplexe und verschachtelte
Anweisungen umfasst (z. B. Iterationsschleifen, bedingte Ausführungen oder Funktionen). ST ist
IEC 61131-3-kompatibel.
Steuerung
Ermöglicht die Automatisierung industrieller Prozesse (auch als speicherprogrammierbare
Steuerung oder SPS bezeichnet).
V
Variable
Speichereinheit, die von einem Programm adressiert und geändert werden kann.
EIO0000002413 11/2016
67
Glossar
68
EIO0000002413 11/2016
SoMachine
Index
EIO0000002413 11/2016
Index
A
ALIAS - Device Unit Types (DUT), 35
B
Bibliotheken
SqlRemoteAccess, 19
E
Einschränkungen bei der Übertragung von EMails, 20
ET_Result, 29
ClientNotConnected, 29
CommandExecutionIssue, 32
ConnectionNameNotExisting, 32
ConnectionNotIdle, 30
ConnectionTimedOut, 29
DataBufferTooSmall, 30
DbConfigurationInvalid, 32
DbConnectionNameNull, 30
DbConnectionNotAvailable, 32
GplMaxByteArrayExceedsLimits, 31
GplMaxColumnsExceedsLimits, 31
GplMaxRecBufferExceedsLimits, 32
GplMaxRequestExceedsLimits, 31
GplMaxRowsExceedsLimits, 31
GplMaxSendBufferExceedsLimits, 32
GplRequestWstringExceedsLimits, 31
GplTableWstringExceedsLimits, 31
InvalidIP, 29
InvalidPort, 31
InvalidRequestWstring, 31
InvalidUserDataWstring, 31
InvalidWstringNumber, 31
NoDataReturned, 30
NoQueryResultAvailable, 32
NotConnected, 31
Ok, 29
SocketNotClosed, 30
SqlDatabaseBusy, 30
SqlGwInvalidLicense, 32
SqlGwProtocolError, 32
SqlGwToPlcCorruptedMessage, 30
SqlGwUnexpectedError, 32
TcpClientIssue, 29
TimeoutExpired, 30
TransactionNumMismatch, 30
TransmissionNumMismatch, 30
F
FB_SqlDbRead, 46
EIO0000002413 11/2016
69
Index
FB_SqlDbWrite, 49
FC_EtResultToString, 53
Funktionen
Unterschiede zwischen einer Funktion
und einem Funktionsbaustein, 58
Verwenden einer Funktion oder eines
Funktionsbausteins in der Sprache AWL,
59
Verwenden einer Funktion oder eines
Funktionsbausteins in der Sprache ST, 63
G
GPL (Globale Parameterliste)
SqlRemoteAccess, 41
L
LGK (Liste globaler Konstanten)
SqlRemoteAccess, 39
Q
Qualifiziertes Fachpersonal, 14
S
SqlRemoteAccess, 19
GPL (Globale Parameterliste), 41
LGK (Liste globaler Konstanten), 39
ST_ConnectionSettings, 33
70
EIO0000002413 11/2016
Herunterladen