Connecting a Daniel 575 GC to a Delta V system

J

Thread Starter

Jeffrey

I'm trying to interface a Daniel Model 575 GC (2350A controller) to a DeltaV system. I'm using Modbus RTU for the communication, with the GC connected via RS-232 to a RS-485 converter. The converter is then connected to the proper card in the DeltaV system.

With not being too familiar with DeltaV (going through an operator for the setup) and doing this in China (language barrier), I do not know fully what to look for. It appears the there may be a signal between the two, but there is an error (I believe it is for an illegal address). The registers in the GC are setup starting at 2001 in floating point, but in the DeltaV programming starts with a base register of 40001 for trying to read the holding registers.

Does anyone have an idea of what could be done?
 
If I were doing it, I would first use a USB-to-RS-485 converter on my PC and run a generic Modbus master like Modscan32 or Simply Modbus to make sure that I can read the GC and its 232/485 converter. Lots of things can go wrong there. If it doesn't respond, swap the A/B or +/- data lines (there's no standard for how they're labeled). Having them backwards won't damage the RS-485, but it won't work.

Most DCS's do not publish any substantive documentation publicly, and having wasted too much time in the past looking for such, I now no longer try. They win; it's a secret. So I don't know if Delta V has public documentation does or not.

Hence, I don't know if the Delta V is a Modbus slave and a Modbus master, I have to assume it is at least a Modbus master. There might be some custom mapping procedure for Modbus slave purposes; you don't want that (that would be concerned with which tag is put in the Delta V's slave register 40001). You want the Modbus master setup.

The serial port needs to be setup: baud rate, parity, word size (8 bit). It might need to be associated with specific hardware port on a slot/channel.

You should know that the master's 03 function code (command) reads the 4xxxx holding registers.
Sometimes masters don't use the 03, they let you select 4xxxx holding registers (read with 03) or
3xxxx input registers (read with 04).

The leading 4 in the 4xxxx is 'understood' as a memory pointer, it is not included in the Modbus register data packet. Some Modbus masters show the 4 in the setup and configuration, others don't. It's there to remind you that you are pointing to a holding register.

In the end, the data in your 2001 register will be at 42001 or 402001 for 5 digit masters. So if you can't enter the leading numeral 4, don't sweat it.

Somewhere you'll need to select floating point format, because that will read 2 contiguous registers, 42001 and 42002, in your example.

And probably a dozen other things as well.
 
W

Wassim Daoud

Why don't use OPC for this? You can leverage the OPC Server in DeltaV to connect it to the OPC Server for Modbus. Here is the proposed solution:

OPC Server for Modbus <=> OPC Data Manager <==> DeltaV OPC Server

That way you will get rid of all the headaches that converters, and other issues you might be facing.

Here are the links to the products:

Modbus OPC Server: http://www.matrikonopc.com/opc-drivers/1603/index.aspx

OPC Data Manager: http://www.matrikonopc.com/products/opc-data-management/opc-data-manager.aspx

Hope this was helpful

Cheers,
Wassim
 
So far, I've been able to communicate with the GC directly with a laptop over RS-232 using Modbus Poll. I've also used a pair RS-232/485 converters to communicate between the laptop and GC with Modbus Poll, both right near the analyzer and at the other end of the line, where it connects to the DeltaV.

There are no issues with the communication to the GC via either of these methods. What was noticed is that in the setup of the communication in Modbus Poll, there is a selection to "Remove Echo". This needs to be selected when communicating through the RS-232/485 converters, but cannot be selected when in direct communication with the GC. There is no setting on the converters and no settings for adjustment with the GC in RS-232 (nor with the DeltaV, that I know of).

There is another instrument connected through the same converters, a ThermoFisher Mass Spectrometer, without any issues. I am unable to test the connection with both instruments hooked up as I only have two converters and do not want to try to switch the mass spec to RS-485 since there have been problems in the past and don't want to change something that is working.

At this point, I will just wait until returning to the states to get this communication fixed. Most likely change the GC to communicate via RS-485, as a chip kit is needed as I do not and cannot get one here. There is hardware setting in the GC relating to echo, but I would need to change it to RS-485.

My analyzers are shipped to various sites world-wide for temporary testing, but only having to manually retrieve data from one analyzer is still a win.

The DeltaV is setup to be a master and communicates with the mass spec perfectly. Some assistance from a local service rep has been requested, but I do not expect to get any response on that until I leave here in September.
 
Jeffrey,

> there is a selection to "Remove Echo". This needs to be selected when communicating through the RS-232/485 converters, but cannot be selected when in direct communication with the GC.

Just to confirm what that means:

When using Modbus poll between PC/RS-232 to GC/RS-232, the "remove echo" box is unchecked

When using PC/RS-232/RS-485 to GC/RS-232/RS-485 (both use converters) "remove echo" box is checked?

The help file in my Modbus Poll version 5.0.1 says:

remove echo:
If your device or RS232/RS485 converter echoes the chars just sent

If RS-232 comm works with the boxed unchecked, it means that the RS-232 port on the GC does not echo, correct?

If the Modbus Poll function with 232-485 converters works only with the box checked, then that means that the converter must be echoing the characters, correct?

Which model converter are you using?
 
David,

My answers are mixed in.

<i> >Jeffrey,

there is a selection to "Remove Echo". This needs to be selected when
communicating through the RS-232/485 converters, but cannot be selected when in direct communication with the GC.

Just to confirm what that means:

When using Modbus poll between PC/RS-232 to GC/RS-232, the "remove echo" box is unchecked

When using PC/RS-232/RS-485 to GC/RS-232/RS-485 (both use converters) "remove echo" box is checked?</i>
<b>
Correct, this is what needs to be done to connect to the GC with these two methods.
</b>

<i>The help file in my Modbus Poll version 5.0.1 says:

remove echo:
If your device or RS232/RS485 converter
echoes the chars just sent

If RS-232 comm works with the boxed unchecked, it means that the RS-232 port on the GC does not echo, correct?</i>
<b>
I am unsure as to whether the box checked is with or without echo, I only know which setting are working.
</b>
<i>
If the Modbus Poll function with 232-485 converters works only with the box checked, then that means that the converter must be echoing the characters, correct?</i>
<b>
I do not know what piece in the line is causing this issue. When connecting to the mass spec with the same configurations, the "remove echo" box in unchecked with both. This has even been done with the boxes swapped.
</b>
<i>
Which model converter are you using?</i>
<b>
The converter that I'm using is a BlackBox ICD105A.
</b>

Thank you greatly for helping.
 
C
The out of the box serial card for the DeltaV does plain Modbus. You have to be sure your slave devices are plain Modbus as well. There are a lot of Modbus "dialects" out there. For plain Modbus a register is 16bits. In some of the variants, the bit count of the holding register depends on its address. I've run across these variants primarily with flow computers. The most common difference is that the slave responds with too many registers when you request a value that the slave has stored as a floating point. A float takes up 32 bits so you get twice as many registers back from the slave as the DeltaV configuration was expecting and it throws an error code.
 
Here's a couple stupid questions, have you enabled the modbus port on the DeltaV? If you have there should be a blinking amber light on the front. Did you set the port to half duplex? What version of DeltaV? Earlier versions required serial port licensing. Then have you configured your data sets or DST's? These tell the DeltaV what kind of data format and where to poll
 
Top