Zum Hauptinhalt springen

FANUC / SQL4FANUC

Target: "Standard"

Voraussetzungen

Folgende Software-Optionen sind auf der Steuerung freizuschalten:

  • R632 KAREL

  • R648 User Socket Msg

Schnittstelle einrichten (Client-Tag)

  • Menu – Setup – Host Comm
Menu – Setup – Host Comm
  • [F4] Show – Clients
[F4] Show – Clients
  • Freien Client suchen – [F3] Detail
Freien Client suchen – [F3] Detail Freien Client suchen – [F3] Detail
  • Comment – Client benennen
Comment – Client benennen
  • Protocol – [F4] Choice – SM
Protocol – [F4] Choice – SM
  • Startup State – [F4] Choice – Define
Startup State – [F4] Choice – Define
  • Server IP/Hostname eintragen
Server IP/Hostname eintragen
  • [F2] Action – Define
[F2] Action – Define [F2] Action – Define
  • Menu – Next – System – Variables
Menu – Next – System – Variables
  • $HOSTC_CFG suchen – Detail
$HOSTC_CFG suchen – Detail
  • Tag-Index (Tag C1 -> [1]) wählen – Detail
Tag-Index (Tag C1 -> [1]) wählen – Detail Tag-Index (Tag C1 -> [1]) wählen – Detail
  • $SERVER_PORT suchen und Port-Nummer eintragen
$SERVER_PORT suchen und Port-Nummer eintragen

KAREL Dateien ins Projekt einfügen

  • SQL4Fanuc.kl Beispiel-Programm für eine Datenbank-Abfrage

  • S4ARoutine.kl enthält alle Routinen für eine Datenbank-Abfrage

S4ARoutine.kl enthält alle Routinen für eine Datenbank-Abfrage
  • SQL4Fanuc öffnen und Übersetzen (Build)
SQL4Fanuc öffnen und Übersetzen (Build)
  • SQL4Fanuc.pc wurde erstellt
SQL4Fanuc.pc wurde erstellt

SQL4FANUC in TP-Programm aufrufen

  • Neues TP-Programm erstellen und Aufruf einfügen INST – CALL – CALL program - KAREL
INST – CALL – CALL program - KAREL Parameter eintragen – Choice – Constant
  • Parameter eintragen – Choice – Constant
Parameter eintragen – Choice – Constant
  • Der übergebene Parameter wird im Karel-Programm ausgelesen (Selector) und

ruft damit die gewünschte SQL-Abfrage auf

Der übergebene Parameter wird im Karel-Programm ausgelesen (Selector) und ruft damit die gewünschte SQL-Abfrage auf Im Debug-Mode werden auf der User-Seite Infos zur SQL-Abfrage ausgegeben
  • Im Debug-Mode werden auf der User-Seite Infos zur SQL-Abfrage ausgegeben.
Im Debug-Mode werden auf der User-Seite Infos zur SQL-Abfrage ausgegeben

Datenbank Abfrage im Karel-Programm einfügen

Im Karel-Programm sind Konstanten und Variablen vorbereitet. Die sollen nicht geändert werden, da diese auch in den S4ARoutinen verwendet werden.

  • Die Konstanten enthalten Einstellungen zum Protokoll
Die Konstanten enthalten Einstellungen zum Protokoll

Weitere Einstellungen entnehmen Sie aus dem SQL4automation-Handbuch.

  • Weitere Variablen können dem Projekt nach Bedarf hinzugefügt werden.

  • Nach den Variablen wird die SQL4Fanuc-Target-Library (S4ARoutine) eingefügt.

Nach den Variablen wird die SQL4Fanuc-Target-Library (S4ARoutine) eingefügt

SQL Abfrage

Aufbau

  • Eine SQL-Abfrage wird im String-Array Request eingetragen
Die Array-Größe kann nach Bedarf angepasst werden

Die Array-Größe kann nach Bedarf angepasst werden

  • Das Array hilft u.a. um Abfragen, die größer als 254 Zeichen sind, aufzubauen.
Das Array hilft u.a. um Abfragen aufzubauen, die größer als 254 Zeichen sind

Ausführung

  • Eine Datenbank-Abfrage wird mit der Funktion SqlRequest() ausgeführt
Beim Aufruf der Funktion folgen 2 Parameter

Beim Aufruf der Funktion folgen 2 Parameter:

  • ClientTag z.B. ‘C1:’ entspricht dem konfigurierten Client-Tag 1

  • Debug mit True werden Information auf der User-Seite angezeigt

Die Funktion liefert einen Return-Wert:

  • 0 Abfrage wurde erfolgreich ausgeführt

  • -1 Timeout bei der Abfrage

  • -2 UMS-File konnte nicht angelegt werden (Fanuc-Fehler)

  • -3 Es konnte keine Verbindung zum Connector aufgebaut werden

  • >0 Fehlermeldung des Connector

Auswertung

  • Bei Return 0 sind die Daten der Abfrage in der Tabelle DataTable[Rows][Columns] als String-Werte abgelegt
Mit den Hilfs-Funktionen aus der S4ARoutine (siehe weiter unten) werden die Daten aus der Tabelle in Variablen kopiert

Mit den Hilfs-Funktionen aus der S4ARoutine (siehe weiter unten) werden die Daten aus der Tabelle in Variablen kopiert.

In diesem Beispiel werden die Werte der Parameter Speed und WaitTime aus der Tabelle tParameter abgefragt und anschließend in die Numerischen-Register 1 und 2 eingetragen.

In diesem Beispiel werden die Werte der Parameter Speed und WaitTime aus der Tabelle tParameter abgefragt und… S4ARoutine

S4ARoutine

Die S4ARoutine enthält nebst der eigentlichen SqlRequest Funktion für Abfragen der Datenbank auch eine Reihe von Hilfsfunktionen.

FunktionParameterDatentypBeschreibung
SqlRequetsClientTagStringClient-Tag der konfigurierten Verbindung
DebugBooleanmit True werden Information auf der User-Seite angezeigt
ReturnInteger

0 Abfrage wurde erfolgreich ausgeführt

-1 Timeout bei der Abfrage

-2 UMS-File konnte nicht angelegt werden

-3 Keine Verbindung zum Connector

>0 Fehlermeldung des Connector

Boolean-Variable in String umwandeln

FunktionParameterDatentypBeschreibung
Bool2StringValueBooleanWert der Boolean-Variable
StateInteger

Status der Funktion

0 Erfolgreich

ReturnStringValue-Wert als String

String-Variable in Boolean umwandeln

FunktionParameterDatentypBeschreibung
String2BoolValueStringWert der String-Variable
StateInteger

Status der Funktion

0 Erfolgreich

-1 String kann nicht gewandelt werden

ReturnBooleanValue-Wert als Boolean (False bei Fehler)

Integer-Variable in String umwandeln

FunktionParameterDatentypBeschreibung
Int2StringValueIntegerWert der Integer-Variable
StateInteger

Status der Funktion

0 Erfolgreich

ReturnStringValue-Wert als String

String-Variable in Integer umwandeln

FunktionParameterDatentypBeschreibung
String2IntValueStringWert der String-Variable
StateInteger

Status der Funktion

0 Erfolgreich

-1 String kann nicht gewandelt werden

ReturnIntegerValue-Wert als Integer (0 bei Fehler)

Integer-Variable in BCD-String umwandeln

FunktionParameterDatentypBeschreibung
Int2StrBCDValueIntegerWert der Integer-Variable
StateInteger

Status der Funktion

0 Erfolgreich

ReturnStringValue-Wert als String im BCD-Format (10101010)

BCD-String-Variable in Integer umwandeln

FunktionParameterDatentypBeschreibung
StrBCD2IntValueStringWert der String-Variable im BCD-Format (01010101)
StateInteger

Status der Funktion

0 Erfolgreich

ReturnIntegerValue-Wert als Integer

Integer-Variable in HEX-String umwandeln

FunktionParameterDatentypBeschreibung
Int2StrHEXValueIntegerWert der Integer-Variable
StateInteger

Status der Funktion

0 Erfolgreich

ReturnStringValue-Wert als String im HEX-Format (0x00FF00FF)

Real-Variable in String umwandeln

FunktionParameterDatentypBeschreibung
Real2StringValueRealWert der Real-Variable
StateInteger

Status der Funktion

0 Erfolgreich

ReturnStringValue-Wert als String

String-Variable in Real umwandeln

FunktionParameterDatentypBeschreibung
String2RealValueStringWert der String-Variable
StateInteger

Status der Funktion

0 Erfolgreich

-1 String kann nicht gewandelt werden

ReturnRealValue-Wert als Real (0.0 bei Fehler)

TP-CALL Parameter als Integer auslesen

FunktionParameterDatentypBeschreibung
GetTpParIntParNbIntegerParameter Nummer
StateInteger

Status der Funktion

0 Erfolgreich

-1 Type ist Integer

-2 Type ist Real

-3 Type ist String

-4 Type ist unbekannt

-5 Funktionsfehler

ReturnIntegerParameter-Wert als Integer (0 bei Fehler)

TP-CALL Parameter als Real auslesen

FunktionParameterDatentypBeschreibung
GetTpParRealParNbIntegerParameter Nummer
StateInteger

Status der Funktion

0 Erfolgreich

-1 Type ist Integer

-2 Type ist Real

-3 Type ist String

-4 Type ist unbekannt

-5 Funktionsfehler

ReturnRealParameter-Wert als Real (0.0 bei Fehler)

Datum und Zeit formatiert auslesen

FunktionParameterDatentypBeschreibung
GetTimeStrFormatInteger

Ausgabeformat

0 Datum und Zeit (31.12.2020 23:59:59)

1 nur Datum (31.12.2020)

2 nur Zeit (23:59:59)

3 File (20201231_235959)

ReturnStringValue-Wert als String