This is topic Расчёт расхода с помощью канала Call. in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.
Добрый день, уважаемая техническая поддержка. Для выборки из архива 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%