|No. 1726||Re: no subject||2020-05-19|
Dear Irfan Fachrudin Priyanta,
This is Khanh of Sollae Systems' Technical Support Team.
Thank you for using our products.
Our Modbus gateway devices are dedicated to convert Modbus RTU/ASCII to Modbus TCP and vice versa where Modbus Master and Slave interact with eath other.
The devices follow the Modbus specification strictly. Therefore it can not be used as a sniffer.
To be specific, after SMG-5420 receives and converts a Modbus/RTU request from Serial to TCP, it waits for Modbus/TCP response from (TCP).
Since your sniffing program does not send any response, it waits until the timeout occurs.
During the waiting time, it does not convert any Serial to TCP frame.
That is because the Modbus/RTU specification (in serial) specifies that the master initiates only one MODBUS transaction at the same time. See page 7 of Modbus Specification. The zero timeout is impractical.
For better customer support, we will consider to add your application case to our devices feature. We will inform you if we decide to add this feature.
I hope the above is useful to you.
Please feel free to contact me if you need any further information.
> Irfan Fachrudin Priyanta wrote:
> Dear Sir/Madam,
> I have purchased a Modbus Gateway SMG5420 for our project in Germany. This module is applied to sniff or listen to a communication between an HMI and an I/O module. The communication between them is a Modbus RTU protocol. The module is located in between this RTU communication. In this use-case, the SMG5420 acts as the TCP client and my software in TCP side is a TCP server. The setup is shown as in the attached picture.
> I have used another Modbus gateway module (different brand) and my software (TCP server) is able to receive 40-50 packet data in a second. But when I used the SMG5420 using the same software, the propagated packets are only 5 packets within a second from SMG5420 module to my software. I suspected that because of the Timeout setting that can not be set to "0" ms, it can only be set to a minimum of 200 ms. Therefore the received packets are only 5 packets. Because in another module, this timeout parameter can be changed to 0 ms. Hence, my software can receive complete packets.
> So my question is, is it possible to change the timeout parameter to 0 ms? Because I have tried several times to change but it kept persisting to become 200 ms.
> I am looking forward to hearing from you.
> Best Regards,
> Irfan Fachrudin Priyanta