rezident (14.04.2006 21:51, просмотров: 1) ответил ALGOL на пояснения ч.2
Млин! Я именно это и подозревал - число-импульсные входы у вас, не частотные!!! Задача простая. Нужно синхронизировать четыре входных потока и один выходной. Это пять + 1 КА (конечный автомат).
Для каждого входа свой счетчик. Плюс весовой коэффициент.
Для выхода аналогично счетчик и свой весовой коэффицинт.
В расчетной части должны быть счетчики для всех входов, выхода и переменная суммарного расхода.
Первый КА это счетчик входа. Они считает и его больше ничего не интересует. Считать он может с переполнением. Другие три КА аналогичны первому.
Четвертый КА это счетчик выхода. Он берет из расчетной части подготовленное значение количества импульсов и с автодекрементом выдает его в линию. Длительность формируемого им импульса должна быть фиксированной. Каждое новое значение он считывает из расчетной части только после того, как завершит выдачу текущей серии импульсов. Все.
Пятый КА это собственно расчет. В расчетной части нужно брать значения из счетчиков входа, сравнивать с предыдущей копией значения этих счетчиков. Исходя из разницы величин считать добавку к расходу. Для этого разницу домножать на весовой коэффициент (чтобы привести к одной системе единиц) и плюсовать к суммарному расходу. После этого обновлять значение счетчиков расчетной части.
Для выходного счетчик формируется задание аналогично. Вычисляется из суммарного расхода количество импульсов делением на весовой коэффициент выхода. Целая часть сравнивается с предыдущим значением счетчика выхода, если есть разница, то она и будет следующим заданием для четвертого КА.
Уф! Надеюсь понятно алгоритм изложил? :)