Ok, so I think I’ve got a good system set up now. Here’s what I did.
I was really only using the read multiple registers and write multiple registers commands, so there were only 3 subroutines to modify and the change is only slight. On the red “Open Failed” script block, I added “nStatus = -303;” because before, it only said //Open Failed, so you’d have no variable to tell you it ended at that block. Now I can tell when that block goes to -303, that we failed to open comms.
Then, on the modbus manager chart, I set up the read, and write commands in script blocks with if/then statements around each command. So for every comms command, it will only perform the command if the nStatus is 0, indicating everything is still ok. Once we get a failure, that status will be -303 or -216 and it will skip the commands. Then the operator will see the fault on the HMI in PAC Display, so they’ll have to clear all faults when they go to start that equipment back up. But that’s easy to do in one button.
I have done too many of these plants to assume that the operators will remember to click on something to set the VFD in “out of service mode” or something, so my controls have to be written for pretty hands off operation. This one is going to Bali, so if I have to troubleshoot, it can be pretty tough, and will likely be in the middle of the night for me!