Optimize TOP Server Ethernet Driver Performance with Multiple Channels

Should I use a separate channel for each device or one channel for all devices?

TOP Server can often be optimized for performance by configuring multiple channels. Whether this is possible or recommended for your own configuration ultimately depends on a number of factors pertaining to your architecture:

  • Device type - are your devices Ethernet, serial or serial-over-Ethernet (i.e. natively serial devices but connected to your Ethernet network using a serial-to-Ethernet converter)?
  • Communications network - is connectivity to your devices established over an Ethernet network, hardwired serial network (such as RS-232 or RS-485), serial radios, cellular radios, other?

But what is a TOP Server channel?

Before we further discuss whether or not you should use multiple channels in your TOP Server project, we should review what a channel is and does in a TOP Server configuration.

A channel represents a physical communication connection from the TOP Server machine to one or more external devices. A channel can be used to represent a serial port, a card installed in the PC, or an Ethernet socket.

Before adding devices to the configuration project, users must define the channel to be used when communicating with devices. This is because the channel is also where the communication protocol is selected.

After creating a channel, only devices that the selected driver supports can be added to this channel.

Now that you know what a channel is and what it does, we can discuss how to determine how many channels you should use in your configuration project.

Channels with multiple devices communicate one device at a time

The whole reason we're discussing one channel per device versus one channel with multiple devices boils down to performance. A single channel is a single thread of communication (whether it's serial or Ethernet).

Defining multiple devices on a single channel creates a bottleneck of communications - only one device can be communicated with a time in a round-robin fashion. Some situations require this configuration.  If you're using a traditional serial connection where this is only a single COM port on the TOP Server machine, you have to configure all of those serial devices under a single channel.

Additionally, situations where modem or radio communications are needed typically limit you to a single thread of communications and require a single channel for all of the devices accessed using that single thread of communications.

Channels with a single device allow parallel device communication

For the best performance, you ultimately need a direct connection to each device. This allows TOP Server to communicate with each of your devices in parallel, independent of communications with your other devices. This also eliminates delays in communication when one device is unresponsive but other devices are not (for serial communication, unresponsive device scenarios can be optimized using auto-demotion).

This is accomplished by defining one channel for each device when the connection is Ethernet-based, due to the nature of multiple sockets being supported over Ethernet. As such, this is generally supported and highly recommended for all Ethernet-based TOP Server drivers, including serial drivers that will be using Ethernet encapsulation with terminal servers, serial-ethernet converters, or device servers.

And most of these drivers support a minimum of 256 channels per driver per TOP Server instance with many supporting up to 1024 channels.  This means that, unless you have a extremely large number of devices, you have the capacity to define a single channel per device to optimize performance.

Important Notes:

  • Some Ethernet devices allow more than one connection at a time - this makes it also possible to create more then one channel with a copy of the same device under each channel to get more communications throughput to the same device where needed (this can be useful for situations where you need fast read performance but also have high frequency writes - define a channel/device for reads and a channel/device for writes).
    • This is only possible if the Ethernet device you are connecting to actually supports multiple concurrent socket connections.
    • The Modbus TCP Ethernet driver makes it possible to use multiple socket connections to the same device from a single channel (up to 10 sockets per channel) - as such, it is not necessary to configure multiple channels to gain additional throughput.  Simply increase the "Max Sockets per Device" setting in the "Ethernet" section of your channel properties and ensure that "Socket Utilization" is set to "One or More Sockets per Device".
  • Defining one channel per device is especially important when using one of the Logical protocol modes with the ControlLogix Ethernet driver - the logical mapping process occurs upon connection to the device and will happen every time you communicate for ControlLogix Ethernet connectivity when using a Logical protocol mode.

Get Started Now

The demo is the full product once licensed. Once a client application connects to the  TOP Server, the TOP Server runtime will operate for 2 hours at a time. At the end of the 2 hour demo period, the demo timer must be reset by restarting the TOP Server runtime service.

Connect with Us

1-888-665-3678 (US + Canada toll free)
+1-704-849-2773 (Global)
support.softwaretoolbox.com