Fb_pdoreceive, 5 fb_pdoreceive – NORD Drivesystems BU0000 Benutzerhandbuch
Seite 146

NORD CON Hilfe
146
BU 0000 DE
Word4 := 0);
State := 10;
RETURN;
END_IF;
(* Ist der Digitaleingang 2 gesetzt *)
IF _5_State_digital_input.1 THEN
(* PDO Senden - Geräte freigeben und Sollfrequenz 50% der Maximalfrequenz *)
PDOSend(Execute := TRUE, Number := 1, Word1 := 1151, Word2 := 16#2000, Word3 :=
0, Word4 := 0);
State := 10;
RETURN;
END_IF;
10:
PDOSend;
IF PDOSend.Done THEN
PDOSend(Execute := FALSE);
State := 0;
END_IF;
END_CASE;
9.8.7.5 FB_PDOReceive
Dieser FB überwacht einen vorher konfigurierten PDO Kanal auf eingehende Botschaften. Die
Überwachung startet wenn der ENABLE Eingang auf 1 steht. Nach dem Aufruf der Funktion ist
der NEW Ausgang zu prüfen. Wenn er auf 1 geht, dann ist eine neue Botschaft angekommen.
Der NEW Ausgang wird mit dem nächsten Aufruf der Funktion gelöscht. In WORD1 bis
WORD4 stehen die empfangenen Daten. Über TIME kann der PDO Kanal auf zyklischen
Empfang überwacht werden. Wird in TIME ein Wert zwischen 1 und 32767ms eingetragen,
dann muss in dieser Zeitspanne eine Botschaft empfangen werden. Anderenfalls geht der FB in
den Fehlerzustand (ERROR = 1). Über den Wert 0 kann diese Funktion ausgeschaltet werden.
Der Überwachungstimer läuft in 5ms Schritten. Im Fehlerfall wird ERROR auf 1 gesetzt. DONE
ist in diesem Fall 0. In der ERRORID ist dann der entsprechende Fehlercode gültig. Bei einer
negativen Flanke an ENABLE werden DONE, ERROR und ERRORID zurückgesetzt.
VAR_INPUT
VAR_OUTPUT
Eingang
Erläuterung
Typ
Ausgang
Erläuterung
Typ
ENABLE
Ausführen
BOOL NEW
Neues PDO empfangen
BOO
L
NUMBER
Messagebox Nummer
Wertebereich = 0 bis 19
BYTE
ERROR
Fehler im FB
BOO
L
TIME
Watchdog-Funktion
Wertebereich = 0 bis 32767
0 = ausgeschaltet
1
bis
32767
=
Überwachungszeit
INT
ERRORID
Fehlercode
INT
WORD1
Empfangsdaten Wort 1
INT
WORD2
Empfangsdaten Wort 2
INT
WORD3
Empfangsdaten Wort 3
INT