ST_IEC870_5_101ProtocolParams
Link layer protocol parameters. The meaning of every parameter depends on protocol or device type.
TYPE ST_IEC870_5_101ProtocolParams :
STRUCT
eType : E_IEC870_DEVICE_TYPE := eIEC870_101_SLAVE;
eLinkReset : E_IEC870_5_101LinkReset := eIEC870_LinkReset_CU;
linkAddr : DWORD := 1;
eLinkAddrSize : E_IEC870_5_101LinkAddrSize := eIEC870_LinkAddr_TwoOctets;
eLinkMode : E_IEC870_5_101LinkMode := eIEC870_LinkMode_Unbalanced;
eFrameType : E_IEC870_5_101FrameType := eIEC870_FrameType_FT1_2;
tRxTimeout : TIME := T#5s;
tTxTimeout : TIME := T#5s;
bForceC1Res : BOOL := TRUE;
bForceC2Res : BOOL := TRUE;
tClass1Poll : TIME := T#200ms;
tClass2Poll : TIME := T#200ms;
nRetries : BYTE := 3;
tRetry : TIME := T#100ms;
tResponse : TIME := T#1s;
tTestLink : TIME := T#5s;
tPollDFC : TIME := T#1s;
FRAMELength : BYTE(MIN_IEC870_5_101Link_FRAMELEN..MAX_IEC870_5_101Link_FRAMELEN)
:= MAX_IEC870_5_101Link_FRAMELEN;
bRetainBuffer : BOOL := FALSE;
tMaxPollDelay : TIME := T#0s;
tLinkPollCycle : TIME := T#10s;
END_STRUCT
END_TYPE
The lower table shows the different device type parameter configuration. Fixed values can not be configured.
Legend:
- X The parameter is used and can be configured.
 - N/A The parameter is not used and cannot be configured.
 
Parameter name  | Init/default value  | IEC 60870-5-101  | IEC 60870-5-101  | IEC 60870-5-103  | IEC 60870-5-102  | Description  | 
|---|---|---|---|---|---|---|
eType  | eIEC870_101_SLAVE  | fixed value,  | fixed value,  | fixed value, eIEC870_103_MASTER  | fixed value, eIEC870_102_MASTER  | Configures the protocol and device type.  | 
eLinkReset  | eIEC870_LinkReset_CU  | N/A  | X  | X  | fixed value, eIEC870_LinkReset_CU  | Configures the link layer (initialization) reset type.  | 
linkAddr  | 1  | own address  | address of remote communication unit  | address of remote communication unit  | address of remote communication unit  | Link address.  | 
eLinkAddrSize  | eIEC870_LinkAddr_TwoOctets  | X  | X  | X  | X  | Link adress octet size.  | 
eLinkMode  | eIEC870_LinkMode_Unbalanced  | fixed value, eIEC870_LinkMode_Unbalanced  | fixed value, eIEC870_LinkMode_Unbalanced  | fixed value, eIEC870_LinkMode_Unbalanced  | fixed value,  | Link mode (balanced/unbalanced).  | 
eFrameType  | eIEC870_FrameType_FT1_2  | fixed value, eIEC870_FrameType_FT1_2  | fixed value, eIEC870_FrameType_FT1_2  | fixed value, eIEC870_FrameType_FT1_2  | fixed value, eIEC870_FrameType_FT1_2  | Telegramm frame format. Only F1.2 is supported.  | 
tRxTimeout  | T#5s  | X  | X  | X  | X  | Max. frame receive timeout time. This parameter specifies the time to wait until frame is received before a timeout condition is set.  | 
tTxTimeout  | T#5s  | X  | X  | X  | X  | Max. frame send timeout time.This parameter specifies the time to wait until frame is send before a timeout condition is set.  | 
bForceC1Res  | TRUE  | X  | N/A  | N/A  | N/A  | If set (TRUE), in response to a class 2 poll, a controlled station may respond with class 1 data when there is class 1 data available (optimized, higher class 1 data throughput). 
  | 
bForceC2Res  | TRUE  | X  | N/A  | N/A  | N/A  | If set (TRUE), in response to a class 2 poll, a controlled station may respond with class 2 data even tough class 1 data is available (optimized, higher class 2 data throughput). 
  | 
tClass1Poll  | T#200ms  | N/A  | X  | X  | X  | How often to check for class 1 data (unbalanced mode only).  | 
tClass2Poll  | T#200ms  | N/A  | X  | X  | X  | How often to check for class 2 data. If the RTU has class 1 data, this is shown in the response to the poll for class 2 data, in this case the device will automatically poll for class 1 data (unbalanced mode only).  | 
nRetries  | 3  | Not used in v3.0.6 and lower(error after first disturbed frame), configurable in v3.0.8 and higher  | X  | X  | X  | This parameter specifies the number of retries (0 to 255) if a response is not received.  | 
tRetry  | T#100ms  | N/A  | X  | X  | X  | Repeated frames delay time.  | 
tResponse  | T#1s  | N/A  | X  | X  | X  | This parameter specifies the time to wait for a response to a primary message. If the timeout is recognized, the message will be retransmitted up to the number of times specified in the nRetries parameter.  | 
tTestLink  | T#5s  | N/A  | N/A  | N/A  | N/A  | How often to send test link messages. Note that this has effect only for balanced mode, because test link messages are undefined in unbalanced mode and will not be sent.  | 
tPollDFC  | T#1s  | N/A  | X  | X  | X  | How often to read link status if DFC bit is set. Remote communication unit sets the DFC bit if further messages may cause data overflow.  | 
FRAMELength  | MAX_IEC870_5_101Link_FRAMELEN  | X  | X  | X  | X  | Max. frame length L.  | 
bRetainBuffer  | FALSE  | available from product version v3.0.2 and higher  | X  | X  | X  | The internal TX/RX buffer are reset (cleared) during the initialisation of the link layer if this parameter is set.  | 
tMaxPollDelay  | T#0s (= 0: not used, <> 0: used  | available from product version v3.0.2 and higher  | N/A  | N/A  | N/A  | Max. time between link polls before station is declared OFFLINE.  | 
tLinkPollCycle  | T#10s  | N/A  | X  | X  | X  | How often to read link status if the connection is offline.  | 
Additional information for bForceC1Res and bForceC2Res parameters:
Irrespective whether you set both parameters, one of them or none of them, the ACD bit is set accordingly in order to notify the control station whether Class 1 or Class 2 data should be queried next. These parameters only influence the behaviour of the substation for Class 2 queries.
Requirements
Development Environment  | Target System  | PLC libraries to include  | 
|---|---|---|
TwinCAT v2.9.0 Build >= 1030  | PC or CX (x86)  | TcIEC870_5_101Link.Lib ( Standard.Lib; TcBase.Lib; TcSystem.Lib; TcUtilities.Lib; TcIEC870_5_101.Lib; COMlibV2.Lib; are included automatically )  | 
TwinCAT v2.10.0 Build >= 1301  | CX (ARM)  |