Knowledge Base /
Integration Guides
Connecting to a Daniel 2350A Controller using Modbus TCP
By Tom Freiberger
Product: IOD-4101 - Modbus TCP/IP Master Driver (General Modbus TCP/IP Communications)

The following technical note documents the setup and testing of a Daniel 2350A Controller for Gas Chromatographs.

Objectives

  • Configure the 2350A controller to operate on a Open Modbus TCP network
  • Configure DeltaV and VIM Network Gateway to read data from the 2350A via Open Modbus TCP

Daniel 2350A Controller Setup

The objective in configuring the 2350A was to give it an IP address and make sure it can communicate via Open Modbus TCP. Exact register addresses for further configuration of the 2350A have not been discovered at this time, however Table 1 at the end of this document lists status registers which can be used to integrate the 2350A into an existing control system. The following sections detail the initial configuration of the Daniel 2350A.

Configuring the Initial Serial Connection

The 2350A did not arrive with a default IP address. It was necessary to use alternate means (a direct RS-232 serial connection) to perform the initial configuration. Using the MON2000 software for Gas Chromatographs from Emerson, the TCP/IP settings of the 2350A can be configured with the desired IP address. Once that is complete, further communication with the 2350A can be performed over Ethernet.

The following serial port settings used to perform the initial configuration of the 2350A:

Baud rate: 19200
Data bits: 8
Stop bits: 1
Parity: None
IC Multiplier: 5 (20 if communication problems occur)

The above settings should be the default settings. If not, the connection settings can be altered in the "GC Directory" dialog box (File -> GC Directory...) from MON2000. The only setting that must be verified is “PC COM," which should be set to the correct serial port on the PC. Connection options in this dialog which do not apply to a given connection type appear to be ignored. On the rack-mounted 2350A, COM1 on the controller (Figure 1) can be used for configuration and has been brought to the lower right corner of the front panel. A null modem serial cable is not required as the 2350A is a "Data Circuit termination Equipment (DCE) device." Figure 2 is a screenshot of the GC Directory dialog box showing the default settings for the RS-232 connection.

Daniel 2350A Serial Port
Figure 1: COM1

GC Directory Configuration
Figure 2: GC directory configuration (All fields not shown)

Figure 3 is a screenshot of the TCP/IP settings dialog box from MON2000. It can be accessed from the "Applications" menu once a connection to the 2350A is established. To configure MON2000 to use Open Modbus TCP enter an IP address and a Subnet Mask that is valid for the desired network. Once the IP address is set for the 2350A it can be controlled via Ethernet, so the serial connection is no longer necessary.

TCP/IP Settings for the 2350A
Figure 3: TCP/IP settings for the 2350A controller

Daniel 2350A Ethernet Port
Figure 4: Daniel 2350A Ethernet port

The Ethernet port is located near the lower left corner of the Terminal Board for Field Wiring, but it is not located on the controller’s Terminal Board. Figure 4 is a picture of the back of the rack-mounted 2350A with the Ethernet port circled. It is actually an extension cable that brings the port from the Ethernet card on the internal PC104 bus to an accessible location.


Figure 5: Ethernet settings in GC Directory

Once the 2350A is configured, a new connection can be made to communicate with the 2350A via Open Modbus TCP. Using the "GC Directory" dialog box, the following fields must be set, either on a new connection or an existing connection. Figure 5 shows two of the setting required for communicating over Ethernet, with the third being off-screen.

Connection Type (Direct/Remote): <Name of the NIC on the same network as the 2350A>
Server Name/IP Address: <IP Address given to 2350A>
Network Protocol: Modbus TCP

Modbus Test Program from MON2000
Figure 6: Modbus Test program from MON2000

Open Modbus TCP Functionality

Using the Modbus Test program built into MON2000, the device’s ability to set and read registers or coils was ascertained. A screenshot of the program is shown in Figure 6. Using a Modbus Test program it was verified that these registers are readable and contain data.

In DeltaV, a set of holding registers can be configured for retrieving control information from the 2350A. Table 1 is a list of registers accessible via Modbus TCP and their function. The register number given is not the Modbus address; an offset must be added to each address. If the address is less than 1000 the offset is 10001. For the addresses greater than 1000 the offset is 40001. Table 2 gives the mapping of Register Number to Modbus address, as well as the type and size of the data at each location.

REG # ALARM NAME BOOLEAN (COILS)
64 PRE-PRO ANALYZER FAILURE BOOLEAN (COILS)
65 PRE-PRO POWER FAILURE BOOLEAN (COILS)
STREAM # ITEM ALL FLOATING POINT
1001 1 DATE STAMP FLOATING POINT
1003 1 TIME STAMP FLOATING POINT
1005 1 METHANE FLOATING POINT
1007 1 ETHANE FLOATING POINT
1009 1 PROPANE FLOATING POINT
1011 1 ISO BUTANE FLOATING POINT
1013 1 NORMAL BUTANE FLOATING POINT
1015 1 ISO PENTANE FLOATING POINT
1017 1 NORMAL PENTANE FLOATING POINT
1019 1 HEXANE PLUS FLOATING POINT
1021 1 CO2 FLOATING POINT
1023 5 DATE STAMP FLOATING POINT
1025 5 TIME STAMP FLOATING POINT
1027 5 METHANE FLOATING POINT
1029 5 ETHANE FLOATING POINT
1031 5 PROPANE FLOATING POINT
1033 5 ISO BUTANE FLOATING POINT
1035 5 NORMAL BUTANE FLOATING POINT
1037 5 PENTANE PLUS FLOATING POINT

Table 1: Register map of the 2350A

REG # Modbus Address Type and Size
64 10065 Boolean (Single Coil)
65 10066 Boolean (Single Coil)
1001 41002 Single Precision Floating Point (2 registers)
1003 41004 Single Precision Floating Point (2 registers)
1005 41006 Single Precision Floating Point (2 registers)
1007 41008 Single Precision Floating Point (2 registers)
1009 41010 Single Precision Floating Point (2 registers)
1011 41012 Single Precision Floating Point (2 registers)
1013 41014 Single Precision Floating Point (2 registers)
1015 41016 Single Precision Floating Point (2 registers)
1017 41018 Single Precision Floating Point (2 registers)
1019 41020 Single Precision Floating Point (2 registers)
1021 41022 Single Precision Floating Point (2 registers)
1023 41024 Single Precision Floating Point (2 registers)
1025 41026 Single Precision Floating Point (2 registers)
1027 41028 Single Precision Floating Point (2 registers)
1029 41030 Single Precision Floating Point (2 registers)
1031 41032 Single Precision Floating Point (2 registers)
1033 41034 Single Precision Floating Point (2 registers)
1035 41036 Single Precision Floating Point (2 registers)
1037 41038 Single Precision Floating Point (2 registers)

Table2: Modbus Addresses and Data Sizes

Example DeltaV Configuration

A dataset can be configured in DeltaV to read the floating point data from the 2350A. Figure 7 through Figure 10 show the settings used for a dataset which reads all 19 floating point values from the 2350A. Special Data 1 is set to 1 to tell the VIM to perform word swapping. Please refer to the VIM user guide for additional information.

Dataset Properties, General Tab
Figure 7: Dataset Properties, General tab

Dataset Properties, DeltaV Tab
Figure 8: Dataset Properties, DeltaV tab

Dataset Properties, PLC tab
Figure 9: Dataset Properties, PLC tab

Dataset Properties, Special Data tab
Figure 10: Dataset Properties, Special Data tab

Summary

The 2350A Gas Chromatograph controller can easily be setup to communicate via Open Modbus TCP, requiring only a serial connection and the MON2000 software for initial TCP/IP configuration. The controller can then be configured by MON2000 over Ethernet and monitored via Open Modbus TCP for integration into an existing control system.