ST_IEC870_5_101ProtocolParams
Protokollparameter der Verbindungsschicht. Die Parameter haben abhängig von dem Protokoll- oder Stationstyp unterschiedliche Bedeutung.
TYPE ST_IEC870_5_101ProtocolParams :
STRUCT
eType : E_IEC870_DEVICE_TYPE := eIEC870_101_SLAVE;
eLinkReset : E_IEC870_5_101LinkReset := eIEC870_LinkReset_CU;
linkAddr : DWORD := 1;
eLinkAddrSize : E_IEC870_5_101LinkAddrSize := eIEC870_LinkAddr_TwoOctets;
eLinkMode : E_IEC870_5_101LinkMode := eIEC870_LinkMode_Unbalanced;
eFrameType : E_IEC870_5_101FrameType := eIEC870_FrameType_FT1_2;
tRxTimeout : TIME := T#5s;
tTxTimeout : TIME := T#5s;
bForceC1Res : BOOL := TRUE;
bForceC2Res : BOOL := TRUE;
tClass1Poll : TIME := T#200ms;
tClass2Poll : TIME := T#200ms;
nRetries : BYTE := 3;
tRetry : TIME := T#100ms;
tResponse : TIME := T#1s;
tTestLink : TIME := T#5s;
tPollDFC : TIME := T#1s;
FRAMELength : BYTE(MIN_IEC870_5_101Link_FRAMELEN..MAX_IEC870_5_101Link_FRAMELEN)
:= MAX_IEC870_5_101Link_FRAMELEN;
bRetainBuffer : BOOL := FALSE;
tMaxPollDelay : TIME := T#0s;
tLinkPollCycle : TIME := T#10s;
END_STRUCT
END_TYPE
In der unterstehenden Tabelle finden Sie Hinweise zur Konfiguration. Bei fixen Werten muss der Parameter dem Wert aus der Tabelle entsprechen (nicht konfigurierbar).
Legende:
- X Der Parameter wird benutzt und ist konfigurierbar;
- N/A Der Parameter wird nicht benutzt und ist nicht konfigurierbar;
Parametername | Initialisierungswert | IEC 60870-5-101 | IEC 60870-5-101 | IEC 60870-5-103 | IEC 60870-5-102 | Beschreibung
|
---|---|---|---|---|---|---|
eType | eIEC870_101_SLAVE | fix, | fix, | fix, | fix, | Konfiguriert den Protokoll- und Stationstyp. |
eLinkReset | eIEC870_LinkReset_CU | N/A | X | X | fix, | Reset-Typ bei der Intilialisierung der Verbindungsschicht. |
linkAddr | 1 | eigene Adresse | Adresse des Remote-Teilnehmers | Adresse des Remote-Teilnehmers | Adresse des Remote-Teilnehmers | Verbindungsadresse. |
eLinkAddrSize | eIEC870_LinkAddr_TwoOctets | X | X | X | X | Octetgröße der Verbindungsadresse. |
eLinkMode | eIEC870_LinkMode_Unbalanced | fix, eIEC870_LinkMode_Unbalanced | fix, eIEC870_LinkMode_Unbalanced | fix, eIEC870_LinkMode_Unbalanced | fix, eIEC870_LinkMode_Unbalanced | Verbindungs-Mode (balanced/unbalanced). |
eFrameType | eIEC870_FrameType_FT1_2 | fix, | fix, | fix, | fix,
| Telegramm-Frameformat. Zur Zeit wird nur das Format F1.2 unterstützt. |
tRxTimeout | T#5s | X | X | X | X | Max. Frame-Receive-Timeout-Zeit. |
tTxTimeout | T#5s | X | X | X | X | Max. Frame-Send-Timeout-Zeit. |
bForceC1Res | TRUE | X | N/A | N/A | N/A | Ist dieser Parameter gesetzt (TRUE), dann werden Class 1 Daten als Antwort auf Class 2 Anfrage gesendet wenn Class 1 Daten vorliegen (optimierter, höherer Datendurchsatz für Class 1).
Ist dieser Parameter nicht gesetzt (FALSE) dann wird negative Antwort auf Class 2 Anfrage gesendet wenn Class 1 Daten vorliegen (kleinerer Datendurchsatz, leere Telegramme). |
bForceC2Res | TRUE | X | N/A | N/A | N/A | Ist dieser Parameter gesetzt (TRUE), dann werden Class 2 Daten als Antwort auf Class 2 Anfrage gesendet obwohl Class 1 Daten vorliegen (optimierter, höherer Datendurchsatz für Class 2).
Ist dieser Parameter nicht gesetzt (FALSE) dann wird negative Antwort auf Class 2 Anfrage gesendet wenn Class 1 Daten vorliegen (kleinerer Datendurchsatz, leere Telegramme) |
tClass1Poll | T#200ms | N/A | X | X | X | Zykluszeit in der die Class 1 Daten abgefragt werden sollen (unbalanced mode only). |
tClass2Poll | T#200ms | N/A | X | X | X | Zykluszeit in der die Class 2 Daten abgefragt werden sollen (unbalanced mode only). |
nRetries | 3 | bis zur v3.0.6 nicht benutzt (Fehler beim ersten gestörten Frame), | X | X | X | Maximale Anzahl der Telegrammwiederholungen beim gestörten Datenaustausch. |
tRetry | T#100ms | N/A | X | X | X | Verzögerungszeit für Telegrammwiederholungen beim gestörten Datenaustausch. |
tResponse | T#1s | N/A | X | X | X | Dieser Parameter bestimmt die max. Wartezeit auf eine Telegrammbestätigung. Beim Überschreiten dieser Zeit wird das Telegramm wiederholt, aber max. bis zu nRetry-Male, übertragen. |
tTestLink | T#5s | N/A | N/A | N/A | N/A | Zykluszeit in der Test-Telegramme verschickt werden sollen (balanced mode only) |
tPollDFC | T#1s | N/A | X | X | X | Zykluszeit in der beim gesetzten DFC-Bit der Verbindungsstatus abgefragt werden soll. Das DFC-Bit wird von dem Remote-Teilnehmer dann gesetzt wenn weitere Telegramme einen Überlauf verursachen könnten. |
FRAMELength | MAX_IEC870_5_101Link_FRAMELEN | X | X | X | X | Telegramlänge, max. Länge L. |
bRetainBuffer | FALSE | ab der Produktversion v3.0.2 und höher | X | X | X | Ist dieser Parameter gesetzt, dann werden die internen TX/RX-Puffer bei der Initialisierung der Verbindungsschicht nicht zurückgesetzt (gelöscht). |
tMaxPollDelay | T#0s ( = 0: deaktiviert, <> 0: aktiv) | ab der Produktversion v3.0.2 und höher | N/A | N/A | N/A | Beim Fehlen der Poll-Anfragen wird nach der Überschreitung dieser Zeit der Verbindungsstatus als OFFLINE deklariert. |
tLinkPollCycle | T#10s | N/A | X | X | X | Zykluszeit in der bei einer fehlenden Verbindung link status telegramme an die Unterstation gesendet werden. |
Zusätzliche Hinweise zu bForceC1Res und bForceC2Res-Parametern:
Unabhängig davon ob Sie beide oder nur eines der Parameter setzen oder nicht wird das ACD-Bit auf jeden Fall passend gesetzt um der Leitstation mitzuteilen ob Class 1 oder Class 2 Daten als nächstes abgefragt werden sollen. Nur bei Classe 2 Abfragen wird das Verhalten der Unterstation von diesen Parametern beeinflusst.
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS Bibliotheken |
---|---|---|
TwinCAT v2.9.0 Build >= 1030 | PC or CX (x86) | TcIEC870_5_101Link.Lib ( Standard.Lib; TcBase.Lib; TcSystem.Lib; TcUtilities.Lib; TcIEC870_5_101.Lib; COMlibV2.Lib; werden automatisch eingebunden ) |
TwinCAT v2.10.0 Build >= 1301 | CX (ARM) |