Всем здравствуйте.
С ОРС сервера скада подтягивает тег DiscreteInputCount0_8. Это обыкновенный счётчик, он постоянно накапливает значение. Так же есть поле ввода числа для калибровки Field_Calibrate_VNS8, поле где нужно выводить с калиброванное число Field66 и переменная, которая в себе хранит собственно это с калиброванное число DiscreteInputCount0_8_GeneralQ.
Реализовать такую штуку у меня получилось крайне неправильно и костыльно. Для калибровки значения оператор должен был ещё производить некие вычисления у себя на бумажке и нужное число вписать в поле Field_Calibrate_VNS8, но калибровка на то и калибровка, что оператор должен ввести число 54749273 и это число должно вывестись в поле Field66 + учитывать НОВЫЕ значения счётчика, то-есть счётчик имеет число (тег DiscreteInputCount0) 54749273, но скада была выключена и счётчик намотал 54749856, оператор вводит число в поле калибровки 54749856 и заодно скада должна учитывать новые данные со счётчика уже, то-есть 54749857, 54749858, 54749859 и т.д. то-есть от введённого числа калибровки продолжить считать. Также ежемесячно оператор должен писать 0 в поле для калибровки, и скада должна обнулить счётчик в 0, но обнулить свой тег DiscreteInputCount0_8_GeneralQ (потому что тег с ОРС сервера обнулить невозможно) и с нуля учитывать новые вхождения значений от счётчика, то-есть 0, 1, 2...и до какого-то 8763452394 числа пока снова оператор не обнулит счётчик