. Patrz
Wspierane typy danych
Protokół
DNP3 dzieli typy danych na grupy (tzw.
Group), które są określone przez ich liczbę.
W każdej grupie dane mogą być przesyłane w różnych formatach (tzw.
Variation), które są również określone przez ich liczbę.
Zapytanie do zmiennej z
Variation=0 oznacza, że druga strona (tzw.
outstation) prześle odpowiedź w formacie, który uzna za stosowny.
-
Group 1 = Single-bit Binary Input:
(Typ:
Static, tylko do odczytu)
- Variation 1 = g1.v1: Packet format
- Variation 2 = g1.v2: With Flag
-
Group 2 = Single-bit Binary Input Event:
(Typ:
Event, tylko do odczytu)
- Variation 1 = g2.v1: Without time
- Variation 2 = g2.v2: With absolute time
- Variation 3 = g2.v3: With relative time
-
Group 3 = Double-bit Binary Input:
(Typ:
Static, tylko do odczytu)
- Variation 1 = g3.v1: Packet format
- Variation 2 = g3.v2: With Flag
-
Group 4 = Double-bit Binary Input Event:
(Typ:
Event, tylko do odczytu)
- Variation 1 = g4.v1: Without time
- Variation 2 = g4.v2: With absolute time
- Variation 3 = g4.v3: With relative time
-
Group 10 = Binary Output:
(Typ:
Static, do odczytu i zapisu)
- Variation 1 = g10.v1: Packed format (do odczytu i zapisu)
- Variation 2 = g10.v2: Output status with Flag (tylko do odczytu)
-
Group 11 = Binary Output Event:
(Typ:
Event, tylko do odczytu)
- Variation 1 = g11.v1: Status without time
- Variation 2 = g11.v2: Status with time
-
Group 12 = Binary Output Command:
(Typ:
Cmnd, tylko do zapisu)
- Variation 1 = g12.v1: Control relay output block (CROB)
- Variation 2 = g12.v2: Pattern control block (PCB)
- Variation 3 = g12.v3: Pattern mask
-
Group 13 = Binary Output Command Event:
(Typ:
Event, tylko do odczytu)
- Variation 1 = g13.v1: Command status without time
- Variation 2 = g13.v2: Command status with time
-
Group 20 = Counter:
(Typ:
Static, tylko do odczytu)
- Variation 1 = g20.v1: 32-bit with Flag
- Variation 2 = g20.v2: 16-bit with Flag
- Variation 3 = g20.v3: 32-bit with Flag, delta
- Variation 4 = g20.v4: 16-bit with Flag, delta
- Variation 5 = g20.v5: 32-bit without Flag
- Variation 6 = g20.v6: 16-bit without Flag
- Variation 7 = g20.v7: 32-bit without Flag, delta
- Variation 8 = g20.v8: 16-bit without Flag, delta
-
Group 21 = Frozen Counter:
(Typ:
Static, tylko do odczytu)
- Variation 1 = g21.v1: 32-bit with Flag
- Variation 2 = g21.v2: 16-bit with Flag
- Variation 3 = g21.v3: 32-bit with Flag, delta
- Variation 4 = g21.v4: 16-bit with Flag, delta
- Variation 5 = g21.v5: 32-bit with Flag and time
- Variation 6 = g21.v6: 16-bit with Flag and time
- Variation 7 = g21.v7: 32-bit with Flag and time, delta
- Variation 8 = g21.v8: 16-bit with Flag and time, delta
- Variation 9 = g21.v9: 32-bit without Flag
- Variation 10 = g21.v10: 16-bit without Flag
- Variation 11 = g21.v11: 32-bit without Flag, delta
- Variation 12 = g21.v12: 16-bit without Flag, delta
-
Group 22 = Counter Event:
(Typ:
Event, tylko do odczytu)
- Variation 1 = g22.v1: 32-bit with Flag
- Variation 2 = g22.v2: 16-bit with Flag
- Variation 3 = g22.v3: 32-bit with Flag, delta
- Variation 4 = g22.v4: 16-bit with Flag, delta
- Variation 5 = g22.v5: 32-bit with Flag and time
- Variation 6 = g22.v6: 16-bit with Flag and time
- Variation 7 = g22.v7: 32-bit with Flag and time, delta
- Variation 8 = g22.v8: 16-bit with Flag and time, delta
-
Group 23 = Frozen Counter Event:
(Typ:
Event, tylko do odczytu)
- Variation 1 = g23.v1: 32-bit with Flag
- Variation 2 = g23.v2: 16-bit with Flag
- Variation 3 = g23.v3: 32-bit with Flag, delta
- Variation 4 = g23.v4: 16-bit with Flag, delta
- Variation 5 = g23.v5: 32-bit with Flag and time
- Variation 6 = g23.v6: 16-bit with Flag and time
- Variation 7 = g23.v7: 32-bit with Flag and time, delta
- Variation 8 = g23.v8: 16-bit with Flag and time, delta
-
Group 30 = Analog Input:
(Typ:
Static, tylko do odczytu)
- Variation 1 = g30.v1: 32-bit with Flag
- Variation 2 = g30.v2: 16-bit with Flag
- Variation 3 = g30.v3: 32-bit without Flag
- Variation 4 = g30.v4: 16-bit without Flag
- Variation 5 = g30.v5: Single-precision, floating-point with Flag
- Variation 6 = g30.v6: Double-precision, floating-point with Flag
-
Group 31 = Frozen Analog Input:
(Typ:
Static, tylko do odczytu)
- Variation 1 = g31.v1: 32-bit with Flag
- Variation 2 = g31.v2: 16-bit with Flag
- Variation 3 = g31.v3: 32-bit with time-of-freeze
- Variation 4 = g31.v4): 16-bit with time-of-freeze
- Variation 5 = g31.v5: 32-bit without Flag
- Variation 6 = g31.v6: 16-bit without Flag
- Variation 7 = g31.v7: Single-precision, floating-point with Flag
- Variation 8 = g31.v8: Double-precision, floating-point with Flag
-
Group 32 = Analog Input Event:
(Typ:
Event, tylko do odczytu)
- Variation 1 = g32.v1: 32-bit without time
- Variation 2 = g32.v2: 16-bit without time
- Variation 3 = g32.v3: 32-bit with time
- Variation 4 = g32.v4: 16-bit with time
-
Variation 5 = g32.v5:
Single-precision, floating-point without time
- Variation 6 = g32.v6: Double-precision, floating-point without time
- Variation 7 = g32.v7: Single-precision, floating-point with time
- Variation 8 = g32.v8: Double-precision, floating-point with time
-
Group 33 = Frozen Analog Input Event:
(Typ:
Event, tylko do odczytu)
- Variation 1 = g33.v1: 32-bit without time
- Variation 2 = g33.v2: 16-bit without time
- Variation 3 = g33.v3: 32-bit with time
- Variation 4 = g33.v4: 16-bit with time
- Variation 5 = g33.v5: Single-precision, floating-point without time
- Variation 6 = g33.v6: Double-precision, floating-point without time
- Variation 7 = g33.v7: Single-precision, floating-point with time
- Variation 8 = g33.v8: Double-precision, floating-point with time
-
Group 34 = Analog Input Reporting Deadband:
(Typ:
Static, do odczytu i zapisu)
- Variation 1 = g34.v1: 16-bit
- Variation 2 = g34.v2: 32-bit
- Variation 3 = g34.v3: Single-precision, floating-point
-
Group 40 = Analog Output Status:
(Typ:
Static, tylko do odczytu)
- Variation 1 = g40.v1: 32-bit with Flag
- Variation 2 = g40.v2: 16-bit with Flag
- Variation 3 = g40.v3: Single-precision, floating-point with Flag
- Variation 4 = g40.v4: Double-precision, floating-point with Flag
-
Group 41 = Analog Output:
(Typ:
Cmnd, tylko do zapisu)
- Variation 1 = g41.v1: 32-bit
- Variation 2 = g41.v2: 16-bit
- Variation 3 = g41.v3: Single-precision, floating-point
- Variation 4 = g41.v4: Double-precision, floating-point
-
Group 42 = Analog Output Event:
(Typ:
Event, tylko do odczytu)
- Variation 1 = g42.v1: 32-bit without time
- Variation 2 = g42.v2: 16-bit without time
- Variation 3 = g42.v3: 32-bit with time
- Variation 4 = g42.v4: 16-bit with time
- Variation 5 = g42.v5: Single-precision, floating-point without time
- Variation 6 = g42.v6: Double-precision, floating-point without time
- Variation 7 = g42.v7: Single-precision, floating-point with time
- Variation 8 = g42.v8: Double-precision, floating-point with time
-
Group 43 = Analog Output Command Event: (Typ:
Event, tylko do odczytu)
- Variation 1 = g43.v1: 32-bit without time
- Variation 2 = g43.v2: 16-bit without time
- Variation 3 = g43.v3: 32-bit with time
- Variation 4 = g43.v4: 16-bit with time
- Variation 5 = g43.v5: Single-precision, floating-point without time
- Variation 6 = g43.v6: Double-precision, floating-point without time
- Variation 7 = g43.v7: Single-precision, floating-point with time
- Variation 8 = g43.v8: Double-precision, floating-point with time
-
Group 50 = Time and Date: (Typ:
Info, do odczytu i zapisu)
- Variation 1 = g50.v1: Absolute time
- Variation 2 = g50.v2: Absolute time and interval
- Variation 3 = g50.v3: Absolute time and last recorded time
- Variation 4 = g50.v4: Indexed absolute time and long interval
-
Group 51 = Time and Date Common Time-of-Occurence: (Typ:
Info, tylko do odczytu)
- Variation 1 = g51.v1: Absolute time, synchronized
- Variation 2 = g51.v2: Absolute time, unsynchronized
-
Group 52 = Time Delay: (Typ:
Info, tylko do odczytu)
- Variation 1 = g52.v1: Coarse
- Variation 2 = g52.v2: Fine
-
Group 60 = Class objects:
(Typ:
Info, tylko do odczytu)
-
Variation 1 = g60.v1:
Class 0 data (
Static)
- Variation 2 = g60.v2: Class 1 data (Event)
- Variation 3 = g60.v3: Class 2 data (Event)
- Variation 4 = g60.v4: Class 3 data (Event)
-
Group 80 = Internal Indications:
(Typ:
Static, do odczytu i zapisu)
- Variation 1 = g80.v1: Packed format
Wartości w zmiennej Internal Indications
Bity w tej wartości (typu
Long) wskazują stany i flagi błędów w stacji (w
outstation).
Wartość ta może być odczytana:
- przy pomocy obiektu
PmaCommMsg w wiadomościach (wartość jest zawsze w zmiennej
IntInd):
lub
Bit 0: BROADCAST
Odebrano wiadomość typu broadcast.
Bit 1: CLASS_1_EVENTS
Stacja ma nieodebrane zdarzenia dla Class1.
Bit 2: CLASS_2_EVENTS
Stacja ma nieodebrane zdarzenia dla Class2.
Bit 3: CLASS_3_EVENTS
Stacja ma nieodebrane zdarzenia dla Class3.
Bit 5: LOCAL_CONTROL
Jeden lub więcej punktów stacji znajduje się w trybie sterowania lokalnego.
Bit 6: DEVICE_TROUBLE
W stacji istnieje nieprawidłowy stan specyficzny dla urządzenia.
Bit 7: DEVICE_RESTART
Stacja została ponownie uruchomiona.
Bit 8: NO_FUNC_CODE_SUPPORT
Stacja nie obsługuje tego kodu funkcji.
Bit 9: OBJECT_UNKNOWN
Stacja nie obsługuje żądanej operacji dla obiektów podanych w żądaniu.
Bit 10: PARAMETER_ERROR
Wykryto błąd parametru.
Bit 11: EVENT_BUFFER_OVERFLOW
W stacji istnieje stan przepełnienia bufora zdarzeń i co najmniej jedno niepotwierdzone zdarzenie zostało utracone.
Bit 12: ALREADY_EXECUTING
Żądana operacja jest już wykonywana.
Bit 13: CONFIG_CORRUPT
Stacja wykryła uszkodzoną konfigurację.