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. |

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

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.
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:
|
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);