Download: Unterstation Minimal (slave, unbalanced mode)
Einfache Unterstation-Applikation die das TwinCAT IEC 60870-5-101 High-Level Interface nutzt.
Download TwinCAT XAE Project (*.zip): MiniSlaveSample101.zip
Im Beispielprojekt sind folgende Stationsparameter für die Unterstation 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 Zentralstation):
- Single point information: M_SP_NA_1 (IOA := 100).
- Single command: C_SC_NA_1 (IOA := 10).
Beispielimplementierung folgender Dienste:
- Ende der Initialisierung (M_EI_NA_1) wird einmalig gesendet.
- 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.
- Einzelbefehl-Bearbeitung (C_SC_NA_1) (direkte Kommandoausführung)
- Das Senden spontaner Daten vom Typ (M_SP_NA_1, IOA := 100) bei Wertänderung an der bSPI -Variablen.
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). |
fbServer | FB_IEC870_5_101Slave (FB) | Implementiert die Unterstation. Eine Instanz dieses Bausteins kann nur mit einer Zentralstation kommunizieren. Für jede weitere Zentralstation mit der kommuniziert werden soll wird eine weitere Instanz dieses Funktionsbausteins benötigt. |
bSPI | BOOL | Der zu sendende ON/OFF-Wert wird direkt von der an der Merkeradresse AT%MX1.5 dieser lokierten SPS-Variablen gemappt. |
bSCS | BOOL | Der empfangene ON/OFF-Wert wird in diese SPS-Variable direkt an die lokierte Merkeradresse: AT%MX0.0 gemappt. |
AODB | ARRAY OF ST_IEC870_5_101AODBEntry (STRUCT) | Applikationsobjektdatenbank. Es ist eine Array-Variable. Für jeden Datenpunkt wird ein Arrayelement benötigt. |
F_iecInitAOEntry | STRUCT | Im Initialisierungsschritt werden die einzelnen Datenpunkte der Station mit diesem Funktionsaufruf einmalig konfiguriert. |