Zum Hauptinhalt springen

Stäubli VAL3 / SQL4Val3

Target: "Staeubli Val3"

Voraussetzungen

Die SQL4Val3 Target-Library kann auf Stäubli CS8C Steuerungen, ab Val3 Version 7.0 eingesetzt werden.

Das Beispielprojekt kann im Stäubli Robotics Studio enthaltenen Emulator oder einer Stäubli CS8C Steuerung ausgeführt werden.

Instanz / Interface

Input-Daten

sioSocket: sioSocket Socket für die Verbindung.
SQL4ARequest
sRequest: String Array SQL Abfrage

Output-Daten

SQL4AResult
nRows: num Anzahl Zeilen der Antwort der SQL-Abfrage
nColumns: num Anzahl Spalten der Antwort der SQL-Abfrage
nState: num Status der Abfrage
sHeaders String Array Spaltennamen der Antwort
sValues 2 dimensionales String Array Rückgabewerte der Antwort

Socket erstellen

Socket erstellen

Unter Systemsteuerung Socket einen neuen Socket erstellen.

Unter Systemsteuerung Socket einen neuen Socket erstellen

Der Socket wird als Client definiert und standardmäßig als SQL4automation definiert.

Der Socket wird als Client definiert und standardmäßig als SQL4automation definiert

Folgende Einstellungen können vorgenommen werden:

Server Adresse: IP-Adresse des Computers des Connectors. Zum Austesten mit dem Emulator des SRS wird hier die interne IP-Adresse 127.0.0.1 verwendet, da sich Emulator und Connector auf demselben PC befinden.

Port: Der Port kann frei gewählt werden. Standardmäßig ab 11001.

Time Out: Zeit in Sekunden bis eine Exception ausgelöst wird.

Zeichenkettenende Standardmäßig 13

Bibliothek und benutzerdefinierte Datentypen in Val3 Projekt einbinden

Im Beispielprojekt sind die Bibliotheken und benutzerdefinierten Datentypen bereits ins Projekt eingegeben. Zur Ausführung des Beispielprojekts werden diese Schritte nicht benötigt. Für die Erstellung eines eigenen Projekts wird trotzdem erklärt, wie eine Bibliothek und benutzerdefinierte Datentypen in ein Projekt eingebunden werden.

Projekte

SQL4Val3 Eigentliches Programm für die SQL-Abfragen.
main Das Beispielprogramm, das die Einbindung von SQL4Val3 zeigt.

Datentypen

S4ARequest Datentyp für die SQL Anfrage
S4AResult Datentyp für die SQL Antwort

Datentypen und Bibliothek einbinden

Benutzerdefinierte Datentypen und Bibliotheken werden im Stäubli Robotics Studio unter dem Register Referenzen ins…

Benutzerdefinierten Datentypen und Bibliotheken werden im Stäubli Robotics Studio unter dem Register Referenzen ins Projekt eingebunden.

Mit Rechts-Klick auf das Projekt, dem eine Referenz hinzugefügt werden soll, kann „neue Bibliothek“ für das Hinzufügen einer neuen Bibliothek und „neuer benutzerdefinierter Datentyp“ für das Hinzufügen eines neuen Datentyps, ausgewählt werden.

Mit S4ARequest.sRequest[0]="SELECT …" kann auf die Variablen der Struktur zugegriffen werden.

Durch den Aufruf

call SQL4Val3:SQL4Val3(sioSocket, S4ARequest, S4AResult)

wird eine SQL-Anfrage ausgeführt.

Beispielprojekt SQL4Val3Sample

Projekt testen

Die Ethernet Verbindung zwischen Controller/Emulator und SQL4automation Connector und Datenbank muss angeschlossen und der SQL4automation Connector gestartet sein.

Es muss ein Link mit Stäubli Target und Verbindung zur Test-Datenbank eingerichtet sein.

Wie die Verbindung zur Testdatenbank konfiguriert wird, ist unter Einrichten der Verbindung an die Testdatenbank beschrieben.

Auf dem Emulator oder dem CS8C-Controller die main Applikation starten.

Fehlercodes Return-Value

Fehler-NummerFehler-Beschreibung
1Unbekannter SQL Befehl
2Abfrage ergibt mehr Datensätze als Anzahl Zeilen S4AResult.sValues, Abfrage anpassen oder Anzahl Zeilen S4AResult.sValues vergrößern
3Abfrage ergibt mehr Spalten als mit Anzahl Spalten S4AResult.sValues, Abfrage anpassen oder Anzahl Spalten S4AResult.sValues vergrößern
5Abfrage gibt min. ein Wert zurück, der größer ist als mit MaxStringLength definiert, Abfrage anpassen oder MaxStringLength vergrößern
10Interner Connector Fehler
11Interner Connector Fehler, Datenbank kann nicht geöffnet werden
23Request-String ist leer
24Anzahl MaxRows nicht definiert
25Anzahl MaxColumns nicht definiert
29Größe MaxStringLength nicht definiert
>100Fehlernummern der ODBC Datenbankanbindung (anbei ein paar bekannte Fehlernummern)