Applies To:
  • CitectSCADA 5.41, 5.41 Service Pack A, 5.41 Service Pack B, 5.42, 5.42 Service Pack A, 5.50, 5.50 Service Pack A, 5.50 Service Pack B, 6.00
  • CitectHMI 5.41, 5.41 Service Pack A, 5.41 Service Pack B, 5.42, 5.42 Service Pack A, 5.50, 5.50 Service Pack A, 5.50 Service Pack B, 6.00

Summary:
I have noticed that when Citect connects to my ControlLogix via ethernet, the communication speed on the ControlLogix processor's serial port slows down. Why does this happen?
 

Solution:
When Citect connects to the ControlLogix, it consumes some of the PLC's CPU resources. As a result, other functions of the PLC (such as the scan rate of its program, or serial communication) will have a slight reduction in performance. In general, this slight reduction in performance can be so insignificant that it is not noticeable, however in some applications where (for instance) the PLC's serial port is being used to its maximum level, Citect connecting to the PLC and hence placing additional load on the PLC's CPU may result in slower serial communications.

In order to address this, it is possible to reduce the impact of Citect's ABCLX driver on the PLC's CPU. Please note the following information will reduce the performance of Citect's ABCLX driver in order to leave the PLC's CPU to service other events.

Step 1: Increase the System Overhead Timeslice in the PLC to the highest value that maintain suitable scanrates for your PLC code.

Step 2: In the citect.ini file, reduce the ForwardOpenPoolSize parameter (in the [ABCLX] section) from the default of 4 to 3.

Step 3: Start Citect and enter the kernel and select the "View" drop down menu and then "Drivers". Press "v" for verbose and maximise the window. Use the 'PageUp' and 'PageDown' to scroll to your ABCLX port. Take note of the "Average Group Poll Time".

Step 4: Shutdown Citect and change the [ABCLX] Scanrate parameter to double the "Average Group Poll Time".

Step 5: Start Citect up again and see if the performance of your PLC's serial port has improved to a level that you are happy with. If not, please repeat Steps 2 to 5 in a systematic process by reducing your ForwardOpenPoolSize from 3 to 2 and so on.

Please note that the slowest you can get Citect's ABCLX driver to operate is with the following settings: [ABCLX] ForwardOpenPoolSize = 1, Scanrate = 10000.

For further information, please refer to the ABCLX help file.
 

Keywords:
ABCLX, Controllogix, serial port

Attachments