Issue
A VIP configured with Modbus Slave Modules repeatedly goes stale and stops responding to Modbus polls. Trying to restart the ION Virtual Processor Service for the VIP causes it to get stuck in the "Stopping" state. An error message shows in Management Console > System Log Events: "Subscription watchdog caught 'Real Time Data Proxy did not respond on time."
Product Line
Power Monitoring Expert 7.x
Power Monitoring Expert 8.x
Power Monitoring Expert 9.0
Power Monitoring Expert 2020
Power Monitoring Expert 2021
Power Monitoring Expert 2022
Environment
VIP Modbus Slave
Cause
A software component connection error occurs, requiring the VIP to be restarted.
Resolution
Upgrade Power Monitoring Expert (PME) to the latest version. The issue no longer occurs on version PME 2023 or later.
Until PME can be upgraded, the following workaround can be implemented to automatically force restart the VIP when it goes stale:
1. Select or create another VIP with no other modules (or at least no Modbus Slave Modules). This selected VIP will be used to automatically monitor and force restart the other VIP that is going stale. If needed, refer to this article for how to create a new VIP.
2. Open Services > right-click the ION Virtual Processor Service (for that selected VIP) > Properties > Log On > check the box for Local System account
3. Create a .txt file using Notepad and save with the following text, replacing VIP.Modbus_Slave (2 instances) with the name of the VIP that is going stale.
taskkill /F /FI "SERVICES EQ PMLVIP_VIP.Modbus_Slave"
NET START PMLVIP_VIP.Modbus_Slave
4. Change the file type to .bat
5. In Designer, open the selected VIP (not the VIP that is going stale).
6. Add a Data Monitor Module with its input linked to an output register of a module in the VIP that is going stale
7. Set the Data Monitor Module Duration to 60 seconds (or some other interval)
8. Add a Launching Module, link the Trigger output of the Data Monitor Module to the Launch input of the Launching Module
9. Set the Launching Module RunCommand to the path of the batch file
6. Test the configuration by manually stopping the ION Virtual Processor Service for the VIP that is going stale. After the duration in the Data Monitor Module finishes, it should execute the batch file to restart the service automatically.
Note: When PME is upgraded to version 2023 or later, the configuration added using the above steps can be removed. However, an additional step will need to be followed to ensure continued VIP Modbus Slave functionality in the new version:
- Right-click on each ION Virtual Processor Service (corresponding to a VIP with Modbus Slave Modules) > Properties > change the Startup Type to "Automatic (Delayed Start)"
- This has the VIP start after the licensing service starts (which is the ION Application Modules Provider Engine Host) so it recognizes the Data Exchange Module and keeps its Modbus Slave Modules active