This is topic Расчёт расхода с помощью канала Call. in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.


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

Posted by ПКЗ (Участник № / Member № 3347) on :
 
Добрый день, уважаемая техническая поддержка.
Для выборки из архива said_1 итоговых интегрированных данных (расходы компонентов) за требуемый интервал времени (предыдущие час, день, неделю, месяц и т.д.) я использовал канал call с типом вызова LocalStatic. К нулевому аргументу этого канала привязывал канал, чьи архивные значения должны быть обработаны. Например, для получения данных за текущий час программно, в начале очередного часа, в атрибут канала Call (34, FPrnt) - устанавливаю 1 и в атрибут (3, входное значение) посылаю 1. В аргументе Arg_009 канала Call получаю интегрированное за предыдущий час значение параметра. За другие периоды времени интегрированные значения получаю аналогично, только в аргумент (34, FPrnt) устанавливаю соответствующие значения. При приблизительной оценке данные формируются. Для более точной проверки результатов интегрирования за предыдущий час и для удобства тестирования, архивируемые значения установил постоянными. Оказалось, что полученные результаты с помощью канала Call не совпадают с расчётными.
Возможно, это связано с тем, что в архивы заносятся данные (время, значение) только при их изменении, а при неизменных значениях за рассчитываемый интервал времени данные в архив не заносятся. Если это так, то, пожалуйста, поясните:
1. Алгоритм расчета интегрирования значения за интервал времени, например за час, если на стыках соседних периодов рассчитываемая величина продолжительное время не менялась;
2. Погрешность интегрирования за период;
3. Как протестировать проект в части проверки точности получения результатов интегрирования с использованием канала Call.
Может вы порекомендуете более простой и точный способ получения результатов расхода компонентов за требуемые интервалы времени. Точность получения результата расхода компонентов имеет очень важное значение для оценки работы технологического процесса, особенно при больших расходах и большой стоимости компонентов.
 
Posted by senatorAV (Участник № / Member № 3513) on :
 
м-да уж... У нас оказалось проще сбрасывать данные в Access. Тем более когда требуется большая точность. Как-то проще работать с БД.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
1. Алгоритм описан в справке. Если значение не менялось берутся срезы на данный момент времени.

2. Погрешности могут возникать по двум причинам. Расчет ведется во Float и могут возникать неточности в 6-7 знаке. Метки времени в архиве могут быть с долями секунды. В любом случае эти погрешности не более 0.001%, что намного меньше погрешности измерения датчиком.

3. Задавайте точные значение в точные периоды времени и делайте выборку за это время.
 
Posted by ПКЗ (Участник № / Member № 3347) on :
 
Спасибо за ответы. Буду тестировать ещё, чтобы убедиться в результатах интегрирования с погрешностью не более 0.001%
 


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



Powered by Infopop Corporation
UBB.classic™ 6.7.2