Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

PI Interface for DNP3

Static data

  • Last UpdatedNov 18, 2022
  • 4 minute read

In terms of DNP 3.0, static data is the current value of a data point at the time of the DNP request. Therefore, the value received from an RTU for a static point during a scan is the current value and will be time stamped with the current time of the PI server.

The static value of a data point can be retrieved by polling the RTU for Class 0 data or by using a request for a specific object type, index number, and variation. The interface makes the request for Class 0 data during what is referred to as an Integrity Scan. The Integrity Scan causes the RTU to respond to the interface with a list of all of its events and the current value of all of its points. The interface performs this type of scan at start-up or recovery from a communications failure as well as a user defined frequency for each RTU.

Retrieving the static value of data points by polling for a specific object type, index number, and variation will be made if there are PI points configured for the PI DNP3 interface that are not configured to be included in a scan class designated for event data. This type of data is also referred to as non-Class 0 static data. Please refer to the description of the /event parameter for a definition of an event scan class.

The PI DNP3 interface is capable of forming DNP 3.0 compliant request messages for non-Class 0 static data by analyzing the configuration of a PI point's attributes. Each DNP request for static data consists of the DNP Slave address (RTU address), the object type, the start and stop index of the point(s) requested, and the object variation. Each scan class contains at least one DNP request for a specific DNP address. For example, if there are six points configured with the PI point attributes listed in the following table:

Point

Loc2 (DNP Index)

Loc3 (DNP Address)

Loc4 (Scanclass)

Loc5 (Object Type)

InstrumentTag (Variation)

AnlgPnt0

0

45

1

30

0

AnlgPnt4

4

45

1

30

0

CntrPnt0

0

45

1

20

CntrPnt7

7

45

1

20

0

CntrPnt23

23

45

1

20

BnryPnt4

4

45

1

1

0

During scans for this scan class, three DNP requests would be sent. The first one would be to Slave address 45, Object Type 30 (Analog Input), Variation 0, Start Index 0, and Stop Index 4. The DNP Slave would respond with the current value of the Analog Input points 0 through 4 (5 points). The second request would be to Slave address 45, Object Type 20 (Counter), Variation 0, Start Index 0 and Stop index 23. The DNP Slave would respond with the current value of the Counter points 0 through 23 (24 points). The third request would be to Slave address 45, Object Type 1 (Binary Input), Variation 0, Start Index 4 and Stop index 4. The DNP Slave would respond with the current value of the Binary Input point 4 (1 point).

This information will help the user configure PI points for efficient use of the network. If only two analog inputs are required, index 2 and index 4750, and if they were both members of the same scan class, a single request would be made to the RTU with a start index of 2 and a stop index of 4750. The RTU would respond to this request with 4749 points worth of data. Not only would all of the data have to be transmitted across the network, but the interface would have to parse all of the data in order to retrieve only two values. A much more efficient use of the network and the interface host machine's resources could be used if the two points are configured to use two different scan classes. If it is necessary to scan the two points at the same scan rate, then two scan classes can be created with off-sets. It is highly recommended to group requests to the same DNP device address that have PI points defined with identical object types by their DNP index numbers, keeping index numbers as close together as possible in the same scan-class.

Some of the example points above have an empty string for the InstrumentTag value. An empty InstrumentTag will lead the DNP3 interface to include a variation value of zero in the request for data. A variation of zero returns the default variation supported on the RTU. The variation can be included in the InstrumentTag and if a variation is found in the InstrumentTag , then it will be included in the request to the DNP slave device. The DNP slave device is not required to respond with the exact variation requested. Refer to the PI Point configuration section of this document for more detail about the use of the InstrumentTag attribute.

Note: Polled values received from the DNP device that have associated PI points will have the value either sent to the PI or discarded. A value is discarded if the value is received for a scanclass that the point does not belong. All integrity scans, event scans, and unsolicited messages received from the DNP device will be sent to the corresponding PI point regardless of the point assigned scanclass.

TitleResults for “How to create a CRG?”Also Available in