Suchen

Highspeed-SPS: Timer mit 1 µs Präzision und freie Programmierung in Strukturiertem Text

| Autor / Redakteur: Prof. Dr. Christian Siemers * / Johann Wiesböck

Die FPGA-basierende Highspeed-SPS-Familie von Zander adressieren anspruchsvolle Steuerungsaufgaben, wie sie beispielsweise in hochkomplexe Druckapplikationen und superexakt reproduzierbaren Positionierungen vorkommen. Timer mit 1 µs Präzision und freie Programmierung von Algorithmen in Strukturiertem Text sind damit möglich.

Firmen zum Thema

Bild 2: ZX20TP (ZX20T mit Profinet). Diese FPGA-basierte Steuerung bietet 20 Ein- und 16 Ausgänge, eine Vernetzbarkeit über Ethernet (Zander-Net) und PROFINET sowie bis zu 2000 Timer mit einer Auflösung von 1 µs
Bild 2: ZX20TP (ZX20T mit Profinet). Diese FPGA-basierte Steuerung bietet 20 Ein- und 16 Ausgänge, eine Vernetzbarkeit über Ethernet (Zander-Net) und PROFINET sowie bis zu 2000 Timer mit einer Auflösung von 1 µs
(Bild: Zander)

Speicherprogrammierbare Steuerungen basieren fast ausschließlich auf Mikroprozessoren bzw. Mikrocontroller, weil diese als die geeignetste Plattform für Programmierbarkeit gelten. Um zeitliche Vorgänge zu integrieren, beinhalten Mikrocontroller meist auch Timer, die eine gewisse Zeitsteuerung von Vorgängen in Programmen erzeugen können. Die Aufgabe, ein Timing im Programm mit einer Präzision von 1 µs (oder auch „nur“ 10 µs) zu erzeugen, also auch in diesem Zeittakt Aufgaben ohne Jitter oder Verzug zu erledigen, entpuppt sich allerdings sehr schnell als Herkules-Aufgabe.

Die Frage, ob die programmierbare Steuerung mit zeitlichen Anforderungen im Bereich unter 10 µs überhaupt vereinbar ist, muss also mit unvereinbar beantwortet werden? Noch nicht, denn es gibt ja noch die ebenfalls programmierbaren CPLDs und FPGAs, die mit einem Timing von 1 µs nun überhaupt kein Problem haben, da es sich hierbei um (programmierbare) Hardware mit einer vollständigen Parallelität handelt. Wenn da nicht die leidige freie Programmierbarkeit in Strukturiertem Text wäre, die im Titel genannt wurde. Also wieder nicht vereinbar?

Bildergalerie

Bildergalerie mit 5 Bildern

Historie: Speicherprogrammierbaren Steuerungen von Zander

Doch, die Themen sind vereinbar, gut sogar. Seit über 20 Jahren bietet die Firma Zander Speicherprogrammierbare Steuerungen auf Basis programmierbarer Hardware an, zunächst mit dem Herzstück eines GALs (Generic Array Logic) in der EX-8, später basierend auf CPLDs von Lattice (ispLSI1016) in der EX 16 und der Speedy-Familie ZX8T, ZX4T und ZX4TE (Bild 1), und aktuell in der ZX20T (Bild 2) mit einem FPGA (Xilinx Spartan 3AN).

Parallel zu den Kapazitäten der Bausteine und der Steuerungen hat sich auch die Entwicklungsumgebung EX_PRESS entwickelt, so dass jetzt der Begriff einer Hochsprachenprogrammierung der FPGA-basierten Steuerungen gerechtfertigt ist. Timer mit einer Präzision von 1 µs und freie Programmierbarkeit von Algorithmen sind also in dem Gespann SPS/Entwicklungssystem aus Aachen gut miteinander vereinbar.

Wie hat sich die Sprache, die in dem jeweiligen Programmiersystem implementiert war, denn nun entwickelt? Dies erfolgte bislang in drei großen Schritten. Die erste Stufe war 1994 mit einem DOS-Programm (EX_PRO), das sehr stark an Boolescher Algebra orientiert war. Alle Variablen sind nur als BIT vorhanden, die Zuweisung erfolgt über die bekannten Logikfunktionen NOT, AND sowie OR. Hier war das sehr hardwarenahe Denken des Entwicklers/der Entwicklerin gefordert.

1995/1996 folgten dann der Schritt zum Programmiersystem EX_PRESS, zunächst Version 1, wenig später Version 4 (Bild 3). Diese Version 4 wird seitdem gepflegt ist aktuell immer noch verfügbar (in der Version 4.41), sie ist maßgeschneidert für die CPLD-basierten Steuerungen ZX4T, ZX4TE, ZX8T und EX-16.

Aus Sicht einer Programmentwicklung bietet sie gegenüber dem reinen Booleschen Assembler deutliche Vorzüge. So werden die Variablen, in- und externe, gemäß dem Strukturierten Text deklariert, z.B. als VAR … VAR_END für interne Variablen, weiterhin lassen sich maximal 16 BIT-Variablen zu einem so genannten VAR_ARRAY zusammenfassen (Bild 3) und auch in einigen arithmetischen Operationen (im Wesentlichen Vergleiche) als solche nutzen, und es gibt Kontrollflussstrukturen: IF – ELSIF – ELSE und CASE erleichtern doch die Beschreibung eines Algorithmus sehr, wie jeder, der einmal Algorithmen nur mit Booleschen Operationen geschrieben hat, bestätigen wird.

Ergänzendes zum Thema
Experteninterview
Zwei Fragen an Marco Zander zur Zukunft der frei programmierbaren Highspeed-SPS

Dr.-Ing. Marco Zander ist Geschäftsführer der ZANDER GmbH mit Sitz in Aachen.
Dr.-Ing. Marco Zander ist Geschäftsführer der ZANDER GmbH mit Sitz in Aachen.
( Bild: Zander )

Herr Zander, wie bewerten Sie die Entwicklung im Bereich der frei Programmierbaren Highspeed-SPS in den letzten Jahren?

Zwei Trends zeichnen sich ab: a) Die Mechanik wird immer schneller und kratzt seit einiger Zeit schon an den Möglichkeiten von CPU-basierten Steuerungen, ein unter allen Umständen präzises Timing im Sub-Millisekundenbereich zu gewährleisten. Als Beispiel ist hier die Optimierung des Durchsatzes von Sortierprozessen zu nennen, wo sowohl die optische Kamerasensorik als auch die Ventilansteuerung immer schneller wird, so dass mittels einem Jitter-freien Herzstück die gesamte Taktung erhöht werden kann. Zudem erwarten wir aufgrund der wachsenden Integration und der Gesamtautomatisierung der Fertigungsprozesse auch einen weiterhin steigenden Bedarf an absolut (Echtzeit-) zuverlässigen, High-Speed Sortieranforderungen, zum Beispiel in der Lebensmittel- und Verpackungsindustrie.

b) Die gesteuerten Vorgänge werden immer komplexer, in den Anlagen wird in steigendem Maße gefordert, dass ausgelöst von einem Ereignis eine Reihe weiteren Ereignissen in exaktem Zeit- oder Schrittmaß ablaufen. Und wenn dann die Art der Reaktion auch noch komplex berechnet werden muss, wird das Zeitbudget auch hier sehr schnell knapp.

Herr Zander, welche Entwicklungen sehen Sie in den nächsten Jahren?

Zeitkritisch und komplex wachsen zusammen. Bislang kann man recht gut von einem „entweder – oder“ sprechen: Entweder die Applikation ist sehr zeitkritisch (schnell und zeitpräzise), oder sie ist komplex (in der Berechnung). Dies wird in Zukunft zusammenwachsen, wenn Reaktionen etwa durch komplexe Regelungsalgorithmen oder Lösung von Bewegungsgleichungen berechnet werden.

Hierzu ist es notwendig, die komplexen Algorithmen zunächst in die Steuerung zu bringen. Aus Sicht der Entwicklung sind es Funktionsblöcke, die für die komplexen Aufgaben anzubieten sind, und Steuerungen mit Kapazität zur Aufnahme dieser komplexen Algorithmen, die die sehr schnelle Ausführung auch ermöglichen.

Weiterhin werden analoge Werte – auch in Geschwindigkeiten über 100 kSPS (Samples-per-Second) – und Anbindung von Peripherie wie Dreh- und Inkrementalgeber über Schnittstellen wie RS485 eine große Rolle in den Steuerungen spielen. Die aktuelle und zukünftige Generation der ZX-Serie zusammen mit EX_PRESS 5 ist dafür gut gerüstet.

Die ZX20T (Bild 2 zeigt die Variante mit Profinet-Anschluss) bietet nun gegenüber der ZX4T einiges mehr an Kapazität, so steigt die interne Kapazität um mehr als den Faktor 20. Dies drückt sich auch in der neuen Programmierumgebung EX_PRESS 5 (Bild 4) aus, deren neueste Version 2.00 u.a. Funktionen (FUNCTION), FUNCTION_BLOCK und RETAIN anbietet.

(ID:44993198)