# Modbus TCP Connection

**URL:** <https://forum.inductiveautomation.com/t/modbus-tcp-connection/6865>\
**Category:** General Discussion\
**Created:** [July 15, 2013, 11:25am UTC](https://forum.inductiveautomation.com/t/modbus-tcp-connection/6865 "2013-07-15T11:25:39Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![cacordova](https://avatars.discourse-cdn.com/v4/letter/c/bbce88/32.png) [@cacordova](https://forum.inductiveautomation.com/u/cacordova)\
**Post date:** [July 15, 2013, 11:25am UTC](https://forum.inductiveautomation.com/t/modbus-tcp-connection/6865/1 "2013-07-15T11:25:39Z")

</div>

I’m setting up a few of my devices using modbus tcp but I can’t get them to connect. Is there anything I can do to connect them? I tried pinging the devices and I got a reply. Is there a way where I can force it to connect?

Btw, here’s the status on one of the devices that aren’t connected:

Connecting Error: hide Details  
java.lang.Exception: Error during connect.  
com.inductiveautomation.xopc.driver.api.AbstractIODelegatingDriver.connect(AbstractIODelegatingDriver.java:33)  
com.inductiveautomation.xopc.driver.api.AbstractDriver$5.run(AbstractDriver.java:589)  
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$301(Unknown Source)  
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)  
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)  
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)  
java.lang.Thread.run(Unknown Source)  
java.net.ConnectException: Connection timed out: connect  
java.net.PlainSocketImpl.socketConnect(Native Method)  
java.net.PlainSocketImpl.doConnect(Unknown Source)  
java.net.PlainSocketImpl.connectToAddress(Unknown Source)  
java.net.PlainSocketImpl.connect(Unknown Source)  
java.net.SocksSocketImpl.connect(Unknown Source)  
java.net.Socket.connect(Unknown Source)  
com.inductiveautomation.xopc.driver.api.SocketIODelegate.connect(SocketIODelegate.java:76)  
com.inductiveautomation.xopc.driver.api.AbstractIODelegatingDriver.connect(AbstractIODelegatingDriver.java:21)  
com.inductiveautomation.xopc.driver.api.AbstractDriver$5.run(AbstractDriver.java:589)  
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$301(Unknown Source)  
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)  
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)  
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)  
java.lang.Thread.run(Unknown Source)

---

<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:** [July 15, 2013, 2:29pm UTC](https://forum.inductiveautomation.com/t/modbus-tcp-connection/6865/2 "2013-07-15T14:29:41Z")

</div>

If you turn the logger for that device to DEBUG it might tell you a little bit more about the error, but generally no, you can’t ‘force’ anything.

Are you sure you’ve got the right IP address? That there’s a modbus device on the other end? That there’s no outbound rules on your firewall blocking port 502? That the device can accept more connections than it currently has?

---

<div class="post-metadata">

**Author:** ![cacordova](https://avatars.discourse-cdn.com/v4/letter/c/bbce88/32.png) [@cacordova](https://forum.inductiveautomation.com/u/cacordova)\
**Post date:** [August 15, 2013, 5:03pm UTC](https://forum.inductiveautomation.com/t/modbus-tcp-connection/6865/3 "2013-08-15T17:03:09Z")

</div>

This is the debug messages:

[quote]SocketIODelegate [hostname=192.168.0.246,port=502] Opening TCP connection…  
(D) 9:57:12 AM ModbusDriver2[FO\_CSUMB] Disconnected -\> Connecting  
(D) 9:57:11 AM RequestQueue Low count: 0  
(D) 9:57:11 AM RequestQueue High count: 0  
(D) 9:57:11 AM RequestQueue Critical count: 0  
(D) 9:57:10 AM ModbusDriver2[FO\_CSUMB] Acquired connect permit, calling connect().  
(D) 9:57:10 AM BasicRequestCycle Shutdown complete.  
(D) 9:57:10 AM BasicRequestCycle Shutting down…  
(D) 9:57:10 AM RequestSchedule Canceling 0 ScheduledRequests.  
(D) 9:57:10 AM ModbusDriver2[FO\_CSUMB] Connecting -\> Disconnected  
(D) 9:57:10 AM ModbusDriver2[FO\_CSUMB] Releasing connect permit.  
(D) 9:57:10 AM ModbusDriver2[FO\_CSUMB] Error during connect.

java.net.ConnectException: Connection timed out: connect  
at java.net.PlainSocketImpl.socketConnect(Native Method)  
at java.net.PlainSocketImpl.doConnect(Unknown Source)  
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)  
at java.net.PlainSocketImpl.connect(Unknown Source)  
at java.net.SocksSocketImpl.connect(Unknown Source)  
at java.net.Socket.connect(Unknown Source)  
at com.inductiveautomation.xopc.driver.api.SocketIODelegate.connect(SocketIODelegate.java:76)  
at com.inductiveautomation.xopc.driver.api.AbstractIODelegatingDriver.connect(AbstractIODelegatingDriver.java:21)  
at com.inductiveautomation.xopc.driver.api.AbstractDriver$5.run(AbstractDriver.java:589)  
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)  
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)  
at java.util.concurrent.FutureTask.run(Unknown Source)  
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source)  
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)  
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)  
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)  
at java.lang.Thread.run(Unknown Source)  
less  
[/quote]

What does this mean?

---

<div class="post-metadata">

**Author:** ![Dravik](https://avatars.discourse-cdn.com/v4/letter/d/e274bd/32.png) [@Dravik](https://forum.inductiveautomation.com/u/Dravik)\
**Post date:** [August 15, 2013, 5:15pm UTC](https://forum.inductiveautomation.com/t/modbus-tcp-connection/6865/4 "2013-08-15T17:15:01Z")

</div>

```auto
ava.net.ConnectException: Connection timed out: connect
```

Means the Ignition box couldn’t open a connection to whatever ip:port you have configured. Verify you can ping the device from the Ignition box, then if that’s successful try using something like  
[http://www.chipkin.com/technical-resources/cas-modbus-scanner/](http://www.chipkin.com/technical-resources/cas-modbus-scanner/) to verify modbus connectivity to/from the device.

---

<div class="post-metadata">

**Author:** ![cacordova](https://avatars.discourse-cdn.com/v4/letter/c/bbce88/32.png) [@cacordova](https://forum.inductiveautomation.com/u/cacordova)\
**Post date:** [August 15, 2013, 6:00pm UTC](https://forum.inductiveautomation.com/t/modbus-tcp-connection/6865/5 "2013-08-15T18:00:27Z")

</div>

Yes I can ping the device from cmd and got a reply.

What ignition box?

---

<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:** [August 15, 2013, 6:05pm UTC](https://forum.inductiveautomation.com/t/modbus-tcp-connection/6865/6 "2013-08-15T18:05:33Z")

</div>

[quote=“cacordova”]Yes I can ping the device from cmd and got a reply.

What ignition box?[/quote]

He means Ignition gateway. The error message is saying a TCP connection can’t be made. It’s either a networking issue or the device (the actual device, not the device you set up in Ignition) isn’t configured correctly or responding.
