Herunterladen Inhalt Inhalt Diese Seite drucken

Bosch rexroth IndraWorks 15VRS Anwendungsbeschreibung Seite 367

Feldbusse
Vorschau ausblenden Andere Handbücher für rexroth IndraWorks 15VRS:
Inhaltsverzeichnis

Werbung

IndraWorks 15VRS Feldbusse
FB_GetIP(Execute := FALSE);
(* get IP-String *)
IPString := FB_GetIP.IpAddress; // as string
(* convert string to array of byte *)
dwIPAdr := IL_IPV4Decode(IPString);
(* convert DWORD to array of byte *)
IPAdr[3] := DWORD_TO_BYTE( SHR( dwIPAdr,
IPAdr[2] := DWORD_TO_BYTE( SHR( dwIPAdr,
IPAdr[1] := DWORD_TO_BYTE( SHR( dwIPAdr, 16));
IPAdr[0] := DWORD_TO_BYTE( SHR( dwIPAdr, 24));
(* set datalink *)
BACnet_IP_datalink.IPaddress := IPAdr;
(* ... *)
BACnetInit := BACnetInit + 1;
END_IF // done
(* *)
IF FB_GetIP.Error THEN
FB_GetIP(Execute := FALSE);
(* ... *)
InitError := InitError + 1;
(* set default Adress ... *)
BACnet_IP_datalink.IPaddress := IPAdr;
(* ... *)
BACnetInit := BACnetInit + 1;
END_IF // error
2: (* prepare BACnet services for time synchronization see BACnetDefaultImpl *)
timeSync.Logging := FALSE;
timeSync.Init();
BACnet_Server.RegisterPlugin(timeSync); // register Service Request Time
(* ... *)
utcTimeSync.Logging := FALSE;
utcTimeSync.Init();
BACnet_Server.RegisterPlugin(utcTimeSync); // register Service Request UTCTime
(* ... *)
BACnet_Server.RegisterPlugin(deviceDateTime); // register Service DateTime
(* ... *)
BACnetInit := BACnetInit + 1;
3:
// ...
// Register other plugins, schedule, notification and/or calendar,
// if component must be registered before start of BACnet server
// ...
BACnetInit := BACnetInit + 1;
4: (* Start BACnet Server *)
(* ... *)
BACnet_Server.StartBACnetStack();
(* ... *)
BACnetInit := BACnetInit + 1;
5:
// ...
// Register other plugins, schedule, notification and/or calendar,
// if component must be registered after start of BACnet server
// ...
BACnetInit := BACnetInit + 1;
6: (* finish *)
IF InitError = 0 THEN
UserVarGlobal.BACnetReady := TRUE;
ELSE
;
END_IF
(* *)
BACnetInit := 0;
END_CASE // BACnetInit
END_IF // UserVarGlobal.BACnetReady
IF UserVarGlobal.BACnetReady THEN
(* BACnet Server - set Time and Date *)
(* must be called cyclic that the BACnet time is correct *)
(* currently its once a second, can be adjusted for application need *)
TimeTON(IN:=TRUE, PT:=TimeWait);
IF (TRUE = TimeTON.Q) THEN
TimeTON(IN:=FALSE);
// need to call deviceDateTime, because of datetime calculation
deviceDateTime();
0));
8));
R911393282_Ausgabe 05 Bosch Rexroth AG
355/395
Gebäudeautomatisierung

Quicklinks ausblenden:

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis