Download: Zentralstation Minimal (master, unbalanced mode)
Einfache Zentralstation-Applikation die das TwinCAT IEC 60870-5-101 High-Level Interface verwendet.
Download TwinCAT XAE Project (*.zip): MiniMasterSample101.zip
Im Beispielprojekt sind folgende Stationsparameter für die Zentralstation eingestellt:
- Standard PC interface: COM1.
- Baudrate: 19200 Baud.
- Link address: 220.
- Link address size: 2 octets.
- Cause of transfer size: 2 octets (inclusive originator address).
- Originator address: 1.
- Common ASDU address: 7.
- Common ASDU address size: 2 octets.
- Information object address size: 3 octets.
- Link mode: Unbalanced.
Datenpunktkonfiguration (sie sollte gleich sein mit der Datenpunktkonfiguration der Unterstationen):
- Single point information: M_SP_NA_1 (IOA := 100).
- Single command: C_SC_NA_1 (IOA := 10).
Initialisierungssequenz, die nach dem Verbindungsaufbau einmalig/automatisch ausgeführt wird:
- Testbefehl (C_TS_NA_1).
- Uhrzeitsynchronisationsbefehl (C_CS_NA_1).
- Generalabfragebefehl (C_IC_NA_1) der Gruppe: Allgemein (eIEC870_QOI_INROGEN).
- Zählerabfragebefehl (C_CI_NA_1) der Gruppe: Allgemein (eIEC870_RQT_REQCOGEN). Zählerabfrage Mode C
Beispielimplementierung folgender Dienste:
- Testbefehl (C_TS_NA_1) alle 60 Sekunden.
- Uhrzeitsynchronisationsbefehl (C_CS_NA_1) alle 60 Sekunden.
- Generalabfragebefehl (C_IC_NA_1) der Gruppe: Allgemein (eIEC870_QOI_INROGEN) alle 60 Sekunden.
- Zählerabfragebefehl (C_CI_NA_1) der Gruppe: Allgemein (eIEC870_RQT_REQCOGEN) alle 60 Sekunden. Zählerabfrage Mode C.
- Bei Wertänderung an der bSCS -Variablen wird der Einzelbefehl (C_SC_NA_1) gesendet (direkte Kommandoausführung)
- Beim Empfang spontaner Daten vom Typ (M_SP_NA_1, IOA := 100) wird der ON/OFF-Wert in die SPS-Variable bSPI gemappt..
Folgende Tabelle beschreibt kurz die Hauptkomponenten des Projekts:
Komponente | Typ | Beschreibung |
---|---|---|
P_MAIN_LowSpeed | PRG | Dieses Programmteil implementiert das Fernwirkprotokoll (langsame Task). |
P_SerialComm_HighSpeed | PRG | Dieses Programmteil implementiert die TwinCAT Hintergrundkommunikation über die seriellen Schnittstellen des PCs (schnelle Task). |
fbClient | FB_IEC870_5_101Master (FB) | Implementiert die Zentralstation. Eine Instanz dieses Bausteins kann nur mit einer Unterstation kommunizieren. Für jede weitere Unterstation mit der kommuniziert werden soll wird eine weitere Instanz dieses Funktionsbausteins benötigt. |
bSPI | BOOL | Der empfangene ON/OFF-Wert wird in diese SPS-Variable direkt an die lokierte Merkeradresse: AT%MX0.0 gemappt. |
bSCS | BOOL | Der zu sendende ON/OFF-Wert wird direkt von der an der Merkeradresse AT%MX1.5 dieser lokierten SPS-Variablen gemappt. |
AODB | ARRAY of ST_IEC870_5_101AODBEntry (STRUCT) | Applikationsobjektdatenbank. Es ist eine Array-Variable. Für jeden Datenpunkt wird ein Arrayelement benötigt. |
hTable | T_HAODBTable (STRUCT) | Applikationsobjektdatenbank-Handle. Mit Hilfe dieser Variablen wird auf die Applikationsobjektdatenbank zugegriffen und nie direkt auf die einzelnen Arrayelemente. |
F_iecCreateTableHnd | FUNCTION | Im Initialisierungsschritt werden alle Arrayelemente von AODB mit diesem Funktionsaufruf einmalig initialisiert. Beim Erfolg liefert dieser Funktionsaufruf das Handle. |
F_iecAddTableEntry | FUNCTION | Im Initialisierungsschritt werden die einzelnen Datenpunkte der Station mit diesem Funktionsaufruf einmalig konfiguriert. |