MasterSCADA производит опрос архива ПЛК посредством OPC сервера HDA. Значение HDA - десятичное. Раскладываем его на биты и получаем дискретные значения(логическое состояние отдельных процессов записанных в архив ПЛК). Теперь задача записать в SQL архив отдельных дискретных значений с меткой времени изменения данных битов. В SQL 2 поля: время(берем время HDA переменной) и значение(значение отдельного дискрета после разложения). Время HDA тега изменяется при любом изменении HDA тега, а нам нужно отследить именно время изменения данного бита. Eсли не подавать сигнал "Выполнить" процедуре на запись в SQL, а просто выбрать запись "по изменению входов", то получаем кучу одинаковых значений с разным временем, или даже разные значения с одним и тем же временем. Нужен сигнал на запись в базу только при изменении логического состояния данного бита. Каким образом можно реализовать данный сигнал?
Также в дальнейшем потребуется тренд и/или таблица со всеми архивными значениями данных битов за заданный промежуток времени, например, сутки или месяц. Как это можно реализовать?