ST_IEC870_5_103TBuffer

Diese Datenstruktur (TX/RX-Datenpuffer) wird beim Datenaustausch über das IEC 60870-5-103 Low-Level-Interface benutzt.

Syntax

TYPE ST_IEC870_5_103TBuffer :
STRUCT
    eDbg    : E_IEC870_5_101FifoDbgFlags :=eIEC870_FIFO_DBG_OFF;
    asduSize: BYTE := 249;
    mode    : DWORD := 0; 
    dataLink: ST_IEC870_5_101DataLink;
END_STRUCT
END_TYPE

eDbg: Debug-Ausgabe-Parameter.

asduSize: Maximale Bytelänge der ASDU.

mode: Reserviert, wird zur Zeit nicht benutzt. Dieser Wert sollte Null sein.

dataLink: Auf die Elemente dieser Datenstruktur sollte nicht direkt, sondern nur mit einer Instanz des FB_IEC870_5_103TBufferCtrl-Funktionsbausteins zugegriffen werden.

Der TX/RX-Datenpuffer verwendet intern zwei Sende-Fifos und einen Empfangs-Fifo:

  1. Class 1 Sende-Fifo mit (hochprioren) Daten;
  2. Class 2 Sende-Fifo mit (niederprioren) Daten;
  3. Receive-Fifo (für Class 1 und Class 2 Daten);

Die unteren Transportfunktionen der Bibliothek leeren zuerst den Class 1-Fifo und dann den Class 2-Fifo. Die Class 2 Daten werden nur dann versendet wenn der Class 1-Fifo keine zu versendenden Daten enthält.

Jeder der internen Fifos hat eine feste Größe von 200000 Bytes. Erfahrungsgemäß können in jedem Fifo ca. 2000 ASDUs mit einem Informations-Element (Objekt) mit der maximalen Grösse oder ca. 600 ASDUs mit einer Sequence von 100 Informations-Elementen (Objekten) abgelegt werden.

Wenn eine größere Anzahl der zu versendenden oder zu empfangenen Frames zwischengespeichert werden soll (z.B. >2000), so können diese in externen, vom SPS-Programmierer festgelegten Puffern/Fifos zwischengehalten werden. Die SPS-Applikation kann dann zur Laufzeit die TwinCAT-Sende-Fifos mit den eigenen Fifo-Einträgen nachfüllen oder bei vielen empfangenen Frames den TwinCAT-Receive-Fifo leeren. Eine andere Möglichkeit ist z.B. zwei Puffer zu benutzen und diese abwechselnd zu füllen/lesen und an den Kommunikationsbaustein übergeben.

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)