Visualisierung Wago-Controller (OPC/Modbus)
Freitag, 17. Oktober 2008Als Hardwareplattform für die Steuerung hab ich mich für das Wago System 750 entschieden. Der Controller 841 von Wago beinhaltet bereits einen integrierten Webserver für eine einfache Java-Visualisierung. Bei aufwändigeren Bedienoberflächen stösst dieser jedoch schnell an seine Grenzen und so suchte ich nach Alternativen.
Grundsätzlich bieten sich zwei Möglichkeiten um auf den Controller zuzugreifen.
- OPC Kommunikation
- Modbus TCP (DLL kann über den Wago-Support bezogen werden)
Die Kommunikation über einen OPC-Server (CoDeSys OPC-Server wird von Wago mitgeliefert) ist zwar eine relativ einfache Möglichkeit, aber benötigt auch einiges an Installations- und Konfigurationsaufwand. Bei meinen Versuchen lief der CoDeSys-Server nicht immer zu meiner Zufriedenheit und verweigerte gelegentlich ohne erkennbaren Grund seinen Dienst. Andere (bessere?) OPC-Server (z.B. INAT, Softing etc.) kommen für mich aus Kostengründen nicht in Frage. Zudem ist es prolematisch, wenn von mehreren Bedienstationen auf den OPC-Server zugegriffen werden soll. Die nötigen DCOM-Einstellungen von Windows sind naja…bescheiden umzusetzen. Alles in allem würde ich OPC in der Hausautomatisierung nur ungern einsetzen.
Modbus TCP – war für mich lange ein verschlossenes Buch. Je länge ich mich damit auseinandersetze, desto mehr akzepiere ich dieses Bussystem neben den mir vertrauten Profibus oder Industrial Ethernet aus der “Siemens Welt”.
Wago liefert für Hochsprachen-Programmierer (Delphi, C etc.) eine DLL, mit der komfortabel über Modbus kommuniziert werden kann. Mit dieser DLL gelang es mir in Delphi sehr schnell eine eigene Visualisierung für den Wago Controller zu programmieren. Nachteilig ist für mich der höhere Programmier-Aufwand im Gegensatz zu herkömmlichen Engineering-Tools von z.B. Siemens oder Wonderware.
Also muss ein Engineering-Tool für Modbus TCP her. Als langjähriger Siemens-Programmierer suchte ich natürlich eine Möglichkeit um die Modbus-Kommunikation über WinCC Flexible herzustellen. Anscheinend bin ich wohl wieder mal der Erste, der dies so umsetzen möchte. Die Anwendungshinweise von Wago verweisen auf (teure) 3rd Party Modbus-Treiber in Verbindung mit WinCC. WinCC für ein einfaches Haus ist wie mit Kanonen auf Spatzen zu schießen. Und für Siemens ist Modbus TCP wohl ein rotes Tuch – jedenfalls fand ich keine hilfreiche Dokumentation.
Also muss man wohl wieder mal selbst Hand anlegen. Nach intensiver Lektüre der Modbus-Spezifikation konnte ich endlich mit WinCC Flexible 2007 auf die entsprechenden Merkerbereiche des Wago-Controllers zugreifen. Das nachfolgende Video zeigt die Kommunikation zwischen dem Wago Controller (CoDeSys Entwicklungsumgebung) und der Flexible-Visualisierung.