Das FreeBSD-Betriebssystem mit der Bezeichnung TwinCAT/BSD lässt sich bei neueren Industrie-PC-Plattformen von Beckhoff alternativ einsetzen. Es kombiniert die TwinCAT-Runtime mit FreeBSD. Anwender erhalten mit TwinCAT/BSD viele neue Optionen in der Beckhoff-IPC-Welt.
Als Nachfolger für Windows CE können Kunden einen größeren Leistungsumfang erwarten. Als Alternative zu den großen Windows-Betriebssystemen bieten vielversprechende Features der Unix-Welt neue Möglichkeiten. Das robuste Dateisystem ZFS und die von Beckhoff zur Verfügung gestellten Tools zum Anlegen von Wiederherstellungspunkten und Backups gewährleisten Datenintegrität und Stabilität. Das Installieren von Software und das Updaten des gesamten Systems über den Beckhoff Package Manager sowie die Möglichkeit, Docker Container zu nutzen, bringen gegenüber den Windows-Systemen einen weiteren Mehrwert.
Ab Werk ohne Desktop, dafür aber mit schlankem HTML5-Webbrowser und weiteren Möglichkeiten zur Realisierung von HMIs, wird dem Kunden zur Visualisierung nur das gegeben, was wirklich nötig ist, und das System schlank gehalten. Bei Bedarf lässt sich das System durch die Vielzahl angebotener Software individuell anpassen.
FreeBSD als zuverlässige Grundlage
TwinCAT/BSD positioniert sich kostengünstig und mit kleinem Footprint nicht nur als Alternative zum kompakten Windows CE. Vielmehr stellt es mit den Eigenschaften großer Betriebssysteme und umfassender TwinCAT-3-Funktionalität für viele Anwendungsbereiche auch eine Alternative zu Windows 7 und Windows 10 dar. Es nutzt das Open-Source-Betriebssystem FreeBSD, das sich durch seine kompakte Größe, Stabilität und Performance auszeichnet.
Zudem verspricht es mit einer Reihe interessanter Funktionen spezielle Vorteile für den Einsatz in der Automatisierungsindustrie. Die gewohnte Programmierumgebung von TwinCAT 3 XAE in Visual Studio bleibt erhalten. Auch weiterhin wird ein Windows-Programmierrechner genutzt, der sich per Netzwerk mit einem TwinCAT/BSD-Zielsystem verbindet. Da sich Linux und FreeBSD an der Unix-Architektur orientieren, sind die meisten Linux-Programme auch unter FreeBSD lauffähig.
Für Beckhoff war bei der Auswahl des zugrunde liegenden Betriebssystems neben der Zuverlässigkeit und Stabilität vor allem wichtig, inwiefern TwinCAT in das System integriert werden kann. Aus technischer Sicht kommt auch Linux als Begleitsystem für TwinCAT infrage, jedoch gibt es aufgrund der GPL-Lizenz mit ihrer Copyleft-Klausel erhebliche rechtliche Hürden. Die GPL-Lizenz besagt, dass Weitergabe und Vertrieb von unter GPL-Lizenz stehenden Programmen dazu verpflichten, Endnutzern den Quellcode zur Verfügung zu stellen. Die Copyleft-Klausel sorgt des Weiteren dafür, dass eine von GPL-Software abgeleitete Software ebenfalls unter die GPL-Lizenz zu stellen ist. TwinCAT unter Linux, gegebenenfalls auch Kundensoftware, hätte womöglich unter der GPL-Lizenz publiziert werden müssen. Die deutlich freizügigere BSD-Lizenz erlaubt hingegen die Anpassung von BSD-lizensiertem Code und deren Weitergabe ohne größere Verpflichtungen.
FreeBSD stellt als Open-Source-Software den gesamten Source Code zur Verfügung. So ließ sich TwinCAT perfekt in den FreeBSD-Kernel integrieren und die von den Beckhoff-Windows-Systemen gewohnten sehr guten Echtzeiteigenschaften konnten unter bestimmten Bedingungen sogar noch verbessert werden.
Falls nötig kann Beckhoff weitere Änderungen am FreeBSD-Source-Code vornehmen und das System so weiter an die eigenen Bedürfnisse anpassen. Das bedeutet vor allem, dass Beckhoff unabhängig von Dritten ist. Dies eröffnet einen großen Einfluss auf das System selbst wie auch auf den Produktlebenszyklus, sodass sich eigene Anforderungen optimal umsetzen lassen.
Eigenschaften von TwinCAT/BSD
TwinCAT/BSD unterstützt nativ das Dateisystem ZFS (Z File System). Dieses bietet gegenüber den Windows-Dateisystemen NTFS und FAT32 Funktionen, die auch im Umfeld der Automatisierungsindustrie Vorteile versprechen. Sowohl bei konventionellen Dateisystemen als auch bei ZFS sind Dateien in Dateiblöcken auf der Festplatte gespeichert.
Konventionelle Dateisysteme bearbeiten beim Ändern einer Datei den jeweiligen Dateiblock direkt. Bei einem unvorhergesehenen Zwischenfall – beispielsweise ein Systemabsturz oder Stromausfall – bleibt meist nur eine nicht vollständige oder beschädigte Datei zurück, die sich womöglich nicht mehr lesen lässt und somit zu Systemfehlern führen kann.
ZFS bearbeitet Dateien nach dem Copy-on-Write-Prinzip, das heißt der betreffende Datenblock wird nicht direkt bearbeitet, sondern vorher auf freien Festplattenspeicherplatz kopiert. Alte Datenblöcke bleiben bestehen. Bei einem unvorhergesehenen Zwischenfall während eines Schreibzugriffs bleibt so die Datenintegrität gewahrt. Das System ist daher sehr robust gegenüber Spannungsabbrüchen und Systemausfällen.
Ein weiterer Vorteil des Copy-on-Write-Verfahrens ist, dass durch das Erhalten alter Speicherblöcke ohne nennenswerten Speicherverbrauch Snapshots erstellt werden können. Ein Snapshot – ein gespeicherter Systemzustand – kann vor Updates oder Softwaretests erzeugt werden. Sollten unvorhergesehene Probleme auftreten, kann das System auf einen zuvor gespeicherten Systemzustand zurückgestellt werden. Zuzüglich nativem RAID, Dateikomprimierung und automatisch gebildeten Prüfsummen über alle Datenblöcke bildet ZFS somit eine gute Grundlage für ein robustes und auf Datenintegrität ausgerichtetes Betriebssystem. Ergänzend bringt TwinCAT/BSD alle Qualitäten aktueller Betriebssysteme mit sich. Neue Netzwerktechnologien, eine umfassende Hardwareunterstützung und die Sicherheit eines modernen Unix-Systems sind weitere Eigenschaften. Wie die großen Windows-Systeme ist TwinCAT/BSD zudem ein Multi-User-System. Über die effektive Unix-Rechteverwaltung sind verschiedene Anwendungsszenarien denkbar.
Mit Programmen zum Anlegen von Backups und zum Wiederherstellen des Systems werden von Beckhoff Werkzeuge für das Absichern von TwinCAT/BSD bereitgestellt. Durch die Erzeugung von Wiederherstellungspunkten wird ein Zurücksetzen auf Werkseinstellungen realisiert, das sich auch vom Anwender definieren lässt. Auf diese Wiederherstellungspunkte kann sogar bei einem nicht mehr startfähigen System zugegriffen und so ein früherer Systemstand wiederhergestellt werden.
Eine Stärke von TwinCAT/BSD ist sein ressourcenschonender Aufbau. Mit lediglich zirka 300 MByte für das Basissystem liegt es auf vergleichbarem Niveau wie Windows CE. Dabei trumpft TwinCAT/BSD gegenüber Windows CE mit zusätzlichen Eigenschaften auf. So kann durch den TwinCAT/BSD Multicore Support mit TwinCAT Many-Core Control das volle Potenzial von TwinCAT ausgeschöpft werden kann – wie man es auch bei der Nutzung der großen Betriebssysteme kennt. Zudem ist die Portierung aller TwinCAT-Runtime-Functions geplant.
Die meisten sind bereits als Beta-Version verfügbar. Diese umfassende TwinCAT-Funktionalität und der geplante Einsatz auf kleinen Controllern mit ARM-CPU bis hin zu den großen Geräten mit Intel-Xeon-Server-CPU machen TwinCAT/BSD zum leistungsfähigen Steuerungssystem für alle Leistungsklassen.
Eine Neuerung, auch gegenüber den großen Betriebssystemen, ist das Nachinstallieren und Updaten von Software über einen von Beckhoff gehosteten Server. Mit einem einfachen Befehl lässt sich das gesamte System – sowohl Basissystem, Third-Party-Software als auch TwinCAT – auf den aktuellen Stand bringen. Zudem sind auf diese Weise Sicherheitspatches leicht zu installieren. Neben TwinCAT lässt sich über den Beckhoff Package Server auch Third-Party-Software herunterladen. Zu diesem Zweck wird der offizielle FreeBSD-Server gespiegelt. Die so bereitgestellte Software wird zwar nicht von Beckhoff supportet, allerdings vereinfacht die Benutzung nur eines Package Servers die Installation zusätzlicher Software. So ist ohne weitere Konfiguration mit nur einem Kommando die Installation von Third-Party-Software, wie zum Beispiel Webserver oder Datenbanken, auf dem gleichen Weg möglich wie die Installation von TwinCAT Functions.
User Interface, Virtualisierung und Security
In 2021 werden auch TwinCAT HMI und TwinCAT PLC HMI lokal auf dem System unterstützt. Hierzu wird es entsprechende Client-Installationspakete geben, welche entweder einen HTML5-Browser im Fullscreen-Modus installieren oder den PLC HMI Client. Auf eine vollständige Desktop-Umgebung wird zugunsten der Kompaktheit und Sicherheit verzichtet. Über den HTML5-Webbrowser kann, mit dem von Windows bereits bekannten Beckhoff Device Manager, die Diagnose und Konfiguration des Systems erfolgen – ohne dass Anwender mit der FreeBSD-Kommandozeile arbeiten müssen.
Der Device Manager erlaubt wie gewohnt auch die Ferndiagnose. Durch Erweiterung um einen Softwaremanager, der das Verwalten und Installieren von Software visualisiert, einen File Manager sowie weiteren neuen Funktionen soll eine möglichst einfache Systemkonfiguration sichergestellt werden.
Als weitere neue Funktionalität kann die TwinCAT-Runtime
neben Docker Containern auf einem System verwendet werden. Unter Windows ist dies bedingt durch die TwinCAT-Architektur und die Docker-Funktionsweise nicht möglich. Unter
TwinCAT/BSD ermöglicht es hingegen der native Hypervisor, eine kleine virtuelle Linux-Maschine aufzusetzen, in der sich Docker installieren lässt. Hierdurch wird dem Anwender die gesamte Welt der Docker Container auf der TwinCAT/BSD-
Plattform eröffnet. FreeBSD unterstützt zudem nativ sogenannte Jails, das heißt kleine isolierte Umgebungen – ähnlich wie Docker Container. Eine leichtgewichtige Virtualisierungsmöglichkeit, bei der in Jails gekapselte Applikationen getrennt vom übrigen System ablaufen können.
Security spielt auch für industrielle Steuerungen eine immer größere Rolle. Um diesem Aspekt Rechnung zu tragen, wird das System mit einem Minimum an offenen Ports und Services ausgeliefert. Dementsprechend minimiert ist das Gefährdungspotenzial. So ist ab Werk nur noch der Secure ADS Port freigegeben, sodass lediglich verschlüsselte Verbindungenzum Gerät möglich sind. Außerdem bietet die integrierte PF-
Firewall (Packet Filter) umfangreiche Konfigurationsmöglichkeiten auch für sehr anspruchsvolle Umgebungen. Kontinuierlich bereitgestellte Sicherheitspatches, die einfach und schnell über den Beckhoff Package Server installiert werden können, sowie die feingranulare Rechteverwaltung und die für Unix-Systeme typische geringe Angriffsfläche bieten eine sehr gute Basis für Security unter TwinCAT/BSD.