(SPS-)Programme bis über 95% schneller und hohes Suchmaschinenranking(SPS-)Programme geschwindigkeitsoptimiert minimieren HardwarekostenCheap Internet- Marketing |
Ingenieurbüro Jens von Aspern![]() Automation, Internet |
Opimierungsbeispiel für (SPS-)Programme zeigt wie 95% höhere Performance zu erzielen istOptimierte (SPS-)Programme sind oft schon bei einfachsten Aufgaben einsetzbarPerformanceoptimierungsverfahren für Steuerungsprogramme (SPS, Mikrocontroller, Industrie-PC) organisieren die Programmausführung abhängig von Prozess-(Netz-)Situationen. Bei einer bestimmten Situation kommt nur derjenige Programmteil zur Ausführung, der irgend eine Reaktion des Programms ermöglichen könnte. Alle Programmteile, die dies nicht können, werden i.A. mit Sprüngen (o. IF-THEN) von der Bearbeitung ausgeschlossen. Da die Steuerungstechnik (nicht Regelung!) fast immer aus sequentiellen Einzelfolgen (ist Vielen oft nicht bewusst), wie im Bild gezeigt, die ggf. parallel erfolgen, besteht, sind Petrinetze hervorragend geeignet. Dies gilt für übergeordnete und detaillierte Abläufe. Einfaches Beispiel mit den Funktionen: Motor rechts, links und stopp -> 4 Transitionen, 3 Plätze (Motor links, rechts, stopp), Performanceverbessung zwischen 50% und 80% je nach Verfahren). Beispiel Motorsteuerung: Wenn der Motor links dreht, muss alles was mit rechts zusammen hängt (rechts-Ein, rechts-Aus) nicht bearbeitet werden, da kein natürlicher und systemspezifischer Grund hierfür besteht (im Gegensatz zur Lösung mittels Boolescher Gleichungen). Folglich kann, von der üblichen Praxis, ein Programm insgesamt blind abzuarbeiten (einfachste für den Programmierer) der nicht benötigte Teil übersprungen werden. I. A. werden Programm-verzweigungen (IF, CASE, Sprung) nur eingesetzt, wenn es die Aufgabe erfordert. Erst bei auftreten Zeitproblemen geht es an das Refactoring, um diese Probleme hinreichend zu unterbinden.
Betrachtung einer Transition: Ein anderes Beispiel (Verfahren): Transition mit je 2 Ein-(p1, p2) und Ausgangsplätzen (p3, p4). Eine mögliche klassische Bearbeitung:
Optimierung 50% bei folgendem Code (3/6 Zeilen beim Nichtschalten, was am häufigsten Eintritt, wenn man davon ausgeht, dass jede Zeile gleiche Rechenzeit benötigt):
Berücksichtigt man jetzt beispielsweise, dass 10 Transitionen existieren, von denen immer nur eine Schaltet, was vielleicht alle 10 Minuten vorkommt, ist die eine Zeile pro Transition, die im Schaltmoment mehr zu verarbeiten ist, vernachlässigbar. Kann man jetzt noch, wie im Motorbeispiel, diejenige Transition ermitteln (können diese Verfahren), die als einzigste eine Änderung herbeiführen kann, so reduziert sich der aktiv zu bearbeitende Code um weitere 90% (real kommt noch etwas Overhead hinzu). Bei 100 Transitionen weitere 99%. Die gesamte theoretische Performancesteigerung beträgt 95% - Berechnungsformel: (1- (3 Zeilen (+unberücksichtigen Overhead)) / (6 Zeilen * 10 Transitionen) -, also 20 mal schneller. Die zyklische SPS-Verarbeitung muss nicht unbedingt sein, um ein Petrinetz und den optimierten Code zu verwenden. Wir verwenden in schwierigen und zeitkritischen Fällen (Java) Petrinetze anstelle Struktogramme (IF, CASE, usw.). Dabei wird das Petrinetz nur einmal zur Ergebnisfindung ausgewertet. » Literatur zum Thema. Anmerkung zur Transparenz: Das Petrinetz zeigt sich als wesentlich transparenter als die FBS-Darstellung. Dies liegt daran, dass es im Petrinetz keine latenten Zustände gibt. "Motor Aus" ist im Gegensatz zum FBS direkt abgebildet. |
SPS OpensourceSPS-Programme zum kostenlosen Download. Der Newsletter informiert über neue Bausteine.
SerienmaschinenPerformanceoptimierte (SPS-)Programme mindern die Hardware-kosten, sobald die Reduzierung der benötigten Rechenzeit eine leistungsschwächere SPS erlaubt.
Ckecklistensuchmaschinengerechte Homepage- Programmierung und Cheap Internet Marketing sorgen für gute Positionen im Suchmaschinenranking und fördern den Bekanntheitsgrad.
|
|
Home | Petrinetze | Refactoring | Performancesteigerung | Bücher | Webpage optimieren | Internet Marketing | Programmierung | Checklisten © 2005 Copyright by Jens von Aspern, Impressum | |