Automation Professionals' Advanced Modbus Driver

Note, if you want to publish read-only information on the server side, write to IR* addresses and DI* addresses–those can only be read by the protocol over the wire, not written.

A minor update has been released:

For Ignition v8.1: v1.1.0.230261903

This adds a work-around for non-compliant Modbus TCP devices that do not return the transaction ID per the protocol specification. If concurrency is set to one, the module will now ignore txID mismatch.

1 Like

A minor update has been released:

For Ignition v8.1: v1.1.0.230811645

This fixes an embarrassing bug in File Record Writes. :neutral_face:

A minor update has been released:

For Ignition v8.1: v1.1.1.231711928

This enables browse for slave unit #0, which should have been addressed over a year ago....

2 Likes

I'm testing the advanced modbus driver (thank you for it) - its not licensed at this point. I have a redundant Ignition server - this isn't licensed yet either (testing). I'm running the version from 4 days ago: 1.1.1 (b231711928).

I have setup a Modbus server, and whilst it looks like its working, the modbus clients which connect to it keep disconnecting - I'm not sure why. I have allowed TCP:502 in the Windows firewall, but this shouldn't matter since I'm running the server and client on the same machine.

Any idea what this could be? Is this related to the missing licenses?

Screenshots - click arrow to left to expand

Modbus server:

Modbus client

Modbus advanced client:

Logs:

Do you have at least one subscription item on each driver that is polling faster than once per ten seconds? Like many Modbus TCP devices in the wild, my listening server drops idle connections after ten seconds.

(All of my commercial modules are fully functional in trial mode when unlicensed.)

2 Likes

Yep - this was the issue.

I didn't have a tag configured on some of the drivers, because I was implementing the redundant modbus solution outlined here:

Thanks for the help.

If you're interested - some suggestions of how this dropping of idle connections could be made more user friendly:

  1. Make this user configurable in the modbus server - enable/disable whether to drop idle connections or not, and configurable time after which they should be dropped.
  2. Describe the feature in the documentation
  3. Create a log entry when an idle session is dropped
  1. Not unreasonable. I'll put it on the to-do list.

  2. Also not unreasonable, though it is a common behavior.

  3. It does, but at debug level. Turn that on for my ServerTCPChannel logger.

1 Like

Minor feature change for redundancy with the Client driver, permitting a separate target for the redundant backup. Similar functionality already exists for the Server driver.

For Ignition v8.1+: v1.1.2.231841656

1 Like

Made the Modbus TCP server mode idle timeout adjustable, as requested by @woodsb02. It cannot be disabled, but very large values are allowed.

For Ignition v8.1+: v1.1.3.231871740

There's an update to the internationalization bundles, which requires a gateway restart (or you can tolerate the question marks if you cannot restart).

1 Like

Thank you!

1 Like

Note the beta announced over here:

Automation Professionals is pleased to announce the release of Maker Edition support. Also, the fallback/redundancy beta is now production-grade, after some bug fixes.

For Ignition v8.1+: v1.1.5.240362152

Some changes were made to properties bundles, so a gateway restart is likely to be required for all upgrades.

4 Likes