Is the STOP TIME of the controller allways > 0ms in a warm restart ?
System versin 5.0.
I have a controller (will call C1, it is an AC800M PM866) running with:
- Total cyclic load: 83%
- Cyclic load: 49%
- Used memory: 43%
- Last Stop time : 1490ms
The problem is when I perform a warm download, the total cyclic load goes to 100% for almost 5 minutes and the stop time remais between 1.5 s.
This is not good: I have another controller (C2) that reads MMS variables from this controller. When I perform a downlaod, C1 stops by 1.5s and the variable that C2 is reading by MMS goes to 0 during the stop time, interlocking the process in the C2.
When I do changes in the application (not in the hardware) and download it:
- What is the normal behavior of the System Diagnosics properties (total cyclic load, cyclic load, stop time)?
- Total system Load always reaches the 100%? (if yes, how much seconds in generally?)
- Stop Time always is grathen then 0 for any changed application downlaod?
For this reason I intend to split the application in 3, but before this, I woul like to know what expect for the result of the split.
Standard Q: Whats the exact version of your system and controller fw?
First, I would check the release notes, if there are possible upgrades related to this or similar issues.
Secondly, the applications memory usage (has to be < 50%); if possible split your application into two or several. This will result in less strain when you download changes (smaller part to download) and might help your situation. The effort is to separate data, functionality etc.
Third, if you use serial communication (CI, CN3 etc), it could be an issue of controller having to wait while flushing of serial ports, before beeing able to start swapping downloaded applications.
Forth, survey your task settings, adjust scantimes, overlaps, reduce interrupts etc.
Fifth, if you are using OPC, check client behaviour for low scantimes or asynchronous operations.
Thats the general overhaul, having said this, the specific is to examine the CB and controller logs.
Regarding C2 receiving erroneous data, I would build a error-handling logic round the MMS read block to prevent this behaviour.
1,5s stop time of PM866 is really too long. It sounds like there are lot of constants in Application defined as retain variables - in other words variables red only, not written.
Try to redefine attribute of these variables to "constant" or better "constant hidden".
Try to add attribute "hidden" to all variables which are not used in HMI. It will help to reduce load caused by OPC server of 800xA. This should be applied for example at External variables of Control modules, if these external variables are not addressed by HMI. Also if some user defined Function blocks are used, check whether their internal variables have attribute "hidden".