ist es möglich einen OPC UA Server auf nahezu jeder SPS einzusetzen?
Ich würde sagen JA. Die Frage ist ob der Hersteller der SPS einen OPC Server dafür anbietet oder nicht. Aber "technisch" möglich, ist das auf JEDER SPS und sogar auf noch viel "kleineren" Geräten.
Die OPC Foundation hat den UA-Stack (absichtlich) in ANSI C entwickeln lassen, damit man (nur) einen C Compiler braucht, weiterhin ist der Stack so entwickelt dass er minimal nur einen Task (Thread) benötigt und die größe des Speichers, die er allociert ist über zig verschiedene Schalter einstellbar und vor allem (nach oben) begrenzbar. Gerade für SPSen ist es wichtig das ein Prozess, der eben dem Echtzeit-SPS-Prozess, läuft, nicht unvorhersehbar Speicher oder andere Ressourcen verbraucht. Der Stack ist völlig unabhängig vom Betriebssystem und besitzt einen Platformlayer (MIT-Lizenz), der entsprechend angepasst werden muss. Dadurch kann der UA Stack auf JEDES Betriebssystem portiert werden und auf jedem noch so kleinen Gerät laufen. Platformlayer gibt es bei der OPC Foundation nur für Windows. Kommerzielle Anbieter liefern heute PLs für Linux, Unix, vxWorks, QNX, INtime, Euros, WinCE, Android, etc. (die sind dann natürlich nicht mehr unter MIT-Lizenz).
Die eher nicht-technische Frage ist wie lange man noch warten muss bis alle SPS-Hersteller solche UA-Server auf ihren SPSen anbieten? Der Markt von Drittanbietern, die es beim alten OPC zu Duzenden gab, fehlt hier. Alleine für die S7 gab es von Deltalogic/Softing, Matrikon, Kepware, etc. Anbieter von OPC Servern. Für OPC UA gilt: Es kann eigentlich nur der SPS Hersteller einen UA Server "vernünftig" in seine SPS integrieren. Somit entsteht wenig "Konkurrenzdruck" von außen. Nun verwenden aber viele SPSen die selbe Laufzeitumgebung (z.B.
Codesys), und hier wäre eine gute Stelle um einen UA Server zu integrieren, dann profitieren gleicht mehrere SPSen davon.