WinCC auf einem PC, wo WinAC RTX läuft, schneller, als über Bus oder was geht schnell

Krumnix

Level-3
Beiträge
1.454
Reaktionspunkte
190
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo.

Ist WinCC mit dem Auslesen der Daten auf einer Rechner mit einer Direktverbindung zu einer WinAC RTX schneller als über TCP/IP beim auslesen der Daten?

Gibt es noch was anderes, was die Daten sehr schnell auslesen kann?

Grund dazu:
In der Anlage, wo ich grad dran bin, kommen ca. alle 250ms ein Datenpaket an, das 100Byte Nutzdaten drin hat.
Nun möchte der Kunde ein Art Logging haben wo wann welches Datenpaket war.
Ist sowas mit so einer kurzen Lesezeit unter WinCC möglich, oder muss ich hier auf die SPS gehen und ggf. über DLLs aus der WinAC auf eine Datenbank schreiben und
diese wird von WinCC nur als Anzeige ausgelesen?

Oder hat wer noch andere Tipps Ideen, etc?

Danke
 
Die interne Softbus verbindung Soft-SPS <-> WinCC(flex) ist die schnellste möglichkeit
Daten zwischen diesen beiden Komponenten auszutauschen.

Wenn du sehr schnell daten aus der SPS nach draußen über TCP/IP komuniziern möchtest
ist bei der Soft SPS der schnellste Weg, mit dem ODK eine eigne Routine zu schreiben, das
ist dann auch bei Siemens das schnellste.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
wenn du sehr schnell sein willst, dann ist WinCC nicht der richtige Weg. Helmut hat es aber (durch die Blume) schon angedeutet. Du schreibst dir eine DLL, die sich um die Daten kümmert und was auch immer damit tut und übergibst sie dann (stellst sie asynchron zur Verfügung) an die SPS.

Gruß
Larry
 
ähm mit ODK besteht auch die Möglichkeit das Synchron zu machen dh es können Daten im SPS
Zyklus weggeschrieben werden, der ist bei RTX üblicherweise kleiner 1ms.
Verwendet wird so etwas zb in der Verpackungsindustrie wo Daten sehr schnell zu jedem Produktionsstück
weggeschrieben werden sollen.
 
Danke für die Tipps.
Wir befinden uns bei der Anlage im 80-100ms Sektor. Daher muss es nicht so schnell sein.

Was als nächstes noch interessant wäre, ob die Übergabe der Daten an eine SQL-Datenbank machbar sind, oder ob ich da was anderes machen muss?
Sprich, schafft eine SQL-Datenbank-Anbindung das wegschreiben der Daten alle 100ms bzw. ab welcher Geschwindigkeit wird die auch zu träge und verschluckt Daten?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@Helmut:
meine persönliche Meinung : ich wäre mit dem synchronen Austausch vorsichtig.

@Krumnix:
das ist aus meiner Sicht eine Frage der Geschwindigkeit deines SQL-Servers, wo der läuft (lokal oder im Netzwerk) und was noch so geschieht.
Aber alle 100 ms ein Datensatz ist m.E. auf jeden Fall schon sportlich ...

Gruß
Larry
 
Es gibt bei WinCC noch die Möglichkeit über Rohdatenvariablen Daten aus der SPS mit Zeitstempel im Taglogging zu archivieren. Dabei werden die Daten erst in der SPS mit Zeitstempel zwischengespeichert und dann aktiv an WinCC hochgeschickt. Du hast dann auf jeden Fall die Daten in der richtigen Reihenfolge im Taglogging.

Fallen bei dir die Daten denn kontinuierlich in dieser hohen Aktualisierungsrate an? Denn selbst wenn du in der SPS z.B. für 60 Sekunden pufferst wird das eine (für eine SPS) relativ ordentliche Datenmenge. Denn zu deinen 100 Byte Rohdaten kommen ja noch Zeitstempel, Zustände etc. hinzu.
 
Das kommt auf die Auslastung an. Die Daten stehen in der SPS nur für max 100ms an. Dann werden sie weiterverarbeitet und gelöscht. Das nächste Paket kommt aber frühestens noch 2sec wieder. Schneller macht zum Glück die Mechanik nicht mit.
Also verstehe ich dich richtig, @Thomas, das ich damit keine Probleme haben werden, wenn ich 100ms Zeit habe, zu erkennen, das Daten vorhanden sind und die Speichern und dann 2sec Pause ist?!

@ Larry Laffer: Die Datenbank läuft auf dem gleichen Rechner wie WinCC
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also verstehe ich dich richtig, @Thomas, das ich damit keine Probleme haben werden, wenn ich 100ms Zeit habe, zu erkennen, das Daten vorhanden sind und die Speichern und dann 2sec Pause ist?!

Ob das funktioniert hängt von vielen Faktoren ab.
- Wie groß die Datenmenge ist, die in der SPS zwischengepuffert wird
- Wie schnell ist der Datenaustausch zwischen SPS und WinCC
- Wie viel Kommunikation läuft noch nebenher

Ein Messwert den man direkt über Rohdatenvariablen ins Taglogging übernehmen kann hat einiges an Overhead für Zeitstempel, Messwertstatus etc. Wie ein Messwerteintrag aufgebaut ist steht im WinCC Handbuch. Ich habe das selber aber noch nicht verwendet, sondern nur mal durchgelesen.

Wenn die SPS übers Netzwerk angeschlossen ist, würde ich 2 Sekunden Pause für nicht machbar halten. Ich fragte ja auch ob die Datenmenge kontinuierlich anfällt. Ist das der Fall, macht es keinen Unterschied ob die Daten erst in der SPS gepuffert und dann übertragen werden, oder direkt gelesen werden wenn sie anfallen.

Hängt also alles davon ab, wie schnell die Verbindung zwischen WinCC und WinAC über den Softbus ist. Das ist leider nicht so einfach festzustellen wie z.B. über TCP/IP bei dem man einfach mithören kann. Entweder mal bei Siemens fragen ob die dazu eine Aussage machen können, oder mit einem Testprogramm in WinCC versuchen dieses festzustellen.
 
Wäre es den. Nicht praktikabler die Datenbank auf der RTX Seite mitlaufen zu lassen,
so kannst du sicher die Daten wegschreiben. Zur späteren Weiterverarbeitung, ist es doch nicht zeitkritisch. Für mich ist der weg über WinCC nur ein l a n g e r U m w e g.

Bei Siemens gibt es in Köln eine Abteilung wo du ein paar Bausteine bekommen kannst
wo die Soft SPS direkt in eine in die SQL Datenbank schreiben kann.
 
@rostiger Nagel:
Ja, das ist ja die Frage. Im Moment verwenden wir eine 416er CPU. Hier haben wir im Moment kein Logging oder sonst was laufen. Für unsere Sicherheit und für das Auswerten für den Kunden soll nun ein Logging der Telegramme erfolgen, die 100Byte Länge haben. Daher die Suche nach einer Möglichkeit. Ich bin ja "Fan" für die WinAC, aber es gibt halt auch immer noch Leute, die Hardware-SPS-Fans sind. Wenn nun der Vorteil der WinAC mit einer direkten SQL-Anbindung aus der SPS raus sich anbietet, dann nehme ich der Hardware-SPS ziemlich viel Wind aus den Seglen :)

@Thomas: Die Daten kommen während der Produktion kontinuierlich an und haben immer eine feste Länge von 100 Byte. Der Takt wird ca 100ms Daten stehen an, 2sec keine Daten sein. Das wäre aber der schnellste Takt. In der Praxis zeigt sich oft, dass es 100ms Daten und 5sec Pausen sind. Vielleicht ist die Idee von Nagel bezüglich das ganze direkt in der SPS zu tätigen besser.

-> Eine Frage stellt sich mir dann noch. Wenn die Fraktion der Hardwareler "gewinnt", muss ich mir ja eine andere Möglichkeit ausdenken. Hier erinnere ich mich an den SPS-Analyzer von Autem. Die Lesen ja in einem sehr schnellen Zyklus viele Daten aus der SPS aus, jenachdem, was man Loggen will. Wie machen die das? Könnte man da nicht selbst ein Programm schreiben, das die ganze Kommunikation zwischen SPS und SQL abwickelt, egal ob Soft- oder Hard-SPS?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
dann lese mal hier ab Seite 19 (das andere ist auch intressant) Anhang anzeigen 05_WinAC.Standards_de.pdf

und dann bitte auch dieses Anhang anzeigen 48354880_Flyer_WinAC_SQL_DB_Doc_V12_de.pdf
und auch das Anhang anzeigen 48354880_WinAC_SQL_DB_Doc_V12_de.pdf

ich sehe da auch noch den Preislichen Vorteil bei der Hardware und bei der Endwicklungszeit um die Anbindung an die Datenbank zu erarbeiten.
 
Hallo Krumnix,
unabhängig davon, was die Siemens-Schiene da so zu bieten hat - aufgrund deiner jüngsten Schilderungen würde ich hier zu einer seperaten Applikation tendieren. Du brauchst etwas, dass 1. synchron arbeiten kann und das ggf. in der Lage ist, selbstständig unbestimmt zu puffern falls das Eintragen der Daten in die Datenbank (mal) nicht so schnell funktioniert, wie gewünscht. Das kann m.E. nur ein eigenständiges Programm realisieren, dass nur auf ankommende Daten wartet und diese dann wegspeichert. Ich würde die Visu und die SPS dabei ganz raus lassen - welche HW-Plattform du dann nimmst (oder dir auf-oktruiert wird) ist dann unerheblich.

Gruß
Larry
 
Zurück
Oben