EasyCODE V8 SPS - easycode.de
EasyCODE V8 SPS - easycode.de
EasyCODE V8 SPS - easycode.de
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Historie<br />
<strong>EasyCODE</strong> <strong>V8</strong> <strong>SPS</strong><br />
Automatisieren mit <strong>EasyCODE</strong> <strong>SPS</strong><br />
Hochsprachenprogrammierung für <strong>SPS</strong> in ST und SCL nach <strong>de</strong>r IEC 61131-3<br />
<strong>EasyCODE</strong> war eines <strong>de</strong>r ersten Entwicklungstools das für prozedurale Programmiersprachen eine grafische<br />
Entwicklungsoberfläche anbot und dafür konsequent auf die Vorteile von Struktogrammen nach Nassi-Shnei<strong>de</strong>rman<br />
setzte. <strong>EasyCODE</strong> <strong>SPS</strong> folgt <strong>de</strong>r I<strong>de</strong>e strukturierter Programmierung und setzt damit ganz bewusst auf eine<br />
Technologie, die sich in ungezählten Projekten bewährt und bis heute nichts an Aktualität und Effizienz verloren hat.<br />
Ganz neu ist auch die Möglichkeit <strong>SPS</strong>en strukturiert zu programmieren nicht. In <strong>de</strong>n 90er Jahren hat SIEMENS schon<br />
eine erste Version angeboten, mit <strong>de</strong>r es möglich war aus Struktogrammen SCL Dateien zu generieren. Manche<br />
unserer Kun<strong>de</strong>n schreiben Ihre <strong>SPS</strong> Programme noch heute damit.<br />
Motivation<br />
EASYCODE ist mit seinen Tools und Lösungen vor allem in <strong>de</strong>r<br />
klassischen Embed<strong>de</strong>d Entwicklung erfolgreich und ist über viele<br />
Projekte zu einem Standard gewor<strong>de</strong>n. Natürlich entwickeln <strong>EasyCODE</strong><br />
Kun<strong>de</strong>n auch Lösungen und Produkte die mit <strong>SPS</strong>en arbeiten und wir<br />
sehen diese Bereiche immer mehr zusammen wachsen. Oft arbeiten<br />
Embed<strong>de</strong>d- und <strong>SPS</strong>-Entwicklungsteams nicht nur unter einem Dach,<br />
son<strong>de</strong>rn auch am gleichen Projekt, was zwangsweise dazu führt, dass<br />
<strong>SPS</strong> Entwickler mit <strong>EasyCODE</strong> in Berührung kommen und die Vorzüge<br />
strukturierter Entwicklung kennen und schätzen lernen.<br />
Die textbasierten Programmiersprachen <strong>de</strong>r IEC 61131-3 eignen sich<br />
hervorragend für strukturierte Programmierung. Mit diesen<br />
Voraussetzungen war es nahe liegend eine <strong>EasyCODE</strong> Version für<br />
Entwicklung und Analyse von <strong>SPS</strong> Programmen anzubieten.<br />
Philosophie & Technik<br />
Man spricht bei Struktogrammen oft auch von Co<strong>de</strong>-Generatoren, was<br />
bei <strong>EasyCODE</strong> <strong>SPS</strong> aber nicht zutrifft. Wir lesen Quellco<strong>de</strong> ein,<br />
interpretieren diesen und schreiben beim Speichern wie<strong>de</strong>r reinen<br />
Quellco<strong>de</strong>. Die Struktogramme sind nur eine an<strong>de</strong>re Art <strong>de</strong>r<br />
Darstellung von Sprachkonstrukten die wir in allen Hochsprachen<br />
fin<strong>de</strong>n. Diese grafische Darstellung bietet einige Vorteile bei <strong>de</strong>r<br />
Erstellung neuer Dateien. Man beginnt die Entwicklung einer Datei in<br />
grafischen Symbolen, z.B. mit einem Anweisungsblock, hängt einen<br />
Funktionsblock an und beschreibt verbal, was diese Funktion machen<br />
soll, arbeitet die ersten Details aus und hängt <strong>de</strong>n nächsten<br />
Funktionsblock an. So entsteht schnell ein Gerüst das schon die Logik<br />
enthält. Dieses Konstrukt wird verfeinert, in<strong>de</strong>m man die<br />
Struktogrammelemente mit Quellco<strong>de</strong> füllt.<br />
Ein großer Vorteil dieser Art <strong>de</strong>r Entwicklung ist, dass man nicht an<br />
starre Vorgehensweisen gebun<strong>de</strong>n ist, son<strong>de</strong>rn sehr flexibel auf<br />
geän<strong>de</strong>rte Anfor<strong>de</strong>rungen reagieren kann. Designfehler in einer Datei<br />
sind schnell korrigierbar, weil das betreffen<strong>de</strong> Element einfach per<br />
Drag & Drop an die gewünschte Position verschoben wer<strong>de</strong>n kann. Oft<br />
hat man Funktionen die in an<strong>de</strong>ren Steuerungen genauso o<strong>de</strong>r mit<br />
kleinen Modifikationen benötigt wer<strong>de</strong>n. Diese können in <strong>EasyCODE</strong> als<br />
Bausteine abgelegt und fertig strukturiert am Verwendungsort<br />
eingefügt wer<strong>de</strong>n.<br />
Eine <strong>de</strong>r großen Stärken von <strong>EasyCODE</strong> ist die Option, Dateien weiter<br />
zu strukturieren um die Lesbarkeit zu erhöhen und die Konzentration<br />
auf das Wesentliche zu lenken. Wir sprechen von Ebenen o<strong>de</strong>r Ausblendungen, wenn Teile <strong>de</strong>s Quellco<strong>de</strong>s aus <strong>de</strong>r<br />
aktuellen Ansicht ausgeblen<strong>de</strong>t und in eine neue Ebene verschoben wer<strong>de</strong>n. Mit dieser Technik kann die Logik einer<br />
Funktion sehr gut herausgearbeitet wer<strong>de</strong>n und man erreicht zwangsläufig, dass auf je<strong>de</strong>r Seite eine gut lesbare,<br />
verständliche Einheit abgebil<strong>de</strong>t wird.
Analyse<br />
<strong>EasyCODE</strong> eignet sich hervorragend zur Analyse komplexer Dateien und Algorithmen, da es Quelldateien beim<br />
Einlesen interpretiert und in Struktogramme wan<strong>de</strong>lt. Funktionsblöcke, Daten- und Organisationsbausteine wer<strong>de</strong>n in<br />
<strong>de</strong>r ersten Ansicht ausgeblen<strong>de</strong>t und man erhält eine übergeordnete Sicht auf die Datei. Ähnlich <strong>de</strong>m<br />
Inhaltsverzeichnis eines Buches erhält man in <strong>de</strong>r Strukturliste eine hervorragen<strong>de</strong> Glie<strong>de</strong>rung und kann daraus<br />
gezielt einzelne „Kapitel“ ansteuern. Mit einem Mausklick wechselt man in die Detailansicht um <strong>de</strong>n Quellco<strong>de</strong> zu<br />
inspizieren, o<strong>de</strong>r innerhalb <strong>de</strong>s Elements logische Einheiten zu bil<strong>de</strong>n und die Struktur zu optimieren. Beson<strong>de</strong>rs<br />
interessant wird es wenn reiner Quelltext eingefügt wird und <strong>EasyCODE</strong> daraus ein Struktogramm aufbaut, das sich<br />
nahtlos in die Datei integriert.<br />
Zur Weiterentwicklung bietet <strong>EasyCODE</strong> sprachspezifisch alle möglichen Elemente aus <strong>de</strong>m Kontextmenü an und<br />
verhin<strong>de</strong>rt dabei Einfügeoperationen entgegen <strong>de</strong>r Sprach<strong>de</strong>finition. Routineaufgaben wie Klammern und<br />
Einrückungen zählen, Zeilenabschlüsse setzen und Kommentierungen erledigt <strong>EasyCODE</strong> ganz automatisch und<br />
syntaktisch richtig.<br />
Eine Metrikanzeige warnt <strong>de</strong>n Entwickler wenn die Komplexität <strong>de</strong>r Datei einen kritischen Wert erreicht, die<br />
Entscheidungsdichte das Programm schlecht wartbar wer<strong>de</strong>n lässt o<strong>de</strong>r einfach nur ein paar Kommentarzeilen<br />
gefor<strong>de</strong>rt sind.<br />
Dokumentation<br />
In Form <strong>de</strong>r Struktogramme haben Sie immer auch eine zum Quellco<strong>de</strong> konsistente, ISO 9001 konforme<br />
Dokumentation, die bei Abnahmeverfahren gerne gesehen ist. Nicht nur <strong>de</strong>r TÜV for<strong>de</strong>rt Struktogramme oft als<br />
wesentlichen Teil einer Dokumentation. <strong>EasyCODE</strong> bietet die Möglichkeit das Struktogramm wie dargestellt an einen<br />
Drucker zu sen<strong>de</strong>n o<strong>de</strong>r einzelne Elemente daraus in an<strong>de</strong>re Applikationen wie MS Word zu übernehmen um<br />
individuellen Anfor<strong>de</strong>rungen an die Dokumentation gerecht zu wer<strong>de</strong>n.<br />
Projektunterstützung<br />
<strong>EasyCODE</strong> bietet eine sehr komfortable Projektumgebung zur einfachen Übernahme von Bestandsprojekten.<br />
<strong>EasyCODE</strong> Project ist <strong>de</strong>m Windows-Explorer nicht unähnlich und erleichtert die Re-Strukturierung von Projekten<br />
erheblich. Es bietet aber auch eine Schnittstelle zur Integration externer Compiler und stellt eine programmierbare<br />
Anbindung an Versionskontrollsysteme bereit.<br />
Wann und warum <strong>EasyCODE</strong>?<br />
SIEMENS® empfiehlt für die Entwicklung komplexer Steuerungen SCL (Structured Control Language) als die<br />
Hochsprache, mit <strong>de</strong>r selbst komplexeste Aufgaben problemlos zu bewältigen sind.<br />
Zitat: „S7-SCL® eignet sich insbeson<strong>de</strong>re für die Programmierung von komplexen Algorithmen und mathematischen<br />
Funktionen o<strong>de</strong>r für Aufgabenstellungen aus <strong>de</strong>m Bereich <strong>de</strong>r Datenverarbeitung.“<br />
Dem schließen wir uns vorbehaltlos an und empfehlen <strong>EasyCODE</strong> immer dann zu verwen<strong>de</strong>n, wenn Sie in<br />
Hochsprachen programmieren können. EASYCODE versteht sehr viel davon und gewährleistet dass Sie es auch<br />
einsetzen können, wenn Sie Ihre <strong>SPS</strong> eines Tages in C o<strong>de</strong>r C++ programmieren. Aber auch ellenlange<br />
Anweisungslisten können mit <strong>EasyCODE</strong> logisch strukturiert und damit <strong>de</strong>utlich lesbarer gemacht wer<strong>de</strong>n.<br />
Wann rechnet sich <strong>EasyCODE</strong>?<br />
Die Erfahrung zeigt, dass in <strong>de</strong>r Implementierungsphase eine Zeiteinsparung von 40% gegenüber einer Entwicklung in<br />
textuellen Systemen keine Seltenheit ist. Durch <strong>de</strong>n strukturierten Aufbau <strong>de</strong>r Dateien sinkt die<br />
Fehlerwahrscheinlichkeit im Design, <strong>de</strong>r Editor verhin<strong>de</strong>rt syntaktische Fehler, bietet innovative Techniken zum Rapid-<br />
Coding, unterstützt bei <strong>de</strong>r Analyse komplizierter Dateien und liefert eine vollständige, normgerechte Dokumentation.<br />
Als Weltmarktführer in strukturierter Programmierung garantiert Ihnen EASYCODE auch die nötige<br />
Investitionssicherheit. Kurze Trainings- und Einarbeitungszeiten und individuelle Betreuungsangebote machen eine<br />
Entscheidung für <strong>EasyCODE</strong> leicht.<br />
EASYCODE GmbH<br />
Löwenberger Str. 50<br />
D- 90475 Nürnberg<br />
Tel.: +49 911 99 840-60<br />
Fax: +49 911 99 840-97<br />
info@<strong>easyco<strong>de</strong></strong>.<strong>de</strong> | www.<strong>easyco<strong>de</strong></strong>.<strong>de</strong>