Allen Bradley MicroLogix refreshBrowse

We have a MicroLogix device that periodically gets stuck in a disconnected state. This seems to be from from shutting the device down over the weekends which unfortunately the operators continue to do.
To get it back up and running i have been going to the gateway and editing the device and just saving it again, it looks like it reboots and then re-browses.
Just tried to use the system.device.refreshBrowse as hopefully i can add this to a periodic task that will look at the status of the device but i am getting the following error when i try to run the script. Any ideas on how to switch the device out of “Private”?

Thanks in advance.

com.inductiveautomation.ignition.client.gateway_interface.GatewayException: com.inductiveautomation.ignition.client.gateway_interface.GatewayException: class com.inductiveautomation.ignition.gateway.opcua.scripting.IALabsGatewayScriptingFunctions cannot access a member of class com.inductiveautomation.ignition.gateway.opcua.server.DriverAdapter with modifiers “private”

Consider just disabling then re-enabling the device instead (using scripting). That’s effectively what happens when you edit the device and just hit save.

Thanks, no issues doing it this way.

This is actually a bug on our end. I have filed an internal bug report for it. You should be able to trigger a rebrowse on a device using this function.

2 Likes

Any update on this?

Open PR that got stuck in a QA logjam. Should be part of 8.1.4 and a nightly soon.

1 Like

Actually it was fixed in 8.1.1, I was looking at the wrong thing.

Got this exact problem on monday on version 8.1.2

Can you upload your logs or attach the full error message?

Don’t have much

On sunday afternoon, I have this message at 28Feb2021 14:12:12:

Uncaught Throwable during messageArrived(). msg=[ 6F 00 38 00 BF 10 7F F7 00 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 02 00 00 00 00 00 B2 00 28 00 CB 00 00 00 05 55 04 07 00 00 00 46 00 00 06 00 EE 4A 9F 23 31 37 36 36 2D 4C 45 43 20 20 20 00 00 26 00 C7 05 9E FC 01 ]
java.lang.IllegalArgumentException: newPosition > limit: (5 > 0)
at java.base/java.nio.Buffer.createPositionException(Unknown Source)
at java.base/java.nio.Buffer.position(Unknown Source)
at java.base/java.nio.ByteBuffer.position(Unknown Source)
at com.inductiveautomation.xopc.drivers.allenbradley.requests.ABMicroLogixBrowseRequest.processProcessorModel(ABMicroLogixBrowseRequest.java:245)
at com.inductiveautomation.xopc.drivers.allenbradley.requests.ABMicroLogixBrowseRequest.receiveMessage(ABMicroLogixBrowseRequest.java:159)
at com.inductiveautomation.xopc.drivers.allenbradley.requests.ABMicroLogixBrowseRequest.receiveMessage(ABMicroLogixBrowseRequest.java:34)
at com.inductiveautomation.xopc.driver.api.BasicRequestCycle$PendingRequest.receiveMessage(BasicRequestCycle.java:434)
at com.inductiveautomation.xopc.driver.api.BasicRequestCycle.deliverMessage(BasicRequestCycle.java:201)
at com.inductiveautomation.xopc.driver.api.BasicRequestCycle.messageArrived(BasicRequestCycle.java:183)
at com.inductiveautomation.xopc.driver.api.AbstractDriver.messageArrived(AbstractDriver.java:852)
at com.inductiveautomation.xopc.driver.api.AbstractSocketDriver.messageArrived(AbstractSocketDriver.java:192)
at com.inductiveautomation.xopc.driver.api.AbstractSocketDriver$DriverIOEventHandler.lambda$deliverMessage$0(AbstractSocketDriver.java:253)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)

Then only this message at 28Feb2021 16:12:12

Socket connection closed; DriverState was Connecting

On monday March 01, at 10:00, device was stuck on “Disconnected (or disconnecting??): Pending refreshBrowse”. I openned the connection settings, then save changes, and the connection restarted correctly

Ah, I see, I thought we were talking about the error that occurred while using refreshBrowse, which is what got fixed.

I don’t know what that error is. Looks like the device sent a response indicating some length but it was truncated. You should probably open a support ticket so they can get your logs and information and document this.