13.02.2018

Speicherprogrammierbare Steuerung von Bachmann

Wie schon gelegentlich an anderer Stelle erwähnt wurde, soll mein Katamaran trotz seiner Größe einhandtauglich werden. Es ist wohl wenig überraschend, dass das nur mit einem recht hohen Einsatz an technischen Hilfsmitteln möglich sein wird.

Die speicherprogrammierbare Steuerung (SPS) wird alle technischen und zum Teil navigatorische Aspekte steuern, also

Darüber hinaus wird sie die Bedienoberfläche für all diese Komponenten bereitstellen damit auch hier Industriehardware zum Einsatz kommen kann.

Abbildung 1: Testaufbau Bachmann SPS

Somit benötigt der Katamaran eine zuverlässige SPS aus der Industrieautomatisierung, die 24/7 die Technik des Katamarans überwacht, steuert und regelt. Es sollte auch klar sein, dass man ein derartig komplexes Gebilde nicht mit einer Spielzeug­steuerung vom Elektronik­discounter ausrüsten kann oder besser noch mit dem Yacht­zubehör, womit ich die üblichen Heim­werker­lösungen von Yacht­elektronik­herstellern oder sonstige Chinakracher meine. Die Anforderungen an Zuver­lässig­keit und Erweiter­barkeit lassen nur eine professionelle speicherprogrammierbare Steuerung zu.

Die üblichen Verdächtigen wären da sicher Siemens oder Beckhoff. Allerdings ist mir bei diesen Systemen der Overhead zu groß. Es musste also eine Steuerung sein, die bereits erfolgreich im Schiffsbau eingesetzt wird (GL Zulasssung) und dennoch so nah am Geschehen ist, dass auch so ein kleines Projekt wie meines nicht komplett durch das Raster fällt.

Auf der SMM in Hamburg bin ich schon vor ein paar Jahren fündig geworden: Die Firma Bachmann aus Feldkirch in Österreich stellt kleine, zuverlässige Steuerungen her, die sich sehr umfangreich mit I/O-Modulen ausstatten lassen.

Seit letztem Jahr bin ich stolzer Besitzer einer solchen Steuerung mit einigen I/O-Modulen, die ich für Lern- und Testzwecke angeschafft habe. Die Konfiguration umfasst ein Prozessormodul (MX220), ein CAN-Bus-Modul (CM202), zwei Digitale I/O-Module (DIO216), ein analoges I/O-Modul (AIO216) und ein universelles I/O-Modul (GIO212). Letzteres ist ist eine eierlegende Wollmilchsau: Es beherrscht digitale und analoge I/Os, PWM Output, ... und das alles per Software konfigurierbar. Das CAN-Bus-Modul ist sehr flexibel einsetzbar: Neben CANOpen spricht es J1939 (Standardprotokoll aus dem Bereich von Verbrennungsmotoren) und NMEA2000, was dem Segler vertraut sein dürfte. Das ist natürlich kein Zufall, sondern war eines meiner Auswahlkriterien, um neben allen CANOpen-Sensoren/Aktoren aus dem Industriebereich auch die Generatoren und die diversen NMEA2000- Sensoren (GPS, Logge, Tiefe, Wind, ...) aus dem Yachtbereich einbinden zu können. Abbildung 1 zeigt meinen Testaufbau. Oben ist die SPS mit den Modulen sowie ganz links das 24V Netzteil zu sehen. Der orange-farbene Kasten rechts unten ist das Empfängermodule der HBC Fernsteuerung.

Dank der hervorragenden 2-tägigen Schulung, die ich im letzten Herbst am Firmensitz in Österreich erhalten habe, konnte ich bereits meine industrielle Fernsteuerung in Betrieb nehmen und programmieren. Im Rahmen dieser Schulung wurde mir auch am lebenden Objekt vorgeführt, was Qualitätsfertigung aus Europa bedeutet: Die SMD-Platinen werden vor Ort bestückt, die Gehäuse nach thermischen Gesichtspunkten vor Ort CNC-gefräst und ALLE Module zu 100% für zwei Tage in der Klimakammer im laufenden Betrieb getestet. Man kann sich also darauf verlassen, dass alle Module erwiesenermaßen fehlerfrei funktionieren, wenn sie den Hersteller verlassen. Dass es dann immer noch Schlaumeier gibt, die die Dinger kaputt bekommen, weil sie meinen, man könnte I/O-Module im laufenden Betrieb austauschen, obwohl das in der Spezifikation explizit untersagt ist, kann getrost unter RTFM (read the friendly manual) abhaken. Aber selbst dann ist nicht das Ende der Fahnenstange erreicht: Fa. Bachmann repariert die Module selbst.

Abbildung 2: SPS Arbeitsplatz

Die Programmierumgebung basiert auf Eclipse und wäre mit ein paar Modifikationen sogar unter Linux lauffähig, aber bisher war die Nachfrage danach noch nicht groß genug. Deshalb läuft die Entwicklungs­umgebung stand heute leider nur unter Windows. Die Entwicklungs­umgebung, das Solution­Center, umfasst neben der I/O-Konfiguration für alle angeschlossenen Module inklusive der Busmodule (z.B. CAN) eigentlich zwei Entwicklungs­umgebungen: M-PLC und die Neuentwicklung PLC Developer. Während man den M-PLC in allen IEC 61131-3 Programmiersprachen, also mit

 programmieren kann, ist bei PLC Developer bisher nur die textbasierte Sprache structured text (ST) implementiert. ST ist eine PASCAL-ähnliche Sprache, die dem Computerprogrammierer entgegenkommt, der primär nicht in parallelen Abläufen und Prozessen denkt, was aber nicht heißt, dass man parallele Prozesse dmit nicht programmieren kann. Weiterhin umfasst die Entwicklungsumgebung einen Debugger, mit dem man den Programmablauf direkt auf der mit Ethernet verbundenen Steuerung verfolgen und auch im laufenden Betrieb beeinflussen kann, indem man z.B. Variablen ändert. Mit dem Program WebMIPro kann man auf der Steuerung einen Webserver installieren und so programmieren, dass er die Bedienoberfläche bereitstellt, wobei skalierbare SVG-Grafik zum Einsatz kommt.

Abbildung 2 zeigt meinen SPS-Arbeitsplatz mit dem Programmiersystem (Laptop mit 24" Monitor), den Sender der Fernsteuerung (links unten) und die SPS.