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

AVEVA™ Plant SCADA

Data Point and Cache Parameters

  • Last UpdatedAug 04, 2025
  • 7 minute read

warning2

UNINTENDED EQUIPMENT OPERATION

Do not change these protocol parameters, except on the advice of Technical Support for this product.

Failure to follow these instructions can result in death, serious injury, or equipment damage.

The DNPR driver supports the following data point and cache parameters. These parameters control variations of behavior for some data types, as well as data cache behavior.

Parameter

Allowable values

Default value

Description

[DNPR]UseFeedBackPoll

[<unit>]UseFeedBackPoll

0 - 3

(See description.)

1

Sets the FeedBack mode.

0=Use Integrity poll instead of Feedback Poll to update cache after control action or counter freeze action.

1=Use Feedback poll to update cache after counter freeze or analogue or binary writes (Feedback Poll requires devices to support reads to Binary Output Status, Analogue Output Status, Binary Inputs, Analogue Inputs, Counters and Frozen Counters).

The following reads are carried out if the operation is a counter freeze write: class 1, class 2, class 3, Counters and Frozen Counters reads. The following reads are carried out if the operation is an analogue or binary write: Binary Output Status, Analogue Output Status, class 1, class 2, class 3, Binary Inputs and Analogue Inputs reads. This mode requires Level 3 DNP support in the RTU.

2= Do not perform any type of immediate poll after a control write. This mode will be implemented for devices that can provide an unsolicited update of any feedback changes (caused by control writes).

3= Use an individual point read to update the cache after analogue or binary writesSee "Allowable Values" for more details.

[DNPR]UseSelectClear

0 – Time read request is used to cancel a SELECT request.

1 – An OPERATE with the CLEAR bit set is used to cancel a SELECT request.

0

Default way to handle a cancel of select operation. This is to send an OPERATE with the CLEAR bit set.

If your RTU hardware does not support that then setting this parameter to 0 will send a dummy time read instruction to cancel the SELECT operation (that is because the OPERATE command has to be the next sequence number and a dummy command will force the cancel the SELECT request.)

[DNPR]FailOnTagFlagSet

0 - Check quality disabled

1 - Check quality enabled

0

Enable quality check in tag read when the tag flag is set. Fail tag on tag read if the quality is not GOOD (#com will be shown on client display).

Note:This parameter is only valid when the driver is running on SCADA 7.10 or early.

[DNPR]DataLagDefault

[<unit>]DataLag

0 to 2,000,000,000
(seconds)

0

Data in cache is only considered fresh if it is no older than the combined periods of:
Period between integrity polls
AND Period of complete timeout sequence
(ie initial and retried timeouts)
AND DataLagDefault period (tolerated poll delay).

The first time data is retrieved from cache for a unit and the data is not fresh, error 0x61 is generated and a tag read with virtual address LateRefresh will return TRUE.

This condition is reset when the late poll for the device is eventually received.

[DNPR]
DataInvalidationFactor
Default

[<unit>]
DataInvalidationFactor

0 to 65535.

2

As explained in DataLagDefault, data in cache is only considered to be fresh for a certain amount of time. After this time has been exceeded, the data is considered to be valid, but not fresh.

If the data in cache is still not refreshed after a further ‘n’ Event periods of time (where ‘n’ = DataInvalidationFactorDefault), then the data in cache is no longer considered valid, and data retrieved from cache in this state will be marked with error 0x54.

[DNPR]
IgnoreReadErrorsOnWrite

0 – An error is returned if trying to read "write only" tags.

1 – 0000 data with no error is returned when reading "write only" tags.

0

Indicate if errors of read requests on "write only" tags are to be ignored. This is needed when using dialup devices as SCADA reads ALL tags at connect time.

[DNPR]
IgnoreWarnIfOneOK

0 – A bad Quality is returned if there is missing or stale data in a read block.

1 – Bad Quality is not returned when there is missing or stale data in a read block provided at least one item in the block is OK. This is useful when points are not configured in the RTU and the read block is requesting these, but SCADA does not use them.

0

Bad Quality should be indicated or not if at least one item is valid in a block read request. This parameter applies to digital points as well as other points.

[DNPR]
RetZeroOnCROBInvalid

0=Test validity of Binary Output Control Status data.

1= Do not test validity of Binary Output Control Status data.

0

Flag indicating whether Binary Output Control Status data is to be tested for validity (before a Binary Output Control Status point can be valid, the corresponding binary point requires a written value). If not tested for validity, then if an invalid Binary Output Control Status point is read, then a zero will be displayed.

If the type IS to be tested for validity, then if any point within a I/O server multiple point request is invalid, then the response to the request indicate an error condition. A solution in this case might be to write to all Binary points at startup.

[DNPR]
RetZeroOnAOOBInvalid

0=Test validity of Analog Output Control Status data

1= Do not test validity of Analog Output Control Status data.

0

Flag indicating whether Analog Output Control Status data is to be tested for validity in the same manner as for RetZeroOnCROBInvalid above.

[DNPR]Commissioning

0= Treat non-polled points as irrelevant

1= Force non-polled points to #COM (default applies to all devices)

0

A device may have digital types as a non-contiguous list, and may start or end on points not on an 8 bit boundary. As Plant SCADA will block a minimum of 8 bits for digitals, and enforce an 8 bit boundary, requests may include points that are not received by the device or that are invalid for the device. For this reason, the driver assumes that bits that are not updated by the polling sequence are irrelevant and not configured as tags by the user.

These points will return 0 and NO_ERROR to avoid forcing the valid points in the same DCB into error. The driver waits until the first successful data acquisition poll, before determining if a point as irrelevant.

Commission all points of the project to ensure that every tag does indeed refer to a point that is refreshed by the polling routine. The flag commissioning tests for invalid BI points, by not forcing the point to 0 and NO_ERROR. This will then #COM all points in the DCB containing the invalid digital point.

Also when this INI is set, the event system will log to "dnpr_logger.txt" the name of tags which are considered irrelevant, e.g. "#TRACE,Irrelevant_point,BI023,
in,Unit_035".

[DNPR]
IsItemisedRequest

1=Individual I/O server-to-Driver Non-digital requests (RECOMMENDED)

0= I/O server-to-Driver requests are blocked (default applies to all devices).

1

Requests for a basic DNP poll do not use a blocking (grouping) algorithm as applies to a lot of protocols. Instead the required points are predefined in the device (as Class 0), and are requested during an integrity poll.

The DNPR driver can support requests of up to 2048 bits in one request from The I/O server, but this is for contiguous data. The data available in the driver cache will not be contiguous if the predefined points in Class 0 are not contiguous.

The I/O server request will be flagged as bad quality (#COM) if any one of the points in the requested block are not defined in Class 0.

To prevent this situation from occurring, non-digital data is not blocked by default. Requests from The I/O server to the driver, for non-digital data, are for individual points. Be reminded that this does not affect the data acquisition algorithm between the driver and the device, only between the I/O server and the driver. Digital types still will be optimized together. A device may have digital types as a non-contiguous list, and may start or end on points not on an 8 bit boundary. As the I/O server will block a minimum of 8 bits for digitals, and enforce an 8 bit boundary, the driver assumes that bits that are not updated by the polling sequence are irrelevant and not configured as tags by the user. These points will return 0 and NO_ERROR to avoid forcing the valid points in the same DCB into error.

The flag commissioning tests for invalid BI points. The default should provide the solution for a DNP project, however, if it is decided by a Plant SCADA representative that blocking is required between the driver and the I/O server, set IsItemisedRequest to zero.

Change MAX_LENGTH and BIT_BLOCK fields for the DNP protocol (in the \BIN\PROTDIR.DBF file) to the required blocking length in bits, and copy the PROTDIR file to your Plant SCADA project directory.

Modify the Citect.ini file to configure the 'Block' parameter to the required value in bytes, and also the 'MaxBits' parameter to the required value in bits. Disable the incremental compile option and then recompile your project.

Note: If you reinstall Plant SCADA, the PROTDIR.DBF file is overwritten, so repeat the change.

[DNPR]MaxBits

1 to 2048 (bits)

2048

Max Block Size constant (only applies when IsItemisedRequest is set to zero).

This value should be left at default unless modifying IsItemisedRequest parameter to block read requests to a specific value. Refer to description of IsItemisedRequest.

Note: This field only applies to read requests; writes will be allowed to the maximum that will result in one application layer fragment, but cannot be greater than 2048 bits.

Write blocking can be disabled by setting the INI parameter [<IOServer>] ‘Blockwrites’ to 0.

[DNPR]ReqDelay

0 to 65535 (ms)

20

Delay used when servicing a read request by reading from cache.

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