Reading Modicon Addresses from Honeywell SX chart recorder

Hello,

Question about reading Modicon addresses.

I have a Honeywell SX chart recorder that can be configured as a Modbus slave. It essentially reads analog signals and plots them on a graph.

I have successfully connected to the device and when I hooked up a generator I see my number bouncing around with the signal.

Unfortunately the numbers are waaaay off (478,590,000,000 and such when it should be around 250). I have tried using every Modbus prefix IA has listed in the help manual. Obviously there is something wrong with the bit pattern, but I can’t seem to figure out what it is.

I have attached the page of documentation I am using to address my tag. It is page 43 of this document:

honeywellprocess.com/librar … -25-66.pdf

Any advice on how to get real numbers out of this guy?

What addresses have you tried?

My first guess would be something along the lines of ‘[Device]HRF46145’ or ‘[Device]HRF46146’,

I’ve tried:

[Device]1.HR46145
[Device]1.HR6145
[Device]1.HRF46145
[Device]1.HRF6145

[Device]1.HR46146
[Device]1.HR6146
[Device]1.HRF46146
[Device]1.HRF6146

[Device]HR46145
[Device]HR6145
[Device]HRF46145
[Device]HRF6145

[Device]HR46146
[Device]HR6146
[Device]HRF46146
[Device]HRF6146

And the same combinations for HRI, HRUI, etc.

I take that back. HRF6146 worked.

There’s a section in that PDF about ‘Modbus Double Register Format’… you might want to figure out which one the device is setup to use right now.

The Modbus driver expects what the PDF describes as ‘FP B’ format by default, but you can change this with the ‘Reverse Word Order’ option in the advanced section of the driver configuration. Be aware that this affects all multi-register values though, not just floats.

This just saved me on connecting to a Minitrend QX. Thanks! @mikehill100 any chance you can share the full modbus address file?

How confident are you that 6146 is actually working? Looking at the PDF you provided, reading HRF6146 should read the second register of hex address 1800 and the first register of hex address 1802 and give you the wrong number. To read hex address 1800 (analog Input #1) the tag should be HRF6145.

As to why you’re getting good data for just HRF6146, my shot in the dark guess is it’s pure luck. It looks like you might be one off in your addressing and have your word order reversed. An easy test to make sure you’re reading the correct address is to read HR7139. According to the PDF that should be reading the device’s clock’s seconds counter. If reading HR7139 gives you the minutes or the month then you need to change your current selection of “One-Based Addressing” in the advanced options area of the device’s configuration in Ignition Gateway.

Once you have HR7139 correctly reading, THEN try to read from HRF6145 and the rest and changing your current selection for reversing word order until the data comes in correctly.

I know it’s tedious but manufacturers like to play loose and fast with the modbus standard, it’s best to take things step by step by step.

It appears HRF6146 and HRF6145 give approx the same value right now so you may be correct.

HR7139 is odd as its returning 16,616 and def not a seconds counter and does not appear to be a date either…

Interesting, just to make sure, the address you’re reading is HR7139 and not HRF7139 right? Set up 3 tags altogether and read from HR7138, HR7139, and HR7140. Do any of those three tags update every second? Do any of them update every minute?

As a side note, a second reason I suggest reading the clock is because in theory you should be able to pull up the clock on the device itself and confirm that what you’re reading matches with what the device says.

Yes, reading HR*

Odd…

HR7139 is bouncing wildly all over the place. 7140 changes every few seconds up or down by 1, but keeps changing direction. 7138 is changing, but not every minuted, but the int is not updating… should these HR be not ints?

That is extremely odd, there are several option I can think of but I don’t want to waste your time on rabbit trails here.

For instance, maybe the byte order is reversed (and not just the word order), but if that was the case then why would 7140 be changing at all? It should just be an unchanging wrong number, so it’s very unlikely that this is the issue.

I do see a note on the table that talks about the clock registers that it must be written to as one transaction from register HR7137 through HR7142 or HR7137 through HR7143, so maybe it doesn’t like just reading the three? Like I said, what should have been a useful quick reference point is becoming a time sink and I don’t want you to loose time trying to check it. You’d be better off picking a single integer value that you can confirm independent from reading it through Ignition and using that register as a reference point.

If I remember correctly, an Int4 datatype is equivalent to a 32-bit integer. So it shouldn’t have any problems display this data.

Beyond this unfortunately, I’ve hit the limit of anything useful I could offer, sorry. Good luck and please let us know if you figure out what was wrong!