Applies To:
  • CitectSCADA

I have an Allen-Bradley PLC and want Citect to talk to it, but I am unsure which driver to use. 

Basically there are three choices. OPC, ABRSLINX or a Citect driver (e.g. ABTCP5)

In general, I believe that the Citect drivers are the best option, (when they are an option), for the following reasons.

The Citect I/O Server communicates directly with the field device (OPC and ABRSLINX go via RSLinx). Thus there is no added delay from 3rd party software.

If a problem is found with the driver than it is easier to rectify when 3rd party software is not involved.

Following are some example situations.

  1. If the PLC is a Controllogix processor than use the OPC driver.
  2. If your PC has a KTX card, or a card of the like, than the Citect driver will require the WinRT service on start-up. RSLinx does not use WinRT and we thus we have a conflict. Citect cannot start if RSLinx is running and RSLinx cannot start its native driver if the WinRT service is running. I have a feeling that the WinRT service can be stopped after Citect is running, but NT security is generally set up to disable control panel access. If you wish a Citect I/O Server to be a PLC code editing station then the ABRSLINX driver is probably a better option. The best solution is to have separate PCs for the Citect I/O Servers and PC workstations, all with KTX cards and use a Citect driver (ABTCP5).
  3. If you communicate with your PLC serially than I would use the ABRSLINX driver. At present, Citect's serial (KE500) driver's communication method with serial devices is half duplex using BCC error checking. RSlinx's serial driver uses full duplex and CRC error checking. What this translates to is that after you get the device talking to Citect, the PLC software cannot communicate with the PLC. If you wish to change the PLC code then you have to wipe the PLC (i.e. power off and battery out) to restore factory defaults, then download PLC code and then make changes. This is probably OK in a batch type process or where code will not be changed, but...I personally do not like it.
  4. If you connect directly to your PLC via Ethernet then I would use a Citect driver. (NB. I am not talking about the Controllogix Ethernet module)
  5. If you connect to your device via the Controllogix gateway (e.g. via DHRIO module), then I would use the ABRSLINX driver.
  6. And finally, if Citect does not have a driver, or does not support the connection method, for the device than I would use the ABRSLINX driver.

All of the above are only suggestions and are not the only way to do things. If your PLC network uses a variety of communication methods than you it may be wiser to make a compromise for conformity.