Allen Bradley Driver

Hi,

I’m trying to connect to 5059-L310ER PLC but am not familiar with Allen Bradley PLC.

Questions :

  1. Which driver should I use for this PLC?, tried CompactLogix, ControlLogix, and LogixDriver with no luck.

  2. Is there something that must be done on the PLC in order for IG to connect? if yes, what are they?

This is some info I get off the plc :
image

Thanks

It would be the “Logix Driver” option.

Why didn’t it work? What happened?

Example from one of ours. Nothing special really, unless you are using it to route to another device, then you would need the connection path.

I have it just like Jordan’s, except ip.

On the status, it cycles through Connecting, ReconnectWait over and over.

You might get some more info if you turn the loggers for LogixBrowse and LogixBrowseStateManager to DEBUG level.

Here is the LogixBrowseStateManager log,

java.util.concurrent.CompletionException: io.netty.channel.ConnectTimeoutException: connection timed out: /10.22.2.241:44818

at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(Unknown Source)

at java.base/java.util.concurrent.CompletableFuture.completeThrowable(Unknown Source)

at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(Unknown Source)

at java.base/java.util.concurrent.CompletableFuture.postComplete(Unknown Source)

at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(Unknown Source)

at com.digitalpetri.enip.EtherNetIpClient.lambda$bootstrap$8(EtherNetIpClient.java:391)

at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:577)

at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:570)

at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:549)

at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:490)

at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:615)

at io.netty.util.concurrent.DefaultPromise.setFailure0(DefaultPromise.java:608)

at io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:117)

at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe$1.run(AbstractNioChannel.java:263)

at io.netty.util.concurrent.PromiseTask.runTask(PromiseTask.java:98)

at io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:170)

at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)

at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472)

at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500)

at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)

at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)

at java.base/java.lang.Thread.run(Unknown Source)

Caused by: io.netty.channel.ConnectTimeoutException: connection timed out: /10.22.2.241:44818

at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe$1.run(AbstractNioChannel.java:261)


Is the controller configured for Dual IP or DLR? If Dual IP, is the Ethernet connection plugged into the correct port?

Can you reach that IP address from the gateway machine? This looks like a standard networking issue.

Network connection is good.

image

Look into what @lrose suggested. The controller just isn’t responding to the TCP connection being opened, so maybe it does need some extra configuration. Usually they don’t but these 310’s have 2 ethernet ports and can operate in Dual IP or DLR as mentioned.

Yep, I think something need to be configured on the PLC side, unfortunately I’m not familiar with AB plc, an outside contractor installed the system.

Will google on Dual IP and DLR, see what I can find. Appreciate any guidance, how to, etc. from any AB SME.

You should be able to get the configuration for the network ports from the built-in web server on the PLC. If you look in the diagnostic folder in the web server, there should be a section for network settings. No PLC software needed.

There are 2 ports, anything I should pay attention to.
image

So from there you would just be checking to see if the network settings for port A1 match the settings for port A2 or if they are configured as Dual IP. I do not believe that is the issue though, as you are saying you can reach the PLC from the gateway.

I ran into a similar issue in the past trying to connect one of the new CompactLogix PLCs (I think 5069-L330ER maybe?), and I could not get the Ignition Logix driver to connect to the PLC either. To correct it, I simply used the legacy Compact driver instead and haven’t had any issues with it since. However, you mention in the original post that you have already tried that driver to no avail.

In the PLC web server, could you go into the Advanced Diagnostics section, there should be a TCP Connection table and a TCP Statistics page. I’m wondering if the PLC can see the gateway attempting the connection.

Looks like it is configured as DUAL IP, am I correct?

Passive opens increments by 4 in TCP statistic, which is equal to Attempt fails. Don’t know if these are related.

When I ping it, it is reflected in ICMP static

Are you sure you don’t have a firewall along the way trapping this traffic? That’s what it looks like to me.