Пример скрипта

Avatar
  • обновлен
Добрый день!
Будьте добры, напишите пример скрипта Pascal который бы в определенное время (например в 9-00 и 21-00 того же дня) брал значение определенного канала из архива базы данных и записывал вирт. канал, функция GetHistory как я понимаю
Спасибо!
Avatar
SIMP Tech (Сергей)
Добрый день!

Будьте добры, напишите пример скрипта Pascal который бы в определенное время (например в 9-00 и 21-00 того же дня) брал значение определенного канала из архива базы данных и записывал вирт. канал, функция GetHistory как я понимаю

Немного позже подготовим пример скрипта. Оставьте свою электронную почту для связи.
Avatar
Виталий
vitaltab@mail.ru
Avatar
Виталий
День добрый, ребят, забыли про меня? уж очень нужен пример скрипта, в довесок к этому появилась проблема опроса тегов. Тег счетчика импульсов СИ8. В редакторе каналов стоит время опроса 300мс в opc-сервере Овен стоит 10мс, после запуска монитора больше половины тегов (температура, давление, скорость и т.д.) с различных приборов какое-то время (мин 10, а бывает и больше) не обновляют свои значения а стоят перечеркнуты (нет данных), а показания счетчика СИ8 обновляются с периодичностью мин. 5, а бывает и все 10. Выводил данные через Owen Process Manager, все четко, то есть с сетью всё в порядке. В чем может быть причина такой заторможености? Сейчас редактор каналов содержит более 100 тегов, версия SCADA SIMP Light ENT
Avatar
SIMP Tech (Сергей)
День добрый.

День добрый, ребят, забыли про меня? уж очень нужен пример скрипта

Да, приношу свои извинения. Затерялся Ваш вопрос. Сегодня в течении дня с Вами свяжутся по почте, для уточнения деталей реализации.

в довесок к этому появилась проблема опроса тегов. Тег счетчика импульсов СИ8. В редакторе каналов стоит время опроса 300мс в opc-сервере Овен стоит 10мс, после запуска монитора больше половины тегов (температура, давление, скорость и т.д.) с различных приборов какое-то время (мин 10, а бывает и больше) не обновляют свои значения а стоят перечеркнуты (нет данных), а показания счетчика СИ8 обновляются с периодичностью мин. 5, а бывает и все 10. Выводил данные через Owen Process Manager, все четко, то есть с сетью всё в порядке. В чем может быть причина такой заторможености? Сейчас редактор каналов содержит более 100 тегов, версия SCADA SIMP Light ENT

Существует проблема работы в одной сети СИ8 и остальных приборов. Проблема эта известная, её решение уже обсуждалось на нашем форуме и форуме Овен. На память ссылок на эти обсуждения не дам, надо поискать.
Avatar
Виталий
Описание того что нужно:
У нас 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.



Большое спасибо!