You are on page 1of 2

Content Type Support Article

Article # 000032469

Title PSDirect Ethernet best practices

Legacy DocId TN10347

Confidence Expert Reviewed

Published On 1/8/2020

PSDirect Ethernet best practices

PROBLEM

Title

PSDirect Ethernet best practices

SOLUTION

Summary

The detailed information on how to configure Citect's PSDirect Ethernet driver can be found in the PSDirect Specification document, which can
be downloaded from the Citect's section of the ProScada website at the link called Driver User Manual document.

To complement the Driver User Manual document, this Tech Note includes some best practices to improve your overall driver performance.

Action

PSDirect driver best practices:

1. Use only 1 Citect PORT for all PSDIRECT IO Devices.


This will ensure the Frontend driver will only open one communication channel with the Back end driver, handling the communication in the
most effective way.

As a matter of fact the Frontend-Backend communication is designed to work only through one Citect PORT, as specified in the guide Driver
User Manual document at Chapter 8.2, page 21.

It has been observed that using more than one Citect PORT may lead PSDirect variables to assume unexpected values for a few
milliseconds, which are not perceivable in a graphic page, but it may lead to "ghost alarms" and log in the Back end console the error NIO-
nio_find_data.

2. Split PSDirect devices by data type


For instance, for a single physical device, several IO Devices may be created: one having only INT tags, one only REAL, one only DIGITAL,
one only STRING.

This will allow a more efficient queuing of the read/write requests.

3. Use PSDIRECT6 protocol instead of PSDIRECT1 for all Citect IO Devices but those containing STRINGS data types or arrays.
This is documented in the Driver User Manual document at Chapter 16, page 15.

This will make the driver use smaller pollblocks (block size 32 bit), making sure unmapped bytes are not polled.

4. Restrict the PSDirect Backend address mapping to those bytes in the datablocks actually addressed by Citect tags.
So, for instance, if 2 INT tags with addresses DB10,0 and DB10,8 needs to be polled, it is preferable to create 2 separate Polling Blocks in
the PSDirect Back end:

Start End Length


DB10,0 DB10,1 2

Terms of Use| Privacy Policy


© 2020 AVEVA Group plc and its subsidiaries.All rights reserved.
DB10,8 DB10,9 2

Instead of one single polling block spanning the whole byte range, possibly containing un-mapped bytes in between:

Start End Length


DB10,0 DB10,9 10

Terms of Use| Privacy Policy


© 2020 AVEVA Group plc and its subsidiaries.All rights reserved.

You might also like