Das geht, keine Angst ..
Hallo,
Rainer Hönle schrieb:
Ansonsten wird in der Regel ein Programm auf einem PC die SPS abklappern und die Ergebnisse in eine SQL-Datenbank schreiben.
Oder alternativ wird der PC die Datenbank per SQL abklappern (oder einen Trigger der DB empfangen) und die Ergebnisse in die SPS schreiben.
Eine direkte Verbindung zwischen SPS und einer Datenbank wird in der Regel über ein Programm auf einem externen PC als Gateway zur Übersetzung der verschiedenen Datenformate der SPS (S5, S7, AB etc.) und der Datenbank (Oracle, IBM AS400, MS SQL Server, Firebird etc.) programmiert. Da mag es vielleicht einen CP 343-1 ERP geben, aber ob der alle SQL-Dialekte kann ? Ich möchte das mal stark bezweifeln.
Ich habe bisher ca. 50 SPS-Steuerungen an verschiedene Datenbanken der EDV meiner Kunden angebunden. Dieses PC Gateway ist im Moment (noch) die beste Lösung, da äusserst zuverlässig und flexibel. Zum Beispiel wenn der Kunde von Oracle auf MS SQL Server wechselt, tausche ich im Normalfall nur den Treiber auf meinem PC aus, un feddich ...
Und wenn der Kunde von S5 auf S7 hochrüstet, dann wird im OPC-Server ein anderes Transportprotokoll angewählt, und wieder feddich.
Ich verwende allerdings grundsätzlich auf dem PC Datenbank-Treiber von DevArt. Damit tunnele ich ich den ganzen Overhead von den MS ODBC Treibern über das Windows OS und kann direkt über zB. TCP auf das API der Datenbank zugreifen. Das geht dann sauschnell und eine Installation eines DB-Client auf dem PC ist nicht erforderlich (Lizenzkosten gespart !!!).
Ich muss auch ganz ehrlich gestehen, als ich diese Variante mit den DevArt Treibern vor ca. 7 Jahren erstmals eingesetzt habe, war ich eigentlich überrascht, mit welcher rekordverdächtigen Reaktionszeit selbst sehr komplexe SQL-Abfragen ausgeführt wurden.
Also in diesem Sinne, selbst wenn es einen Simatic CP 343-1 ERP für direkte Anbindung von S7 an eine Datenbank gibt, man ist immer auf diese Baugruppe festgenagelt und unflexibel beim Wechseln von Datenbank oder SPS.
Ausserdem hat meine Lösung den Vorteil, dass der DB-Admin ausser dem Einrichten der Tables nichts von seiner wertvollen Arbeitskraft verschwenden muss und der ganze Driss dann ohne jegliches Engagemant des DB-Admins abläuft. Und wer DB-Admins kennt, der weiss das solche Lösungen immer erwünscht sind
Gruß
Question_mark
PS : Das Thema gehört nicht in den Stammtisch, kann das bitte einer der Mods in den richtigen Fred verschieben ?