FB_IEC870_5_101Master

FB_IEC870_5_101Master 1:

An instance of the FB_IEC870_5_101Master function block can be used to implement an IEC60870-5-101 central station (master) in the TwinCAT PLC. A connection to the slave is established for each instance of the function block. Normally the data exchange is started automatically once the connection is established. This is the default configuration of the function block.

VAR_IN_OUT

VAR_IN_OUT
    hSerial  : T_HSERIALCTRL;
    hTable   : T_HAODBTable;
END_VAR

hSerial:

hTable: Application object database handle (hash table handle). The table handle must be initialised once with the function F_iecCreateTableHnd before it can be used.

VAR_INPUT

VAR_INPUT
    protPara    : ST_IEC870_5_101ProtocolParams := ( eType := eIEC870_101_MASTER ); 
    sysPara     : ST_IEC870_5_101SystemParams := ( bEndOfInit := FALSE );
    acqPara     : ST_IEC870_5_101AcquisitionParams;
    pAOEntries  : POINTER TO ARRAY[0..IEC870_ANYSIZE_ARRAY] OF ST_IEC870_5_101AODBEntry := 0;
    cbAOEntries : UDINT := 0;
    pInputs     : POINTER TO ARRAY[0..IEC870_ANYSIZE_ARRAY] OF BYTE := 0;
    cbInputs    : UDINT := 0;
    pOutputs    : POINTER TO ARRAY[0..IEC870_ANYSIZE_ARRAY] OF BYTE := 0;
    cbOutputs   : UDINT := 0;
    pMemory     : POINTER TO ARRAY[0..IEC870_ANYSIZE_ARRAY] OF BYTE := 0;
    cbMemory    : UDINT := 0;
    pData       : POINTER TO ARRAY[0..IEC870_ANYSIZE_ARRAY] OF BYTE := 0;
    cbData      : UDINT := 0;
    bEnable     : BOOL := TRUE;
END_VAR

protPara: IEC60870-5-101 protocol parameter.

sysPara: System parameter.

acqPara: Parameter for cyclic data acquisition.

pAOEntries: Address of the application object database variables.

cbAOEntries: Byte size of the application object database variables.

pInputs: Address of the PLC process data area for the inputs.

cbInputs: Byte size of the PLC process data area for the inputs.

pOutputs: Address of the PLC process data area for the outputs.

cbOutputs: Byte size of the PLC process data area for the outputs.

pMamory: Address of the PLC process data area for the flags.

cbMamory: Byte size of the PLC process data area for the flags.

pData: Address of the PLC data area.

cbData: Byte size of the PLC data area.

bEnable : Activates/deactivates the function block (communication and connections).

The addresses can be determined with the ADR operator and the byte sizes with the SIZEOF operator.

VAR_OUTPUT

VAR_OUTPUT
    system  : ST_IEC870_5_101ExSystemInterface;
    eState  : E_IEC870_5_101SerialLinkState := eSERIALLINK_DISCONNECTED;
END_VAR

system: system interface. This variable is used by other IEC application functions as a communication interface for the IEC device (here: central station).

eState: Status of the connection with the slave..

Example in ST: IEC60870-5-101 central station

Requirements

Development environment

Target system type

PLC libraries to be linked

TwinCAT v2.10.0 Build >= 1328

PC or CX (X86, ARM)

TcIEC870_5_101Master.Lib
( Standard.Lib; TcBase.Lib; TcSystem.Lib; TcUtilities.Lib; COMLibV2.Lib; TcIEC870_5_101Link.Lib; TcIEC870_5_101.Lib; are included automatically )