Jump to content

Modbus TCP/IP Socket Connection

Recommended Posts

Emil, Cara, or anyone in R&D,

One of my biggest hurdles with the Unitronics product in general is Ethernet connectivity. For control architecture, we are pretty much limited to Modbus TCP/IP. On top of this limitation, we are then only allowed 4 concurrent socket connections. Since I commonly do projects with many nodes of ethernet this makes Unitronics unsuited for projects that in all other facets it would have been more than capable of.

I have been lobbying for the adoption of either the addtion of more sockets, or EthernetIP for some time now. Either one of these solutions would effectively overcome the issue.

Last year about this time I did quite a bit of experimenation with "socket sharing". Basically instead of dedicating a socket to one device the socket would be opened and closed to sequentially establish connections to many devices. What this experimentation showed was that it takes an eternity for the V570 to establish a socket connection in comparison to how long it takes to actually transmit data once the connection has been established. In "real" numbers I found that with no artificial time delays added, it took about 100ms for the Uni to establish the connection regardless of what my slave device was. Therefore if I have say 4 devices on one socket, I am looking at close to a half second update rate for data refresh. Completely untenable with machine running at sub second cycle times.

Recently, the thought has popped into my head, why does it take so awfully long for the connection to be established? So I did some reading to try and find out what is normal or expected. To my suprise, what I found was there doesn't appear to be a good reason for it taking so long. Some documentation suggested that socket connections could be established at the sub millisecond level. Even if we were up around the milisecond level, that is still plently of time to handle socket sharing in the ladder and achieving acceptable performance.

Soooooo ...... I guess what I am doing is requesting the R&D department to look into their TCP/IP code to see if anything could be done to decrease the socket connection times. My suspicion is there are a series of conservative time delays built in to account for connecting to "slower" devices. Maybe they are parameters that could be made variable or part of the Modbus IP Cofig block so that we can refine the values to better suit our individual needs. Or possibly there are just delays that simply don't need to be there at all and since the code works noone has bothered to question it.

At least in my case, it would go along way towards helping me use Unitronics on more projects.



Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...