performance_optimization
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
performance_optimization [2018/12/10 12:00] – [Pause] emozolyak | performance_optimization [2021/01/16 09:54] – [General rules for optimizing your projects] emozolyak | ||
---|---|---|---|
Line 109: | Line 109: | ||
-Increase the speed of exchange on the RS-485, RS-232 buses. The speed of 9600 is too slow for a lot of data. We recommend selecting a speed of 115200 and higher. | -Increase the speed of exchange on the RS-485, RS-232 buses. The speed of 9600 is too slow for a lot of data. We recommend selecting a speed of 115200 and higher. | ||
-If there are a lot of registers and not all need to be polled in each cycle, then you can specify a larger poll interval for less important registers. This will offload the system and data buses. | -If there are a lot of registers and not all need to be polled in each cycle, then you can specify a larger poll interval for less important registers. This will offload the system and data buses. | ||
+ | |||
+ | ===== General rules for optimizing your projects ===== | ||
+ | |||
+ | At the time When the webhmi was , | ||
+ | |||
+ | -Use screens wherever is possible for visualisation, | ||
+ | -Avoid using bulky DASHBOARDS (too rich in elements, having heavy-weight pictures etc. ), " | ||
+ | -Avoid using many scripts (like dashboards scripts or upon change value scripts). The better way is using a few big scripts or scripts with libraries | ||
+ | -Run scripts upon changing value, minimize the number of scripts, running in each scan | ||
+ | -Minimize " | ||
+ | -Group register to read on external device and use group reading. | ||
+ | -Set appropriate timeout and tries in external connections | ||
+ | -Organize and set different reading periods for variables. | ||
+ | -Use event communication. | ||
+ | -Set appropriate screen refresh time. | ||
+ | -Keep the number of open tabs minimal for the current sessions. If you need multiple tabs, use auto-close session checkbox to prevent unattended access. | ||
+ | -During development, | ||
+ | -Avoid making simultaneous changes at once, like turning OFF-ON many regs, connection, scripts etc. Use save & apply feature of the latest fw. (apply all changes at once, instead of creating a queue for changes..) | ||
+ | -Minimize logging many registers to DB, set appropriate log speed for them. | ||
+ | -Keep the number of registers in the project below 2-3K | ||
+ | |||
+ | <code lua> | ||
+ | function UpdReg(reg, new_value) | ||
+ | local cur_value = R(reg) | ||
+ | | ||
+ | if (not cur_value) or (cur_value == new_value) then | ||
+ | return | ||
+ | else | ||
+ | W(reg, new_value) | ||
+ | end | ||
+ | end | ||
+ | </ | ||
performance_optimization.txt · Last modified: 2023/05/03 08:54 by emozolyak