# Datenerfassung mit WinCC Flexible über OPC-Server/Client in SQL Datenbank



## Curtis (1 Februar 2012)

Hallo alle mit einnander,

ich weiß das es zudiesen Themen schon einige Einträge git die ich mir auch schon zu gemüte geführt habe. Diese entsprechen aber leider nur Teilweise meinen Problem.

Ich möchte Daten erfassen (Produktionszahlen, Fehler, etc.) und diese in eine SQL-Datenbank schreiben, damit sie von dort aus weiter verarbeitet werden können. Jetzt habe ich mir überlegt ich nutze über WinCC Flexible Runtime den OPC Server und installiere auf einen Rechner den OPC-Client. Die Verbindung soll über einen NETLink Pro compakt realisiert werden.

Fragen:
Ist das so Theoretisch möglich?
Welche Lizenz benötige ich für die Runtime?
Auf wieviel Teinehmer wäre so ein OPC Netz beschränkt?
Kann der Client in eine DB schreiben?
Wie sende ich die Daten? Benötige ich da einen seperaten Baustein in der S7?
Bei OPC - UA oder DA?
Wie sieht ein OPC-Client aus?

Über Hilfe würde ich mich sehr freuen. Danke euch im vorraus.

Gruß Curtis


----------



## JesperMP (1 Februar 2012)

Curtis schrieb:


> Ist das so Theoretisch möglich?


Ja.



Curtis schrieb:


> Welche Lizenz benötige ich für die Runtime?


Archives



Curtis schrieb:


> Auf wieviel Teinehmer wäre so ein OPC Netz beschränkt?


Das schöne hierbei ist, das in WinCC Flex gelt bei OPC ein OPC Server als 1 Verbindung, egal wieviele Verbindungen in der OPC Server eingerichtet sind.Bei der OPC Server kann es Einschränkungen sein. Z.B. Simatic Net IE LEAN = Max 8 Verbindungen.




Curtis schrieb:


> Kann der Client in eine DB schreiben?


Meinst du "Datenbaustein" oder "Datenbank" ? 
Wenn "Datenbaustein, dann kann ein OPC Client in Prinzip in beide Richtungen lesen und schreiben. Aber WinCC Flex RT + Archives + SQL Verbindung kann nur in richtung Datenbank schreiben. 
Mit Skripte ist es auch möglich von in Datenbank nach en Datenbaustein zu schreiben. Aber es ist NICHT EMPFEHLUNGSWERT ! Habe sehr böse Erfahrungen mit Skripte und SQL. Hier ist es besser mit ein dafür geeignete OPC Client software (OPC Datahub, Inductive Automation, o.Ä...)



Curtis schrieb:


> Wie sende ich die Daten? Benötige ich da einen seperaten Baustein in der S7?


Im Normalfall gibt es ein Trigger-Variabel, oder es wird Zyklisch geloggt.



Curtis schrieb:


> Bei OPC - UA oder DA?


Bin nicht sicher das WinCC Flex OPC UA Client sein kann. Glaube ja, aber nicht sicher. OPC DA ganz sicher.



Curtis schrieb:


> Wie sieht ein OPC-Client aus?


Es ist nur ein stück Software. Besteht ind der reine OPC Server, und eine Konfigurationssoftware. In der Konfigurationssoftware müssen die Verbindungen ("OPC Topics") eingerichtet werden.


----------



## Curtis (1 Februar 2012)

*Danke*

Danke JesperMP,

Ich meinte definitiv Datenbank 
Will nichts reinschreiben, da es ja auch ein securety Problem wäre.

Deine Antworten bringen mich erstmal weiter. Bei weiteren Fragen melde ich mich 

Danke

Gruß Curtis


----------



## Curtis (1 Februar 2012)

JesperMP schrieb:


> Archives



Was muss ich darunter Verstehen? Kann damit nichts anfangen Sorry 

Gruß Curtis


----------



## Verpolt (1 Februar 2012)

Hallo,

http://support.automation.siemens.com/WW/view/de/22085316


----------



## JesperMP (1 Februar 2012)

Also, eine RT-Lizens mit genügend Anzahl Powertags, und dazu der Option "Archives". Ohne Archives gibt es kein Logging.


----------



## Dr. OPC (6 Februar 2012)

Also WinCC Flex RT hat einen OPC DA Server (UA ist aktuell (noch) nicht verfügbar).

Dein Datenlogger muss also ein OPC DA Client sein, der die Daten zyklisch (oder bei Änderung) vom WinCCFlex-OPC-DA-Server liest und dann in eine SQL Datenbank wegschreibt. Diesen OPC Client kannst du selber programmieren, dieses Beispiel anschauen  *Beitrags-ID:*21447513 
 (http://support.automation.siemens.c...d=34677186&lang=de&cspltfrm=0&cssw=0&csbinh=8) oder du kaufst einen fertigen (z.B. Softwaretoolbox)

Eine Archive-Lizenz von WinCC Flex brauchst du nur dann wenn die Daten AUCH im WinCC Archive geloggt werden sollen. So wie ich dich verstehen, willst du die Daten aber selber in eine "eigene" SQL DB loggen. Somit braucht du nur RT Powertags. Der OPC Client liest vom Flex Server und schreibt in die DB. Im WinCC Flex müssen die Daten vorhanden sein, das heisst WinCC Flex muss die Daten "besorgen", also muss es eine Verbindung zwischen Flex und SPS geben (z.B. S7 Suite Named Connections).


----------



## Curtis (13 Februar 2012)

Hallo!

So wie du mir das erklärthast habe ich das auch gedacht. in welcher Form kann man den Client selber programieren? muss ich das immer in c# machen und mit diesem .NET klamotten? Bin in dem Bereich nicht so beritten. Wäre schön wen mir jemand den schubs in die Richtige richtung geben könnte. Auch gut wenn mir einer die richtigen Mittel nennen könnte 

Ich danke für eure Hilfe!

Gruß Curtis


----------



## Dr. OPC (13 Februar 2012)

.NET ist natürlich kein Muss. Ganz im Gegenteil. das "alte" OPC DA ist Microsoft COM Technologie (unmanaged), also geht als Programmiersprache C++ direkt. 

Um auch mit VisualBasic6 programmieren zu können, musst du die sogenannte "Automation.dll" in deinem VB Projekt referenzieren. Diese DLL ist normalerweise auf allen Systemen wo ein OPC Server installiert ist im \system32 zu finden. 

Um Mit .NET auf "unmanaged" Code zuzugreifen, wird ein RCW (runtime callable wrapper) benötigt, dieser wird auch bei vielen OPC Server mit installiert (ist aber auch bei der OPC Foundation erhältlich).


----------



## Curtis (15 Februar 2012)

Also wärend meines Studiums hatte ich C Programmieren und microcontroler programmierunng, da wär es doch einfacher eine Programm zu schreiben mit C++ oder?
Benötige ich darfür bestimmte DLL Dateien und wie kann das Programm im Hintergrund aggieren?

Danke für die Unterstützung!

Gruß Curtis


----------

