Instanz der IEC60870-5-104 Zentralstation deklarieren und aufrufen
Hier können Sie die kompletten SPS-Sourcen entpacken: TutorialSample.zip
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
und 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