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