ST_IEC870_5_101SystemParams
TYPE ST_IEC870_5_101SystemParams :
STRUCT
asduAddr : DWORD := 11;
asduAddrRev : DWORD := 22;
asduFmt : ST_IEC870_5_101AsduFmtParams := ( eCOTSize := eIEC870_COT_TwoOctets,
eAsduAddrSize := eIEC870_AsduAddr_TwoOctets,
eObjAddrSize := eIEC870_ObjAddr_ThreeOctets );
bEndOfInit : BOOL := TRUE;
bSyncTime : BOOL := TRUE;
bSyncPCTime : BOOL := FALSE;
bUsePCTime : BOOL := TRUE;
tSyncToPCTime : TIME := T#0s;
sPCTimeNetID : T_AmsNetID := '';
bTimeCOT3 : BOOL := FALSE;
tSyncTimeut : TIME := T#0m;
bACTCONRes : BOOL := TRUE;
bACTTERMRes : BOOL := TRUE;
bPerCyclic : BOOL := FALSE;
tPerCyclicBase : TIME := T#60s;
bBackScan : BOOL := FALSE;
tBackScanCycle : TIME := T#60s;
bPerFRZ : BOOL := FALSE;
tPerFRZCycle : TIME := T#60s;
tSelExecTimeout : TIME := T#10s;
tActConTimeout : TIME := T#5s;
tActTermTimeout : TIME := T#30s;
tDeactConTimeout: TIME := T#5s;
tReadResTimeout : TIME := T#5s;
dbgMode : DWORD := 0; (* 0 => disabled,
Bit 0 set => IEC870_DEBUGMODE_ASDU => debug asdu's,
Bit 1 set => IEC870_DEBUGMODE_DEVSTATE => debug device state changes
Bit 2 set => IEC870_DEBUGMODE_LINKLAYER => link layer frame data *)
orgAddr : BYTE := 1; (* Oiginator address, reserved, not used *)
bOverwrite : BOOL := FALSE;(* TRUE = Overwrite oldest entries, FALSE = don't overwrite *)
END_STRUCT
END_TYPEEND_TYPE
asduAddr: Gemeinsame ASDU-Adresse in Standardrichtung. Default: 11.
asduAddrRev: Gemeinsame ASDU-Adresse in Umkehrrichtung. Default: 22.
asduFmt: ASDU-Formatparameter (z.B. Oktetlänge der Übertragungsursache-, ASDU-Adresse- und der Object-Adresse );
bEndOfInit: Wenn TRUE, sende M_EI_NA_1 (End of init) nachdem die Stationsinitialisierung abgeschlossen wurde. Eine Stationsinitialisierung wird beim Systemstart oder nach einem Prozess Reset durchgeführt. Default: TRUE.
bSyncTime: Wenn TRUE, aktiviere IEC-Systemzeit Synchronisation beim Empfang des C_CS_NA_1-Kommandos. Default: TRUE.
bSyncPCTime: Wenn TRUE, synchronisiere neben der IEC-Systemzeit auch die Systemzeit des TwinCAT PC's (die Windows-Systemzeit in der Taskleiste). Default: FALSE.
bUsePCTime: Wenn TRUE, synchronisiere die IEC-Systemzeit mit der Systemzeit des PC's. Nach der Initialisierung der Unterstation wird die IEC-Systemzeit zuerst mit der Systemzeit des TwinCAT PC's (Windows-Systemzeit) synchronisiert. Default: TRUE.
tSyncToPCTime : Steuert die zyklische Synchronisation der IEC-Systemzeit mit der Systemzeit des TwinCAT PC's (im Online- und Offline-Mode). Implementiert in IEC870-5-104 slave Bibliothek v3.0.3 und höher.
Die Zeit bestimmt die Zykluszeit in der die Synchronisation durchgeführt wirde. Bei einem Wert = T#0s ist die zyklische Synchronisation deaktiviert. Default: T#0s.
sPCTimeNetID: TwinCAT Netzwerkadresse des PCs dessen Systemzeit bei der Synchronisierung benutzt werden soll. Für den lokalen PC kann auch ein Leerstring angegeben werden. Default: Leerstring = Lokaler PC.
bTimeCOT3: Wenn TRUE, sende die Systemzeit zur Zentralstation mit der Übertragungsursache <3> Spontan beim Stundenwechsel. Default: FALSE.
tSyncTimeout: Uhrzeitsynchronisationsintervall-Timeoutüberwachung. Implementiert in IEC870-5-101/104 slave Bibliothek v2.0.0 und höher. In früheren Versionen wird dieser Parameter nicht benutzt. Die Zeitstempel haben einen IV-Quality-Flag (invalid). Bei einem Wert <> T#0m (z.B. T#60m) wird das IV-Quality-Flag bei allen darauffolgenden Zeitstempeln auf Invalid gesetzt wenn innerhalb einer Stunde keine Uhrzeitsynchronisation durchgeführt wurde. Das IV-Quality-Flag des Zeitstempels kann vom Master als Indikator für die Qualität des Zeitstempels benutzt werden. Bei tSyncTimeout = T#0m ist die Überwachung nicht aktiv.
bACTCONRes: Wenn TRUE, sende ACTCON response.
bACTTERMRes: Wenn TRUE, sende ACTTERM response.
bPerCyclic: Wenn TRUE, aktiviere zyklische/periodische Datenübertragung.
tPerCyclicBase: Basiszeit der zyklischen/periodischen Datenübertragung.
bBackScan: Wenn TRUE, aktiviere Hintergrundabfrage.
tBackScanCycle: Hintergrundabfrage-Zykluszeit.
bPerFRZ: Wenn TRUE, aktiviere lokales Umspeichern/Rücksetzen der Zählerwerte.
tPerFRZCycle: Zykluszeit für lokales Umspeichern/Rücksetzen.
tSelExecTimeout: Max. Timeoutzeit zwischen dem Anwahlbefehl und dem Ausführungsbefehl (nur Zentralstation).
tActConTimeout :Max. Timeoutzeit für den Empfang der Bestätigung der Befehlaktivierung (nur Zentralstation).
tActTermTimeout : Max. Timeoutzeit für den Empfang der Befehlterminierung (nur Zentralstation).
tDeactConTimeout : Max. Timeoutzeit für den Empfang der Bestätigung des Befehlabbruchs (nur Zentralstation).
tReadResTimeout : Max. Timeoutzeit für die Ausführung des Lesebefehls (C_RD_NA_1) (nur Zentralstation).
dbgMode:Debug-Flags:
Wert | Beschreibung |
---|---|
IEC870_DEBUGMODE_DISABLED | Loggen deaktiviert |
IEC870_DEBUGMODE_ASDU | Die ASDUs werden als hexadezimale Ausgabe im Application-Log geloggt. |
IEC870_DEBUGMODE_DEVSTATE | Statusänderungen der Station werden im Application-Log geloggt. |
IEC870_DEBUGMODE_LINKLAYER | Link layer frames werden im Application-Log geloggt IEC870-5-101 slave Bibliothek: bei allen Versionen verfügbar; |
IEC870_DEBUGMODE_LINKERROR | Link layer Fehlermeldungen werden im Application-Log geloggt. |
Die Flags können in der gewünschten Kombination verodert werden.
orgAddr: Quelladresse (wird zurzeit nicht benutzt).
bOverwrite: Implementiert ab IEC870-5-104 slave library v3.0.14 und höher. Aktiviert/deaktiviert das Überschreiben der ältesten Meldungen im Sendepuffer bei der Überschreitung der max. zulässigen Puffergrösse. Dieser Parameter ist nur im Offline-Mode aktiv (d.h. wenn die Verbindung unterbrochen wurde) und wenn Offline-Datenspeicherung zusätzlich über den bRetainBuffer-Parameter in den Protokollparametern (ST_IEC870_5_104ProtPara) aktiviert wurde. Im Online-Mode (d.h. wenn der Datentransfer gestartet wurde) werden keine älteren Meldungen überschrieben (sonst würden möglicherweise einige Zwischenwerte fehlen).
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken |
---|---|---|
TwinCAT v2.9.0 Build >= 1030 | PC oder CX (x86) | TcIEC870_5_101.Lib ( Standard.Lib; TcBase.Lib; TcSystem.Lib; TcUtilities.Lib; werden automatisch eingebunden ) |
TwinCAT v2.10.0 Build >= 1301 | CX (ARM) |