SF_FLASH_DEL

Dies ist die Web-Ausgabe der Originalfassung des ‎⮫ AC500-S Sicherheitshandbuchs, Version 1.3.2. Diese Web-Ausgabe dient lediglich zur schnellen Orientierung. Für die Einhaltung der Anforderungen in Bezug auf Anwendungen der funktionalen Sicherheit muss das Original-Sicherheitshandbuch verwendet werden.

04.06.069_SF_FLASH_DEL

Ausgewähltes Segment aus dem Flash-Speicher löschen

Dieser Funktionsbaustein löscht ein ausgewähltes Segment der Nutzerdaten aus dem Flash-Speicher.

Der Eingang SEG legt das Datensegment im Flash-Speicher fest. In der Sicherheits-CPU sind zwei Segmente (1 und 2) mit je 64 kB (inkl. CRC, Merker und Ausrichtung) für den Anwender reserviert. Das Löschen eines Datensegments im Flash-Speicher kann mehrere Sicherheitssteuerungszyklen dauern.

Mit einer FALSE/TRUE-Flanke am Eingang EN wird der einmalige Löschvorgang des Datensegments ausgelöst. Bis zur Beendigung des Löschvorganges (DONE = TRUE) wird der Eingang EN nicht mehr ausgewertet.

Nach Beendigung des Löschvorganges werden alle Funktionsbaustein-Ausgänge aktualisiert. Bei DONE = TRUE und ERR = FALSE war das Löschen erfolgreich. Sind die Ausgänge DONE = TRUE und ERR = TRUE, dann konnte das Datensegment nicht gelöscht werden.

HINWEIS

HINWEIS
HINWEIS
HINWEIS

HINWEIS

HINWEIS

Dieser Funktionsbaustein wird durch eine positive Flanke der Eingangsvariable EN aktiviert. Während des Zyklus, in dem der Funktionsbaustein feststellt, dass die Operation abgeschlossen ist (Ausgang DONE = TRUE), setzt er die Ausgangsvariablen nur für einen Zyklus. Wenn der Funktionsbaustein erneut aufgerufen wird, setzt er die Ausgangsvariablen sofort zurück.

Tab. 1151: FB-Name: SF_FLASH_DEL

Name

Datentyp

Initialwert

Beschreibung, Parameterwerte

VAR_INPUT

EN

BOOL

FALSE

Aktivierung des Funktionsbausteins mit positiver Flanke

Es wird der einmalige Löschvorgang des Datensegments ausgelöst. Bis zur Beendigung des Löschvorganges (DONE = TRUE) wird der Eingang EN nicht mehr ausgewertet.

EN = TRUE:

Der Funktionsbaustein wird nicht verarbeitet, d. h. er verändert seine Ausgänge nicht mehr. Dies gilt nicht während eines Löschvorganges.

SEG

BYTE

16#00

ID-Nummer des Datensegments (16#01 oder 16#02)

VAR_OUTPUT

DONE

BOOL

FALSE

Der Löschvorgang ist abgeschlossen (DONE = TRUE)

Am Ausgang DONE wird angezeigt, dass der Löschvorgang des Datensegmentes abgeschlossen ist. Der Ausgang muss immer im Zusammenhang mit dem Ausgang ERR betrachtet werden.

Es gilt:

  • DONE = TRUE und ERR = FALSE: Der Löschvorgang ist abgeschlossen. Das Datensegment wurde gelöscht.

  • DONE = TRUE und ERR = TRUE: Beim Löschvorgang ist ein Fehler aufgetreten. Das Datensegment konnte nicht gelöscht werden.

ERR

BOOL

FALSE

Fehler aufgetreten (Datensegment konnte nicht gelöscht werden)

Am Ausgang ERR wird angezeigt, ob beim Löschvorgang ein Fehler aufgetreten ist. Dieser Ausgang muss immer zusammen mit dem Ausgang DONE ausgewertet werden. Kann das Datensegment nicht gelöscht werden, so gilt: DONE = TRUE und ERR = TRUE. Der Ausgang ERNO signalisiert die Fehlernummer.

ERNO

WORD

16#0000

Fehlernummer⮫ [3]

Am Ausgang ERNO wird eine Fehlernummer ausgegeben. Dieser Ausgang muss immer im Zusammenhang mit den Ausgängen DONE und ERR betrachtet werden.

Da das Anwenderprogramm der Sicherheits-CPU mit höherer Priorität ausgeführt wird, kann SF_FLASH_DEL relativ viel Zeit beanspruchen. Am Ausgang ERNO wird angezeigt, dass der Funktionsbaustein die Verarbeitung angestoßen hat (0x0FFF = BUSY).

Während dieser Phase sind ERR=FALSE und DONE=FALSE.

Aufruf in ST

DEL_FLASH(EN := EN_FLASH_DEL,
SEG := SEG_FLASH_DEL,
DONE => DONE_FLASH_DEL,
ERR => ERR_FLASH_DEL,
ERNO => ERNO_FLASH_DEL);