Objektorientiert Programmieren

Begonnen von hugo, 16. Februar 2008, 11:08:28

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

hugo

ich schreibe diesen Artikel um zahlreichen aufschreinen gegen objektzoriente Programmierung zuvorzukommen.

1. Objektorientierte programmierung ist nicht schwieriger sondern viel einfacher.
    6 neue schlüsselwörter in codesys 3.0 machen das leben des Programmierers viel einfacher und erlauben Ihn schneller, effizienter und Fehlerfreier zu programmieren
2. objektorientiert ist nicht langsamer sonder deutlich performanter
    warum möchte ich am beispiel eines FB counter erklären:
    ein fb counter wird bei jedem aufruf seine eingangsvariablen set, rst, up, dn abfragen müssen um festzustellen welche operation nun erforderlich ist.
    die übergabe erfolgt über variablen die vor dem aufruf vom programmierer gesetzt werden müssen.
    in der objektorientierten welt gibt es mothoden up, dn, rst und set, alle methoden sind separate codestücke die nur für diese aktion aufgerufen werden.
    dies ist deutlich performanter weil bei einer aktion nicht erst variablen gesetzt werden müssen, auch fallen diue ganzen if oder case anweisungen im fb weg weil gezielt der code (methode)
    aufgerufen wird der benötigt wird. im falle eines counters werden die ausführungszeiten mindestens um den faktor 2 schneller unter objektorientierter programmierung sein.

ich habe heute früh einem sps programmierer der bis gestern noch der meinung war er möchte sich nicht mehr mit objektorientierter programmieung besfassen
die codesys 30 gezeigt und die 6 neuen sprachelemente sowie die möglichkeiten damit an einem beispiel gezeigt.

nach 1,5 stunden sagte er mein gott ich muss das haben das ist weder schwierig noch kompliziertz, im gegenteil damit wird vieles überschaubarer und viel einfacher.
als ich Ihm danmn auch noch die performancevorteile zeigen konnte hat er die Welt nicht mehr verstanden, die Ihm pausenlos suggeriert das
objektorientierte programmierung nur etwas für studierte infoormatiker sein.

aus meiner persönlichen Sicht gibt es nur eine Zukunft, die von IEC61131++
die welt der Informatik und Programmierung ist seit über 10 Jahren objektorientiert, nur die SPS Welt hat es noch nicht begriffen.

für mich unverständlich, den das Gesetzt der Produkthaftung zwingt die Industrie produkte auf dem Stand der technik zu entwickeln und herzustellen.
Der Stand der Technik trifft für die SPS Softwareentwicklung definitiv nicht zu.

Es muss bald ein ende haben mit dem Märchen das Objektoriertiert komplizierter, aufendiger, und langsamer ist.
genau das Gegenteil ist der Fall und Objektoriertiert ist nicht nur für komplizierte und aufwendige Projekte geeignet.
Im gegenteil auch simple Projekte werden mit Objektorientierung schneller sicherer und effizienter erledigt.

Tom

Schöne Sache, nur zu spät, wenn die Hardware schon zu Hause steht ...  :(

hugo

nun ja warum sollten hersteller nicht für existierende hardware neue software anbieten?

Faulenzer

Leute,

ich habe hier schon ein paar super interessante Themen gelesen um SPS-code zu optimieren.
Da ich nun auch die Ehre habe mit CoDeSys V3.x zu arbeiten, wollte ich am Beispiel von dem counter (s.o.) die objekt-orientierte Version durchspielen.

Leider sind meine Objekt-orientierte Programmierkenntnisse nun 15 Jahren eigestaubt, die Hilfe in CoDeSys selber ist nicht sehr eingaengig.
Kann mir jemand auf die bitte auf die Spruenge helfen (gerne auch mit einem Beispiel-code).

Konkrete Fragen/annahmen (zum Beispiel counter):
* Hat der Counter FB ueberhaupt "klassische" Ein/Ausgaenge?
* Bei Methoden mit Return-value: Welche/wie bestimme ich im Code welcher Information zurueckgelifert werden.
* Die Counter-Variable wird im Hauptteil des Codes gemanaged.
* Ausser zur Declaration rufe ich nie mehr den FB ohne methode auf.

Ich bedanke mich schonmal fuer jede Hilfe

Tom

Ich weiß nicht, ob's dir hilft, aber ich habe hier ein paar interessante Beiträge gefunden:

http://de.wordpress.com/tag/codesys-v3/