Applies To:
  • CitectSCADA 5.xx
  • CitectHMI 5.xx

I am using the GETCP30 protocol to communicate to my GeFanuc RX3i PLC with an IC695CPU310. When defining an address range for the system Register “R” to be greater than 16384 in Citect variable tag form, I get a compiler error “Bad IO Device variable”.

Why does this error occur as the RX3i PLC can support up to a value of 32640 for its system register?

The GETCP driver was designed to communicate with GE Fanuc Series 90-70 and 90-30 PLCs using Winsock TCP/IP. The GETCP driver was enhanced to work with the new RX series PLC. However the maximum address range for certain data types has not been change to reflect this.

Information regarding the address range for this driver is stored in the GETCP30.dbf file located in the “Bin” directory where CitectSCADA is installed. As a workaround you can open the GETCP30.dbf using application such as Microsoft Excel and modify the maximum range for the system register. You will then need to use Save_dbf.xls to save your GETCP30.dbf.

This method can also be used to modify the maximum address range for other variable types such as Momentary Memory.

Citect has confirmed this to be a problem in GETCP versions to This problem has been fixed in version


GeFanuc RX3i PLC, GETCP, Bad IO Device variable