Beschreibung PRINT (S7-400) - STEP 7

S7-Kommunikation (S7-300, S7-400)

ft:publication_title
S7-Kommunikation (S7-300, S7-400)
Product
STEP 7
Version
V20
Publication date
11/2024
Language
de-DE
Beschreibung PRINT

Beschreibung

Mit Hilfe der Anweisung "PRINT" können Sie bei S7-400 Daten inklusive einer Formatierungsanweisung an einen remoten Drucker senden, z. B. mit Hilfe des CP 441.

Bei einer positiven Flanke am Steuereingang REQ werden die Formatbeschreibung (Parameter FORMAT) und die Daten (SD_i) an den über ID und PRN_NR selektierten Drucker gesendet.

Wenn Sie nicht alle vier Sendebereiche verwenden, müssen Sie darauf achten, dass der erste Bereich durch den Parameter SD_1, der zweite Bereich (falls vorhanden) durch SD_2, der dritte Bereich (falls vorhanden) durch SD_3 beschrieben wird.

Die erfolgreiche Durchführung des Auftrags wird am Zustandsparameter DONE mit "1" angezeigt, aufgetretene Fehler über die Zustandsparameter ERROR und STATUS.

Parameter

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

Parameter

Deklaration

Datentyp

Speicherbereich

Beschreibung

REQ

Input

BOOL

E, A, M, D, L

Steuerparameter request, aktiviert den Datenaustausch bei steigender Flanke.

ID

Input

WORD

M, D oder Konstante

Adressierungsparameter ID

Siehe auch: Gemeinsame Parameter der Anweisungen zur S7-Kommunikation 

DONE

Output

BOOL

E, A, M, D, L

Zustandsparameter DONE:

  • 0: Auftrag wurde noch nicht gestartet oder wird noch ausgeführt

  • 1: Auftrag wurde fehlerfrei ausgeführt.

ERROR

STATUS

Output

Output

BOOL

WORD

E, A, M, D, L

E, A, M, D, L

Zustandsparameter ERROR und STATUS, Fehleranzeige:

  • ERROR=0

    STATUS hat den Wert:

    0000H: weder Warnung noch Fehler

    <> 0000H: Warnung, STATUS liefert detaillierte Auskunft

  • ERROR=1

    Es liegt ein Fehler vor. STATUS liefert detaillierte Auskunft über die Art des Fehlers

PRN_NR

InOut

BYTE

E, A, M, D, L

Druckernummer

FORMAT

InOut

STRING

E, A, M, D, L

Formatbeschreibung

SD_i

(1≤ i ≤4)

InOut

ANY

M, D, T, Z

Zeiger auf den i-ten Sendebereich

Zulässig sind nur die Datentypen BOOL (nicht erlaubt: Bitfeld), BYTE, CHAR, WORD, INT, DWORD, DINT, REAL, DATE, TOD, TIME, S5TIME, DATE_AND_TIME.

Hinweis: Wenn der ANY-Pointer auf einen DB zugreift, ist der DB immer zu spezifizieren (z. B.: P# DB10.DBX5.0 Byte 10).

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

Parameter ERROR und STATUS

Die folgende Tabelle enthält alle für "PRINT" spezifischen Fehlerinformationen, die über die Parameter ERROR und STATUS ausgegeben werden können.

ERROR

STATUS (dezimal)

Erläuterung

0

11

Warnung:

  • Neuer Auftrag ist unwirksam, da vorangegangener Auftrag noch nicht abgeschlossen ist.

  • Der Auftrag wird bereits in einer Prioritätsklasse mit niedrigerer Priorität bearbeitet.

0

25

Die Kommunikation wurde angestoßen. Der Auftrag ist in Bearbeitung.

1

1

Kommunikationsprobleme, z. B.

  • Verbindungsbeschreibung nicht geladen (lokal oder remote).

  • Verbindung unterbrochen (z. B. Kabel, CPU ausgeschaltet, CP in STOP).

1

2

Negative Quittung vom Drucker. Die Funktion ist nicht ausführbar.

1

3

PRN_NR ist auf der durch ID vorgegebenen Kommunikationsverbindung nicht bekannt.

1

4

Fehler im Durchgangsparameter FORMAT oder in den Sendebereichszeigern SD_i bezüglich der Datenlänge oder des Datentyps.

1

6

Der remote Drucker befindet sich im Zustand OFFLINE.

1

7

Der remote Drucker befindet sich in einem falschen Zustand (z. B. Paper out).

1

10

Zugriff auf lokalen Anwenderspeicher nicht möglich (z. B. Zugriff auf gelöschten DB).

1

12

Beim Aufruf der Anweisung wurde:

  • ein Instanz-DB, der nicht zu "PRINT" gehört, angegeben.

  • kein Instanz-DB, sondern ein Global-DB angegeben.

  • kein Instanz-DB gefunden (Abhilfe: Laden Sie den zugehörigen Instanz-DB erneut).

1

13

Fehler im Durchgangsparameter FORMAT.

1

20

S7-400

Zu wenig Arbeitsspeicher vorhanden. Abhilfe: Reduzieren Sie den im Speicher befindlichen Programmcode.

Anzahl übertragbarer Daten

Die Anzahl der an einen remoten Drucker zu übertragenden Daten darf eine maximale Länge nicht überschreiten. Diese maximale Datenlänge in Byte berechnet sich wie folgt:

maxleng = 420 - format

Dabei ist format die aktuelle Länge des Parameters FORMAT in Byte. Es ist unerheblich, ob Sie die zu druckenden Daten auf einen oder auf mehrere Sendebereiche aufteilen.