RD_ARRAY_DI: Wert aus DINT F-Array lesen (STEP 7 Safety V20) (S7-1200 G2, S7-1500) - Safety

Anweisungen STEP 7 Safety V20

ft:publication_title
Anweisungen STEP 7 Safety V20
Product
Safety
Version
V20
Publication date
10/2024
Language
de-DE
RD_ARRAY_DI: Wert aus DINT F-Array lesen (STEP 7 Safety V20) (S7-1200 G2, S7-1500)

Beschreibung

Mit der Anweisung "Wert aus DINT F-Array lesen" lesen Sie ein Element aus dem Array am Eingang ARRAY, auf das der Index am Eingang INDEX verweist, und schreiben dessen Wert an den Ausgang OUT. Kommt es zur Laufzeit beim Zugriff auf das Array zu einem Fehler, wird dies am Ausgang ERROR angezeigt.

Das Array muss in einem F-DB angelegt sein und darf nur eine Dimension enthalten. Die Elemente des Arrays müssen vom Datentyp DINT sein. Für die Array-Grenzen gilt abweichend zum Standard:

  • Der untere Grenzwert muss 0 sein.

  • Der obere Grenzwert darf maximal 10000 sein.

Die Beschaltung des Freigabeeingangs "EN" bzw. des Freigabeausgangs "ENO" ist nicht möglich. Somit wird die Anweisung (unabhängig vom Signalzustand am Freigabeeingang "EN") immer ausgeführt.

Parameter

Die folgende Tabelle zeigt die Parameter der Anweisung:

Parameter

Deklaration

Datentyp

Beschreibung

ARRAY

Input

VARIANT

Array, aus dem gelesen wird

INDEX

Input

DINT

Element im Array, das gelesen wird. Die Angabe kann eine Konstante oder eine Variable sein.

OUT

Output

DINT

Wert, der gelesen und ausgegeben wird.

ERROR

Output

BOOL

Fehlerinformation:

Der Parameter ERROR ist gesetzt, wenn während der Bearbeitung der Anweisung ein Fehler auftritt.

Parameter ARRAY

Neben der direkten Beschaltung mit einem Array innerhalb eines fehlersicheren Global-DBs, kann dieser Eingang auch mit einem INOUT Parameter vom Datentyp ARRAY[*] of DINT verschaltet werden. Dies ermöglicht die Entkoppelung von Daten und Programmlogik, um z. B. eine Bibliotheksfunktion zu erstellen, ohne dass eine Verbindung zu einem dedizierten Datenbaustein besteht.

Parameter ERROR

Die folgende Tabelle zeigt die Bedeutung der Werte des Parameters ERROR:

Wert

Beschreibung

FALSE

Kein Fehler

TRUE

Wert am Parameter INDEX befindet sich außerhalb der Grenzwerte des ARRAYs.

Anweisungsversionen

Für diese Anweisung steht eine Version zur Verfügung:

Version

S7-300/400

S7-1200 G1

S7-1200 G2

S7-1500

Funktion

1.0

x

x1

Beim Anlegen einer neuen F-CPU mit STEP 7 Safety ist automatisch die höchste für die angelegte F-CPU verfügbare Version voreingestellt.

Weitere Informationen zur Verwendung von Anweisungsversionen erhalten Sie in der Hilfe zu STEP 7 unter "Anweisungsversionen verwenden".

Verhalten bei Fehlern

Wenn der Wert am Eingang INDEX außerhalb der Array-Grenzen liegt, wird der Ausgang ERROR = 1 gesetzt und am Ausgang OUT wird der Array-Wert des Elements mit Index = 0 ausgegeben, unabhängig vom übergebenen Wert am Eingang INDEX.

Legen Sie deshalb den Wert des Elements mit Index = 0 als fehlersicheren Ersatzwert fest.

Beispiel

Das folgende Beispiel zeigt die Funktionsweise der Anweisung:

Die folgende Tabelle zeigt die Funktionsweise der Anweisung anhand konkreter Operandenwerte:

Parameter

Operand

Wert

ARRAY

"Global_DB".Array

Der Operand "Global_DB".Array ist ein ARRAY vom Datentyp Array[0..10] of DINT

INDEX

#Tag_Index

2

OUT

#TagOut_Value

Wert des Elements an der Stelle Array[2]

ERROR

#TagError_Value

False

Die Anweisung "Wert aus DINT F-Array lesen" wird, unabhängig vom Signalzustand am Freigabeeingang "EN", immer ausgeführt.

Der Inhalt des 2. Elements des Operanden "Global_DB.Array" wird am Ausgang "#TagOut_Value" ausgegeben.