This is topic Нужен признак обновления данных in forum Редактор проекта TRACE MODE 6 / at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/32/t/000041.html

Posted by Kramarenko Stanislav (Участник № / Member № 119) on :
 
В продолжение темы http://forum.adastra.ru/ubb/ultimatebb.php/ubb/get_topic/f/13/t/000089.html

Видно в шестой версии сдвигов по данному вопросу не произошло.
Понадобилось реализовать следующий алгоритм:
1. Обнулить счетчик (I7080);
2. Сформировать измерительное окно с помощью платы счетчиков установленной в компьютере;
3. По закрытию измерительного окна считать данные со счетчика; и повторить цикл...

Проблема одна - я не могу определить момент считывания данных со счетчика, если они на конец цикла совпали со значением на предыдущем цикле. Мне приходится делать паузу в 3 секунды, чтобы гарантированно получить новые данные с 46-ти счетчиков (это в три раза большее время, чем мне хотелось бы). То же самое касается выходных каналов (например сброса счетчика, хотя в данной конкретной ситуации это не очень важно) - я бы не хотел менять его значение, а отрабатывать текущее. Отрабатывать то его я могу, но факт отработки зафиксировать не получается, т.к. время изменения канала не изменяется при его отработке.
Так вот, я считаю что это не верно! Раз уж данные опросили, то они актуальны на момент опроса и время канала должно измениться. Конечно при этом некорректно называть его временем изменения, ну введите тогда ещё один атрибут - время отработки! (или счетчик отработок) [clever / умный]

Короче, нужен какой-то атрибут указывающий на отработку канала. EXEC не годится! Он практически не отлавливается, - если отработка происходит быстрее времени пересчета узла, то часть каналов не видит его изменения.
[prey / молящийся]
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
1) Формировать по закрытию окна свой собственный флаг в канале.
2) Ловить EXEC на Input'е не нужно - если там 0 после пункта №1 - это уже означает, что упешно отработан. Тогда можно и свой собственный флаг сбросить в ноль до следующей операции.
 
Posted by Kramarenko Stanislav (Участник № / Member № 119) on :
 
Т.е. можно сделать так: (?)
1) определяем конец измерительного окна
2) программа трансляции в каждом канале счетчика устанавливает своему счетчику EXEC:=1 и флаг "отработка":=1
3) далее, если [(EXEC==0) and ("отработка"==1)], то "отработка":=0 и новые данные готовы.
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2