TIA Optimierungsstatus eines FBs zur Laufzeit ermitteln

pxZ

Level-2
Beiträge
18
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

gibt es eine Möglichkeit in einem FB zur Laufzeit zu ermitteln, ob dieser optimiert oder nicht optimiert ist? Ich habe schon in zahlreichen Forenbeiträgen (nicht nur in diesem Forum) gelesen, dass Leute sich die Eigenschaft von optimierten Bausteinen und dem Verhalten der Temp Variablen zunutzen machen, dass diese standardmäßig immer die Defaultwerte beim Aufrufen/Bearbeiten des FBs haben. Diese Defaultwerte welche dann zB alle 0 sind werden dann genutzt, um ganze Strukturen "abzunullen". Also zB eine Temp Struktur vomselben Typen anlegen und dann zB per "actStruct := tempZeroStruct" in SCL alles abnullen (Ich hoffe man versteht was ich meine ;) )

Wenn nun natürlich irgendjemand bewusst oder unbewusst die Eigenschaft auf "nicht optimiert" umstellt verhalten sich die Temps wieder wie bei einer 300er, sprich sie sind nicht mit den Defaultwerten bei jedem Bausteinaufruf versehen. Das dürfte in diversen Situationen zu nicht sehr schönen Verhalten führen... :) Deswegen stellte sich mir die Frage, ob dieser Status zur Laufzeit am Anfang des Bausteins ermittelt werden kann => wenn nicht optimiert, dann Fehler ausgeben und Baustein zB nicht weiter bearbeiten.

Danke und mfG
 
Ich frage mich ja, warum initialisiert man nicht einfach die Tempvariablen und fertig. Sich darauf zu verlassen, dass sie 0 als Wert haben ist ein heißes Eisen. Was wenn jemand Code einfügt und TempVariablen nutzt, oberhalb von deinem Code...

Am besten gleich ohne Tempvariablen ablöschen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich frage mich ja, warum initialisiert man nicht einfach die Tempvariablen und fertig...
Es gibt eben Leute, die schreiben Programme, um ihre eigenen Programmfehler ab zu fangen. Du hingegen programmierst so, dass derartige Fehler erst gar nicht entstehen können. Du musst doch zugeben, dass das ziemlich langweilig und uncool ist, DeltaMikeAir.
 
Jepp. Ich schreibe meine Programme immer so, daß es egal ist, ob optimiert oder Standard, ob TEMP initialisiert ist oder nicht.
Merke: in TEMP-Variablen IMMER erst etwas hineinschreiben (z.B. initialisieren), bevor man daraus lesen kann. Die Initialisierung von TEMP-Variablen gibt es "international" eh nur in TIA für die Programmierer, die gar nicht wissen was sie tun...
 
für die Programmierer, die gar nicht wissen was sie tun...
Was glaubst Du, wie viele das sind....

Ich hab schon so oft gesehn, dass Temp gelesen wird ohne zu schreiben...
Ich hab auch schon gesehn, dass Temp. am Ende das FC woanders hingesichert wird und am Anfang des FC wieder zurückgeholt. Und das ganze nicht symbolisch sondern als abs. Lokaldatenvariablen...
 
Zurück
Oben