ST_IEC870_5_101ProtocolParams

Protokollparameter der Verbindungsschicht. Die Parameter haben abhängig von dem Protokoll- oder Stationstyp unterschiedliche Bedeutung.

Syntax

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

In der unterstehenden Tabelle finden Sie Hinweise zur Konfiguration. Bei fixen Werten muss der Parameter dem Wert aus der Tabelle entsprechen (nicht konfigurierbar).

Legende:

Parametername

Initialisierungswert

IEC 60870-5-101
controlled station
(slave, unbalanced mode)

IEC 60870-5-101
control station
(master, unbalanced mode)

IEC 60870-5-103
control station
(master, unbalanced mode)

IEC 60870-5-102
control station
(master, unbalanced mode)

Beschreibung

 

eType

eIEC870_101_SLAVE

fix,
eIEC870_101_SLAVE

fix,
eIEC870_101_MASTER

fix,
eIEC870_103_MASTER

fix,
eIEC870_102_MASTER

Konfiguriert den Protokoll- und Stationstyp.

eLinkReset

eIEC870_LinkReset_CU

N/A

X

X

fix,
eIEC870_LinkReset_CU

Reset-Typ bei der Intilialisierung der Verbindungsschicht.

linkAddr

1

eigene Adresse

Adresse des Remote-Teilnehmers

Adresse des Remote-Teilnehmers

Adresse des Remote-Teilnehmers

Verbindungsadresse.

eLinkAddrSize

eIEC870_LinkAddr_TwoOctets

X

X

X

X

Octetgröße der Verbindungsadresse.

eLinkMode

eIEC870_LinkMode_Unbalanced

fix, eIEC870_LinkMode_Unbalanced

fix, eIEC870_LinkMode_Unbalanced

fix, eIEC870_LinkMode_Unbalanced

fix, eIEC870_LinkMode_Unbalanced

Verbindungs-Mode (balanced/unbalanced).

eFrameType

eIEC870_FrameType_FT1_2

fix,
eIEC870_FrameType_FT1_2

fix,
eIEC870_FrameType_FT1_2

fix,
eIEC870_FrameType_FT1_2

fix,
eIEC870_FrameType_FT1_2

 

Telegramm-Frameformat. Zur Zeit wird nur das Format F1.2 unterstützt.

tRxTimeout

T#5s

X

X

X

X

Max. Frame-Receive-Timeout-Zeit.

tTxTimeout

T#5s

X

X

X

X

Max. Frame-Send-Timeout-Zeit.

bForceC1Res

TRUE

X

N/A

N/A

N/A

Ist dieser Parameter gesetzt (TRUE), dann werden Class 1 Daten als Antwort auf Class 2 Anfrage gesendet wenn Class 1 Daten vorliegen (optimierter, höherer Datendurchsatz für Class 1).

 

Ist dieser Parameter nicht gesetzt (FALSE) dann wird negative Antwort auf Class 2 Anfrage gesendet wenn Class 1 Daten vorliegen (kleinerer Datendurchsatz, leere Telegramme).

bForceC2Res

TRUE

X

N/A

N/A

N/A

Ist dieser Parameter gesetzt (TRUE), dann werden Class 2 Daten als Antwort auf Class 2 Anfrage gesendet obwohl Class 1 Daten vorliegen (optimierter, höherer Datendurchsatz für Class 2).

 

Ist dieser Parameter nicht gesetzt (FALSE) dann wird negative Antwort auf Class 2 Anfrage gesendet wenn Class 1 Daten vorliegen (kleinerer Datendurchsatz, leere Telegramme)

tClass1Poll

T#200ms

N/A

X

X

X

Zykluszeit in der die Class 1 Daten abgefragt werden sollen (unbalanced mode only).

tClass2Poll

T#200ms

N/A

X

X

X

Zykluszeit in der die Class 2 Daten abgefragt werden sollen (unbalanced mode only).

nRetries

3

bis zur v3.0.6 nicht benutzt (Fehler beim ersten gestörten Frame),
ab der v3.0.8 und höher konfigurierbar

X

X

X

Maximale Anzahl der Telegrammwiederholungen beim gestörten Datenaustausch.

tRetry

T#100ms

N/A

X

X

X

Verzögerungszeit für Telegrammwiederholungen beim gestörten Datenaustausch.

tResponse

T#1s

N/A

X

X

X

Dieser Parameter bestimmt die max. Wartezeit auf eine Telegrammbestätigung. Beim Überschreiten dieser Zeit wird das Telegramm wiederholt, aber max. bis zu nRetry-Male, übertragen.

tTestLink

T#5s

N/A

N/A

N/A

N/A

Zykluszeit in der Test-Telegramme verschickt werden sollen (balanced mode only)

tPollDFC

T#1s

N/A

X

X

X

Zykluszeit in der beim gesetzten DFC-Bit der Verbindungsstatus abgefragt werden soll. Das DFC-Bit wird von dem Remote-Teilnehmer dann gesetzt wenn weitere Telegramme einen Überlauf verursachen könnten.

FRAMELength

MAX_IEC870_5_101Link_FRAMELEN

X

X

X

X

Telegramlänge, max. Länge L.

bRetainBuffer

FALSE

ab der Produktversion v3.0.2 und höher

X

X

X

Ist dieser Parameter gesetzt, dann werden die internen TX/RX-Puffer bei der Initialisierung der Verbindungsschicht nicht zurückgesetzt (gelöscht).

tMaxPollDelay

T#0s ( = 0: deaktiviert, <> 0: aktiv)

ab der Produktversion v3.0.2 und höher

N/A

N/A

N/A

Beim Fehlen der Poll-Anfragen wird nach der Überschreitung dieser Zeit der Verbindungsstatus als OFFLINE deklariert.

tLinkPollCycle

T#10s

N/A

X

X

X

Zykluszeit in der bei einer fehlenden Verbindung link status telegramme an die Unterstation gesendet werden.

Zusätzliche Hinweise zu bForceC1Res und bForceC2Res-Parametern:

Unabhängig davon ob Sie beide oder nur eines der Parameter setzen oder nicht wird das ACD-Bit auf jeden Fall passend gesetzt um der Leitstation mitzuteilen ob Class 1 oder Class 2 Daten als nächstes abgefragt werden sollen. Nur bei Classe 2 Abfragen wird das Verhalten der Unterstation von diesen Parametern beeinflusst.

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS Bibliotheken (Kategoriegruppe)

TwinCAT v3.1.4012.0

PC oder CX (x86, x64, ARM)

Tc2_IEC60870_5_10x (Communication->IEC60870)
Tc2_SerialCom (Communication->Serial)
Tc2_TcpIp (Communication->TcpIp)
Tc2_Utilities (System)