How can you increase the performance of HMI devices?
Through continual innovation the performance of controllers has increased by five to ten fold in the past three years. The cycle times of the controllers became increasingly shorter. The cycle times of the S7-300 controllers, for example, now frequently lie between 9ms and 16ms.
The time left for the CPU to communicate with the HMI devices is therefore becoming ever shorter, because only a certain percentage of the total cycle time is available for communication. The percentage of the time the CPU uses for communication is a minimum of about 3.5% of a cycle time of 15ms.
The FC630 function is for improving the performance of HMI services. An SFC is called in the FC630, which increases the time assignment for the HMI services according to the value of the parameter TSx:
- TSx = 0: restores the initial status
- TSx = 1: default setting
- TSx = 8: increases the CPU cycle time by approx. 50%
The TSx value increases the CPU cycle time by 6.25% per unit.
Evaluation of RET_VAL:
- 0000: no error, time factor is valid and accepted.
- 800x: error, the block must be restarted.
The valid factor is effective without any further modification until the power is switched off.
The "HMI" task
The CPU program is executed in different tasks ("subprograms"). In the "HMI" task, the CPU communication with the HMI devices is controlled by the operating system (data acquisition, data processing, data transfer and data fetching). The "HMI" task has a certain portion of the cycle time allotted to it. If this time expires, the "HMI" task is interrupted and the CPU continues with its cyclic program processing. The "HMI" task can be interrupted by higher-priority tasks. Higher-priority tasks include time interrupts and delay interrupts, for example.
The FC630 cannot be used in S7-400 CPUs because there is not the requisite firmware support. Furthermore, HMI response times cannot be shortened because the "HMI" task already has the second highest priority in the S7-400 CPUs.
Difference between FC630 and the setting in the CPU properties (cycle load through communication)
In the CPU properties there is also the "Cycle load through communication" parameter. This parameter only affects the CPU message traffic. The FC630 comes into effect early on at data acquisition and in processing the data, which is why the S7-300 CPU's cycle time can greatly extend itself if the FC630 is not handled properly.
Bus protocols for which you can use the FC630
You can use the FC630 for communication via
Requirements before using FC630
Since incorrect use of the FC630 can lead to malfunctions, in particular the CPU cycle time might increase enormously, you should check the following before using the FC630.
- How high are the cycle times of your CPU? It is particularly useful to operate with cycle times of between 9ms and 16ms, because the percentage of the time used for communication is a minimum of about 3.5% of a cycle time of 15ms. The percentage of the time used for communication with a cycle time of about 32ms is again a minimum of approx. 4.8%. This is why it is useful to implement the FC630 also with cycle times of between 25ms and 32ms. It is not generally useful to implement the FC630 for cycle times greater than 50ms. However, whether or not it is useful to implement the FC630 always depends on your system (number of HMI devices, number of tags polled ...).
Via STEP 7 under "PLC > Diagnostics/Setting > Module status > Cycle time" you can read out of your module the longest, shortest and current cycle time since transition from STOP to RUN.
Via the local data of the OB1 you can also read out the runtime of the previous cycle, the minimum cycle time since the last start and the maximum cycle time since the last start.
- Are there time critical subprocesses in the system that do not permit an increase in cycle time? If this is the case, you can also check whether the time critical subprocesses could be controlled via a cyclic interrupt. You should note here that cyclic interrupts interrupt the "HMI" task when called and thus influence HMI performance.
You can implement the FC630 function with S7-300 CPUs and C7 devices. Whether the FC630 can be implemented depends on the CPU type and the firmware version. The function described is valid for the CPU-31x modules as from firmware versions V2.3.2, V2.1.6 and V2.0.10.
The FC630 can also be used for the CPU319-3 PN/DP modules as from firmware version V3.2. However, the firmware version V3.2 contains an improved HMI Turbo that only works for the acyclic HMI services.
- This does not speed up the cyclic HMI services, so the FC630 continues to be need to improve performance.
- The new function - "Prioritized OCM communication" - has been introduced in all devices as from firmware version V3.2, but it can only be configured in the CPU315F-2 PN/DP modules onwards.
- The HMI Turbo is only hidden for the modules CPU312 to 315-2DP and can be configured with the new function FC2551.
More information about "Prioritized OCM communication" is available in Entry ID: 49749632.
The attached download contains an archived sample STEP 7 project with the FC630 described above. Use of the FC630 is described in detail in the document below.
Description_Performance_FC630 ( 93 KB )
Performance_FC630.zip ( 30 KB )
WinCC, ProTool, Panel, HMI, Operate, Monitor, Performance