I'm following up on an issue that I've been having for some time, where a particular MRX instruction will repeatedly fail - usually until a physical power cycle of the PLC. This happens about once a month, and finally I was able to do some troubleshooting while it was occurring.
The basic outline of the program is:
---Stage 0---
Init variables
Goto Stage 1
---Stage 1---
MRX for Inverter 1
If successful, go to stage 2
If not successful, go to stage 9
---Stage 2---
MRX for Inverter 2
If successful, go to stage 3
If not successful, go to stage 9
---Stage 3---
1 second timer to go back to stage 0
---Stage 9---
Set error flag, 30 second timer to go back to stage 0
When the issue is happening, the program will pause on Stage 1, and then go to an error condition.
SysInfo shows ST143 is set with "Operation timed out...in SOLAREDGE_MODBUS @ 14" (see attached pic). This line is the equivalent to Stage 1.
Some other info:
1. This PLC also communicates with various other MODBUS units (similar MRX instructions) and these never have a problem
2. When the issue is occurring, I can use a separate MODBUS program to read the parameters from Inverter 1 successfully
3. I'm not sure if it's coincidental, but I noticed a "reboot following HW watchdog timeout" occurred before the communication errors started (see attached pic)
4. In addition to power cycling the PLC, I found another way to correct the problem when it's happening:
Modify the program so that Stage 0 goes to Stage 2 instead of Stage 1; write the program change; then change the program back so that Stage 0 goes to Stage 1 and write the program again. Now it works fine. It's almost like just "releasing" the device fixes the problem.
Any idea what might be going on? Or how I can get some more troubleshooting info when it's happening?
Thanks.