Сразу отмечу, что CANNY7 подходит для решения данной задачи. Теперь по существу, исходя из предположения о том, что это не первая задача, которую вы решаете с помощью CANNY7, ну или по крайней мере смотрели наше видео и запускали какие-либо примеры в симуляторе или на реальном контроллере и пробовали их модифицировать:
Я бы начал с декомпозиции. Разобьем задачу на составные части и выясним как каждую из них реализовать. На вскидку, мне видятся следующие основные части:
1.подсчет числа импульсов поступивших на канал;
2.подсчет прошедшего времени;
3.вычисление значения частоты импульсов, скважность для данной задачи не существенна, кмк;
4.преобразование значения частоты к виду требующемуся щитку;
5.формирование организация передачи сообщений CAN.
Наверняка потребуется решить еще ряд задач попутно, но пока можно сосредоточится на перечисленных.
К счастью задачи 1, 2 и 3 CANNY 7 может решать одновременно и автоматически. Настройка канала ввода-вывода в качестве счетчика импульсов позволит получать из регистра значения канала уже готовое значение частоты. Подробнее об этом режиме можно прочитать в руководстве по CANNY Lab.
Для решения задачи 4 требуется знать формат соответствующего сообщения CAN, а лучше иметь полный лог по этому сообщению полученный на реальном автомобиле, от положения выключенного зажигания, через АСС, зажигание, стартер, работу двигателя на разных оборотах и до выключения зажигания.
Задача 5, пожалуй одна из самых часто решаемых CANNY 7. Несколько вариантов её решения рассмотрено здесь: <a href="http://forum.canny.ru/canny-7-i-cannylab/can-12/" rel="nofollow" target="_blank">http://forum.canny.ru/canny-7-i-cannylab/can-12/</a>