Quick start
Einfaches Projekt mit kompletten Sourcen finden Sie hier: IEC 60870-5-104 Zentralstation-High-Level-Beispiel.
Kompatibilitätsliste finden Sie hier: Interoperability check list
Übersicht der Fehlercodes finden Sie hier: Fehlercodes
Kurzanleitung
Applikationsobjekt-Datenbank
Die Applikationsobjekt-Datenbank der Zentralstation muss mit der Funktion: F_iecCreateTableHnd als Hash-Tabelle konfiguriert werden. Die einzelnen Arrayelemente werden dabei als Hash-Tabelle untereinander verlinkt. Dies ermöglicht u. a. einen schnelleren Zugriff auf die einzelnen Datenpunkte, bringt aber auch einige Nachteile mit sich, die beachtet werden müssen:
- Die Größe der Applikationsdatenbank (Arraygröße) darf nicht zur Laufzeit (z.B. durch Online-Change) verändert werden. Die Zentralstation stoppt sofort die Ausführung und meldet einen Fehler. Der Grund: Die Verlinkung der Hash-Tabelle passt nicht mehr. Bei Programmänderungen laden Sie am besten das komplette Projekt ins Laufzeitsystem.
- Auf die einzelnen Array-Elemente darf nicht per Index sondern nur mit Hilfe der speziellen Funktionen zugegriffen werden (z.B.: F_iecAddTableEntry usw.).
- Bei einem indizierten Zugriff auf die Tabellenelemente dürfen die internen Konfigurationsparameter nicht beschrieben oder verändert werden. Bei einer Änderung des Typs, der ASDU-Adresse oder der Objektadresse kann der Datenpunkt nicht mehr gefunden werden. Ein Datenpunkt, der umkonfiguriert werden soll wird aus der Tabelle durch den Funktionsaufruf F_iecRemoveTableEntry zuerst entfernt. Danach kann der neue Datenpunkt hinzugefügt werden.
Bei einer Implementierung als lineare Tabelle müsste die Zentralstation bei jeder empfangenen ASDU (Dateneinheit) das komplette Array nach dem passenden Element durchsuchen. Dies würde bei vielen Datenpunkten sehr lange Ausführungszeiten generieren.
Protokollparameter
Über die Protokollparameter wird das Verhalten der TCP/IP-Transportschicht konfiguriert. Die meisten Protokollparameter sind bereits mit Defaultwerten vorbelegt und müssen nicht explizit gesetzt werden. Die SPS-Applikation muss aber einmalig die IP-Adresse (sRemoteHost) und die Port-Adresse (nRemotePort) der Unterstation konfigurieren.
Systemparameter
Die Systemparameter sind ebenfalls mit Defaultwerten vorbelegt. Während der Inbetriebnahme ist es nützlich die Debug-Ausgabe zu aktivieren (dbgMode) um mögliche Fehler lokalisieren zu können.
Parameter für die zyklische Datenerfassung
Folgende Parameter sind bereits mit Defaultwerten vorkonfiguriert:
- Initialisierungssequenz (besteht aus einem Testbefehl, Uhrzeitsynchronisation, Stationsabfrage und Zählerabfrage);
- Zyklische Befehle:
- Testbefehl alle 60s;
- Uhrzeitsynchronisation alle 60s;
- Stationsabfrage der Gruppe: Allgemein alle 60s;
- Zählerabfrage der Gruppe: Allgemein alle 60s;