Задача классическая — имеется источник (емкость или сеть подачи продукта), прибор учета (расходомер, тензовесы и т.д.), запорная арматура — клапана, и насос (необязательно). Точность приборов учета сомнениям не подвергается.
Если просто указать контроллеру задание, и тупо остановить процесс после окончания отсчета задания, то наверняка будет ошибка, вызванная инерционностью потока, задержкой срабатывания клапанов, и т.д. Если кажется, что это фигня, то при потоке 100 т/час 1 секунда стоит 28 литров.. Например, нужно надозить 1 т, а задержка закрытия клапанов 6 с (типовое значение), получаем 1,168 т что может быть уже не здорово. Внезапно прекратить поток означенной величины тоже не просто, нужно делать это постепенно, что точности дозирования не добавляет.
Бороться с проблемой можно разными способами, ниже описаны те, которые мне попадались
1.Алгоритмический способ. Уставка вычисляется контроллером как заданное значение минус поправка. Поправка вычисляется каждый раз как половина разности между заданным и реально отсчитанным количеством. После нескольких итераций начинает точно попадать в заданное значение. Недостатки — если процесс некорректно завершился, туда попадают безумные значения и нифига не работает. Нужно иметь возможность корректировать значение поправки через операторскую панель или SCADу. Также необходим стабильный поток и стабильное время срабатывания регулирующих органов.
2.Аппаратный способ. Реализуется с помощью двух клапанов, соединенных параллельно, на одном установлена дроссельная шайба. Когда до окончания задания остается немного, основной поток прерывается путем закрытия клапана без сужения, и поток падает, на маленьком потоке ошибка получается небольшой, после досчета задания закрывается второй клапан. Бывает эта конструкция реализована на паре шиберных кранов, последовательно установленных на трубе, в одном из шиберов просверлена дырка.

3.PID – регулятор. Годится не всегда, но если нужно смешать строго определенное количество одного компонента с другим — очень даже. Пример — разведение томатной пасты. Вода подается через расходомер и регулирующий клапан, паста — синусным насосом, то что получается, меряется бриксометром после статического смесителя, перед окончанием дозирования частота вращения насоса плавно снижается, регулирующий клапан воды, подключенный к каскадному PID (быстрый контур — частота вращения синусного насоса, медленный — измеренное значение Bx), закрывается. Рампинг производительности синусного насоса выбран так, что завершение задания происходит примерно при 20% производительности.