Data polling with Modbus TCP Protocol

Hello,

I am setting up EWON Fley205 to read data from a device with Modbus TCP protocol. I can confirm that the EWON and device are in the same IP range and I followed the pdf to setup Modbus IO server and Tag syntax. However, the tag qualities are bad with no communication. The event log shows “error 22310 smbs-Read TCP header failed”. I found three threads with the same error code but they are not very helpful to solve the problem.

I am able to read the tag with labview Modbus library so I think the device can be visited via Modbus TCP protocol. ModScan can create the connection to the device but doesn’t show any response from the slave/server. I am confused about the conflicting observation from different sources and appreciate your recommendation.

Thank you,
Tony

Update:

I am able to figure out the issue with ModScan and make it work. The issue was that some memory locations read by ModScan do not exist and that’s why there is no response from the slave/server. Once I put in the right data location it works.

HOWEVER, even if I use the correct data location, EWON Flexy still cannot read the tags with the same error 22310 smbs-Read TCP header failed.

In summary, I can read data with ModScan and Labview, but not with Flexy205.

Thanks,
Tony

Hello,

Can you run put a switch in between the PLC and Flexy, and use port mirroring to generate a Wireshark trace?

I would like to see the Packet information that the Flexy is receiving. This can show what possible Header is being used that could cause that error.

Kevin,

Thanks for the suggestion. I will find a managed switch and generate the Wireshark trace.

Just a quick clarification that the device I am trying to poll data from is NOT a PLC. It is a metal detector with Modbus TCP communication module. I think the module works as I can poll the data with ModScan and Labview.

If this clarification affects your suggestion, please let me know. Otherwise I will stick to the plan.

Thank you,
Tony

Hello,

My apologies on the confusion. The device type doesn’t make much of a difference. The protocol would be the same.

Hi Kevin,

No worries. I got some traffic history using port mirroring and Wireshark and attached the file below. Please let me know if this works or not.
Quick explanation on the IP address:
Modbus TCP device: 10.1.35.160
EWON Flexy205: 10.1.35.210
Laptop with Wireshark: 10.1.35.208

Thank you,
Tony

Hello,

I am not sure if the traffic file was attached to the previous post successfully. Please see it below.
Modbus Flexy205.pcapng (107.6 KB)

Thank you,
Tony

Hello it did post.

I am reviewing it now

Can you pull a backup with support files as well?

I would like to review the configuration.

Of course. Please see attached.
MOVED TO STAFF NOTE (194.5 KB)

Hi Kevin,

Just want to get in touch quickly and see if you find any potential root cause for this communication issue. If you need any other information please let me know. Thank you for the support.

Tony

Hello,

I am reviewing this issue now. I do hope to give an update as soon as possible.

-kevin

Hello,

We have been stuck in this problem for over a week. I appreciate if you can review the issue and provide an update ASAP. Thanks for your support.

Tony

Hello,

I apologize for the delay, as this does error does not specifically show what the problem may be.

I reviewed the error logs, and with some discussion with my peers, found that the query does not get a response from the Modbus side. Can you try reading a single register instead of multiple? It could be the reading multiple registers is not supported for that modbus device.

Hi Kevin,

Thanks for the analysis. I doubt it is caused by multiple registers because I can read them with ModScan.
I tried your suggestion with single register but it still failed. I attached the following information: (1) copy of EWON file, (2) traffic from Wireshark and (3) two snapshot pictures of ModScan.
The ModScan and EWON runs separately because Modbus doesn’t allow 2 clients.
Thank you,
Tony

MOVED TO STAFF NOTE (161 KB) WiresharkEWONMODBUS01202022.pcapng (5.5 KB) ModScan setup

Hello,

Based off the wire capture, it looks that you are sending the data Device Address 2. However, in the Modscan utility you have your device address set to 1.

Can you update the IO server information, and check the connection?

Would it be possible that you could create a login for me for eCatcher, so that i can remote into the machine?

Hi,

It is indeed caused by Device address. Thanks a lot for pointing it out. Now the communication and data collection works.

Tony