Applies To:
  • CitectSCADA 1.00 1.01 1.10 1.11 1.20 2.00 2.01

I have a specialised PLC that I want to communicate to Citect. I want to use the Modbus protocol, so I need to write the Modbus protocol on the PLC side. I need to know what commands Citect uses with the Modbus protocol. 

Citect uses the following commands with the Modbus protocol:

01 Read coil status
02 Read input status
03 Read holding registers
04 Read input registers
05 Force single coil
06 Preset single register
16 Preset multiple registers

On Startup, Citect must verify that a PLC does exist. To do this, Citect tries to read the first 16 input coils from the PLC. If this command fails then Citect assumes that the PLC is bad and communication will not continue. See also Q1146. CITECT only support the RTU transmission mode. Longs are held in two consecutive registers using MODBUS double precision format. Each register holds a value in the range 0000 to 9999 for a combined value range of up to 99,999,999. The high value is in the first register. Real are in IEEE 32-bit floating point format held in two consecutive registers.

If the Modbus protocol does not provide all the features you require, you can purchase the Citect Driver Development Toolkit. This toolkit allows you to develop your own drivers.