PRVREC: Datensatz bereitstellen (S7-300, S7-400) - STEP 7

Erweiterte Anweisungen (S7-300, S7-400)

ft:publication_title
Erweiterte Anweisungen (S7-300, S7-400)
Product
STEP 7
Version
V20
Publication date
11/2024
Language
de-DE
PRVREC: Datensatz bereitstellen

Beschreibung

Ein I-Device kann vom übergeordneten Controller eine Anforderung erhalten, einen Datensatz bereitzustellen. Die Bereitstellung erfolgt im Anwenderprogramm mit der Anweisung "PRVREC" (provide record).

Die Anweisung hat folgende Betriebsarten:

  • Überprüfung, ob dem I-Device eine Anforderung für eine Datensatzbereitstellung vorliegt.

  • Übertragung des angeforderten Datensatz an den übergeordneten Controller.

  • Schicken einer Antwort an den übergeordneten Controller.

Welche dieser Betriebsarten die Anweisung ausführt, legen Sie über den Eingangsparameter MODE fest (siehe unten).

Das I-Device muss sich im Betriebszustand RUN oder im Betriebszustand ANLAUF befinden.

Mit LEN geben Sie vor, wie viele Bytes der zu versendende Datensatz maximal haben soll. Den Zielbereich RECORD sollten Sie daher mindestens LEN Bytes lang wählen.

Wenn eine Anforderung für eine Datensatzbereitstellung vorliegt (MODE=0), wird der Ausgangsparameter NEW auf TRUE gesetzt.

Wenn die Anforderung für eine Datensatzbereitstellung akzeptiert wird, beschreiben Sie für die positive Antwort an den übergeordneten Controller RECORD mit dem angeforderten Datensatz und CODE1 und CODE2 mit Null. Wenn die Anforderung für eine Datensatzbereitstellung abgelehnt werden soll, geben Sie in CODE1 den Error Code 1 und in CODE2 den Error Code 2 der negativen Antwort an den übergeordneten Controller an.

Hinweis

Wenn das I-Device eine Anforderung für eine Datensatzbereitstellung erhalten hat, müssen Sie die Zustellung dieser Anforderung innerhalb einer bestimmten Zeitdauer erkannt haben. Nach dem Erkennen müssen Sie dem übergeordneten Controller innerhalb derselben Zeitdauer eine Antwort geschickt haben. Andernfalls tritt beim I-Device ein Timeout-Fehler auf, der zur Folge hat, dass das Betriebssystem des I-Device eine negative Antwort an den übergeordneten Controller schickt. Den Wert für die Zeitdauer entnehmen Sie den Technischen Daten Ihrer CPU.

Nach Auftreten eines Fehlers enthält der Ausgangsparameter STATUS die Fehlerinformation.

Betriebsarten

Die Betriebsart der Anweisung "PRVREC" legen Sie über den Eingangsparameter MODE fest. Dieser wird in der folgenden Tabelle erläutert.

MODE

Bedeutung

0

Überprüfen, ob eine Anforderung für eine Datensatzbereitstellung vorliegt

Falls auf dem I-Device eine Anforderung vom übergeordneten Controller für eine Datensatzbereitstellung vorliegt, beschreibt die Anweisung nur die Ausgangsparameter NEW, SLOT, INDEX und RLEN. Wenn Sie die Anweisung mehrmals hintereinander mit MODE=0 aufrufen, beziehen sich die Ausgangsparameter stets auf ein und dieselbe Anforderung.

1

Empfangen einer Anforderung für eine Datensatzbereitstellung für irgendeinen Subslot des I-Device

Falls auf dem I-Device eine solche Anforderung vom übergeordneten Controller für irgendeinen Subslot des I-Device vorliegt, beschreibt die Anweisung die Ausgangsparameter.

2

Empfangen einer Anforderung für eine Datensatzbereitstellung für einen bestimmten Subslot des I-Device

Falls auf dem I-Device eine solche Anforderung vom übergeordneten Controller für einen bestimmten Subslot des I-Device vorliegt, beschreibt die Anweisung die Ausgangsparameter.

3

Datensatz bereitstellen und positive Antwort an den übergeordneten Controller schicken

Die Anweisung überprüft die Anforderung des übergeordneten Controllers, einen Datensatz bereitzustellen, stellt den angeforderten Datensatz in RECORD zur Verfügung und schickt eine positive Quittung an den übergeordneten Controller.

4

Negative Antwort an den übergeordneten Controller schicken

Die Anweisung überprüft die Anforderung des übergeordneten Controllers, einen Datensatz bereitzustellen, lehnt diese Anforderung ab und schickt eine negative Quittung an den übergeordneten Controller. Den Grund für die Ablehnung geben Sie in den Eingangsparametern CODE1 und CODE2 an.

Hinweis

Nach dem Eintreffen einer Anforderung (NEW=1) müssen Sie die Anweisung noch zweimal aufrufen, um seine vollständige Abarbeitung zu gewährleisten. Dabei müssen Sie die folgende Reihenfolge einhalten:

  • Erster Aufruf mit MODE=1 oder MODE=2

  • Zweiter Aufruf mit MODE=3 oder MODE=4

Parameter

Die folgende Tabelle zeigt die Parameter der Anweisung "PRVREC":

Parameter

Deklaration

Datentyp

Speicherbereich

Beschreibung

MODE

Input

INT

E, A, M, D, L oder Konstante

Betriebsart

F_ID

Input

DWORD

E, A, M, D, L oder Konstante

Subslot im Transferbereich des I-Device für den zu versendenden Datensatz (nur relevant für MODE=2). Das high word ist stets auf Null zu setzen.

CODE1

Input

BYTE

E, A, M, D, L oder Konstante

Null (bei MODE=3) bzw. Error Code 1 (bei MODE=4)

CODE2

Input

BYTE

E, A, M, D, L oder Konstante

Null (bei MODE=3) bzw. Error Code 2 (bei MODE=4)

LEN

Input

INT

E, A, M, D, L oder Konstante

Maximale Länge des zu versendenden Datensatzes in Bytes

NEW

Output

BOOL

E, A, M, D, L

Neuer Datensatz wurde vom übergeordneten Controller angefordert.

STATUS

Output

DWORD

E, A, M, D, L

Fehlerinformation

SLOT

Output

INT

E, A, M, D, L

identisch zu F_ID

SUBSLOT

Output

INT

E, A, M, D, L

identisch zu F_ID

INDEX

Output

INT

E, A, M, D, L

Nummer des zu versendenden Datensatzes

RLEN

Output

INT

E, A, M, D, L

Länge des zu versendenden Datensatzes

RECORD

InOut

ANY

E, A, M, D, L

Bereitgestellter Datensatz

Hinweis: Beachten Sie, dass der Parameter RECORD bei S7-300-CPUs immer die vollständige Angabe der DB-Parameter erfordert (Bsp.: P#DB13.DBX0.0 Byte 100). Das Weglassen einer expliziten DB-Nr. ist für S7-300-CPUs unzulässig und führt zu einer Fehlermeldung im Anwenderprogramm.

Weitere Informationen zu den gültigen Datentypen finden Sie unter "Übersicht über die gültigen Datentypen".

Parameter STATUS

Zur Interpretation des Parameters STATUS siehe Abschnitt: Parameter STATUS