Aufruf und Deklaration der Zentralstation

Die gesamte Funktionalität einer Zentralstation ist im Funktionsbaustein FB_IEC870_5_104Master gekapselt. Mit einer Instanz kann eine Verbindung zur Unterstation aufgebaut werden. Für eine weitere Verbindung deklarieren Sie eine weitere Instanz des Funktionsbausteins.

Fügen Sie im Deklarationsteil von MAIN folgenden SPS-Code ein:

PROGRAM MAIN
VAR
AODB : ARRAY[0..49] OF ST_IEC870_5_101AODBEntry;
hTable : T_HAODBTable;

init : BOOL := TRUE;
initError : UDINT;
asduAddr : UDINT := 7;

inputs AT%IB0 : ARRAY[0..2999] OF BYTE;
outputs AT%QB0 : ARRAY[0..2999] OF BYTE;
memory AT%MB0 : ARRAY[0..2999] OF BYTE;
data : ARRAY[0..2999] OF BYTE;

bEnable : BOOL := TRUE;
client : FB_IEC870_5_104Master;

END_VAR

Im Programmteil wird die Instanz aufgerufen:

IF init THEN
init := FALSE;
...



ELSE
...
client( pAOEntries := ADR( AODB ),
cbAOEntries := SIZEOF( AODB ),
pInputs := ADR( inputs ),
cbInputs := SIZEOF( inputs ),
pOutputs := ADR( outputs ),
cbOutputs := SIZEOF( outputs ),
pMemory := ADR( memory ),
cbMemory := SIZEOF( memory ),
pData := ADR( data ),
cbData := SIZEOF( data ),
bEnable := bEnable,
hTable := hTable );
...
END_IF

Das zugehörige Tutorial SPS-Beispiel kann hier heruntergeladen werden.