Erfassen schneller ereignisse (fb_capture), 8 erfassen schneller ereignisse (fb_capture), Hinweis – NORD Drivesystems BU0000 Benutzerhandbuch

Seite 147: Beispiel in st

Advertising
background image

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

Advertising