So richtig Sinn macht der tolle OPC UA Stack eigentlich nur, wenn die Kommunikation in alle Richtungen ereignisgesteuert läuft.

In den 90ern war die große Kunst ein gutes PLS aufzubauen in erster Linie eine logische Gruppierung der Tags zu sinnvollen und bedarfsgerechten Blöcken. So konnte man selbst mit der gängigen S5 Schnittstelle R3964 eine ordentliche Performance aus so einer seriellen Schnittstelle holen, selbst bei 4000 Prozesspunkten. Aber natürlich haben die Clients, in dem Fall die Treiber des SCADA Systems die Blöcke gepollt. In Portionen mit unterschiedlichen Raten. Manche auch gar nicht, wenn es sich um Sollwerte oder Rezepte handelte.. Auch der H1 oder der FMS Treiber waren einfache Client Server Verbindungen, allerdings mit entsprechender Performance.

Als dann die ersten OPC DA Server an den Start gingen, hatte ich eigentlich mehr erwartet, aber eigentlich blieb von der Kommunikationsseite alles beim alten, nur das der OPC Server nun dazwischen hing und man kaum noch einen Einfluss auf die Blockbildung hatte.  Ehrlich gesagt war mir das anfänglich nicht bewusst und ich habe anfänglich viel Mühe in die Strukturierung der OPC Gruppen gesteckt. Es dauerte einige Zeit, bis ich erkannte, wie schlecht viele Server programmiert waren und dass sie sich um meine optimierten Gruppen überhaupt nicht scherten. Die haben einfach alles in einem von der SPS  gepollt. Natürlich gab es auch Ausnahmen, die durchaus an der Optimierung arbeiteten. Leider schien das niemanden zu kümmern, denn immer wenn ich den Servern etwas mehr als den Standard abverlangte, tauchten massenhaft Bugs auf. Ich hatte manchmal das Gefühl ich bin der erste, der diese Toolkits verwendet.

Beim UA Standard kann jetzt vieles Besser werden, aber nur wenn die Kommunikationsstruktur verändert wird. Ein Pollen über Netzinfrastruktur sollte jetzt endlich ein Relikt der Vergangenheit sein. Dazu ist es aber unumgänglich, den OPC Server in der SPS zu positionieren. ER kann dann direkt auf die Speicherveränderungen der SPS reagieren und Daten an seine Clients senden, wenn diese sich geändert haben.

Ja, es gibt auch UA Server, die weiter auf einem PC laufen und Daten zyklisch  von SPSen einlesen - da kann man aber auch gleich bei der klassischen DA Variante bleiben. Als Übergangslösung kann man das machen, wenn die SPS noch ein bisschen arbeiten soll, die SCADA Software aber schon erneuert wird. Dann kann die SPS später getauscht werden, ohne dass die SCADA Software noch großartig geändert werden müsste.

Zu meinem Entsetzen habe ich aber neulich festgestellt, das es noch sehr wenige SPSen mit eigenem OPC UA Server gibt. Viele bauen auf Hutschienen PCs mit einem OPC Server. Als dann sollte es zumindest eine  Soft - SPS werden. Ich werde hier demnächst mal eine Liste der verfügbaren SPSen veröffentlichen.