Der IEC-104 Treiber ermöglicht es, Daten über das IEC-104 Protokoll abzusetzen und zu empfangen.
Der Name des IEC-104-Treibers lautet: iec104
Die Routing-Adresse des ersten IEC-104-Treibers ist die 900
Die Datenpunktdatei für den ersten IEC-104-Treiber heißt: iec1041.txt
Die Konfigurationsdatei für globale Einstellungen des ersten IEC-104-Treibers heißt: iec1041.cfg
Bei dem IEC-104-Treiber sowie allen weiteren Gateway-Treibern gilt für die Definiton von Datenpunkten in der Datenpunktdatei:
Typ: | Bedeutung |
---|---|
M | Ganzzahliger Wert (Binäre Datenpunkte,Zählwerte) der vom Gateway nur gelesen werden kann/soll. |
S | Ganzzahliger Wert der vom Gateway gelesen sowie geschrieben werden kann/soll. |
X | Analogwert (mit Nachkommastellen) der vom Gateway nur gelesen werden kann/soll. |
Y | Analogwert (mit Nachkommastellen) der vom Gateway gelesen sowie geschrieben werden kann/soll. |
A | String, findet z.B. Verwendung bei BACnet Trends und ESPA4.4.4 Datenpunkten |
Die IEC-104 Adressen sind wie folgt aufgebaut:
<Datenpunkt-Typ> <Remote/Local-Unit-Nummer>[.<Objekt-Nummer>.[<BACnet-Instanznummer>.<Wochentag-Index>.<Eintrag-Index>]]
Datenpunkt-Typ: failure, reset, object, scact, sctime, scvalue
Remote/Local-Unit-Nummer: 1 - 32766
Objekt-Nummer: 1 - 16777215
BACnet-Instanznummer: 0 - 4194303
Wochentag-Index: 0 - 6 (0=Sonntag, 6=Samstag)
Eintrag-Index: 0 - 9
Datenpunkt-Typ: "failure"
[M failure 12]
name = Ausfall Station 12
query = pe
Datenpunkt-Typ: "reset"
[S reset 12]
name = Neustart der Station 12 ausloesen
query = pe
nomval = 0
writecache = 1
Datenpunkt-Typ: "object"
[S object 12.1]
name = Ab-/zuschaltung der RAS-Melder Bahnsteig -2.0
format = C_SC_NA_1
query = pe
Unterstützte Formate für Datenpunkt-Typ: „object“:
Meldungen
Name | Typ | Beschreibung |
---|---|---|
M_SP_NA_1 | 1 | Einzelmeldung |
M_DP_NA_1 | 3 | Doppelmeldung 4) |
M_ST_NA_1 | 5 | Stufenstellungsmeldung |
M_ME_NA_1 | 9 | Messwert, normierter Wert 2) |
M_ME_NB_1 | 11 | Messwert, skalierter Wert 2) |
M_ME_NC_1 | 13 | Messwert, verkürzte Gleitkommazahl 3) |
M_SP_TB_1 | 30 | Einzelmeldung mit Zeitmarke CP56Time2a |
M_DP_TB_1 | 31 | Doppelmeldung mit Zeitmarke CP56Time2a 4) |
M_ST_TB_1 | 32 | Stufenstellungsmeldung mit Zeitmarke CP56Time2a |
M_ME_TD_1 | 34 | Messwert, normierter Wert mit Zeitmarke CP56Time2a 2) |
M_ME_TE_1 | 35 | Messwert, skalierter Wert mit Zeitmarke CP56Time2a 2) |
M_ME_TF_1 | 36 | Messwert, verkürzte Gleitkommazahl mit Zeitmarke CP56Time2a 3) |
M_IT_NA_1 | 15 | Zählwerte |
M_IT_TB_1 | 37 | Zählwerte mit Zeitmarke CP56Time2a |
Kommandos
Name1) | Typ | Beschreibung |
---|---|---|
C_SC_NA_1 | 45 | Einzelbefehl |
C_DC_NA_1 | 46 | Doppelbefehl 5) |
C_RC_NA_1 | 47 | Stufenstellungsbefehl |
C_SE_NA_1 | 48 | Sollwert-Stellbefehl, normierter Wert 2) |
C_SE_NB_1 | 49 | Sollwert-Stellbefehl, skalierter Wert 2) |
C_SE_NC_1 | 50 | Sollwert-Stellbefehl, verkürzte Gleitkommazahl 3) |
C_SC_TA_1 | 58 | Einzelbefehl mit Zeitmarke CP56Time2a |
C_DC_TA_1 | 59 | Doppelbefehl mit Zeitmarke CP56Time2a 5) |
C_RC_TA_1 | 60 | Stufenstellungsbefehl mit Zeitmarke CP56Time2a |
C_SE_TA_1 | 61 | Sollwert-Stellbefehl, normierter Wert mit Zeitmarke CP56Time2a 2) |
C_SE_TB_1 | 62 | Sollwert-Stellbefehl, skalierter Wert mit Zeitmarke CP56Time2a 2) |
C_SE_TC_1 | 63 | Sollwert-Stellbefehl, verkürzte Gleitkommazahl mit Zeitmarke CP56Time2a 3) |
C_TD_NA_1 | 145 | Übertragung transparenter Daten (ABB D560) |
Steuerung/Kommunikation/Sonderfunktionen
Name1) | Typ | Beschreibung |
---|---|---|
M_EI_NA_1 | 70 | Initialisierungsende 6) |
C_IC_NA_1 | 100 | Generalabfrage 6) |
C_RD_NA_1 | 102 | Einzelabfrage 6) |
C_CS_NA_1 | 103 | Uhrzeit-Synchronisation 6) |
C_RP_NA_1 | 105 | Prozess-Rücksetzen 6) |
C_TS_NA_1 | 107 | Prüfbefehl mit Zeitmarke CP56Time2a |
C_TD_NA_1 | 145 | Transparente Daten Kommando (ABB) |
M_TD_NA_1 | 146 | Transparente Daten Melden (ABB) |
Anmerkungen
1) Bezeichnung, die im Gateway als „format = “ eingetragen wird
2) erfordern beim Format noch die Angabe von Faktor (F:xxx) und ggf. Offset (O:xxx)
3) Faktor und Offset können optional angegeben werden
4) mögliche Werte: 0=Transient, 1=Aus, 2=Ein, 3=Unbekannt
5) mögliche Werte: 0=Aus, 1=Ein, 2=Transient, 3=Unbekannt
6) nicht projektierbar, werden für die interne Kommunikation benötigt/verwendet
Datenpunkt-Typ: "scact"
[S scact 12.100.1.0.0]
name = activation schedule 1, sunday, 1. entry
query = pe
nomval = 1
writecache = 1
[S scact 12.100.1.0.1]
name = activation schedule 1, sunday, 2. entry
query = pe
nomval = 1
writecache = 1
Datenpunkt-Typ: "sctime"
[Y sctime 12.100.1.0.0]
name = time schedule 1, sunday, 1. entry
query = pe
nomval = 1
writecache = 1
[Y sctime 12.100.1.0.1]
name = time schedule 1, sunday, 2. entry
query = pe
nomval = 1
writecache = 1
Datenpunkt-Typ: "scvalue"
[Y scvalue 12.100.1.0.0]
name = value schedule 1, sunday, 1. entry
format = boolean # unsigned or real
query = pe
nomval = 1
writecache = 1
[Y scvalue 12.100.1.0.1]
name = value schedule 1, sunday, 2. entry
format = boolean # unsigned or real
query = pe
nomval = 1
writecache = 1
Mögliche Start-Optionen des Treibers in Sektion [IEC104]:
Name: | Typ | Wertebereich |
---|---|---|
SelectSupported | int | 1 enabled |
0 disabled | ||
2 optional | ||
3 optional | ||
OperationTimeout | int | 1-3600 |
AliveCheck | int | 0-60000 |
FilterUpdate | int | 0-1 |
UpdateWrite | int | 0-1 |
PendingEvents | int | 1-100000 |
SchedulePollDelay | int | 1-6000 |
ScheduleRdWrDelay | int | 1-6000 |
ExpectBACnetAPDU | int | 0-1 |
AcceptInvalid | int | 0-1 |
Mögliche Optionen des Treibers in Sektion [LINK<no>]:
Name: | Typ | Wertebereich |
---|---|---|
HostName<no> | string | a.b.c.d |
ServerRole | int | 0-1 |
T0Timeout | int | 1-255 |
T1Timeout | int | 1-255 |
T2Timeout | int | 1-255 |
T3Timeout | int | 0-172800 |
KWindow | int | 1-32767 |
WWindow | int | 1-32767 |
RemoteUnits | string | 1-32766 |
LocalUnits | string | 1-32766 |
Beispiel iec1041.cfg-Datei:
[IEC104]
SelectSupported = 0
OperationTimeout = 10
AliveCheck = 60
FilterUpdate = 1
PendingEvents = 5000
SchedulePollDelay = 30
ScheduleRdWrDelay = 2
ExpectBACnetAPDU = 1
AcceptInvalid = 0
[LINK1]
HostName0 = 127.0.0.1
ServerRole = 0
T0Timeout = 30
T1Timeout = 15
T2Timeout = 10
T3Timeout = 20
KWindow = 12
WWindow = 8
RemoteUnits =
LocalUnits = 12,13,14,15