TIA 1500 - optimierter Bausteinzugriff - Sinn/Unsinn ?

Draco Malfoy

Level-1
Beiträge
1.168
Reaktionspunkte
82
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin. Kurze Frage an alle, die damit Erfahrungen haben:

Inwiefern hängt die Verwendung vom "optimierten Bausteinzugriff" unter TIA mit der Zykluszeit zusammen ? Ich lese bisher immer nur von "verbesserter Performance" aber spielt es für die Zykluszeit auch eine Rolle oder nur für die Größe des Programms auf der Speicherkarte ?

Meine 1511 hat derzeit ne Zykluszeit von 91mS was schon ziemlich argh ist. Daher suche ich nach Möglichkeiten dagegen was zu machen. Diesen optimieren Zugriff hab ich aus diversen Gründen von vorne herein abgeschaltet gehabt.
 
Ich hatte letztens eine Umschulung auf TIA.
Wenn mich meine Erinnerung nicht trügt, wurde auch gesagt, dass beim verwenden vom optimierten Bausteinzugriff, die Zykluszeit runtergehen kann.
Hängt mit der Art zusammen wie die neuen CPUs designt sind. Beim umstellen auf optmierter Bausteinzugriff wird komplett auf symbolisch umgestellt, sieht man daran, dass in dem Baustein gar keine Adressen mehr angezeigt werden und auch nicht mehr genutzt werden können.
Dadurch kann die CPU schneller den Code abarbeiten und sollte damit auch einen besseren Zyklus haben.
Nachteil, bestimmte Dinge gehen nicht mehr, die man eventuell aus der klasischen Welt gewohnt ist.
Aber auch da hat der Schulungsleiter gesagt, am besten gewöhnt man sich vieles neu an, weil das alte nicht mehr so optimal geht.

Puh ich hoffe ich habe das so einigermassen richtig wieder gegeben ;-).
ich würde einfach mal sagen, probieren geht über studieren.
Ich würde wohl bei TIA Projekten von Anfang an das optimierte über all aktivieren.

Du kannst das optimierte ja auch Bausteinabhängig ein- und ausschalten.
Da wo du es umbedingt brauchst einfach anlassen. Aber kenne ja deinen Code nicht und die Gründe wieso du es aushaben musst.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Laut Aussage von Siemens bei einer Veranstaltung wird der komplette Datenzugriff um bsi zu Faktor sechs langsamer, wenn mindestens ein nicht optimierter Baustein auf der CPU ist. Dies bedeutet, dass alle Datenzugriffe beeinflusst werden. Und dies wirkt sich natürlich auf die Zykluszeit aus. Wie groß die Auswirkungen sind, müsste mal mit einem realen Praxisbeispiel mit und ohne nichtoptimierte Bausteine getestet werden. Dann erst kann man sagen, ob dies eine gravierende Auswirkung auf den normalen Ablauf hat.
 
Laut Aussage von Siemens bei einer Veranstaltung wird der komplette Datenzugriff um bsi zu Faktor sechs langsamer, wenn mindestens ein nicht optimierter Baustein auf der CPU ist. Dies bedeutet, dass alle Datenzugriffe beeinflusst werden. Und dies wirkt sich natürlich auf die Zykluszeit aus. Wie groß die Auswirkungen sind, müsste mal mit einem realen Praxisbeispiel mit und ohne nichtoptimierte Bausteine getestet werden. Dann erst kann man sagen, ob dies eine gravierende Auswirkung auf den normalen Ablauf hat.

Dazu hat der TIA Anwender Nr 1, Helle Barde schon einiges getestet und geschrieben, vlt mal suchen.
Er wird sich bestimmt hier auch noch melden ;)
 
Aha. Interessant alles. D.h. also sobald ich einen einzigen DB auf absolute Adressierung umgestellt habe, sind alle DB Zugriffe 6 mal langsamer ?
Die Gründe fürs Ausschalten waren trivial, zum einen die Mitnahme von Bausteinen aus der Classic-Welt, und zum Anderen weiß ich bei meinen Bausteinen mit der Adresse DB13.DBW18 mehr anzufangen als mit dem zugehörigen Symbol.

Dazu hat der TIA Anwender Nr 1, Helle Barde schon einiges getestet und geschrieben, vlt mal suchen.
Er wird sich bestimmt hier auch noch melden ;)
Habe jetzt aufs schnelle nichts zum Thema gefunden über die Suche.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Gründe fürs Ausschalten waren trivial, zum einen die Mitnahme von Bausteinen aus der Classic-Welt, und zum Anderen weiß ich bei meinen Bausteinen mit der Adresse DB13.DBW18 mehr anzufangen als mit dem zugehörigen Symbol.

Ich bin sicher nicht der TIA-Fan, aber gerade die sybolische Programmierung im Zusammenspiel mit den Views (Schlüsselwort AT) hat massive Vorteile und bringt eine deutliche Zeitersparnis.
Im Gegensatz zu Classic funktionieren jetzt die Views nicht nur in SCL.
Mir persönlich ist es einfach lieber wenn da steht "RZ_NC1".ZSW.Ready als DB1041.DBX73.0
Einzig für die Kommunikation mit unserem MES-System sind nicht optimierte DB notwendig.

Gruß
Dieter
 
Hi,
hier steht alles wichtige zur Programmierung mit optimierten Bausteinen drin.
http://support.automation.siemens.c...tandard&viewreg=WW&objid=20229695&treeLang=de

Kurzfassung:
- optimierte Bausteine habe eine automatische Datensortierung, sodass der Prozessor schneller zugreifen kann
- Die Zykluszeit verkürzt sich um ca. Faktor 3, wenn ausschließlich optimierte Bausteine verwendet werden (im Vergleich zur Prorammierung von nur Standard-Bausteinen)
- Es gibt eine Einteilung bei der Zugriffszeit:
schnell: nur optimierte Bausteine
nicht so schnell: nur Standard-Bausteine
langsam: das Mischen beider Bausteintypen

Wie gesagt, alles im Programmierleitfaden beschrieben und bebildert.

Grüße Mo
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,
schnell: nur optimierte Bausteine
nicht so schnell: nur Standard-Bausteine
langsam: das Mischen beider Bausteintypen

Argl.

Wie stellen die sich das überhaupt mit der Leittechnik vor? Wie soll WinCC OA auf optimierte Bausteine zugreifen wenn es die Adressen nicht kennt? Symbolisch geht ja auch nicht.

Oder ist da was an mir vorbeigegangen?

mfG René
 
langsam: das Mischen beider Bausteintypen
Keine Panik, das Mischen beiden Bausteintypen ist an sich noch nicht langsam. Die Gesamtlaufzeit liegt damit erst mal nur zwischen schnell und nicht so schnell.

Aufpassen muss man logischerweise, wo man Strukturen von optimiert nach nicht optimiert kopiert, oder umgekehrt. Da die Datenablage völlig unterschiedlich ist, muss das Programm in diesem Fall jedes einzelne Element der Struktur einzeln umkopieren. Das kann ein Problem werden, wenn es sehr häufig vorkommt und / oder wenn die Strukturen sehr viele Elemente haben. Besonders ungünstig ist auch, wenn darunter sehr viele Bits sind.

Im Programmierleitfaden steht es so:
Bei typgleichen Zuweisungen zwischen zwei Variablen mit unterschiedlicherSpeicherablage konvertiert das System automatisch. Diese Konvertierung benötigtbei strukturierten Variablen Performance und sollte deshalb möglichst vermieden​
werden.
 
Diese "optimierte Datenablage" ist auch so eine Schnapsidee, dem Verantwortlichen bei Siemens sollte man dafür die Ohren langziehen.
Jeder Programmierer kennt Alignement und Padding-Bytes, nur jetzt muss da wieder irgendeine zweifelhafte Automatik an der Ablage rumfummeln. Völlig überflüssige Energie die dort investiert wurde.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Sind in optimierten DBs Strukturen vorhanden oder UDT kann ich die Funktion Fill oder BLKmove auch nicht auf die beinen Strukturtypen anwenden, um den ganzen Bereich zu kopieren oder zu füllen! Wird daran auch noch weiterentwickelt ???
 
@Thomas
Ich denke das ganze Thema steht auch im Zusammenhang mit Kopierschutz.
Siemens will es wohl den Nachbauern schwer machen.

Gruß
Dieter
 
Das ist leider wieder so ein Punkt, der kaum als Fortschritt zu bezeichnen ist.
Ich empfinde ohnehin die gesamte Symbolik-Diskussion als sinnlos. Solange Siemens nicht ermöglicht, dass man sich in seinem SPS-Programm den Namen einer Variablen zusammenbaut und dann darauf zugreift (klar, das gibt dann auch wieder schicke SPS-Stops :) ), ist das alles nur eine ganz miese Krücke. Umstellung auf Arrays, noch Schlimmer Arrays aus Arrays aus Strukturen, damit mann diese dann variabel einem FC/FB als Input mitgeben kann und dann noch optimierte Bausteine, bei denen man wiederum Probleme bekommt, wenn man mal ein paar Variablen zusammenhängend umkopieren will.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das ist leider wieder so ein Punkt, der kaum als Fortschritt zu bezeichnen ist.
Ich empfinde ohnehin die gesamte Symbolik-Diskussion als sinnlos. Solange Siemens nicht ermöglicht, dass man sich in seinem SPS-Programm den Namen einer Variablen zusammenbaut und dann darauf zugreift (klar, das gibt dann auch wieder schicke SPS-Stops :) ), ist das alles nur eine ganz miese Krücke.

Bei der 1500er wäre die Chance ja da dass man die Symbole in der Laufzeit zusammenbaut, da ja das Programm inklusive Symbole und Kommentare geladen wird.
Ausserdem hätten sie auch gleich FB Arrays einpflegen können.

Da wär noch viel Potential vorhanden keine ahnung wer bei Siemens die Prioritäten verteilt aber so wirklich nah beim User ist der nicht.

mfG René
 
Mir persönlich ist es einfach lieber wenn da steht "RZ_NC1".ZSW.Ready als DB1041.DBX73.0
Das tut es ja bei mir auch, die Variablen sind allesamt symbolisiert.
Aber wenn ich eine Variable eingeben muss, dann mache ich das nach alter Gewohnheit absolut. Wenn da am Ende also steht "Verfahrdaten".HubwegeRDB.Obertisch dann könnte ich möglicherweise übersehen, daß es sich bei den Hubwegen um RDB und nicht um FDB handelt. Während DB18.DBD20 und DB18.DBD40 sich dann schon erheblich unterscheiden und auffallen, v.a. wenn sonst in dem FB nur 20er Zugriffsadressen vorkommen, und an einer Stelle plötzlich 40er. Eigentlich müssten ja immer beide informationen ersichtlich sein. Wo TIA dann im Einzelnen die Daten ablegt, kann mir schnurzegal sein, aber ich will meine DB Nummern und UDT Nummern und Offsets haben.

Hi,
hier steht alles wichtige zur Programmierung mit optimierten Bausteinen drin.
http://support.automation.siemens.co...95&treeLang=de

Kurzfassung:
- optimierte Bausteine habe eine automatische Datensortierung, sodass der Prozessor schneller zugreifen kann
- Die Zykluszeit verkürzt sich um ca. Faktor 3, wenn ausschließlich optimierte Bausteine verwendet werden (im Vergleich zur Prorammierung von nur Standard-Bausteinen)
- Es gibt eine Einteilung bei der Zugriffszeit:
schnell: nur optimierte Bausteine
nicht so schnell: nur Standard-Bausteine
langsam: das Mischen beider Bausteintypen

Wie gesagt, alles im Programmierleitfaden beschrieben und bebildert.

Grüße Mo

D.h. also wenn ein Teil des Programms so oder so auf klassische Zugriffe nicht verzichten kann, dann würdest Du empfehlen das gesamte Programm auf "nicht optimiert" umzustellen ?
Wie ist es denn, wenn ich beispielsweise einen zeitkritischen Teil des Programms in OB30 ablege, und dort nur optimierte Zugriffe einbaue und der Rest in OB1 sitzt und dort auch FBs mit nicht optimierten Zugriffen vorkommen ?
Bringt das was oder sollte man dann trotzdem überall "nicht optimiert" bleiben ?
 
Zuletzt bearbeitet:
Zurück
Oben