LinkedIn Logo YouTube Logo

Embedded-Plattform für Automatisierungsaufgaben: Altera Softcore-Prozessor für IEC61131-3- und .net-Programmierung

FPGA-Lösungen mit Embedded-Prozessoren empfehlen sich aufgrund ihrer Leistungsfähigkeit und Flexiblität für moderne, anspruchsvolle industrielle Netzwerklösungen. Für den Embedded Softcore-Prozessor Nios II steht jetzt auch eine Software zur Laufzeit-Steuerung mit der Microsoft .net-Technologie zur Verfügung. Mit ProConOS eCLR erschließt sich so auch die .net-Welt für Embedded-Plattformen auf Basis des Nios II-Prozessors.

Die Firma KW-Software bietet ein .net-basierendes, geräteunabhängiges Automatisierungskonzept an, das von einfachen Geräten bis hin zur SPS reicht. Durch den Einsatz von Microsoft Intermediate Language (MSIL) bzw. Common Intermediate Language (CIL) als geräteunabhängiger Zwischensprache und dem Debug-Interface für Download, Überwachung und Diagnose wird eine herstellerunabhängige Geräteschnittstelle auf Basis der .net Standardtechnologie geschaffen. Für mittlere Echtzeit wird die ProConOS embedded CLR auf Windows Betriebssystemen eingesetzt, für harte Echtzeit-Anwendungen kommen Embedded-Betriebssysteme wie z.B. VxWorks zum Einsatz. Die CLR-Technologie bildet die Laufzeitbasis von .net und führt alle Anwendungen unabhängig von der gewählten Programmiersprache und der Hardware-Plattform aus. So stellt CLR für .net-Zielplattformen ein einheitliches Laufzeitsystem dar. Diese Technologie wird durch embedded CLR echtzeitfähig verfügbar. CLR führt den standardisierten Zwischencode der CIL aus. CIL wurde früher als MSIL bezeichnet, aber im Rahmen der Standardisierung durch die ECMA umbenannt. Was .net von anderen auf Zwischencode basierenden Laufzeitumgebungen signifikant unterscheidet, ist das von Beginn an berücksichtigte Nebeneinander mehrerer Programmiersprachen. CIL ist komplett offen, objektorientiert, geräteunabhängig und erlaubt beliebige Kombinationen. So lassen sich Geräte beispielsweise gleichzeitig in C# und mit dem Multiprog (IEC-61131-Programmierung) oder anderen Tools programmieren. Darüber hinaus steht mit dem CLR-Debug-Interface eine herstellerunabhängige Geräteschnittstelle für Download, Überwachung und Diagnose zur Verfügung. Flexible Laufzeit-Steuerung ProConOS eCLR (embedded Common Language Runtime) ist eine neue Generation von Laufzeit-Steuerungssystemen und stellt einen programmierbaren Automations-Controller (PAC) mit einem offenen Programmier-Interface auf Basis der CIL dar. Die System-Software kann bei Bedarf zusammen mit der Applikation dynamisch heruntergeladen werden. Für die in der Industrie erforderlichen schnellen Reaktionszeiten führt die neue Laufzeit-Steuerungssoftware auch echten Maschinencode aus. ProConOS eCLR erschließt die .net-Umgebung für Embedded-Plattformen mit dem Nios II-Prozessor. Die Software ist für den Einsatz als Automations-Controller ausgelegt. Daher bietet eCLR zusätzliche Funktionalitäten, die auf SPSen abzielen, aber auch für andere Steuerungssysteme wie Motion-Control oder CNC genutzt werden können. Wesentliche Merkmale von eCLR sind eine hohe Ausführungsgeschwindigkeit, geringe Anforderungen an den verfügbaren Speicherplatz, Kommunikation per Remote-Zugriff, schneller Datentransfer und flexibles Debugging. Implementiert in eine Nios II-Platttform ermöglicht ProConOS eCLR zusammen mit dem Programmiersystem Multiprog und einem OPC-Server ein leistungsfähiges SPS-System. Steuerungs-Applikationen mit Embedded-Prozessor und FPGA Die Kombination aus Cyclone II-FPGAs und Nios II-Prozessor ermöglicht interessante Lösungen für industrielle Netzwerke oder Steuerungs-Applikationen mit Vorteilen bezüglich Flexibilität, Time-To-Market und Kosten. Damit empfiehlt sich der Einsatz von programmierbarer Logik in vielen Applikationen, die bislang eine Domäne von ASICs und ASSPs waren. Die Kombination aus Nios II/Cyclone II ermöglicht es z.B., ein komplettes Embedded-Prozessorsystem mit einer Leistung von über 100MIPS kostensensibel zu implementieren. Die Nios II-Familie besteht aus drei Soft-CPU-Cores: ein Core für maximale Geschwindigkeit, ein Core, der auf Logik-Effizienz optimiert ist, und ein Core für eine ausgewogene Kombination beider Kriterien. Alle drei Cores sind zu 100% Code-kompatibel – damit haben Entwickler die Möglichkeit, die CPU-Konfiguration zu wechseln, ohne Einschränkungen bei den bereits getätigten Software-Investitionen. Im Gegensatz zu Standard-CPUs und anderen FPGA-Lösungen kann der Befehlssatz des Nios II mit bis zu 256 anwenderspezifischen Befehlen erweitert werden. Der Nios II-Prozessor wird von mehr als 60 Peripheriefunktionen unterstützt – mit vielfältigen Kombinationsmöglichkeiten. Zu den Funktionsblöcken gehören u.a. Ethernet-, USB- und Speicher-Controller. Der SOPC-Builder als Bestandteil der Quartus II-Software von Altera unterstützt all diese Peripheriefunktionen für eine schnelle, weitgehend automatisierte Implementierung. Programmiersystem für Steuerungs-Applikationen Multiprog ist ein IEC61131-Programmiersystem für Steuerungsanwendungen mit mittleren bis hin zu höchsten Anforderungen, einfach zu bedienen und mit allen erforderlichen Funktionen ausgestattet. Es wird in verschiedenen Branchen der Industrie eingesetzt, vom Maschinen-/Anlagenbau über den Automobil- und Verkehrssektor bis hin zur Prozessautomatisierung. Das Programmiersystem unterstützt alle IEC-Programmiersprachen (gemäß Definition in der IEC61131-3). So kann der Entwickler zwischen den fünf standardisierten Programmiersprachen FBS, KOP, AWL, ST und AS wählen. Die Sprachen lassen sich je nach Projektanforderung und Vorkenntnissen in der Programmierung auch mischen (beispielsweise finden sich Hochsprachenprogrammierer schnell in ST zurecht, erfahrene SPS-Programmierer bevorzugen eventuell AWL oder KOP). Ferner steht ein Toolkit zur Anpassung an kundenspezifische Laufzeitsysteme für Steuerungen zur Verfügung. Online-Änderungen sind unabhängig von der Größe des Anwendungsprogramms möglich und Multiprog ist mehrsprachig. Die Software bietet Unterstützung in den verschiedenen Phasen eines Automatisierungsprojekts: Projekt-Handling (konform mit dem internationalen Standard IEC61131-3), Erstellen der Steuerungsanwendung, Parametrierung und Konfiguration der Steuerung, Code-Generierung (Kompilieren) und Download an die Steuerung, Test, Inbetriebnahme und Wartung, Dokumentation und Archivierung. Multiprog läuft als 32Bit-Applikation unter Microsoft Windows 95/98/ME und Windows NT/2000/XP. Entwicklungs-Board Für den Einsatz des Nios II-Embedded-Prozessors im .net-Frame-work für industrielle Applikationen steht das Entwicklungs­board DBC2C20 zur Verfügung. Das von EBV Elektronik angebotene Board ist eine Evaluierungs-Plattform, die verschiedene Feldbus-Standards unterstützt. Das hier eingesetzte Cyclone II-FPGA weist genügend Ressourcen auf, so dass der Entwickler darauf ein komplettes Automatisierungssystem implementieren kann. Das Board ist mit verschiedenen Industriestandard-I/Os für die direkte Anbindung in der industriellen Automatisierung ausgestattet wie CAN, RS485, RS232 und 24V-I/Os. Für die schnelle Kommunikation stehen LVDS-Kanäle, zwei Ethernet-Kanäle und ein USB2 2.0 OTG-Transceiver zur Verfügung. An das auf dem Board befindliche LVDS-Channel-Link-Interface kann direkt ein TFT-Flachbildschirm angeschlossen werden. Um den Einsatz zu erleichtern, befinden sich auf dem Board zusätzlich vier Taster, acht LEDs und zwei digitale Siebensegmentanzeigen. Die Speicher-Ausstattung ist mit 16Mbyte SDRAM, 1Mbyte SRAM und 8Mbyte Flash durchaus großzügig. Mit dem Board werden verschiedene IP-Cores wie eine Ethernet-MAC oder CAN-Controller für die effiziente Evaluierung geliefert. Fazit Mit der Laufzeit-Software ProConOS eCLR, dem Softcore-Prozessor Nios II, den FPGAs der Cyclone II-Familie und den entsprechenden Evaluierungs- und Programmier-Tools stehen alle Komponenten für die Erschließung der .net-Umgebung mit einer flexiblen Embedded-Plattform zur Verfügung. Damit lassen sich vielfältige Automatisierungs- und Steuerungsaufgaben mit zielgerichteten Designs lösen. Kasten: Kostengünstige FPGA-Lösung für industrielle Steuerungsaufgaben Die Cyclone II-Familie von Altera baut auf dem Erfolg der Cyclone-Familie auf und zeichnet sich ihr gegenüber durch geringere Kosten, höhere Komplexität und mehr Funktionen bei hoher Performance aus. Cyclone II-Bausteine gibt es mit Komplexitäten von 4.608 bis 68.416 Logikelementen (LEs). Mit den 4KBit großen Embedded-Speicherblöcken kann in Cyclone II-Bausteinen eine Speicherkapazität von 1,1MBit realisiert werden. Dies reicht aus, um den Standardanforderungen an Speicherkapazitäten (für den System-Cache, die Datenpufferung, für Clock Domain Translation und FIFOs) in SoCs gerecht zu werden. Außerdem kann der Anwender die Embedded-Speicherblöcke unterschiedlich konfigurieren, einschließlich echtem Dual-Port- und Single-Port-RAM, ROM und FIFO-Buffer. Cyclone II-Bausteine sind mit bis zu 150 Embedded-Multiplizierern (18×18) ausgestattet, wodurch sie sich besonders für die Implementierung von digitalen Signalverarbeitungsfunktionen wie FIR-Filter, FFTs, Korrelatoren, Codierer/Decodierer und NCOs (numerisch gesteuerte Oszillatoren) eignen. Durch die Taktfrequenz von 250MHz können die Embedded-Multiplizierer in den Cyclone II-Bausteinen auch als Coprozessor fungieren, der dem DSP komplexe und zeitaufwendige arithmetischen Berechnungen abnimmt, dadurch die Systemleistung steigert und die Systemkosten senkt.

EBV Elektronik GmbH & Co. KG
http://www.ebv.com

Das könnte Sie auch Interessieren

Weitere Beiträge