PDA

Просмотр полной версии : Интегратор



Dima.Silorov
18.06.2018, 08:05
Добрый день, уважаемые форумчане!
Кто сталкивался с работой блока "Интегратор"? Я что-то подтормаживаю..
Берем интегратор, подаем на вход константу, например 1000, время интегрирования - 3.600.000 мсек. Говоря другими словами, на входе интегратора постоянный расход в 1000 единиц в час.
т.е. в минуту интегратор должен насчитывать 16.666 единиц. Но в зависимости от времени сканирования блока у меня этот результат отличается. Например, при времени сканирования задачи в 1 сек. интегратор насчитывает 16,54,
при 50 мсек - 16,60, при 20 мсек - 16,66.
Вроде небольшая разница, но в сутки вместо 24.000 получается 23.800 единиц, а это уже примерно 1% погрешности.
По формуле, которая приведена в руководстве по ФБ "Интегратор", время сканирования не должно влиять на результат при константе на входе.

Может, кто знает, как сделать правильно?

capzap
18.06.2018, 19:23
Внутренние часы не самые точные, время цикла плавающее и т. д.

Dima.Silorov
19.06.2018, 06:59
так и константа не меняется...

Dima.Silorov
20.06.2018, 14:55
Нашел обходной путь. Время сканирования задачи надо ставить кратным времени интегрирования функционального блока. Видимо, проблема при делении чисел с плавающей точкой. Самый точный результат у меня появился при сочетании параметров Тинтегрирования=3600000 мсек (1 час) и времени сканирования задачи в 72 мс.