Temp-Bereich in FC/FB bei Weckalarmaufruf?

M0.0

Level-1
Beiträge
11
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen.

Was passiert mit em Temp-Bereich eines FC/FB, wenn der Ablauf dieses FC/FB durch einen Weckalarm unterbrochen wird??

Angenommen, ich habe im NW 1 eine Zuweisung auf den Temp-Bereich.
Nach Bearbeitung des NW1 wird der Ablauf durch einen Weckalarm unterbrochen.
Im NW2 möchte ich nun die Werte aus dem Temp-Bereich lesen.

Kann es sein, dass die Werte im Temp-Bereich nach dem Weckalarmaufruf nicht mehr vorhanden oder undefiniert sind??

Gruß, M0.0
 
Hallo zusammen.

Was passiert mit em Temp-Bereich eines FC/FB, wenn der Ablauf dieses FC/FB durch einen Weckalarm unterbrochen wird??

Angenommen, ich habe im NW 1 eine Zuweisung auf den Temp-Bereich.
Nach Bearbeitung des NW1 wird der Ablauf durch einen Weckalarm unterbrochen.
Im NW2 möchte ich nun die Werte aus dem Temp-Bereich lesen.

Kann es sein, dass die Werte im Temp-Bereich nach dem Weckalarmaufruf nicht mehr vorhanden oder undefiniert sind??

Gruß, M0.0

nee.
Das System sichert die Lokaldaten für dich, und stellt sie danach wieder bereit.
Darum musst du dich nicht kümmern.

Micha
 
Zuviel Werbung?
-> Hier kostenlos registrieren
nee.
Das System sichert die Lokaldaten für dich, und stellt sie danach wieder bereit.
Darum musst du dich nicht kümmern.
Genau, jeder OB hat eine bestimmte Anzahl Lokaldaten.
Bei manchen CPU's sogar einstellbar.
Der Alarm-OB bringt quasi seine eigenen Lokaldaten mit und damit werden deine vorher beschriebenen Lokaldaten gar nicht angefasst.
 
Danke für eure Antworten!

Jetzt brauche ich das nur irgendwie schriftlich, am besten von Siemens.

Ich habe einen Kollegen, der das ganze stark anzweifelt.
Ich nutze seit Jahren den Temp-Bereich ohne Probleme beim Weckalarmaufruf. Mein Kollege hat angeblich deshalb schon Probleme gehabt, ich kann es leider nicht nachvollziehen.

Gruß, M0.0
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für eure Antworten!

Jetzt brauche ich das nur irgendwie schriftlich, am besten von Siemens.

Ich habe einen Kollegen, der das ganze stark anzweifelt. Er verlangt von mir, alles was im TEMP-Bereich meiner FB´s steht in den statischen Bereich zwischen zu speichern.

Ich nutze seit Jahren den Temp-Bereich ohne Probleme beim Weckalarmaufruf. Mein Kollege hat angeblich deshalb schon Probleme gehabt, ich kann es leider nicht nachvollziehen.

Gruß, M0.0

Dein Kollege soll sich einfach einmal mit der Stackverwaltung vertraut machen.
Wenn der Baustein normal beendet wird, ist beim nächsten Aufruf der Temp Stack nicht definiert.
Wenn ein Interrupt ausgelöst wird, werden alle Daten auf den Stack geschaufelt, nach dem beenden des Interrupts werfen die Daten wieder richtig zurück geschrieben.
Wenn er Probleme hat bzw hatte, dann bitte her mit dem Code damit wir den Fehler finden oder nachvollziehen können. Denn die PLC macht es richtig.



bike

P.S: Wenn es gefordert ist, dann schreib doch alles in den Stat Bereich, das tut nicht weh, da du ja beim Einsprung auch die Temp Variablen initialisierst. ;)
 
Schriftlich steht das ganze in der Hilfe von Step7 in der Abteilung "Lokaldaten-Stack".

Hier der wesentlichste Ausschnitt:
Step7-Hilfe schrieb:
Die CPU besitzt einen begrenzten Speicher für die temporären Variablen (Lokaldaten) gerade bearbeiteter Bausteine. Die Größe dieses Speicherbereichs, des Lokaldaten-Stacks, ist CPU-abhängig. Der Lokaldaten-Stack wird zu gleichen Teilen unter den Prioritätsklassen aufgeteilt (Voreinstellung). Das bedeutet, jede Prioritätsklasse verfügt über einen eigenen Lokaldatenbereich. Damit ist gewährleistet, dass auch hochpriore Prioritätsklassen und ihre zugeordneten OBs Platz für ihre Lokaldaten zur Verfügung haben.

Da jeder OB auch gleichzeitig eine andere Prioritätsklasse hat (nur deshalb kann der Weckalarm ja den OB1 unterbrechen),
ist hiermit die Frage eindeutig und umfassend geklärt.

Ob das ganze jetzt allerdings, wenn dein Kollege anderer Meinung ist, die Mühe wert ist, sei dahingestellt.
Im Zweifelsfall mach einfach STRG-X + STRG-V und du hast Ruhe, und musst nicht sinnlos rumdiskutieren.

Mfg
Manuel
 
Zuletzt bearbeitet:
Zurück
Oben