Applies To:
  • CitectSCADA 5.00

How to configure communication for the Series II Kingfisher? 

Data Types :
#AIa.b Analog Input 1 to 8 for module a
#AOa.b Analog Output 1 to 8 for module a
#DIa.c Digital Input bit 1 to 16 for module a
#DOa.c Digital Output bit 1 to 16 for module a
#Rd Registers 1 to 1024
#Rd.c Bit 1 to 16 for Register for register d
#F Failed RTU. Read only digital value. Set to 1 if the Cfails counter of that RTU exceeds [KingFish]MaxFails or is not online.
# is the RTU id 1 to 249
a is module address 1 to 64
b is the analog channel number 1 to 8
c is the bit number 1 to 16
d is the register address 1 to 1024

Analog values can be 16 bit signed INT, 32 bit signed LONG and 32 bit REAL. When reading analog values as REAL or LONG only odd number addresses can be used because each REAL or LONG takes up two locations.

I/O Devices Form:

Address: MasterRTU or
MasterRTU, ViaRTU or
MasterRTU, ViaRTU, InitiatingRTU or
MasterRTU, ViaRTU, InitiatingRTU, SystemID
The default value for MasterRTU, ViaRTU, InitiatingRTU and SystemID is 0, 0, 0xff and 0xae respectively.

Protocol: KINGFISH


All read data are cached by the driver. The driver will poll the comms update counter (register 3 of network link info 2) of each active RTU. If the comms update counter of a RTU is changed or the cache data is out of date then the driver will refresh the cache for that RTU.

All write requests are issued immediately to the remote RTU.

[KingFish] Citect.ini variables

WatchTime = 30 seconds
This is also used as the cache time for read requests. The task to refresh to cache for out of date data has the lowest priority.

ReqDelay = 60 milliseconds
Each read request satisfied from the cache will be delayed this amount of time to reduce the request rate.

MaxFails = 1
Mark data as out of date (Driver error 0x34) if the Cfails counter of that RTU exceeds this value.

MaxPending = 16
The maximum number of requests that CITECT can send to the driver at any one time.

Screen Update Time

The MaxPending, ReqDelay and number of requests determines the screen update time as follows:

Screen Update Time » Number of requests * ReqDelay / MaxPending.