Erfassen schneller ereignisse (fb_capture), 8 erfassen schneller ereignisse (fb_capture), Hinweis – NORD Drivesystems BU0000 Benutzerhandbuch
Seite 147: Beispiel in st

PLC
147
BU 0000 DE
WORD4
Empfangsdaten Wort 4
INT
ERRORID
Erläuterung
0
Kein Fehler
1800h
Wertebereich Number überschritten
1804h
Angewählte Box ist nicht korrekt konfiguriert
1805h
24V für Bustreiber Fehlen oder Bustreiber ist im State „Bus off“
1807h
Empfangs Timeout ( Watchdog Funktion)
HINWEIS
Der PLC Zyklus liegt bei 5ms, d.h. bei einem Aufruf der Funktion im PLC Programm kann
nur alle 5ms eine CAN Botschaft ausgelesen werden. Werden mehrere Botschaften schnell
aufeinander gesendet, können Botschaften überschrieben werden.
Beispiel in ST:
IF bFirstTime THEN
(* Geräte in den Status Pre-Operational setzen *)
NMT(Execute := TRUE, OPE := TRUE);
IF not NMT.Done THEN
RETURN;
END_IF;
(* PDO Konfigurieren *)
PDOConfig(
Execute := TRUE,
(* Messagebox 2 konfigurieren *)
Number := 2,
(* CAN Knotennummer setzen *)
TargetID := 50,
(* PDO wählen (Standard für PDO1 Statuswort, Istwert1, Istwert2, Istwert3) *)
PDO := 1,
(* Länge der Daten festlegen (Standard für PDO1 gleich 8 *)
Length := 8,
(* Empfangen *)
Dir := 0);
END_IF;
(* Status und Istwerte auslesen *)
PDOReceive(Enable := TRUE, Number := 2);
IF PDOReceive.New THEN
State := PDOReceive.Word1;
Sollwert1 := PDOReceive.Word2;
Sollwert2 := PDOReceive.Word3;
Sollwert3 := PDOReceive.Word4;
END_IF
9.8.8 Erfassen schneller Ereignisse (FB_Capture)
Die Zykluszeit der PLC beträgt 5ms, dieser Zyklus ist zur Erfassung sehr schneller externer
Ereignisse mitunter zu groß. Über der FB Capture ist es möglich auf Flanken an den FU