Пример скрипта
Добрый день!
Будьте добры, напишите пример скрипта Pascal который бы в определенное время (например в 9-00 и 21-00 того же дня) брал значение определенного канала из архива базы данных и записывал вирт. канал, функция GetHistory как я понимаю
Спасибо!
Будьте добры, напишите пример скрипта Pascal который бы в определенное время (например в 9-00 и 21-00 того же дня) брал значение определенного канала из архива базы данных и записывал вирт. канал, функция GetHistory как я понимаю
Спасибо!
У нас 4-е линии производства обоев, на каждой линии установлен Счетчик импульсов СИ8, который считает метраж используемой бумаги, персонал линий (печатники ) работают сменно с 9-00 по 21-00 и с 21-00 по 9-00, нужно вывести значения одно с 9-00 по 21-00 сколько истратилось бумаги, второе - 21-00 по 9-00 сколько истратилось бумаги. Представляю себе это так - запоминаем значение тега "показания счетчика" в 9-00 текущего времени далее запоминаем значение в 21-00, производим вычитание , получившийся результат записываем в вирт. канал (записанное значение хранится(остается неизменным ) до 21-00 следующего дня). Тоже самое с 21-00 по 9-00 только вычитание и запись (в другой вирт. канал) производится в 9-00 текущего времени.
Ответ:
Можно попытаться решить минуя архив, а сохраняя промежуточное значение в глобальной переменной….
Пример:
var
Hour, Min, Sec, Milli, Res : Word;
value, value1: double;
begin
DecodeTime(Now, Hour, Min, Sec, Milli);
// самое простое что можно сделать
Res := Hour + (Min * 100);
case res of
9: begin
value := ReadValue('Канал счетчика');
SetGlobalVar('VAL9', value, true);
end;
21: begin
value := ReadValue('Канал счетчика');
value1 := GetGlobalVar('VAL9');
WriteValue('Канал для показаний', value - value1);
end;
end;
end.
Большое спасибо!