Примерный вариант:
Для 1-го: 1-вход А (задаётся время фильтрации возможно)
2-вход B (задаётся время фильтрации возможно)
3-вход Z (можно выбирать есть или нет)
4-вход захвата опорной точки,после которой ожидается Z, и в энкодер пишется стартовое значение (от 0 и до..... ,заданное пользователем).Также пользователь выбирает для 4-го входа (фронт,спад или оба).
Энкодер круговой с подсчётом числа оборотов или линейный (сколько разрядов возможно?)
Пользователь выбирает:
- множитель энкодера х1,х2 или х4.
- направление счёта (INC,DEC)
1-выход (переключается при достижении уставки).Выбирается положительная,отрицательная логика.Время импульса или анлим.
2-выход (выход за программные пределы снизу или сверху,которые задаются пользователем)
2-а других выхода на втором сопроце оставить для управления из короткой программы.
В короткой программе хорошо бы иметь возможность каждые 20мкСек(40) забирать текущее значение энкодера,неиспользуемые входа (если нет Z или захвата) и управлять парой оставшихся выходов на 2-м сопроцессоре.





Ответить с цитированием
).

