Arrayinitialisierung
Sollen die Propertywerte von BACnet-FBs als Array mit identischen Werten initialisiert werden, lässt sich die nachfolgend beschriebene Syntax verwenden. Dabei werden auf alle Elemente der Arrays AI, AO und AV die Eigenschaften Server und iParent zugewiesen. Dieses Beispiel zeigt ebenfalls den zyklischen Aufruf mit Hilfe einer for-Schleife.
Variablen
FUNCTION_BLOCK FB_BACnetServer
VAR
Adapter : FB_BACnet_Adapter;
Server : FB_BACnet_Server := (Adapter := Adapter);
View_AI : FB_BACnet_View := (Server := Server, sObjectName := 'AI_Objects', sDescription := 'Collector AI Objects');
View_AO: FB_BACnet_View := (Server := Server, sObjectName := 'AO_Objects', sDescription := 'Collector AO Objects');
View_AV : FB_BACnet_View := (Server := Server, sObjectName := 'AV_Objects', sDescription := 'Collector AV Objects');
AI : ARRAY[1..MAX_OBJECTS] OF FB_BACnet_AI := [MAX_OBJECTS((Server := Server, iParent := View_AI))];
AO : ARRAY[1..MAX_OBJECTS] OF FB_BACnet_AO := [MAX_OBJECTS((Server := Server, iParent := View_AO))];
AV : ARRAY[1..MAX_OBJECTS] OF FB_BACnet_AV := [MAX_OBJECTS((Server := Server, iParent := View_AV))];
iFor : INT;
END_VAR
VAR CONSTANT
MAX_OBJECTS : INT := 50;
END_VAR
Code
Adapter();
Server();
View_AI();
View_AO();
View_AV();
FOR iFor := 1 TO MAX_OBJECTS DO
AI[iFor]();
AO[iFor]();
AV[iFor]();
END_FOR