FB_IEC870_5_104TProtocol

Ab der Produktversion: TwinCAT PLC Library IEC870-5-104 Unterstation v2.0.6 und höher.

FB_IEC870_5_104TProtocol 1:

Der Kommunikationsbaustein FB_IEC870_5_104TProtocol implementiert die ACPI-Funktionen der IEC60870-5-104-Norm ( Start/Stop-Data Transfer, Test-Frames, Send/Receive Frame-Counter usw.). Beim Protokollfehler wird ein entsprechender Fehlercode am Ausgang des Funktionsbausteins ausgegeben und die Datenübertragung unterbrochen. Um den Datenaustausch erneut aktivieren zu können, muss die Aktion INIT aufgerufen werden. Es werden dabei z.B. die Framezähler, Sende- und der TX/RX-Datenpuffer zurückgesetzt. Der Kommunikationsbaustein erwartet eine TX/RX-Datenpuffervariable. Diese Variable muss per VAR_IN_OUT an den Baustein übergeben werden.

Der Funktionsbaustein besitzt folgende Aktionen:

Verbindungsaufbau

Mit einem gesonderten Baustein z.B. FB_ServerClientConnection muss die TCP/IP-Verbindung auf- und abgebaut werden. Die SPS-Applikation kann dadurch selber auf mögliche Protokollfehler reagieren und die Verbindung schließen oder z.B. den Dienst Process-Reset implementieren. Dieser Baustein liefert am Ausgang ein Verbindungshandle, den Verbindungsstatus und Informationen über Fehler die beim Verbindungsaufbau/-abbau aufgetreten sind.
Das Verbindungshandle wird von dem Kommunikationsbaustein benötigt.

Protokollkonfiguration

Der Kommunikationsbaustein besitzt eine protPara-Variable vom strukturierten Typ. Über diese Variable können Protokollparameter z.B.  iK, iW, Start/Stop-Datentransfer-Verhalten usw. konfiguriert werden.

VAR_IN_OUT

VAR_IN_OUT
    buffer      : ST_IEC870_5_101TBuffer; (* TX/RX data buffer *)
END_VAR

buffer: TX/RX Datenpuffer.

VAR_INPUT

VAR_INPUT
    sSrvNetID       : T_AmsNetID;     (* TwinCAT TCP/IP Connection Server netID *)
    hSocket         : T_HSOCKET;      (* TCP/IP socket connection handle *)
    protPara        : ST_IEC870_5_104ProtocolParams; (* IEC60870-5-104 protocol parameters *)
    bOutDbg         : BOOL;       (* Enable/disable debug output *)
END_VAR

sSrvNetID: String mit der Netzwerkadresse des TwinCAT TCP/IP Connection Servers. Für den lokalen Rechner (default) kann auch ein Leerstring angegeben werden.

hSocket: Das TCP/IP-Verbindungshandle des Kommunikationspartners dessen Daten empfangen oder gesendet werden sollen.

protPara: IEC60870-5-104-Protokollparameter.

bOutDbg:: Aktiviert/deaktiviert die Debug-Ausgabe der TCP/IP-Frames in der TwinCAT System Manager-Loggeransicht.

VAR_OUTPUT

VAR_OUTPUT
    bError      : BOOL;
    nErrID      : UDINT;
    eDTState    : E_IEC870_5_104DataTransferState := eIEC870_STOPDT; (* Data transfer state *)
ND_VAR

bError: Dieser Ausgang wird auf TRUE gesetzt, sobald ein Fehler bei der Datenübertragung aufgetreten ist.

nErrID: Liefert bei einem gesetzten bError-Ausgang einen Fehlercode;

eDTState: Status des IEC60870-5-104-Datenaustauschs (STARTDT, STOPDT).

 

Beispiel:

Beispielprojekte: IEC60870-5-104 Transport Interface

 

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS Bibliotheken

TwinCAT v2.10.0 Build >= 1301

PC oder CX (x86)
CX (ARM)

TcIEC870_5_104.Lib

( Standard.Lib; TcBase.Lib; TcSystem.Lib; TcUtilities.Lib; TcIEC870_5_101.Lib;  werden automatisch eingebunden )