# SQL4automation: Von SPS und Robotersteuerungen direkt auf SQL Datenbanken zugreifen



## rudl (10 Mai 2010)

Der SQL4automation Connector (www.sql4automation.com) ist eine Softwarelösung um Roboter- und SPS-Steuerungen mit Datenbanken zu verbinden. Die Automationssteuerungen haben somit direkten Zugriff auf die SQL-Datenbanken. Mit der SQL [Structured Query Language] Sprache können Daten aus Tabellen abgefragt, in Tabellen eingefügt, verändert und gelöscht werden. Ausserdem können Prozeduren von Datenbanken ausgeführt werden. Ein OPC-Server wird nicht benötigt, was sich positiv auf die Performance auswirkt. Ausserdem müssen am Connector keine projektspezifischen Anpassungen gemacht werden.
Für eine Vielzahl von Steuerungen sind bereits fertige Bibliotheken vorhanden, die nur noch ins Projekt eingebunden werden müssen.

Für folgende Steuerungen sind bereits fertige Bibliotheken vorhanden:

Siemens S7 300 (On Board PN/DP oder in Verbindung mit dem Kommunikations Prozessor CP)
CoDeSys V2 und CoDeSys V3 (Bosch, Wago, Elau, Festo...)
Beckhoff
B&R
Robotersteuerungen:

Stäubli
Kuka
Bosch Rexroth
Datenbanken:
Es werde alle Datenbanken, die eine ODBC Schnittstelle besitzen unterstützt. Getestet wurden bereits folgende Datenbanken:

MySQL
Oracle
Microsoft SQL Server
SAP
MaxDB
PostgreSQL
SQLite
Microsoft Access


----------



## Question_mark (11 Mai 2010)

*Uff ...*

Hallo,



			
				rudl schrieb:
			
		

> Ein OPC-Server wird nicht benötigt, was sich positiv auf die Performance auswirkt.



Welche Kommunikationsbibliothek wird denn benutzt, um performanter als ein OPC-Server zu sein ? 



			
				rudl schrieb:
			
		

> Es werde alle Datenbanken, die eine ODBC Schnittstelle besitzen unterstützt



Bei der SPS Kommunikation von Performance sprechen und dann die ODBC-Schnittstelle zur Datenbank mit all den Umwegen über das OS zu benutzen, ist schon echt pervers.  

Gruß

Question_mark


----------



## Blockmove (12 Mai 2010)

Wie sieht es mit Zykluszeit und Speicherbedarf auf einer S7-300 aus?

Gruß
Dieter


----------



## Matze001 (12 Mai 2010)

Was kostet denn der Spass?

Oder kann man sich einfach registrieren und einfach mal ausprobieren?

MfG

Marcel


----------



## rudl (12 Mai 2010)

Auf der CoDeSys SPS haben wir Zykluszeittests gemacht. Dabei haben wir 4000 Variablen (~16‘500 Byte) in 650ms übertragen. Kleinere Abfragen dauern ca. 100 - 150ms. Klar kommts im Vergleich zum OPC Server auf die Datenmenge an. Wenn man 4000 OPC Variablen definiert wird der OPC Server schneller sein. Doch ob das ökonomisch ist?
Mit der Siemens haben wir keine Performance Tests gemacht. Die Bibliothek und der Treiber können jedoch kostenlos von der Hompage runtergeladen und getestet werden. Die Preise befinden sich auf der Webseite.


----------



## marlob (12 Mai 2010)

Matze001 schrieb:


> Was kostet denn der Spass?
> 
> Oder kann man sich einfach registrieren und einfach mal ausprobieren?
> 
> ...


Steht doch hier 
http://www.sql4automation.com/preise.html


----------



## bike (18 Mai 2010)

rudl schrieb:


> Mit der Siemens haben wir keine Performance Tests gemacht.



Wenn wir ein Produkt einführen, haben wir es in allen möglichen Situationen ausgetestet. 

Es ist zunächst gut, wenn mit dem System auf Siemens PLC  zugegriffen werden kann.
Doch diese Information reicht mir zumindest nicht aus, eine Lizenz zu kaufen, um dann später vielleicht erkennen zu müssen, ist zu langsam im Feld.

bike


----------



## Question_mark (19 Mai 2010)

*Was ist denn nun direkter Zugriff ?*

Hallo,



			
				rudl schrieb:
			
		

> SQL4automation: Von SPS und Robotersteuerungen direkt auf SQL Datenbanken zugreifen



Da möchte ich gerne noch mal nachfragen : Was verstehst Du unter *direkt*   ???

Ich verstehe darunter einen direkten Zugriff von der SPS auf eine remote Datenbank ohne PC dazwischen ...

Und was verstehst Du darunter ?

Gruß

Question_mark


----------



## Question_mark (19 Mai 2010)

*Da wird es niemals einen Standard geben, das geht nicht*

Hallo,



			
				bike schrieb:
			
		

> um dann später vielleicht erkennen zu müssen, ist zu langsam im Feld.



Also mal ganz einfach und aus meiner Erfahrung heraus gesagt : Es wird niemals ein Standardsystem für einen optimalen, direkten Zugriff auf Datenbanken von der SPS oder umgekehrt geben. Dafür sind die Umfelde, Datentypen und Sprachen (sowie auch SQL-Dialekte) zu unterschiedlich. Es muss eben immer individuell (also je nach SPS und Datenbank) eine Software mit Ausrichtung auf optimale Leistung durch individuelle Programmierung erstellt werden.
Daran beisst die Maus keinen Faden ab, auch wenn mir das einige nicht glauben.

Gruß

Question_mark


----------



## Question_mark (19 Mai 2010)

*Uff ...*

Hallo,



			
				rudl schrieb:
			
		

> Wenn man 4000 OPC Variablen definiert wird der OPC Server schneller sein. Doch ob das ökonomisch ist?



Ökonomisch ist da weniger wichtig, meist reicht es mir, wenn die Vorgehensweise effizient ist 

Gruß

Question_mark


----------



## rudl (20 Mai 2010)

Question_mark schrieb:


> Hallo,
> 
> 
> 
> ...


 
Unter direktem Zugriff verstehe ich, dass ich aus der SPS die volle Funktionalität der Datenbank und der SQL Sprache nutzen kann. Das heisst, dass ich aus der SPS bestimmen kann, in welche Tabelle ich was schreiben will, aus welcher Tabelle ich welche Spalten lesen will und Stored Procedures in der Datenbank ausführen kann. So wie du es halt auch aus einer Hochsprache kannst.
Bei einer Änderung an der Anlage muss ich nur Änderungen im SPS Programm und in der Datenbank und nicht an einer Drittsoftware vornehmen.

Gruss

rudl


----------



## rudl (20 Mai 2010)

Question_mark schrieb:


> Hallo,
> 
> 
> 
> ...


 
SQL4Automation stellt der Datenbank ausschliesslich die Verbindung zur Datenbank zur Verfügung. Die einzigen Voraussetzungen sind, dass die Datenbank die ODBC Schnittstelle und die SPS eine TCP/IP Socketkommunikation unterstützt. Was für Datentypen ausgetauscht werden und welcher SQL-Dialekt (Der SQL-Sprache ist ISO / ANSI standardisiert und bei allen Datenbanken gleich, nur Sonderfunktionen können unterschiedlich sein) verwendet wird, spielt dem Programm keine Rolle. Das sind reine Einstellungen in SPS und Datenbank. Der Vorteil von SQL4Automation zu einem induviduell erstellen Programm ist halt, dass es bereits seit 3 Jahren ständig weiterentwickelt und verbessert wird und somit schon getestet ist.


----------



## rudl (20 Mai 2010)

bike schrieb:


> Wenn wir ein Produkt einführen, haben wir es in allen möglichen Situationen ausgetestet.
> 
> Es ist zunächst gut, wenn mit dem System auf Siemens PLC zugegriffen werden kann.
> Doch diese Information reicht mir zumindest nicht aus, eine Lizenz zu kaufen, um dann später vielleicht erkennen zu müssen, ist zu langsam im Feld.
> ...


 
Der SQL4Automation Connector gibt es schon seit 2007 und wird ständig verbessert und weiterentwickelt und es bestehen auch einige Performance Tests, aber nicht in Verbindung mit einer Siemens Steuerung. Was ich mit Sicherheit sagen kann ist dass die Siemensbibliothek sehr stail und dass sie vergleichbar schnell wie die CoDeSys Bibliothek läuft. Wir werden in der nächsten Zeit auch noch Performance Tests mit der Siemens Target durchführen. Ich werde die Ergebnisse umgehend hier posten. Bis dahin rate ich dir einfach den Connector und die Siemens Bibliothek von www.sql4automation.com herunterzuladen und auszuprobieren.


----------



## Question_mark (20 Mai 2010)

*Tu mal Butter bei die Fische*

Hallo,

@rudl : Meine Fresse, ich habe gefragt ob zur direkten Verbindung von SPS und Datenbank ein zwischengeschalteter PC erforderlich ist. "Ja" oder "Nein", mehr habe ich als Antwort nicht erwartet. Du drehst Dich da in Phrasen wie ein Politiker. 



			
				rudl schrieb:
			
		

> die SPS eine TCP/IP Socketkommunikation unterstützt.



Also die S7 unterstützt natürlich eine TCP/IP Socket Kommunikation. Aber meines Wissens immer nur mit einem in dem TCP/IP Stack eingebundenen spezifischen, unterlagerten Kommunikationsprotokoll wie zB. S7 Online, RFC 1006 und so fort. Wie geht Dein Produkt damit um ?

Gruß

Question_mark


----------



## Gerhard Bäurle (21 Mai 2010)

Question_mark schrieb:


> Hallo,
> @rudl : Meine Fresse, ich habe gefragt ob zur direkten Verbindung von SPS und Datenbank ein zwischengeschalteter PC erforderlich ist. "Ja" oder "Nein", mehr habe ich als Antwort nicht erwartet. Du drehst Dich da in Phrasen wie ein Politiker.



Moin,

laut dieser Seite

http://www.sql4automation.com/was-ist-sql4automation.html?L=0

ist kein zusätzlicher PC für den "Connector" erforderlich. Das muss 
wohl der Rechner "mitmachen", auf dem auch die Datenbank läuft.

@rudl: Gib Dir mal einen Ruck und beschreibe uns, wie das wirklich 
funktioniert.


----------



## rudl (21 Mai 2010)

Es gibt verschiedene Varianten, wie man den Connector einsetzen kann.
*Datenbank, Steuerung und Connector befinden sich im selben Netzwerk* 
Es spielt keine Rolle, ob sich der Connector auf einem separaten PC, auf einem PC, wo eine Soft SPS läuft, oder auf dem Datenbank Server befindet. Wir haben auch schon Lösungen realisiert, wo sich SPS, Datenbank, Connector und Visualisierung auf einem Touchpanel PC laufen. Falls also der Connector auf dem SPS PC oder dem Datenbank Server installiert werden kann, wird kei zusätzlicher PC benötigt.

*Datenbank und Steuerung befinden sich in getrennten Netzwerken*
So wie das Bild hier: http://www.sql4automation.com/was-ist-sql4automation/aufbau-des-netzwerks.html zeigt, kann mit einem zusätzlichen PC, wo nur der Connector drauf läuft, von der SPS im Maschinennetzwerk eine Datenbankabfrage in einem Firmennetzwerk gemacht werden. Die beiden Netzwerke sind physikalisch nicht verbunden. Der PC, auf dem der Connector läuft enthält zwei Netzwerkkarten. Hier ist ein zusätzlicher PC notwendig.


----------

