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-5-104 slave Bibliothek: ab v2.0.0 und höher 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)