This is perfectly normal operation. The controller scan is made up of two parts: the configuration loop and the background tasks.
1. The configuration loop consists of the user’s configuration (function blocks, ladder logic, structured text, sequential function charts). It is the time it takes 4-mation to scan from cell A1 to cell AF32 on the resource sheet (e.g., PROG_T).
2. The background tasks contain all controller communications (responses from communication block requests and presentation block requests from other resources, requests from APIs, HMIs, 4-mation, etc.). They are performed during the time left over between the configuration and the start of the next scan (e.g., SCAN_RATE - PROG_T).
Each background task is limited in the number of messages or requests it can process in each scan. Each background task does not consume the same amount of time, and there are multiple background tasks executed each scan. The user is guaranteed the execution of one program loop and two background tasks during each scan. If the time required to run this guaranteed minimum execution exceeds the scan time, a scan overrun will result. If the scan time is greater than the guaranteed minimum execution, the background loop will be run again and again until the scan time lapses. If while the background loop is repeating there are no messages or requests to process, the time is considered idle. If the user increases the SCAN input of the RSCSTAT function block, it is probable that the PCTCOM output will also increase not decrease. This is because the controller repeats background loops when more scan time is available. Since the background loops are being executed in this new additional scan time, and the program time stays the same, the percentage of background time PCTCOM increases while the PCTPROG decreases.
RJP