TIA Optimierten Datenbaustein in einen nicht optimierten kopieren

Zuviel Werbung?
-> Hier kostenlos registrieren
Da wir ja eine Vorlage für unsere Maschinen mit S7-1500 erstellen muss ich auch in die Zukunft denken. Was ist wenn Siemens den nicht optimierten Zugriff in den nächsten Jahren einstellt?
Wie stehst du dazu? Mal was diesbezüglich von Siemens gehört?

Kann ich mir nicht vorstellen. Im gegenteil, ich hoffe die bauen ne Option ein wo man die Priorisierte Erstellsprache und Atribute vorwählen kann. Ich mein in jeder neuen CPU ist erstmal ein optimierter OB1 in KOP drin der erst wieder gelöscht werden muss. ;)

Siemens wird sich aber sicher auf keine Aussagen gegen oder dafür einlassen. Zumindest keine belastbaren. Supportmitarbeiter lassen sich hin und wieder zu Aussagen hinreisen die sie absolut nicht absichern können. Vorstellen können sie sich natürlich vieles.

Letztens hat mir einer erzählt, er denke dass dieses Jahr noch eine 1500er H reinkommt. Ich könnt ja jetzt mal n Wettpot in die Runde stellen. Ich wette dagegen.

mfG René
 
Also wenn Siemens sagt es kommt noch heuer rein dann kannst mal leicht noch ein Jahr dazurechnen. War bei der S7-1500 Compact CPU auch so ;)
Also wette ich auch dagegen ;)
Ja ist mir klar das sich Siemens zu keiner Aussage hinreißen lässt.
Ist mir jetzt erst aufgefallen, dass die FB`s und FC`s standartmäßig als optimiert erstellt werden bei neu anlegen.
Das ist ja blöd wenn ich mit den DB`s nicht optimiert fahre und dann neue Bausteine als optimiert angelegt werden und Siemens empfiehlt optimiert und nicht optimiert nicht zu mischen in einem Programm

lg
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Weils mich doch wunder genommen hat. Hab ich mal einen Bubblesort durch 1000 Int Werte machen lassen.

Sortierbaustein holt ein 1000er Array. Speichert es in Temp. Macht einen Bubblesort und schreibt es auf ein neues Array. Es wird also das Temporäre Array durchsortiert:

FC Optimiert = 1.08 Sek Zyklus
FC_Nicht_Optimiert = 2.5 Sek Zyklus
DB mit dem Speicher = optimiert/nicht optimiert keine relevanten unterschiede beim Zugriff.

Sortierbaustein holt ein 1000er Array. Speichert es in einem DB. Macht einen Bubblesort direkt im DB. Es wird also der DB durchsortiert mit Zwischenspeicher der Variable im FC:

FC Optimiert = 1.08 Sek Zyklus
FC_Nicht_Optimiert = 2.5 Sek Zyklus
DB mit dem Speicher = optimiert/nicht optimiert keine relevanten unterschiede beim Zugriff.
Das finde ich erstaunlich Obwohl jetzt in der For Schleife ständig auf den DB zugegriffen wird, hat die Abarbeitung im FC wesentlich mehr Einfluss auf den Zyklus als alles andere.
Man kann also erheblich Zykluszeit sparen indem man grössere Transaktionen in einem Optimierten Baustein/Funktion macht. Aber es ist nicht so relevant ob die DB als Speicher optimiert oder nicht optimiert sind.

Wobei man wohl den Array im DB sowieso nicht optimiert ablegt, weils ja alles dieselben Daten am Stück sind, Darum ist dieser Unterschied vermutlich so gleichmässig. Das könnte man wohl besser testen indem man 1000 zufällige Zugriffe auf irgendwelche Daten im optimierten bzw nicht optimierten DB generiert. Wie man das allerdings so simulationsmässig aufbauen könnte, fällt mir grad nicht ein Der DB müsste ja testweise extrem unstrukturiert aufgebaut werden aber wie dann zufällige Zugriffe generieren die man nicht alle von Hand adressiert?
Müsste ich wohl mal mit Excel was aufbauen.

mfG René
 
Die Sichten AT im FB mit optimiertem IDB sind möglich!
Dazu muss die Remanenz der entsprechenden Variablen auf "Im IDB setzen" eingestellt werden.

Ich vermute mal, das dann so'n Zwischending von optimiert und nichtoptimiert erzeugt wird.
 
Oh cool das wusste ich nicht. Geil.
Wie bist du da drauf gekommen? Steht da was in der Anleitung zu TIA (Nicht dass ich die 11000 Seiten gelesen hätte)?
Ist dann allerdings komisch, dass man bei FCs nicht einzelne Variablen so ausnehmen kann. Macht ja keinen Sinn FCs in denen man Sichten braucht komplett nicht optimiert oder als alternative einen FB draus zu machen wenn man keinen Speicher braucht.

mfG René
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
So wie ich es mitbekommen habe liegt die Verwendung von AT an der IEC Prüfung die man abstellen muss, dann kann man auch mit AT arbeiten.
Zumindest auf ner 1200er CPU, 1500er setzen wir leider keine ein.
 
Oh cool das wusste ich nicht. Geil.
Wie bist du da drauf gekommen? Steht da was in der Anleitung zu TIA?
In der TIA-Hilfe einfach mal unter Index "AT" eingeben, dann kommt da 'ne Seite zu.
Da steht unter anderem:
TIA-Hilfe schrieb:
Variablen mit AT überlagern

Beschreibung
Um auf Datenbereiche innerhalb einer deklarierten Variablen zuzugreifen, können Sie die deklarierten Variablen mit einer weiteren Deklaration überlagern. Sie haben so die Möglichkeit, eine bereits deklarierte Variable mit einem anderen Datentyp anzusprechen. Sie können z. B. die einzelnen Bits einer Variablen vom Datentyp WORD mit einem ARRAY of BOOL ansprechen.


Regeln
Folgende allgemeine Regeln gelten für das Überlagern von Variablen:
  • In AWL, KOP, FUP und GRAPH ist das Überlagern in S7-1200 und S7-1500 möglich.
  • In SCL ist das Überlagern in allen CPU-Familien möglich.
  • Das Überlagern von Variablen ist in folgenden Bausteinen möglich:
  • In Codebausteinen mit Standardzugriff
  • In Codebausteinen mit optimiertem Zugriff für Variablen mit der Remanenzeinstellung "Im IDB setzen"
  • Die Datenbreite der überlagernden Variablen muss gleich oder kleiner als die der überlagerten Variablen sein.
  • Die Datenypen VARIANT und INSTANCE können nicht überlagert werden.
  • Bausteine aus Bibliotheken, die als Parameter in der Schnittstelle deklariert sind, können nicht überlagert werden.
  • Strukturierte PLC-Variablen, die als Parameter in der Schnittstelle deklariert sind, können nicht überlagert werden.
  • Überlagernde Variablen können nicht durch Slice-Zugriffe adressiert werden.
Frag' mich aber bitte nicht, welche Logik dahinter steckt.
Zumindest kann man bei Variablen eines FC nur schwer "Im IDB setzen" einstellen, da der FC ja keinen IDB hat. :ROFLMAO:
Ein Zusammenhang mit der IEC Prüfung wird von Siemens jedoch nicht erwähnt.


PS:
Ich glaub', das hatte mal jemand im Forum erwähnt. Auf jeden Fall hab' ich das seitdem schon einige Male hier ergänzt und Dein Danke ist auch nicht das erste dafür.
 
Zuletzt bearbeitet:
Zurück
Oben