DNP3 object types supported

Please refer to the document, VTS-DNP3-DeviceProfile.pdf, which may be found in the Examples folder of your VTScada installation.

Object Description

Object Type

Object Variation

Read

Write

Single bit binary input all variations

1

0

 

Single bit binary input

1

1

 

Single bit binary input with status

1

2

 

Single bit binary input event all variations

2

0

 

Single bit binary input event without time

2

1

 

Single bit binary input event with time

2

2

 

Single bit binary input event with relative time

2

3

 

Single bit binary output all variations

10

0

 

Single bit binary output status

10

2

 

Control relay output block

12

1

 

Binary counter all variations

20

0

 

32 bit binary counter

20

1

 

16 bit binary counter

20

2

 

32 bit delta counter

20

3

 

16 bit delta counter

20

4

 

32 bit binary counter without status

20

5

 

16 bit binary counter without status

20

6

 

32 bit delta counter without status

20

7

 

16 bit delta counter without status

20

8

 

Frozen binary counter all variations

21

0

 

Frozen 32 bit binary counter with status

21

1

 

Frozen 16 bit binary counter with status

21

2

 

Frozen 32 bit delta counter with status

21

3

 

Frozen 16 bit delta counter with status

21

4

 

Frozen 32 bit binary counter with time

21

5

 

Frozen 16 bit binary counter with time

21

6

 

Frozen 32 bit delta counter with time

21

7

 

Frozen 16 bit delta counter with time

21

8

 

Frozen 32 bit binary counter no status

21

9

 

Frozen 16 bit binary counter no status

21

10

 

Frozen 32 bit delta counter no status

21

11

 

Frozen 16 bit delta counter no status

21

12

 

Binary counter event all variations

22

0

 

32 bit binary counter event without time

22

1

 

16 bit binary counter event without time

22

2

 

32 bit delta counter event without time

22

3

 

16 bit delta counter event without time

22

4

 

32 bit binary counter event with time

22

5

 

16 bit binary counter event with time

22

6

 

32 bit delta counter event with time

22

7

 

16 bit delta counter event with time

22

8

 

Frozen binary counter event all variations

23

0

 

Frozen 32 bit binary counter event without time

23

1

 

Frozen 16 bit binary counter event without time

23

2

 

Frozen 32 bit delta counter event without time

23

3

 

Frozen 16 bit delta counter event without time

23

4

 

Frozen 32 bit binary counter event with time

23

5

 

Frozen 16 bit binary counter event with time

23

6

 

Frozen 32 bit delta counter event with time

23

7

 

Frozen 16 bit delta counter event with time

23

8

 

Analog input all variations

30

0

 

32 bit Analog input

30

1

 

16 bit Analog input

30

2

 

32 bit Analog input without status

30

3

 

16 bit Analog input without status

30

4

 

Float Analog input without status

30

5

 

Double Analog input without status

30

6

 

Analog input event all variations

32

0

 

32 bit Analog input event without time

32

1

 

16 bit Analog input event without time

32

2

 

32 bit Analog input event with time

32

3

 

16 bit Analog input event with time

32

4

 

Float Analog input event without time

32

5

 

Double Analog input event without time

32

6

 

Float Analog input event with time

32

7

 

Double Analog input event with time

32

8

 

Analog output all variations

40

0

 

32 bit Analog output status

40

1

 

16 bit Analog output status

40

2

 

32 bit Analog output control block

41

1

 

16 bit Analog output control block

41

2

 

Time and Date

50

1

Common Time Object

51

1

 

Common Time Object - unsynchronized

51

2

 

Time delay coarse

52

1

 

Time delay fine

52

2

 

Class 0 Event data

60

1

 

Class 1 Event data

60

2

 

Class 2 Event data

60

3

 

Class 3 Event data

60

4

 

File Identifier (older systems)

70

1

File Identifier (preferred object for newer systems)

70

5

 

Internal Indications object

80

1

 

Octet String

110

*

Octet Change Object*

111

*

*Event\change objects would not normally be configured as I/O addresses. They are listed to indicate that processing support is provided them. Upon receiving an event\change object, the value of the corresponding static object will be updated. For example, if 110/255/6 is configured and an event is received for 111/13/6, then the tag reading the first address will be updated with the value from the event\change as they share the same index.

Static\event object pairs that obey this rule include:

  • g1 Binary Input and g2 Binary Input change
  • g10 Binary Output and g11 Binary Output change
  • g20 Counter and g22 Counter change
  • g21 Frozen Counter and g23 Frozen Counter change
  • g30 Analog Input and g32 Analog Input change
  • g40 Analog Output and g42 Analog Output change
  • g110 Octet Strings and g111 Octet String change

 

The data values returned for the objects that may be read:

Object Description

Return Value

Single bit binary input

0 or 1.

Single bit binary input with status

If status is OK, 0 or 1, else invalid.

Single bit binary input event without time

If status is OK, 0 or 1, else invalid. Refer to the note following this table.

Single bit binary input event with time

If status is OK, 0 or 1, else invalid. Refer to the note following this table.

Single bit binary output status

If status is OK, 0 or 1, else invalid.

32 bit binary counter

If status is OK, 32 bit unsigned integer, else invalid.

16 bit binary counter

If status is OK, 16 bit unsigned integer, else invalid.

32 bit delta counter

If status is OK, 32 bit unsigned integer, else invalid.

16 bit delta counter

If status is OK, 16 bit unsigned integer, else invalid.

32 bit binary counter without status

32 bit unsigned integer.

16 bit binary counter without status

16 bit unsigned integer.

32 bit delta counter without status

32 bit unsigned integer.

16 bit delta counter without status

16 bit unsigned integer.

32 bit binary counter event without time

If status is OK, 32 bit unsigned integer, else invalid. Refer to the note following this table.

16 bit binary counter event without time

If status is OK, 16 bit unsigned integer, else invalid. Refer to the note following this table.

32 bit delta counter event without time

If status is OK, 32 bit unsigned integer, else invalid. Refer to the note following this table.

16 bit delta counter event without time

If status is OK, 16 bit unsigned integer, else invalid. Refer to the note following this table.

32 bit binary counter event with time

If status is OK, 32 bit unsigned integer, else invalid. Refer to the note following this table.

16 bit binary counter event with time

If status is OK, 16 bit unsigned integer, else invalid. Refer to the note following this table.

32 bit delta counter event with time

If status is OK, 32 bit unsigned integer, else invalid. Refer to the note following this table.

16 bit delta counter event with time

If status is OK, 16 bit unsigned integer, else invalid. Refer to the note following this table..

32 bit Analog input

If status is OK, 32 bit signed integer, else invalid.

16 bit Analog input

If status is OK, 16 bit signed integer, else invalid.

32 bit Analog input without status

32 bit signed integer.

16 bit Analog input without status

16 bit signed integer.

32 bit Analog input event with time

If status is OK, 32 bit signed integer, else invalid. Refer to the note following this table.

16 bit Analog input event with time

If status is OK, 16 bit signed integer, else invalid. Refer to the note following this table.

32 bit Analog input event without time

If status is OK, 32 bit signed integer, else invalid. Refer to the note following this table.

16 bit Analog input event without time

If status is OK, 16 bit signed integer, else invalid. Refer to the note following this table.

32 bit Analog output status

If status is OK, 32 bit signed integer, else invalid.

16 bit Analog output status

If status is OK, 16 bit signed integer, else invalid.

Time and Date

The current date and time in the outstation as a floating-point number representing the number of milliseconds since Jan 1 1970.

File Identifier

A buffer containing the records requested, or an individual value of the specified type from the specified offset in a specified record.

Octet String

A buffer containing the string.

For events, the return value is an array of five elements:

Index

Element

0

The address of the point in the form Object/Variation/Address.

1

Value, after correction for any status flags. If the status is on-line, not restart and not communication lost, the value will be as reported in the event. Otherwise, the value will be invalid.

2

The timestamp of the event.

3

The actual value before correction for status flags

4

The status flags.

For those events that return a time, the time will be as recorded in the device. For those events that do not return a time, the time will be the local time when the driver received the message.

Time values are returned as a double, representing the time as the number of milliseconds since midnight, on 1/1/1970.

The data values that may be supplied for output objects:

Object Description

Data Value

Control relay output block

32 bit signed integer. If > 0, then action will be a latch on, close or raise. The time for the raise will be the value supplied in units of milliseconds. If =< 0, then action will be a latch off, open or lower. The time for the lower will be the absolute value supplied in units of milliseconds. The Latch flag, if TRUE, will cause the output to be a latch type.

32 bit Analog output control block

32 bit signed integer.

16 bit Analog output control block

16 bit signed integer.

Time and Date

The data value is ignored. The current date and time of the VTScada system will be sent to the outstation.

File Identifier

A buffer containing the records to be written.

Internal Indications

16 bit unsigned integer. Note that only certain values are allowed and will be detailed in the remote device's profile.

Note to VTScada programmers who are using the DNP3 driver in their code:

The following flags are available in the VTScada layer of the driver and will be updated by every response from the remote station:

Flag

Meaning

IINTimeSync

TRUE when Time sync is required by the Outstation.

IINLocalDO

TRUE when some DO's in the Outstation are in local control.

IINTrouble

TRUE when an abnormal condition exists in the Outstation.

IINRestart

TRUE when an Outstation restart has occurred.

IINEventOverflow

TRUE when Outstation event buffers have overflowed.

IINConfigCorrupt

TRUE when Outstation configuration is corrupt.

(Characteristics available in the Table of Type Characteristics.)