Hints and Tips
- Last UpdatedAug 04, 2025
- 2 minute read
Startup considerations
In a site with many RTUs, it is useful to consider staggering port startup using the parameter [DNPR]StartupStaggerDelay to spread out the load.
Also, it is a good idea to use the [<unit>]PollPeriodOffset parameter to stagger when periodic polls are issued, especially where many units are coming through one port. For example:
-
Unit 1: 5
-
Unit 2: 10
-
Unit 3: 15
This would send polls five seconds after the default time for Unit 1, 10 seconds after for Unit 2, and 15 seconds after for Unit 3.
Resource release at shutdown
If StopUnit() and Stop/CloseChannel() code is not executed when a unit or channel is offline, the system may become inoperable.
To avoid this, set the following Citect.ini parameters:
[IoServer]
AlwaysCallStopChannel=1
AlwaysCallStopUnit=1
Unit online/offline
The following Citect.ini parameter settings are recommended to address unit online/offline issues:
[DNPR] DebugCategory = PROT|STATE|DCB
[DNPR] DebugLevel =ALL
Also use drivertraces with a mask of c0f, (e.g. "drivertrace mask=c0f").
Data integrity
-
If repeatable, then make the page refresh time artificially long (using page properties), for example, every 5 seconds (5000). This will minimize the trace storm if a page has many tags.
-
Disable alarms and trends to isolate a trace to just one source of logic, i.e. a page refresh or alarm scan.
-
A kernel "probe" window will show tag requests to and from the client, but not necessarily to the driver. Probe results may come from the I/O server cache or an I/O server on another PC. This is only for Plant SCADA v6.10 and before.
-
A kernel "probe" window will show tag requests to and from the client, but not necessarily to the driver. Probe results may come from the I/O server cache or an I/O server on another PC. This is only for Plant SCADA v6.10 and before.
-
Kernel "drivertrace xxxx" will show requests to/from the driver on the local I/O server. These traces will also show the returned RAW value from the driver. Remember that the client will scale this value if engineering units are defined.
-
Useful INIs for data issues are [DNPR] DebugCategory = PROT|CACHE|DCB|MISC, [DNPR] DebugLevel =ALL or DriverTraces.
Maintenance Page
With more complex systems, it is recommended you have a maintenance page that allows you to enable or disable units and force integrity polls.
This page could display poll counts and have a couple of sample data points per unit. Thus during commissioning or later, allowing you to test the data path to various units. This is particularly true in a multidrop situation. Verifying field communications is very helpful when serial links exist.