# Automation Professionals' Advanced Modbus Driver

**URL:** <https://forum.inductiveautomation.com/t/automation-professionals-advanced-modbus-driver/41312>\
**Category:** 3rd Party Modules\
**Created:** [December 8, 2020, 8:45pm UTC](https://forum.inductiveautomation.com/t/automation-professionals-advanced-modbus-driver/41312 "2020-12-08T20:45:46Z")\
**Posts on this page:** 20\
**Page:** 7

<div class="post-metadata">

**Author:** ![Andres\_Rossi](https://avatars.discourse-cdn.com/v4/letter/a/87869e/32.png) [@Andres\_Rossi](https://forum.inductiveautomation.com/u/Andres_Rossi)\
**Post date:** [April 15, 2025, 1:21pm UTC](https://forum.inductiveautomation.com/t/automation-professionals-advanced-modbus-driver/41312/121 "2025-04-15T13:21:32Z")

</div>

Well, now at least the device status always remains CONNECTED, but I'm still receiving Bad data 😕  
From what I could see in Wireshark, the queries seem correct.  
Could it be a problem processing the responses from the device? I understand that the response also sends 0xF834 in the address pair. Perhaps the driver is expecting responses from ID:300 and that's why it's not processing them.

Anyway, I sent you an email with the Wireshark captures and the wrapper.log file in case that helps.

Regards, Andrés

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [April 15, 2025, 2:02pm UTC](https://forum.inductiveautomation.com/t/automation-professionals-advanced-modbus-driver/41312/122 "2025-04-15T14:02:54Z")

</div>

I'm off by one in computing the CRCs in the responses....

Try this new beta:

For Ignition 8.1: ~~v1.1.13.251051409~~

---

<div class="post-metadata">

**Author:** ![Andres\_Rossi](https://avatars.discourse-cdn.com/v4/letter/a/87869e/32.png) [@Andres\_Rossi](https://forum.inductiveautomation.com/u/Andres_Rossi)\
**Post date:** [April 15, 2025, 2:55pm UTC](https://forum.inductiveautomation.com/t/automation-professionals-advanced-modbus-driver/41312/123 "2025-04-15T14:55:59Z")

</div>

I think there's still a problem with the CRC.  
I'm getting this message in the log, and the data is still bad.

"Received CRC 0x0226 expected 0x43a5 for ReadRegsReq [txid=0, unitId=300, func=3] (sPos=0, crcPos=6, rsp=f834030002002602a1)"

I sent you an email with the Wireshark captures and the wrapper.log file for the new beta.

Regards, Andrés

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [April 15, 2025, 6:47pm UTC](https://forum.inductiveautomation.com/t/automation-professionals-advanced-modbus-driver/41312/124 "2025-04-15T18:47:32Z")

</div>

I figured it out.

The ELAM spec doesn't actually show sample message frames, but it modifies function codes for bulk reads (0x01, 0x02, 0x03, and 0x04) such that the response message reports the byte count as a 16-bit value instead of an 8-bit value. The ELAM spec hints at this but doesn't actually declare it. But since ELAM mode supports reading up to 2500 registers in a single request, the byte count cannot possibly fit in an 8-bit value.

It will take some more code surgery to support this. I'll report back later, probably tomorrow.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [April 15, 2025, 7:04pm UTC](https://forum.inductiveautomation.com/t/automation-professionals-advanced-modbus-driver/41312/125 "2025-04-15T19:04:46Z")

</div>

Thank you for playing out in real time over the last couple days why I don't support bastardized "Modbus" implementations for hardware that doesn't even exist any more 😆

---

<div class="post-metadata">

**Author:** ![Andres\_Rossi](https://avatars.discourse-cdn.com/v4/letter/a/87869e/32.png) [@Andres\_Rossi](https://forum.inductiveautomation.com/u/Andres_Rossi)\
**Post date:** [April 15, 2025, 7:12pm UTC](https://forum.inductiveautomation.com/t/automation-professionals-advanced-modbus-driver/41312/126 "2025-04-15T19:12:35Z")

</div>

That's great to hear, Phil.  
Is there any chance of supporting 2500 register readings in the future? (Maybe not 2500, but at least 500) This would be very useful for reading the controller's dynamometrics cards.  
By the way, we have +2400 of these controllers in our oil field 🙃

Regards, Andrés

---

<div class="post-metadata">

**Author:** ![msteele](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/msteele/32/77889_2.png) [@msteele](https://forum.inductiveautomation.com/u/msteele)\
**Post date:** [April 15, 2025, 7:59pm UTC](https://forum.inductiveautomation.com/t/automation-professionals-advanced-modbus-driver/41312/127 "2025-04-15T19:59:13Z")

</div>

First there was Modbus, then there was Modbus TCP, now there's Modbus WTF.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [April 15, 2025, 8:05pm UTC](https://forum.inductiveautomation.com/t/automation-professionals-advanced-modbus-driver/41312/128 "2025-04-15T20:05:25Z")

</div>

> [@Kevin.Herron](#):
>
> playing out in real time over the last couple days

Well, nobody donated a real unit for my lab, so working out the details is hard to hide. 🤷‍♂️

> [@Andres\_Rossi](#):
>
> chance of supporting

No, not really. Too many other, more valuable, prospects in my to-do list. FWIW, there's just not much performance to gain with it, unless you are trying to run across a WAN. And that is something I don't want to encourage at all.

---

<div class="post-metadata">

**Author:** ![michael.flagler](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/michael.flagler/32/26272_2.png) [@michael.flagler](https://forum.inductiveautomation.com/u/michael.flagler)\
**Post date:** [April 15, 2025, 11:31pm UTC](https://forum.inductiveautomation.com/t/automation-professionals-advanced-modbus-driver/41312/129 "2025-04-15T23:31:26Z")

</div>

I thought they were all based on Modbus WTF!

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [April 16, 2025, 2:23pm UTC](https://forum.inductiveautomation.com/t/automation-professionals-advanced-modbus-driver/41312/130 "2025-04-16T14:23:17Z")

</div>

Ok. New beta altering response handling of function codes 1 through 4 when it comes from an ELAM request.

For Ignition v8.1: ~~v1.1.13.251061415~~

---

<div class="post-metadata">

**Author:** ![Andres\_Rossi](https://avatars.discourse-cdn.com/v4/letter/a/87869e/32.png) [@Andres\_Rossi](https://forum.inductiveautomation.com/u/Andres_Rossi)\
**Post date:** [April 16, 2025, 4:47pm UTC](https://forum.inductiveautomation.com/t/automation-professionals-advanced-modbus-driver/41312/131 "2025-04-16T16:47:17Z")

</div>

BINGO!!! Is working now!!!  
I'm reading just a few HR but looks great.  
I'm gonna run some more tests and let you know how they go.

Thanks a lot Phil!

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [April 16, 2025, 4:48pm UTC](https://forum.inductiveautomation.com/t/automation-professionals-advanced-modbus-driver/41312/132 "2025-04-16T16:48:26Z")

</div>

Please test reading all four areas, please, if you can. C, DI, IR, and HR.

---

<div class="post-metadata">

**Author:** ![Matthew.gaitan](https://avatars.discourse-cdn.com/v4/letter/m/59ef9b/32.png) [@Matthew.gaitan](https://forum.inductiveautomation.com/u/Matthew.gaitan)\
**Post date:** [April 16, 2025, 5:09pm UTC](https://forum.inductiveautomation.com/t/automation-professionals-advanced-modbus-driver/41312/133 "2025-04-16T17:09:18Z")

</div>

Can you please share your configuration? I cant get either of the two devices I'm testing working.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [April 16, 2025, 5:27pm UTC](https://forum.inductiveautomation.com/t/automation-professionals-advanced-modbus-driver/41312/134 "2025-04-16T17:27:26Z")

</div>

Don't forget to create nodes in the device config for each target address. And do not leave any address ranges blank--I haven't fixed that bug yet.

---

<div class="post-metadata">

**Author:** ![Andres\_Rossi](https://avatars.discourse-cdn.com/v4/letter/a/87869e/32.png) [@Andres\_Rossi](https://forum.inductiveautomation.com/u/Andres_Rossi)\
**Post date:** [April 16, 2025, 7:09pm UTC](https://forum.inductiveautomation.com/t/automation-professionals-advanced-modbus-driver/41312/135 "2025-04-16T19:09:06Z")

</div>

Hi Phil,  
HR and IR works fine, I was even able to write a single HR without any problems.  
I can't read C or DI.

I sent you a mail with the wrapper.log file and the wireshark capture.

Regards, Andrés

---

<div class="post-metadata">

**Author:** ![Andres\_Rossi](https://avatars.discourse-cdn.com/v4/letter/a/87869e/32.png) [@Andres\_Rossi](https://forum.inductiveautomation.com/u/Andres_Rossi)\
**Post date:** [April 16, 2025, 7:11pm UTC](https://forum.inductiveautomation.com/t/automation-professionals-advanced-modbus-driver/41312/136 "2025-04-16T19:11:00Z")

</div>

Hi Matthew, this is my configuration:

 ![imagen](https://us1.discourse-cdn.com/inductiveautomation/original/3X/5/a/5acd2ef8537a03e611566ed88eb524d102735153.jpeg)  
 ![imagen](https://us1.discourse-cdn.com/inductiveautomation/original/3X/f/1/f105a544d834bfdae14863d3081b07b13d66aaf3.png)  
 ![imagen](https://us1.discourse-cdn.com/inductiveautomation/original/3X/3/b/3b573cae6a5d33f602ed3b3ac7bf861e49c9c9c5.png)  
 ![imagen](https://us1.discourse-cdn.com/inductiveautomation/original/3X/4/2/423b3bf04d83e07dadcc67ffb9d3e29102b99bc0.jpeg)

My Lufking device has ID:300

I hope this helps.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [April 16, 2025, 7:14pm UTC](https://forum.inductiveautomation.com/t/automation-professionals-advanced-modbus-driver/41312/137 "2025-04-16T19:14:47Z")

</div>

Ok, that means Lufkin didn't include function codes 1 and 2 in the 16-bit bytes-to-follow adjustment. Let's just say I'm less than impressed with Lufkin's ability to write a specification. ☹

Give me a minute... Done. Next try:

For Ignition v8.1: ~~v1.1.13.251061916~~

Side note: This cherry-picked neatly into my v8.3 version, and is passing my QA, but I have no ELAM hardware to test the ELAM part..... _cough_

---

<div class="post-metadata">

**Author:** ![Matthew.gaitan](https://avatars.discourse-cdn.com/v4/letter/m/59ef9b/32.png) [@Matthew.gaitan](https://forum.inductiveautomation.com/u/Matthew.gaitan)\
**Post date:** [April 16, 2025, 10:20pm UTC](https://forum.inductiveautomation.com/t/automation-professionals-advanced-modbus-driver/41312/138 "2025-04-16T22:20:58Z")

</div>

Success! I was an idiot and was using `Modbus TCP` 😑 After re-reading the documentation, changing it to `Modbus RTU over TCP` and adding that extra `:57600N1` it is now pulling data!

Now i just need to get the login to the serial converters to see what the settings are supposed to be!

Thank you 🙂

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [April 17, 2025, 2:09pm UTC](https://forum.inductiveautomation.com/t/automation-professionals-advanced-modbus-driver/41312/139 "2025-04-17T14:09:27Z")

</div>

> [@Matthew.gaitan](#):
>
> settings are supposed to be

I have recommendations in the appendix of my user manual.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [April 17, 2025, 3:19pm UTC](https://forum.inductiveautomation.com/t/automation-professionals-advanced-modbus-driver/41312/140 "2025-04-17T15:19:08Z")

</div>

New **production** release, fixing the empty range node configuration bug found by Matthew in [Comment #92 above](https://forum.inductiveautomation.com/t/automation-professionals-advanced-modbus-driver/41312/92). It was a real 🤦‍♂️

For Ignition v8.1: ~~v1.1.13.251071507~~

[Previous page](https://forum.inductiveautomation.com/t/automation-professionals-advanced-modbus-driver/41312.md?page=6)

[Next page](https://forum.inductiveautomation.com/t/automation-professionals-advanced-modbus-driver/41312.md?page=8)
