TIA Was ist "Im IDB setzen"

urlaub

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

kann mir mal bitte jemand erklären was "Im IDB setzen heißt.
Ich bin aus der Hilfe und Google nicht schlau geworden.

Hintergrund: Ich habe einen nicht optimierten FB als Multiinstanz in einem optimierten FB aufgerufen.
Scheinbar gehen die statischen Variablen des aufgerufenen Baustein bei Neustart verloren.
Deswegen versuche ich jetzt, das Thema Remanenz bei TIA zu verstehen.

Danke
urlaub
 
heißt "im InstanzDatenBaustein setzen": für Variable, die im FB so markiert werden, kann man die Remanenz im Instanz-DB einstellen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
A) FB Optimiert
Du machst bei der entsprechenden Variable den entsprechenden Haken

B) FB nicht optimiert
Ohne was zu tun ist die ganze Instanz remanent

C) im IDB setzen
Das ist jetzt primär eine Hilfskrücke um nicht optimierte Struckturen in einem optimierten FB zu haben
Die Remanenz wird hier dann in der Instanz gehakelt, wobei das wie gesagt nur eher die sekundäre Funktion ist.

Mfg
Manuel
 
C) im IDB setzen
Das ist jetzt primär eine Hilfskrücke um nicht optimierte Struckturen in einem optimierten FB zu haben
Die Remanenz wird hier dann in der Instanz gehakelt, wobei das wie gesagt nur eher die sekundäre Funktion ist.

OK danke, kann mir noch jemand sagen, wofür das gut ist, welche Anwendungsfälle?
 
Um in optimierten Bausteinen die Sichten AT nutzen zu können.
ist das Verhalten eigentlich dokumentiert? Oder ist das nur zufaellig so, und mit dem naechsten Update wieder anders ?
Ja, das ist dokumentiert und mindestens seit der V12 so (MSB meint im nächsten Post seit der V11 SP1 Upd 2):
TIA-Hilfe schrieb:
Variablen mit AT überlagern

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.
Hier im Forum wird immer wieder gern behauptet, optimiert und Sicht geht nicht.
Dies stimmt aber nur für FCs, da diese ja nun mal keinen IDB haben, wo für dessen Variablen die Remanzeinstellung so gewählt werden kann.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
ist das Verhalten eigentlich dokumentiert? Oder ist das nur zufaellig so, und mit dem naechsten Update wieder anders ?
Was passiert wenn bei nicht optimierten FBs der Haken "im IDB setzen" aktiviert wird? Fragen ueber Fragen...
Ist auf jeden Fall schon seit V11 SP1 Upd 2 so, und ausdrücklich in mehreren Siemens-FAQs zu unterschiedlichsten Themen verwendet :
https://support.industry.siemens.com/cs/de/de/view/57132240
Ebenso findet sich das ganze "offiziell" in der TIA Hilfe "Variablen mit AT überlagern".

P.S. Bei nicht optimierten FBs gibt es den Haken, bzw. die entsprechende Spalte überhaupt nicht, insofern ist deine Frage irrelevant ;)

Wie gesagt, es ist eine Hilfskrücke, weil man wohl relativ bald erkannt hat, das nur optimiert wohl doch nicht immmer so ganz ideal ist.

Mfg
Manuel
 
Zuletzt bearbeitet:
Da steige noch jemand durch. Warum hat die Remanenz-Einstellung etwas mit optimiert/nicht optimiert zu tun?
Und wird ein FB mit der Einstellung "im IDB setzen" bei der dann im IDB die Remanenz gesetzt wird nun optimiert oder nicht optimiert?
 
ich denke das ganze ist "aus versehen" passiert und wurde "nachdokumentiert"...
die haben wohl zwei Checkboxen vertauscht oder falsch bezeichnet.
Gruss.
 
Zurück
Oben