06.11.2014 Aufrufe

Download PDF - Wago

Download PDF - Wago

Download PDF - Wago

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

22<br />

Steuerungsebene<br />

Martin Paulick<br />

Die objektorientierten Features<br />

Bislang konnten Applikationsingenieure bei der Verwendung von<br />

IEC-61131-Engineeringtools keine objektorientierten Lösungen<br />

erstellen. Mit der Erweiterung des IEC-61131-Sprachumfangs um<br />

entsprechende Features hat sich die Situation geändert. Das Beispiel<br />

Fernwirktechnik zeigt, welcher Mehrwert sich daraus ergibt.<br />

Für die Aufgaben der Fernwirktechnik<br />

stehen mit Modbus, DNP3 und der<br />

IEC 60870 Kommunikationsprotokolle<br />

zur Verfügung, die sich sowohl technisch<br />

unterscheiden, als auch global eine unterschiedliche<br />

Verbreitung gefunden haben.<br />

Für die Schutz- und Leittechnik in elek-<br />

Gelungene Alternative<br />

Kleinsteuerung auf dem S7-300-Niveau<br />

ISH rüstet diese Kompaktsteuerung auf<br />

Basis einer Soft-SPS unter ProConOS ® mit<br />

vielen I/O-Schnittstellen und leistungsstarker<br />

Programmiertechnik Multiprog<br />

aus. L-Bus, Profibus/CANopen und Ethernet<br />

sind Standard. Das Hutschienenmodul<br />

bewährt sich bereits<br />

unter Extrembedingungen<br />

bei -20+70°C imBergbau<br />

und der Bahntechnik.<br />

<br />

Kompetenzschwerpunkt<br />

Sicherheitsgerichtete<br />

Steuerungen<br />

Testen Siedas Starterkit mitGrundmodulund<br />

digitalemI/O-Modulzum kleinenPreis.<br />

ISHIngenieursozietätGmbH<br />

Johannespfad 12 ·D-57223 Kreuztal<br />

Telefon +49(0) 2732/5599-0<br />

Telefax +49(0) 2732/5599-199<br />

E-Mail info@ish-gmbh.com<br />

www.ish-gmbh.com


Steuerungsebene<br />

23<br />

trischen Schaltanlagen der Mittel- und<br />

Hochspannungstechnik wurde im Jahr<br />

2004 die Norm IEC 61850 als globaler<br />

Standard veröffentlicht. Auf dieser Basis<br />

erfolgte Ende 2006 die Definition der<br />

IEC 61400-25 zur Kommunikation beziehungsweise<br />

Überwachung und Steuerung<br />

von Windenergie-Anlagen. Im Gegensatz<br />

zu den drei erstgenannten Normen, welche<br />

einen signalorientierter Ansatz verfolgen,<br />

basieren die beiden letztgenannten<br />

auf einem objektorientierten Ansatz.<br />

Die IEC 61850 wie auch die IEC 61400-<br />

25 eignen sich daher ideal für die Umsetzung<br />

in einer objektorientierten Programmiersprache.<br />

Im Umfeld der Fernwirktechnik kommen<br />

beispielsweise Steuerungen des <strong>Wago</strong>-I/O-Systems<br />

zur Überwachung von<br />

mechatronischen Einheiten oder als Gateway<br />

zu anderen Feldbussen wie Profibus<br />

zum Einsatz. Für die Erweiterung des<br />

Portfolios um eine IEC-61850-Lösung<br />

wurde die Implementierung eines IEC-<br />

61850-Servers in verschiedene <strong>Wago</strong>-<br />

Steuerungen evaluiert, welche dann mit<br />

dem in der Leittechnik enthaltenen Client<br />

kommunizieren. Nachfolgende Ausführungen<br />

beschreiben die Portierung der<br />

unter Codesys V2.3 – der IEC-61131-<br />

Programmierumgebung des Herstellers<br />

Modell eines intelligenten elektronischen<br />

Gerätes (IED) gemäß IEC 61850:<br />

Die Grafik stellt die Projektion von realen<br />

Anlagenteilen auf das Software-<br />

Objekt und den Datentransport über<br />

das Ethernet-Netzwerk dar.<br />

3S Smart Software Solutions – erstellten<br />

klassisch prozeduralen Lösung für das<br />

<strong>Wago</strong>-I/O-System Serie 750 hin zu einer<br />

unter Codesys V3 erstellten objektorientierten<br />

Lösung für das dezentrale Speedway-IO-System.<br />

Der Standard 61850 definiert im Wesentlichen<br />

ein objektorientiertes Datenmodell<br />

sowie Aktionen auf das Datenmodell<br />

und das Kommunikationsmodell.<br />

Im Datenmodell sind „Logical Name<br />

Classes“ (92 verschiedene LNCs) definiert,<br />

welche ihrerseits wieder „Common<br />

Data Classes“ enthalten. Diese „Common<br />

Data Classes“ (29 verschiedene CDCs)<br />

enthalten letztendlich Attribute (zehn verschiedene<br />

CDA) wie etwa Zeichenketten,<br />

ganze Zahlen oder Gleitkommma-Zahlen.<br />

Aktionen auf das Datenmodel sind beispielsweise<br />

„Gerät identifizieren“, „Datenmodel<br />

auslesen“, „Daten lesen“ oder<br />

„Daten schreiben“. Als mögliche Kommunikationsmodelle<br />

für die IEC 61850<br />

sind schließlich MMS, Web-Services oder<br />

OPC-UA denkbar. Umgesetzt und verfügbar<br />

ist bis dato allerdings erst MMS als<br />

Kommunikationsmodell. MMS steht für<br />

„Manufacturing Message Specification“<br />

und ist als Protokoll im Standard ISO<br />

9506 definiert.<br />

In Codesys V2.3 ist eine Umsetzung sowohl<br />

klassisch prozedural als auch „eingeschränkt<br />

objektorientiert“ möglich. Bei<br />

dem klassisch prozeduralen Ansatz kann<br />

die Trennung von Daten und Funktion erfolgen,<br />

indem für alle LNCs strukturierte<br />

Datentypen erstellt werden. Funktionen<br />

Zuverlässig.<br />

Präzise.<br />

Innovativ.<br />

? ?<br />

?<br />

?<br />

(Bilder: <strong>Wago</strong>)<br />

www.computer-automation.de . 8/09<br />

Ihr Automatisierungs-Partner<br />

für individuelle, kosteneffiziente<br />

Kundenlösungen.<br />

Grossenbacher Systeme AG<br />

CH-9008 St. Gallen |+41 71 2432929<br />

D-63452 Hanau |+49 6181 6751 999


24<br />

Steuerungsebene<br />

Objektorientierte IEC-61850-Server-Lösung<br />

in Codesys V3: Durch Verwendung<br />

der objektorientierten Spracherweiterungen<br />

für Vererbung (EXTENDS und<br />

SUPER^) lässt sich der Code-Umfang in<br />

den Methoden der dargestellten IEC-<br />

61850-Klasse deutlich reduzieren.<br />

Ich persönlich berate Sie über alle Fragen<br />

zum Thema „wireless automation“, wie die<br />

geeigneten Funktechnologien und Steuerungskonzepte<br />

bis zur Inbetriebnahme<br />

vor Ort. Vertrauen Sie auf die Kompetenz<br />

und die Erfahrung sowie die persönliche<br />

individuelle Beratung.<br />

Schildknecht AG<br />

Haugweg 26 ·D-71711 Murr<br />

Telefon: 07144/89718-0<br />

Fax: 07144/89718-29<br />

E-Mail: office@schildknecht.info<br />

Internet: www.schildknecht.info<br />

können dann auf die Datentypen zugreifen<br />

und diese manipulieren. Eine eingeschränkt<br />

objektorientierte Lösung ist mit<br />

dem Ansatz der Funktionsbausteine realisierbar.<br />

Dabei sind die strukturierten<br />

Daten der Logical Node Classes im Funktionsbaustein<br />

gekapselt und lassen sich<br />

über den Aufruf des Funktionsbausteins<br />

oder den Aufruf einer Aktion auf dem<br />

Funktionsbaustein bearbeiten.<br />

Eine Schwäche der Codesys-Version<br />

2.3 ist hierbei, dass Aktionen keine<br />

IN_OUT-Parameter (call by reference)<br />

übergeben werden können und Aktionen<br />

SPS-Störungsursachen<br />

schnell analysieren<br />

www.ServiceLab.de<br />

Funkanwendungen in der Automatisierungstechnik sind hoch komplexe<br />

Aufgabenstellungen. Mit unserem Produkten DATAEAGLE bieten wir seit<br />

über 10 Jahren Datenfunksysteme, u.a. für Profibus, an und können damit<br />

geschlossene Regelschleifen und failsafe Anwendungen über eine Funkstrecke<br />

realisieren. In mehreren Tausend erfolgreichen Projekten bewähren<br />

sich unsere Produkte tagtäglich in den schwierigsten industriellen Einsatzfällen<br />

und Umgebungen. Dabei setzen wir alle Funktechnologien in praktisch<br />

allen Frequenzen ein.<br />

auch über keine lokalen Variablen verfügen.<br />

Zwar lässt sich die fehlende Möglichkeit,<br />

IN_OUT-Parameter zu übergeben,<br />

durch die Übergabe eines Pointers<br />

umgehen; es gibt jedoch Applikationsingenieure,<br />

die Pointer<br />

Thomas Schildknecht (Dipl.-Ing.)<br />

generell vermeiden.<br />

Auch gibt es Firmen<br />

beziehungsweise Projekte,<br />

in deren Codierrichtlinien<br />

die Verwendung<br />

von Pointern untersagt<br />

ist. In der Version<br />

3 von Codesys hat<br />

3S die genannten<br />

Schwächen mit der<br />

Spracherweiterung<br />

„Methode“ abgestellt.<br />

Methoden erweitern<br />

das Konzept von Aktionen<br />

dahingehend,<br />

dass sie auch lokale<br />

Variable enthalten können<br />

und es möglich ist,<br />

IN_OUT-Parameter zu<br />

übergeben.<br />

Ein vom Anwender<br />

mit der „<strong>Wago</strong>-61850-<br />

Codesys-Bibliothek“<br />

erstelltes SPS-Programm<br />

verwendet typischerweise<br />

mehrere<br />

Objekte verschiedener<br />

Logical Node Classes.<br />

Dazu ist innerhalb der<br />

61850-Bibliothek eine<br />

Iteration über die Instanzen<br />

der verschiedenen<br />

Logical Node<br />

Classes erforderlich.<br />

Ein Vorgang, der in<br />

Codesys V2.3 ebenfalls aufwendig mit<br />

einem Array von Pointern realisiert wurde.<br />

Mit dem Interface-Mechanismus der<br />

Version 3 gelingt dies wesentlich einfacher.<br />

Dabei implementieren mehrere<br />

Klassen das gleiche Interface, zum Beispiel<br />

alle LNC die Methode Read. Die<br />

Methode lässt sich jetzt einfach aufrufen,<br />

ohne dass der Programmierer darüber<br />

nachdenken beziehungsweise extra Code<br />

schreiben muss. Ohne dieses Feature<br />

müsste der Funktionsaufruf für jede der<br />

Klassen einzeln codiert werden. In einer<br />

zukünftigen Erweiterung möchte 3S das<br />

derzeit implementierte Kommunikationsmodel<br />

MMS durch Web-Services ersetzen.<br />

Bei der Version 2.3 bestünde der Lösungsansatz<br />

für die Erweiterung um ein<br />

neues Kommunikationsmodel darin,<br />

zwei Kommunikationsbibliotheken mit<br />

gleichem Interface zu erstellen. Zum<br />

Übersetzungszeitpunkt würde dann die<br />

eine oder andere Bibliothek verwendet.<br />

Auch diese Problematik lässt sich mit<br />

dem Interface Mechanismus der Version<br />

3 wesentlich einfacher lösen, da der<br />

Code dann beide Kommunikationsmodelle<br />

beinhalten kann. Eine flexiblere<br />

Lösung entsteht dadurch, dass die Entscheidung,<br />

ob über MMS oder Web-Services<br />

kommuniziert werden soll, zur<br />

Laufzeit des SPS-Programms verschoben<br />

werden kann.<br />

Noch eine Schwäche von Codesys 2.3:<br />

Im Datenmodel der IEC 61850 erben die<br />

spezifischen Logical Node Classes von einer<br />

Basisklasse eine Anzahl von Common<br />

Data Classes. In der Version 2.3 sind diese<br />

Daten in jedem spezifischen Typ einer<br />

LNC erneut zu definieren und die Funktionalität<br />

in den Aktionen erneut zu pro-<br />

8/09 . www.computer-automation.de


Steuerungsebene 25<br />

grammieren. In der Version 3 entfällt dieses<br />

durch Nutzung des Vererbungsmechanismus<br />

(Spracherweiterung EXTENDS –<br />

Stichwort: copy & paste).<br />

Klassich versus<br />

objektorientiert<br />

Das Prinzip der objektorientierten Programmierung,<br />

welches Codesys V3 zugrunde<br />

liegt, ist die Kapselung von Daten<br />

(Attribute) und Operationen (Methoden)<br />

in einem Objekt. Die Idee rührt daher,<br />

dass man „Real World Objects“ auf Software-Objekte<br />

abbilden möchte – also zum<br />

Beispiel ein Objekt Lasttrenner mit dem<br />

Attribut Öltemperatur und den Methoden<br />

Öffnen/Schließen. Dagegen steht der frühere<br />

Ansatz der prozeduralen Programmierung<br />

für eine Trennung von Daten und<br />

Operationen. Merkmale, die von objektorientierten<br />

Sprachen unterstützt werden,<br />

sind Klassen, Methoden, Polymorphie,<br />

Schnittstellen sowie Speicherverwaltung<br />

Neben Codesys gibt es weitere objektorientierte<br />

Sprachen, die sich jedoch im<br />

Automatisierungsumfeld bis dato nicht<br />

auf breiter Front durchgesetzt haben.<br />

für Instantiierung und Zerstörung von Objekten<br />

zur Laufzeit. Dabei muss eine<br />

Sprache nicht notwendigerweise all diese<br />

Merkmale unterstützen, damit sie als objektorientiert<br />

gilt.<br />

Die objektorientierten Möglichkeiten<br />

bringen aber nicht nur dem Maschinenund<br />

Anlagenbauer Vorteile; auch die Hersteller<br />

von Automatisierungsgeräten profitieren<br />

davon. Diese haben typischerweise<br />

sowohl ein Gerät im Programm als auch<br />

ein skalierbares Hardware-Portfolio, um<br />

dem Anwender eine individuelle Lösung<br />

für seine Leistungsanforderungen bieten<br />

Sprachen und ihre Merkmale<br />

zu können. Mit den erweiterten Möglichkeiten<br />

von Codesys lassen sich jetzt mehr<br />

Funktionalitäten aus der Firmware der<br />

Geräte in die IEC-61131-Softwarelösungen<br />

verlagern, die unmittelbar auf allen<br />

Geräten des Herstellers lauffähig sind.<br />

Dies verkürzt Entwicklungszeiten und erhöht<br />

die Flexibilität.<br />

Im Fall der eingangs erwähnten Telecontrol-Lösung<br />

war der Umstieg von der<br />

Version 2.3 auf Version 3 der Codesys-<br />

Entwicklungsumgebung auf einfache Art<br />

über die automatische Konvertierung des<br />

Projektes möglich und die Lösung auf der<br />

CoDeSys v2.3 CoDeSys v3 C#/Java Smalltalk<br />

Prozedural + + – –<br />

Objektorientierung – + + +<br />

Klassen ∼ (FB) + + +<br />

Abstrakte Klassen – – + –<br />

Konstruktor+Destruktor – + + +<br />

Methoden ∼ (Aktionen) + + +<br />

Polymorphie – + + +<br />

Sichtbarkeit ∼ (Variablen) ∼ (Variablen) + +<br />

Properties – + – –<br />

Interfaces – + + –<br />

New Operator – – + +<br />

cifX –reduziert auf das Maximum<br />

für Feldbus<br />

cifX – PCI und PCI Express – basierend auf der netX Technologie.<br />

Jetzt für CANopen, DeviceNet und PROFIBUS lieferbar.<br />

www.hilscher.com<br />

info@hilscher.com


26<br />

Steuerungsebene<br />

Die offizielle Tageszeitung zur<br />

SPS/IPC/DRIVES 2009<br />

HERAUSGEGEBEN VON<br />

„Eine wertvolle<br />

Informationsquelle, die<br />

gute Orientierung gibt!“<br />

Johann Thoma,<br />

Geschäftsführer Mesago Messemanagement GmbH<br />

Veranstalter der SPS/IPC/DRIVES<br />

neuen Plattform unmittelbar lauffähig. Für die Aufgabenstellung<br />

eigneten sich hier besonders die folgenden objektorientierten<br />

Änderungen:<br />

■ Das IEC-61850-Klassenmodel spiegelt sich direkt in der objektorientierten<br />

Softwarestruktur wieder. Das bedeutet, dass<br />

zum Beispiel ein realer Lasttrenner direkt auf die Klasse<br />

XCBR abgebildet wird, was für „Circuit Breaker“ steht.<br />

■ Alle IEC-61850-Logical-Node-Classes beinhalten grundlegende<br />

Funktionalitäten einer Basisklasse. Damit sind nur<br />

noch die spezifischen Funktionen zu implementieren.<br />

■ Codesys stellt mit der speziellen Methode „FB_Init“ einen<br />

Konstruktor-Mechanismus zur Verfügung. Diese Methode<br />

wird automatisch bei der Erzeugung des Objektes genau einmal<br />

aufgerufen. In der genannten Anwendung dient dieser<br />

Mechanismus zur Initialisierung der typspezifischen Eigenschaften<br />

der abgeleiteten 61850-Klassen.<br />

■ Wie bereits erwähnt, ist MMS eine erste Umsetzung des IEC-<br />

61850-Kommunikationsmodels. Mit Blick auf die weiteren<br />

denkbaren Realisierungen hinsichtlich Web-Services oder<br />

OPC-UA ist beim Design der Kommunikationsanschaltung<br />

als Interface später eine Anschaltung einfach gegen die andere<br />

austauschbar.<br />

Die objektorientierten Erweiterungen in Codesys verfolgen<br />

letztlich das Ziel, dem SPS-Programmierer die Wahlfreiheit zu<br />

bieten, ob er die Aufgabenstellung durchgängig klassisch, durchgängig<br />

objektorientiert oder auch „gemischt“ umsetzen möchte.<br />

Die objektorientierte Lösung bietet jedoch klare Vorteile – zum<br />

Beispiel die höhere Wartbarkeit des Codes durch die Kapselung<br />

von Daten und Operationen innerhalb von Objekten. Der Mechanismus<br />

der Vererbung unterstützt den Entwickler auch hinsichtlich<br />

einer einfacheren Erweiterbarkeit der Lösung. Im skizzierten<br />

Fallbeispiel lassen sich weitere Logical Node Classes ohne viel<br />

„Copy & Paste“ ergänzen. Das Merkmal der Interfaces unterstützt<br />

den Entwickler zudem bei der Ergänzung um weitere<br />

Kommunikations-Mappings.<br />

Mit einer zukünftigen Integration von UML-Editoren in die<br />

Entwicklungsumgebung wird die objektorientierte Erweiterung<br />

der IEC 61131-3 einen weiteren Schub erfahren. Im Rahmen<br />

dieses Schrittes hin zur „ausführbaren UML“ wurden innerhalb<br />

eines Forschungsprojektes an der Universität Kassel Editoren<br />

für Klassen-, Zustands- und Aktivitätsdiagramme erstellt, die<br />

sich als Plug-In nahtlos in Codesys einbetten. Die Editoren arbeiten<br />

dabei direkt auf dem Datenmodell der Entwicklungsumgebung,<br />

so dass keinerlei manueller Abgleich zwischen den<br />

UML-Editoren und dem IEC-61131-Code notwendig ist. Dies<br />

ermöglicht letztlich einen breiteren Einsatz von Codesys – vom<br />

objektorientierten Design, über die Implementierung und Inbetriebnahme<br />

bis hin zur Visualisierung.<br />

gh<br />

Martin<br />

Paulick<br />

Erscheinungstermine: Anzeigenschluss:<br />

24. November 2009 2. November 2009<br />

25. November 2009 (für alle 3 Ausgaben)<br />

26. November 2009<br />

Kontakt:<br />

Computer&AUTOMATION Mediaberatung<br />

Tel.: 08121.95-1385 · Fax: 08121.95-1670<br />

E-Mail: media@computer-automation.de<br />

www.computer-automation.de<br />

ist Produktmanager<br />

für Engineering-Software<br />

und Telecontrol-Lösungen<br />

bei <strong>Wago</strong> Kontakttechnik.<br />

8/09 . www.computer-automation.de

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!