Titelstory: Taktsynchron
Titelstory: Vollständige Vision-Integration in die SPS-Welt
Twincat Vision wurde zur SPS IPC Drives 2017 vorgestellt. Damit zeigt Beckhoff wie Steuerungstechnik und Bildverarbeitung in einem Engineering Tool und einer Runtime vereint werden können. Was mit einer reinen Softwarelösung begann, wird nun durch weitere Softwarefunktionen und Hardwareprodukte erweitert.
"Twincat Vision ist vollständig in unserer SPS integriert", so Dr. Josef Papenfort, Senior Produktmanager Twincat bei Beckhoff Automation. In der SPS-Bibliothek existieren über 500 Bausteine, mit denen der SPS-Programmierer, aber auch der Vision-Anwender, seine Applikationen direkt in der SPS realisieren kann. Zudem ist die Konfiguration der Kameras in der Entwicklungsumgebung - die auf Visual Studio von Microsoft basiert - integriert. Auch im Twincat HMI gibt es schon erste Controls zur Anzeige von Bildern aus Twincat Vision, weitere Controls sind bereits in der Entwicklung. Zukünftig sollen nicht nur Bilder im HMI angezeigt werden, sondern z.B. auch die Konfiguration von Parametern über das Twincat HMI möglich sein. Dadurch kann der Endkunde auf seine Vision-Applikationen zugreifen, um sie an die jeweiligen Bedingungen anzupassen. Zudem lassen sich Kameraparameter online durch SPS-Bausteine modifizieren, ohne nochmals in das Konfigurationstool eingreifen zu müssen. Während bei der Bildverarbeitung häufig C++ oder graphische Programmiersprachen zum Einsatz kommen, nutzt das aus der SPS-Welt kommende Twincat Vision auch Programmiersprachen, wie z.B. Structured Text (ST). Wer graphisch programmieren möchte, kann eine Vision-Applikation daher auch in SFC (Sequential Function Chart) programmieren. Hinsichtlich der Komplexität ist die Parametrierung einer Kamera für eine Vision-Anwendung durchaus vergleichbar mit der Parametrierung eines (Servo-)Antriebs. Bei beiden gibt es bis zu mehrere hundert mögliche Parameter. Somit sind bzgl. Konfiguration und Programmierung kaum noch Unterschiede zwischen der Realisierung einer Bildverarbeitungs- und einer Motion-Control-Applikation vorhanden.
Ein Echtzeittool für alles
Steuerung, Bildverarbeitung, Motion Control und Robotik werden mit Twincat über ein einziges Tool konfiguriert und programmiert. Das Engineering gestaltet sich somit deutlich einfacher, unter anderem da nur eine einzige Programmiersprache für alle Anwendungen notwendig ist. Durch die Integration von Vision in die Echtzeit - das heißt alle Algorithmen werden in Echtzeit ausgeführt - sind Vision sowie SPS und Motion Control durchgängig synchron. Der Anwender arbeitet immer in der gleichen deterministischen Multitasking- und Multicore-Echtzeit. Die verwendeten Algorithmen werden in Echtzeit ausgeführt, starten also deterministisch. Da Bildverarbeitungsalgorithmen - aufgrund der unterschiedlichen Bildinformation - unterschiedlich lange zur Berechnung brauchen, bieten zusätzliche Abbruchbedingungen (Watchdogs) die Möglichkeit eines Abbruchs nach einer vorgegebenen Zeit. Hauptzielgruppe von Twincat Vision sind Maschinenbauer, die Bildverarbeitung in ihren Maschinen integrieren möchten. Dies können sie nun auch ohne die Hilfe eines Systemintegrators tun. "Aber von Twincat Vision profitieren auch neue Anwendergruppen, z.B. im Bereich Prüffeld. Diese erreichen wir damit ebenso wie Systemintegratoren, die eine Hardware-/Softwarelösung für die Bildverarbeitung benötigen, um sie an einen Maschinenbauer zu verkaufen", beschreibt Papenfort die neuen Möglichkeiten. Für Vision-Anwender erfolgt zukünftig noch die Implementierung weiterer Funktionen, wie z.B. OCR. Zudem werden bei der Konfiguration zusätzliche Wizards bzw. Tools bereitgestellt werden, um das Engineering weiter zu vereinfachen. "Außerdem werden wir zukünftig spezielle Vision-Hardware vorstellen", verrät Papenfort. Primäres Ziel sei dabei aber keine intelligente Kamera. Beckhoff vertritt die Philosophie der im Industrie-PC und nicht in den daran angeschlossenen Geräten sitzenden Intelligenz - unabhängig davon, ob es sich dabei um Bildverarbeitung, Motion Control oder Messtechnik handele. Ein erstes Hardwareprodukt wurde mit der Ethercat-Klemme EL2596 bereits entwickelt.
Ethercat-Klemmen für LED-Beleuchtung
Die 1-Kanal-LED-Ansteuerungsklemmen der Serie EL2596 wurden speziell für die Steuerung von Vision-Beleuchtungen über Ethercat entwickelt und ermöglichen Blitzbeleuchtungen mit Pulsen ab 50µs. Die Klemmen enthalten ein flexibles Netzteil, womit Anwendungen von Dauerlicht bis hin zu kurzen Lichtpulsen im kHz-Bereich möglich sind. Jeder Einzelblitz lässt sich per Distributed Clock/Timestamp von der Steuerung kontrolliert auslösen. "Man kann eine Kamera mit einer Mikrosekunden-Genauigkeit auslösen und die Beleuchtung über unsere Klemme entsprechend genau triggern. Somit ist sichergestellt, dass man zu jedem Trigger-Ereignis die genaue Position z.B. eines Produkts auf einem Förderband erreicht. Synchronität ist letztendlich das ausschlaggebende Feature, um Bildverarbeitung integriert in der SPS-Runtime zu nutzen", hebt Papenfort die Vorteile hervor. Die Klemmen verfügen über eine schnelle Strom-/Spannungsregelung, sodass auch Zeilenkameras eine konstante Beleuchtung erhalten. Die umfangreiche Echtzeitdiagnose, z.B. von Ein- und Ausgangsstrom/-spannung, erlaubt eine detaillierte Kontrolle der LED-Lichtstärke. Somit sind auch Überblitz-Anwendungen mit kurzen Hochstrompulsen möglich. Ein weiterer Vorteil der Klemme ist die hohe Takt-Synchronität, da sie im gleichen Takt wie die Kameraaufnahme bzw. die Roboterbewegung getriggert wird. "Zudem ist die EL2596 deutlich kostengünstiger als vergleichbare Geräte am Markt", verrät Papenfort.
Skalierbare IPC-Rechenleistung
Das breite Beckhoff-Portfolio an Industrie-PCs eignet sich ideal, um auch im Bereich Bildverarbeitung die genau passende Rechenleistung auszuwählen. Das Leistungsspektrum beginnt beim Ultra-Kompakt-Industrie-PC C6015 mit Intel-Atom-Prozessoren. Für anspruchsvollere Vision-Aufgaben bieten unter anderem der Ultra-Kompakt-IPC C6030, die Schaltschrank-IPC-Serie C69xx oder die Industrieserver C6670 mit bis zu 36 Prozessorkernen das notwendige Leistungsplus. Auf der Hannover Messe 2019 wurde zudem das in Twincat 3 nahtlos integrierte Maschinelle Lernen (ML) vorgestellt. "Machine Learning ist für uns eine Technologie, die man an unterschiedlichen Stellen einsetzen kann, natürlich auch in der Bildverarbeitung. Wir haben eigene, auf ML-basierende Algorithmen entwickelt, die nicht nur für Motion Control oder Data Analytics, sondern eben auch im Vision-Bereich eingesetzt werden können", gibt Papenfort zum Abschluss einen Ausblick, wie der Vision-Weg von Beckhoff weitergehen wird.
Machine Learning in die Steuerungstechnik integriert
Twincat Machine Learning ist eine in Twincat 3 nahtlos integrierte Lösung für Maschinelles Lernen (ML). Dabei sind die von PC-based Control gewohnten Vorteile der Systemoffenheit durch die Nutzung von Standards auch für ML-Anwendungen gegeben. Zudem wird ML in Echtzeit realisiert, sodass sich die Twincat-Lösung z.B. auch für den anspruchsvollen Motion-Bereich eignet. Auf diese Weise erhält der Maschinenbauer die Grundlage zur Steigerung der Maschinenperformance, z.B. durch Predictive Maintenance, Selbstoptimierung von Prozessabläufen oder eigenständige Erkennung von Prozessanomalien. Grundidee beim ML ist es, Lösungen für bestimmte Aufgaben nicht mehr durch klassisches Engineering zu erarbeiten und in einen Algorithmus zu überführen, sondern der gewünschte Algorithmus soll anhand von beispielhaften Prozessdaten erlernt werden. Auf diese Weise lassen sich leistungsfähige Modelle trainieren und damit bessere bzw. performantere Lösungen erzielen. Das jeweilige Modell wird innerhalb eines der gängigen ML-Frameworks, wie z.B. Matlab oder TensorFlow, trainiert und anschließend über das standardisierte Austauschformat Onnx (Open Neural Network Exchange) zur Beschreibung von trainierten Modellen in die Twincat-Runtime importiert. Diese bietet dafür neue Funktionen:
- • Machine Learning Inference Engine: für klassische ML-Algorithmen wie Support Vector Machine und Principal Component Analysis.
- • Neural Network Inference Engine: für Deep Learning und neuronale Netze wie Multilayer Perceptrons und CNN
Die Inferenz, d.h. die Ausführung eines trainierten ML-Modells, ist als Twincat-TcCOM-Objekt direkt in Echtzeit möglich, und zwar bei kleinen Netzen mit einer Reaktionszeit des Systems von unter 100µs (Twincat-Zykluszeit 50µs). Aufrufbar sind die Modelle sowohl über die PLC, C/C++-TcCOM-Interfaces als auch über eine zyklische Task.
Twincat Vision wurde zur SPS IPC Drives 2017 vorgestellt. Damit zeigt Beckhoff wie Steuerungstechnik und Bildverarbeitung in einem Engineering Tool und einer Runtime vereint werden können. Was mit einer reinen Softwarelösung begann, wird nun durch weitere Softwarefunktionen und Hardwareprodukte erweitert.
"Twincat Vision ist vollständig in unserer SPS integriert", so Dr. Josef Papenfort, Senior Produktmanager Twincat bei Beckhoff Automation. In der SPS-Bibliothek existieren über 500 Bausteine, mit denen der SPS-Programmierer, aber auch der Vision-Anwender, seine Applikationen direkt in der SPS realisieren kann. Zudem ist die Konfiguration der Kameras in der Entwicklungsumgebung - die auf Visual Studio von Microsoft basiert - integriert. Auch im Twincat HMI gibt es schon erste Controls zur Anzeige von Bildern aus Twincat Vision, weitere Controls sind bereits in der Entwicklung. Zukünftig sollen nicht nur Bilder im HMI angezeigt werden, sondern z.B. auch die Konfiguration von Parametern über das Twincat HMI möglich sein. Dadurch kann der Endkunde auf seine Vision-Applikationen zugreifen, um sie an die jeweiligen Bedingungen anzupassen. Zudem lassen sich Kameraparameter online durch SPS-Bausteine modifizieren, ohne nochmals in das Konfigurationstool eingreifen zu müssen. Während bei der Bildverarbeitung häufig C++ oder graphische Programmiersprachen zum Einsatz kommen, nutzt das aus der SPS-Welt kommende Twincat Vision auch Programmiersprachen, wie z.B. Structured Text (ST). Wer graphisch programmieren möchte, kann eine Vision-Applikation daher auch in SFC (Sequential Function Chart) programmieren. Hinsichtlich der Komplexität ist die Parametrierung einer Kamera für eine Vision-Anwendung durchaus vergleichbar mit der Parametrierung eines (Servo-)Antriebs. Bei beiden gibt es bis zu mehrere hundert mögliche Parameter. Somit sind bzgl. Konfiguration und Programmierung kaum noch Unterschiede zwischen der Realisierung einer Bildverarbeitungs- und einer Motion-Control-Applikation vorhanden.
Beckhoff Automation GmbH & Co. KG
Dieser Artikel erschien in inVISION 2 2019 - 25.04.19.Für weitere Artikel besuchen Sie www.invision-news.de