Scada-LTS
Scada-LTS copied to clipboard
Fix updating meta datapoint when delay is set
Describe the bug MetaDataPoint won't update its value when execution delay parameter is grater than update period of point on context. In addition, we observe an increase in the Scheduled work items pool in the Internal Data Source, although the Meta Data Source is not recalculated.
To Reproduce Steps to reproduce the behavior:
- Create Virtual datasource: update period - 1s, enabled
- Create binary datapoint: dp1, change type - no change, enabled, settable
- Create Meta Data Source: enabled
- Create meta data point: script context - dp1, script - return Math.random();, Update event - Context update, Execution delay - 2, enabled
- Save and go to watchlist
- metadatapoint doesn't change its value while dp1 is updating
Specification
- Version 2.7.*
Things to discuss when working on that issue:
- Graying out delay field for cron update type
- in watchlist and annotation table for points display time of value change plus delay execution time instead of time of event triggering change
- delay validation, delay execution time should be smaller than update time so we won't end up with infinite loop