rezident (14.04.2006 22:26, просмотров: 1) ответил ALGOL на для тупых...
Пример на пальцах. Пусть два входа и 1 выход.
C1A и C1B это счетчики входных импульсов. C1C выходных. K1, K2, K3 соответственно весовые коэфиициента. C2A, C2B, C2C счетчики расчета. SUM - суммарный коэффициент. OUT - задание для счетчика импульсов
Первый проход расчета.
SUM=SUM+(C2A-C1A)*K1+(C2B-C1B)*K2 посчитали суммарный расход.
C1A=C2A
C1B=C2B
уравняли счетчики
C2C=SUM/K3 получили количество импульсов пропорциональное расходу.
OUT=OUT+(C2C-C1C) будет заданием для счетчика выхода.
C1C=C2C
Второй проход рачета.
SUM=SUM+(C2A-C1A)*K1+(C2B-C1B)*K2 посчитали суммарный расход.
C1A=C2A
C1B=C2B
уравняли счетчики
C2C=SUM/K3 получили количество импульсов пропорциональное расходу.
OUT=OUT+(C2C-C1C) будет заданием для счетчика выхода.
C1C=C2C
и т.д.
Счетчик выхода.
Первый проход
CNTR - счетчик.
CNTR=CNTR+OUT
OUT=0
загрузили новое значение и обнулили добавку.
Если CNTR не нуль, то формируем импульс
Второй проход
CNTR - счетчик.
CNTR=CNTR+OUT
OUT=0
загрузили новое значение и обнулили добавку.
Если CNTR не нуль, то формируем импульс
и т.д.