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

Lesen der Daten aus der Standard-CPU in die Sicherheitsanwendung der Sicherheits-CPU




GEFAHR

Es wird nicht empfohlen, Datenwerte von der Standard-CPU auf die Sicherheits-CPU zu übertragen. Hierbei müssen die Endanwender zusätzliche prozessspezifische Validierungsverfahren in ihrem Sicherheitsprogramm definieren, um die Korrektheit der übertragenen nicht sicheren Daten zu überprüfen, wenn sie diese nicht sicheren Werte für Sicherheitsfunktionen verwenden möchten.
Datenwerte von der Sicherheits-CPU auf die Standard-CPU zu übertragen, z. B. für Diagnose und spätere Darstellung auf Bedienpanels, ist kein Problem.




GEFAHR

Wenn der Funktionsbaustein SF_DPRAM_PM5XX_S_REC zum Empfangen von Sicherheitsdaten von der Sicherheits-CPU verwendet wird, sind die funktionalen sicherheitsbezogenen Anforderungen für SIL 3 (IEC 61508 und IEC 62061) und PL e (ISO 13849-1) für empfangene Daten nicht erfüllt (unabhängig vom verwendeten applikativen Sicherheitskommunikationsprofil), da in der Sicherheits-CPU nur ein Mikroprozessor (keine 1oo2-Sicherheitsarchitektur im Hintergrund) für die Empfangsrichtung zuständig ist.
Wenden Sie sich an den technischen Support von ABB, um Informationen zum Erreichen von SIL 3 und PL e zu erhalten.
Über den Funktionsbaustein SF_DPRAM_PM5XX_S_REC werden Daten von der Standard-CPU empfangen. Diese Daten werden im Speicherbereich abgelegt (DATA, Speicheradresse für die Empfangsdaten über ADR-Operator). Die Aktivierung des Funktionsbausteins erfolgt durch ein TRUE-Signal an Eingang EN. Der Baustein ist solange aktiv, bis Eingang EN = FALSE wird. An Ausgang DATA_LEN wird die Länge der empfangenen Daten in Byte ausgegeben. Ein erfolgreicher Datenempfang wird durch DONE=TRUE und ERR=FALSE signalisiert. Wurde bei der Verarbeitung des Funktionsbausteins ein Fehler festgestellt, wird er an den Ausgängen ERR und ERNO angezeigt.




HINWEIS

Der Empfang mit dem Funktionsbaustein SF_DPRAM_SM5XX_S_REC ist nicht flankengetriggert. Der Eingang EN ist also dauerhaft auf TRUE zu setzen, solange Daten empfangen werden sollen.
Name |
Datentyp |
Initialwert |
Beschreibung, Parameterwerte |
---|---|---|---|
VAR_INPUT |
|||
EN |
BOOL |
FALSE |
Die Verarbeitung dieses Funktionsbausteins wird vom Eingang EN gesteuert. Der Funktionsbaustein ist aktiv, wenn EN = TRUE ist. Der Empfang von Daten wird durch den Ausgang DONE signalisiert. |
DATA |
DWORD |
16#00000000 |
Am Eingang DATA wird die Adresse der Variable angegeben, in die die Nutzerdaten kopiert werden sollen. Die an DATA spezifizierte Adresse muss zu einer Variablen vom Typ ARRAY oder STRUCT gehören. Speicherbereichsüberschneidungen vermeiden, indem die Größe der Variablen an die maximal zu erwartenden Daten angepasst wird. |
VAR_OUTPUT |
|||
DONE |
BOOL |
FALSE |
Am Ausgang DONE wird der Empfang der Daten angezeigt. Der Ausgang muss immer im Zusammenhang mit dem Ausgang ERR betrachtet werden. Es gilt:
|
ERR |
BOOL |
FALSE |
Am Ausgang ERR wird angezeigt, ob beim Empfangsvorgang ein Fehler aufgetreten ist. Dieser Ausgang muss immer zusammen mit dem Ausgang DONE ausgewertet werden. Ist ein Fehler aufgetreten beim Empfang, so gilt: DONE = TRUE und ERR = TRUE. Der Ausgang ERNO signalisiert die Fehlernummer. |
ERNO |
WORD |
16#0000 |
Fehlernummer⮫ [3] Am Ausgang ERNO wird eine Fehlerkennung ausgegeben, wenn an einem Eingang ein ungültiger Wert angegeben wurde oder während der Verarbeitung des Auftrags ein Fehler aufgetreten ist. ERNO muss immer im Zusammenhang mit den Ausgängen DONE und ERR betrachtet werden. Der an ERNO ausgegebene Wert ist nur gültig, wenn DONE = TRUE und ERR = TRUE ist. |
DATA_LEN |
DWORD |
16#00000000 |
An Ausgang DATA_LEN wird die Länge der empfangenen Daten in Byte ausgegeben (max. 84). Der an DATA_LEN ausgegebene Wert ist nur gültig, wenn DONE = TRUE ist. |
Aufruf in ST
PM5xxRec (EN := PM5xxRec_EN, DATA := ADR(PM5xxRec_DATA), DONE => PM5xxRec_DONE, ERR => PM5xxRec_ERR, ERNO => PM5xxRec_ERNO, DATA_LEN => PM5xxRec_DATA_LEN);