ADS API
Die TimeOffsets können auch über ADS abgefragt werden. Hierfür gibt es zwei Wege
- ADS Notification: ADS Notifications beinhalten einen Zeitstempel, der den Änderungszeitpunkt der Daten beinhaltet.
Ein ADS Client sendet dafür vor dem AddDeviceNotification ein ADS Kommando, wodurch das Zielsystem registriert, welcher Typ von korrigiertem Zeitstempel von diesem ADS Client gewünscht ist. - ADS Read: Per ADS Read kann ein korrigierter Zeitstempel ausgelesen werden. Dieses kann verwendet werden um in einem ADS Summen Kommando einen korrigierten Zeitstempel zu dem Zeitpunkt zu erhalten, an dem die ADS Kommandos ausgeführt wurden.
Index Group | Index Offset | Zugriff | Datentyp | Beschreibung | Anmerkung |
---|---|---|---|---|---|
ADSIGRP_EXTERNALTIME 0xF088 |
|
|
|
|
|
| ADSIOFFS_EXTERNALTIME_SET
| R | LONG | Lesen des aktuell konfigurierten Offset-Typen für den jeweiligen ADS Client (AmsNetAddr inkl. Client-Port). | Rückgabewert ist Type 0 = None, 1 = Hard, 2 = Medium, 3 = Soft |
| ADSIOFFS_EXTERNALTIME_SET
| W |
| Setzen des Offset-Typen für die ADSDevice Notifications des jeweiligen ADS Clients (AmsNetAddr inkl. Client-Port).
| __ ist Type 0 = None, 1 = Hard, 2 = Medium, 3 = Soft |
| ADSIOFFS_EXTERNALTIME_OFFSET 0x01__ | R | LONGLONG | Lesen des aktuellen Offsets zu einem Typ. | __ ist Type: |
| ADSIOFFS_EXTERNALTIME_OFFSET 0x01__ | W | LONGLONG | Setzen des aktuellen Offsets zu einem Typ. | __ ist Type: |
| ADSIOFFS_EXTERNALTIME_ABSOLUTE 0x02__ | R | LONGLONG | Lesen des korrigierten Zeitstempels. | __ ist Type: |
| ADSIOFFS_EXTERNALTIME_PROVIDER 0x03__ | R | ULONG | Lesen der ObjektID von dem TimeOffset Provider. | __ ist Type: |
| ADSIOFFS_EXTERNALTIME_SETALL | R | LONG | Lesen des Typen, welcher verwendet wird, wenn kein anderer Typ gesetzt wurde. | Rückgabewert ist Type 0 = None, 1 = Hard, 2 = Medium, 3 = Soft |
| ADSIOFFS_EXTERNALTIME_SETALL 0x04__ | W |
| Setzen des Typen, welcher verwendet wird, wenn kein anderer Typ gesetzt wurde.
| __ ist Type 0 = None, 1 = Hard, 2 = Medium, 3 = Soft |
Die Defines finden sich in der „Ads.h“ Datei.
Das Beispiel ADS Consumer verdeutlicht die Verwendung.