OPC-UA Connections

Version: 7.6.6
OS: Win7

I’ve been building my project over the past couple months and feel I may have maxed out my number of devices. Some devices would not connect despite being visible on the network, i.e., successfully pinged. After searching the forum, I found restarting the drivers as a partial solution. All devices are AB, so after resetting the AB driver, as well as the OPC-UA server driver (both v 1.6.6), all devices (total of 33) connected except the 12 Mirologix PLCs, and all of them provided the following error:

java.lang.Exception: Error connecting to “10.18.xxx.xxx”.
com.inductiveautomation.xopc.driver.api.AbstractSocketDriver.connect(AbstractSocketDriver.java:140)
com.inductiveautomation.xopc.drivers.allenbradley.MicroLogixDriver.connect(MicroLogixDriver.java:142)
com.inductiveautomation.xopc.driver.api.AbstractDriver$5.run(AbstractDriver.java:593)
java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
java.util.concurrent.FutureTask.run(Unknown Source)
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)
java.net.SocketException: No buffer space available (maximum connections reached?): connect
java.net.DualStackPlainSocketImpl.connect0(Native Method)
java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
java.net.AbstractPlainSocketImpl.connect(Unknown Source)
java.net.PlainSocketImpl.connect(Unknown Source)
java.net.SocksSocketImpl.connect(Unknown Source)
java.net.Socket.connect(Unknown Source)
java.net.Socket.connect(Unknown Source)
com.inductiveautomation.xopc.driver.api.AbstractSocketDriver.connect(AbstractSocketDriver.java:111)
com.inductiveautomation.xopc.drivers.allenbradley.MicroLogixDriver.connect(MicroLogixDriver.java:142)
com.inductiveautomation.xopc.driver.api.AbstractDriver$5.run(AbstractDriver.java:593)
java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
java.util.concurrent.FutureTask.run(Unknown Source)
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source)
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.lang.Thread.run(Unknown Source)

I’ve attempted to bold the line that most concerns me, but I’ll list it here:

java.net.SocketException: No buffer space available (maximum connections reached?): connect

Have I reached some inherent threshhold within Ignition, and if so, what can I do to overcome? I still have plans to expand this project. Do I need another server connection? I don’t believe this is on the PLC side, because many, if not all, of the devices in question were connected at one time.

Also, I did find a reference to the “Zero TNS Connection” checkbox under Advanced Properties of the Micrologix device settings and it didn’t seem to matter if it was checked or not.

Any input is appreciated, thanks.

Edit: After further troubleshooting, the disconnected devices upon OPC-UA Server restart seem to be arbitrary (not limited to Micrologix), further indicating a limit on devices. Would this be related to heap size? My “System Status” under the configuration tab reads <15% CPU usage and 0.6-1.4gb/2.0gb Memory.