Knowledge Base /
Integration Guides
Integration of FloBoss S600 with DeltaV using Redundant Modbus TCP VIM
By Adisa Shaljani
Product: DeltaV Virtual IO Module - VIM2

The following technical note describes and demonstrates the setup and configuration required for integration of FloBoss S600 with the DeltaV VIM. The objective is to show the two different types of installations, simplex and redundant.

The Architecture for Simplex FloBoss S600

The redundant ModbusTCP VIMs can be set up to communicate to the simplex FloBoss S600 Flow Monitor. One way to connect the redundant VIMs is using a single switch as shown in figure 1.

Figure 2

Another way to connect the redundant ModbusTCP VIMs to the FloBoss S600 is using two switches as shown in Figure 2.

The Configuration Considerations for Simplex FloBoss S600

The redundant ModbusTCP VIMs must have the latest firmware flash v3.8.2 or v3.8.3 in order to communicate with FloBoss S600 monitors. Both the VIMs must be at the same revision for redundancy to work.

The VIMs need to be configured with the simplex device (single IP address). The Active VIM will communicate using the configured IP address. In addition, the Standby VIM uses Modbus Function 8 as a ping to determine availability of the field device. In case of FloBoss S600, Function 8 cannot be used. The following paragraph explains further Function 8 and what to use instead with S600.

Problem:

Each VIM opens two (2) connections with each IP address of a given field device. The FloBoss S600 does not allow more than one network connection at any given time. This results in communication failure because the VIMs cannot establish connections as designed. Only one master can connect to S600 at any one time.

The VIM has ping customization options built into its architecture. These are described below:

Ping Type

Description

Default Ping

The default ping employs Modbus Function 8. The command is sent every 500ms. The field device is expected to echo back the received command. This allows the standby VIM to know that the network link to the field device is alive and hot.

Custom Ping

Some field devices do not support Modbus Function 8. The firmware allows the users to select any input dataset (one that uses the Device Data Type of 0, 1, 2 or 3), and use it as the ping. By adding a 10 to the Device Data Type of an input dataset indicates to the standby VIM that this dataset should be used as the ping. Instead of sending the Function 8 command, the standby VIM will send the read command associated with the dataset. For example, if there is a dataset that reads Holding Registers, it will be configured with a Device Data Type of 3. By changing the Device Data Type to 13 allows the standby VIM to use this dataset as a ping. Note that the data read from the field is discarded. The active VIM, of course, continues its normal read of Holding Registers.

The ping command will be sent every 500ms. However, the user can configure a custom delay. The custom delay is configured in the datasets Special Data 5, most significant byte, in units of 100ms. For example, if the most significant byte of the Special Data 5 is a 1 (write 256 into Special Data 5), the ping is delayed 100ms.

ICMP Ping

If the default ping or the custom ping is not desirable, the user can configure the VIM to use an ICMP ping. To do this, configure a dataset for a custom ping as described above. In addition, write a 2 into the least significant byte of the Special Data 5. Note that when using the ICMP ping, the standby VIM does not actually communicate with the field device. It only knows that there is a response from an IP address on the network. The user must decide if this is adequate.

For example, for the ICMP ping to be sent once a second (every 1000ms), the least significant byte will be a 2, and the most significant byte will be a 10. User will write a "5122" (5120+2) which is a combination of the High Byte + Low Byte into the Special Data 5 of the dataset, i.e., High Byte Bit Mask Value = ((desired_ping_rate_in_ms)/100) * 512 = (1000/100)*512 + 2

Solution:

One option is to use an ICMP ping in order to avoid requesting another connection into the FloBoss. To accomplish this, the user needs to configure only the first FloBoss input dataset for each device in the DeltaV Explorer as follows:

  1. The Device Data Type needs to be modified by adding 10 to its value.
  2. The Special Data 5 register of this dataset needs to be set to 2. This forces the Standby VIM to send an ICMP ping to the FloBoss instead of opening another connection.

Another option is to avoid using the Function 8 completely by configuring the first FloBoss input dataset in DeltaV Explorer with the Special Data 5 parameter set to 8. This means the Standby VIM does not check if the FloBoss is on the network, nor does it try to establish connection to it. Only the Active VIM will connect, using only one connection.

The Architecture for Redundant FloBoss S600

Figure 4

The redundant ModbusTCP VIMs can also be set up to communicate to the redundant FloBoss S600 Flow Monitor.

The way to connect the redundant VIMs is shown here in figure 4. This is recommended way of connecting the redundant VIMs with redundant FloBoss S600.

The Configuration for Redundant FloBoss S600

The redundant ModbusTCP VIMs must have the latest firmware version 3.8.3 in order to communicate with redundant FloBoss S600 Flow Monitors. Both VIMs must be at the same revision for redundancy to work.

It’s important to note that the FloBoss S600 requires both ports to be configured with different subnets and they must use different port numbers. For example, S600 network A can be configured with IP address 10.12.1.100 and subnet mask 255.255.0.0., while S600 network B must be configured with IP address such as 12.12.2.100 and same subnet mask. Furthermore, the port numbers for Network A and Network B must be unique. For example, user can configure Network A with port number 501, while Network B is configured to a different port number, e.g., 502. For compatibility with VIM configuration, the port numbers must be consecutive.

In the VIMNet Explorer, the user needs to configure redundant device with an IP addresses as specified above and set the redundancy type to Redundancy with No IP Switching as shown in figure 5. The port number must be configured to the lowest of two configured in the FloBoss.

Figure 5

The VIM cards must be configured similarly with an IP addresses that are on different subnets.

For example, the VIM A can be configured with an IP address 10.12.1.1, while VIM B must be configured with an IP address such as 10.12.2.1. The subnet mask needs to be set to 255.255.0.0. regardless of the IP address configured for both VIMs as shown in figure 6 below:

Figure 6

Problem:

The same problem exists in redundant S600, where each port allows only one connection. By default the ModbusTCP driver uses the Function 8, where each VIM in redundant pair attempts to open two connections with each S600 network.

Solution:

The simplest workaround for this issue is to use the special flag as explained below. In the DeltaV Explorer, the user needs to configure this flag only on the first FloBoss input dataset for each S600 device.

The flag is implemented on the Special Data tab, where the Special Data 5 parameter needs to be set to value of 384 as shown below in figure 7. The number 384 is sum of the two flags.

The first flag is a value 128, which allows the Active VIM A to connect to the S600 Network A an IP address and its port only. In our example, the VIM A would connect to an IP address 10.12.1.100 and the port number 501. The Standby VIM B would connect to the remaining IP address 10.12.2.100 and port + 1 = 502.

The second flag is a value of 256, which allows the Active VIM A to connect to the S600 Network A only, while the Standby VIM B connects to the S600 Network B only.

Figure 7