• R
    rob987

    Hi,

    I am using Mango 3.5.6 modbus tcp to poll a solaredge inverter, and I have bursts of "No recipient" errors. For example on the 26th march, there were 240 errors, over 9 bursts. The times seem to be random, with minutes or hours between errors.

    When I first added the inverter I set the poll time to 1 second and the errors were in the thousands, but I have reduced it to the hundreds by extending the poll time to 2 seconds, and the timeout to 1500mS. This seems a long time for an TCP modbus request timeout.

    2019/03/22-21:06:35,347 1553252795347 data source started
    2019/03/22-21:06:35,389 O 000100000006010300530002
    2019/03/22-21:06:36,390 O 000100000006010300530002
    2019/03/22-21:06:36,473 I 00010000000701030400000000
    2019/03/22-21:06:36,473 O 0002000000060103005d0003
    2019/03/22-21:06:36,553 I 00010000000701030400000000
    2019/03/22-21:06:37,342 I 00020000000901030600697e020000
    2019/03/22-21:06:37,342 O 000300000006010300ce0001
    2019/03/22-21:06:37,423 I 000300000005010302fd9b
    2019/03/22-21:06:37,423 O 000400000006010300d20001
    2019/03/22-21:06:37,685 I 0004000000050103020000
    2019/03/22-21:06:37,685 O 000500000006010300e20002
    2019/03/22-21:06:38,129 I 0005000000070103040040b993
    2019/03/22-21:06:38,129 O 000600000006010300ea0002
    2019/03/22-21:06:38,996 I 0006000000070103040043a19f
    2019/03/22-21:06:38,997 O 000700000006010300f20001
    2019/03/22-21:06:39,400 I 0007000000050103020000
    2019/03/22-21:06:41,388 O 000800000006010300530002
    2019/03/22-21:06:42,003 I 00080000000701030400000000
    2019/03/22-21:06:42,004 O 0009000000060103005d0003
    2019/03/22-21:06:42,084 I 00090000000901030600697e020000
    2019/03/22-21:06:42,085 O 000a00000006010300ce0001
    2019/03/22-21:06:42,629 I 000a00000005010302fd9a
    2019/03/22-21:06:42,629 O 000b00000006010300d20001
    2019/03/22-21:06:43,356 I 000b000000050103020000
    2019/03/22-21:06:43,356 O 000c00000006010300e20002
    2019/03/22-21:06:44,356 O 000c00000006010300e20002
    2019/03/22-21:06:44,526 I 000c000000070103040040b993
    2019/03/22-21:06:44,526 O 000d00000006010300ea0002
    2019/03/22-21:06:44,607 I 000c000000070103040040b993
    2019/03/22-21:06:44,709 I 000d000000070103040043a1a0
    2019/03/22-21:06:44,709 O 000e00000006010300f20001
    2019/03/22-21:06:44,810 I 000e000000050103020000
    2019/03/22-21:06:45,387 O 000f00000006010300530002
    2019/03/22-21:06:46,364 I 000f0000000701030400000000
    2019/03/22-21:06:46,364 O 0010000000060103005d0003
    2019/03/22-21:06:46,445 I 00100000000901030600697e020000
    2019/03/22-21:06:46,445 O 001100000006010300ce0001
    2019/03/22-21:06:47,312 I 001100000005010302fd97
    2019/03/22-21:06:47,313 O 001200000006010300d20001
    2019/03/22-21:06:47,413 I 0012000000050103020000
    2019/03/22-21:06:47,414 O 001300000006010300e20002
    2019/03/22-21:06:48,261 I 0013000000070103040040b993
    2019/03/22-21:06:48,261 O 001400000006010300ea0002
    2019/03/22-21:06:49,262 O 001400000006010300ea0002
    2019/03/22-21:06:49,351 I 0014000000070103040043a1a1
    2019/03/22-21:06:49,351 O 001500000006010300f20001
    2019/03/22-21:06:50,352 O 001500000006010300f20001
    2019/03/22-21:06:50,945 I 0014000000070103040043a1a1
    2019/03/22-21:06:51,048 I 0015000000050103020000
    
    

    I logged the IO when I first added the inverter, and noticed there are two I or O lines together.

    The time between the errors appears to be random

    26/3/2019	 5:47:48 AM	'SE5K': com.serotonin.modbus4j.exception.ModbusTransportException: java.net.SocketTimeoutException: connect timed out 
    26/3/2019	 9:39:24 AM	'SE5K': Exception from modbus master: No recipient was found waiting for response for key com.serotonin.modbus4j.ip.xa.XaWaitingRoomKeyFactory$XaWaitingRoomKey@93a5 
    26/3/2019	 9:39:26 AM	'SE5K': Exception from modbus master: No recipient was found waiting for response for key com.serotonin.modbus4j.ip.xa.XaWaitingRoomKeyFactory$XaWaitingRoomKey@93a6 
    26/3/2019	 10:09:57 AM	'SE5K': Exception from modbus master: No recipient was found waiting for response for key com.serotonin.modbus4j.ip.xa.XaWaitingRoomKeyFactory$XaWaitingRoomKey@ac78 
    26/3/2019	 10:10:02 AM	'SE5K': Exception from modbus master: No recipient was found waiting for response for key com.serotonin.modbus4j.ip.xa.XaWaitingRoomKeyFactory$XaWaitingRoomKey@ac7d 
    26/3/2019	 10:10:15 AM	'SE5K': Exception from modbus master: No recipient was found waiting for response for key com.serotonin.modbus4j.ip.xa.XaWaitingRoomKeyFactory$XaWaitingRoomKey@ac84 
    26/3/2019	 10:10:21 AM	'SE5K': Exception from modbus master: No recipient was found waiting for response for key com.serotonin.modbus4j.ip.xa.XaWaitingRoomKeyFactory$XaWaitingRoomKey@ac8c 
    26/3/2019	 10:10:28 AM	'SE5K': Exception from modbus master: No recipient was found waiting for response for key com.serotonin.modbus4j.ip.xa.XaWaitingRoomKeyFactory$XaWaitingRoomKey@ac92 
    26/3/2019	 10:10:34 AM	'SE5K': Exception from modbus master: No recipient was found waiting for response for key com.serotonin.modbus4j.ip.xa.XaWaitingRoomKeyFactory$XaWaitingRoomKey@ac96 
    26/3/2019	 10:10:53 AM	'SE5K': Exception from modbus master: No recipient was found waiting for response for key com.serotonin.modbus4j.ip.xa.XaWaitingRoomKeyFactory$XaWaitingRoomKey@aca1 
    26/3/2019	 10:11:01 AM	'SE5K': Exception from modbus master: No recipient was found waiting for response for key com.serotonin.modbus4j.ip.xa.XaWaitingRoomKeyFactory$XaWaitingRoomKey@aca8 
    
    

    Mango is also polling an Automation Direct Click PLC via modbus, and has never reported any errors.
    From the system status page

    SE5K previous sequential successful polls 	1
    SE5K last poll duration 			                        531
    SE5K poll success percentage 			        99.24194567277321
    ClickPLC previous sequential successful polls 	-1
    ClickPLC last poll duration 			               63
    ClickPLC poll success percentage 		      100
    
    

    I take it the poll duration is milliseconds? Mango can ping the inverter in 0.6mS

    robert@mango:/opt/mango/logs$ ping se5k
    PING SE5K.nixtec.net (10.11.21.253) 56(84) bytes of data.
    64 bytes from SE5K.nixtec.net (10.11.21.253): icmp_seq=1 ttl=62 time=0.672 ms
    64 bytes from SE5K.nixtec.net (10.11.21.253): icmp_seq=2 ttl=62 time=0.640 ms
    64 bytes from SE5K.nixtec.net (10.11.21.253): icmp_seq=3 ttl=62 time=0.628 ms
    
    

    Only 9 points are being polled in the inverter, (summary from device export)

    HOLDING_REGISTER	TWO_BYTE_INT_SIGNED	1	84
    HOLDING_REGISTER	TWO_BYTE_INT_UNSIGNED	1	83
    HOLDING_REGISTER	TWO_BYTE_INT_SIGNED	1	206
    HOLDING_REGISTER	TWO_BYTE_INT_SIGNED	1	210
    HOLDING_REGISTER	FOUR_BYTE_INT_UNSIGNED	1	226
    HOLDING_REGISTER	FOUR_BYTE_INT_UNSIGNED	1	234
    HOLDING_REGISTER	TWO_BYTE_INT_SIGNED	1	242
    HOLDING_REGISTER	FOUR_BYTE_INT_UNSIGNED	1	93
    HOLDING_REGISTER	TWO_BYTE_INT_UNSIGNED	1	95
    
    

    So my question is, is the problem / fault with Mango, or the Solaredge inverter?

    Thanks

    posted in Mango Automation general Discussion read more
  • R
    rob987

    Hi,
    Thanks for all the input. 247 errors yesterday (27/03/2019) on a cloudy rainy day, so the inverter does not rest :-),
    and devote more time to comms.

    The inverter is on a wired ethernet connection, with mango and the inverter on the wired LAN.

    I had "Contiguous batches only" ticked, as the inverter would not answer back when I first added it. I have now ticked it and reduced the max read registers to 50. The This is giving me 2 requests.

    2019/03/28-08:33:28,568 O 00230000000601030053000d
    2019/03/28-08:33:28,833 I 00230000001d01031a22e2ffff1384fffe2494ffff91d8fffedac6fffe006aeaf70000
    2019/03/28-08:33:28,834 O 002400000006010300ce0025
    2019/03/28-08:33:28,914 I 00240000004d01034a033b012300f7011f00000388012c011d01440000fe93ffb7ff73ff6a0000de17db9ee036de71fffe004162a600191f070015cec0001e39760044aaeb002c0006001e72c40005fcb80000
    
    

    What is the ,nnn after the date-time in the above log (2019/03/28-08:33:28,568). Is it mS timestamp of Java sending and receiving?

    Is there any way to have a poll period associated with a point.? The 2nd longer read is for kWh values, and could be read every 15 minutes. This might allow the instant power values to be read more frequently.

    I am using mango to read, and publish the values to a Click PLC, as I cannot get the Click to talk to the inverter. I used wireshark on the line, and I see the PLC send 3 SYN requests, and the inverter does not reply. I suspect it may be "to fast" for the inverter.

    No errors for 30 minutes, so maybe solved, but not fixed !!!!!!
    Thanks

    posted in Mango Automation general Discussion read more
  • R
    rob987

    Hi,
    Just reporting that no errors in the last 24 hours,
    I have the TCP with keepalive set, Comms was very unreliable with a new connection for each request.
    Now the forest of errors has disappeared, I notice I get a "Connect timeout" twice a day, about an hour after sunset, and an hour before sunrise. I suspect a quick fix for a leaky system, as the inverter reboots twice a day.

    The inverter only accepts one modbus connection at a time, so a second device is not an option.

    The instant power value swings very quickly, as clouds move accross the sky, and the fastest update time I can get allows he PLC to adjust the load on 2 x hot water system elements via SSRs. The kWh value is only really used to display "daily usage" of 15 - 30 kWh. It could be read every 15 - 30 minutes.

    I have a support request open with solaredge, and have sent then the wireshark logs of a working modpoll connection from a PC, and a PLC connection showing only 3 x SYN request. I will sent them my findings from this, but I will ask for a "stress test" on the next inverter I purchase.

    Thanks for all your help

    posted in Mango Automation general Discussion read more