Posted: 2021-06-29 02:28 AM
I would like some advice.
Occasionally, a communication error occurs between the customer's system and the PM8240 in Modbus TCP communication.
In order to find the cause of this communication anomaly, I would like your advice on the following.
(1)What are the consequences if "Keep Alive" is not successful?
For example, After a keep-alive is unsuccessful, does it stop responding to requests from the Master's side?
(2)If the Modbus TCP timeout is set to "0" and the keep alive is not successful, will the PM8240 disconnect the communication connection?
Hello @Miyai ,
Questions are not quite as simple as you might like. First the easy question, Modbus TCP timeout is for outbound connections, where the meter is initiating the connection (Modbus Master). This will no affect inbound connections from customer's system to the meter.
What are the consequences if "Keep Alive" is not successful?
This in part depends on what is happening on the other side of the meter, network routers, fire walls, system settings etc. Some networks will block/close a connection if there is no activity. There is no single answer I can give to this question.
Having a packet capture software like Wireshark can be helpful with troubleshooting. Ideally the switch would be programmed to port mirror/forward all messages to/from the meter to a second port on the switch where a computer could be setup to capture the traffic. Not always practical to have a laptop running for days.
The meter also supports Telnet/SSH (depending on firmware), if you connect to the meter via terminal, you could send commands to the meter to return current connection status. This could help determine if meter thinks there is still a connection or not. I believe the command is "EDS" (without quotes).
Thank you for advice.
I would like to understand about the basic operation of the PM8240 before I test it on a wire shark.
After the PM8240 sends keep alive, If there is no response from the customer system, will the PM8240 disconnect communication?
Does it send out a "Fin" unilaterally?