T-n-T: Общие советы по разработке решений

Задача

Необходимо разработать решение на базе контроллеров CANNY. Это первый опыт работы с этими контроллерами. С чего начать?

Советы и рекомендации

  1. Начните с изучения документации. Прочитайте все главы последовательно от начала до описания первой модели контроллера. Описание всех контроллеров изучать не нужно. Изучите только тот, который собираетесь применять. Изучите примеры из разделов, наиболее подходящих для решения вашей задачи. Это не займет много времени.

  2. Изучите форум, посвященный контроллерам CANNY. На нем обсуждалась масса практических задач. В начале каждого раздела на форуме есть прикрепленная тема с наиболее актуальными практическими примерами. В документации и на форуме работает поиск.

  3. Пользуйтесь симулятором для отладки ваших алгоритмов, но не забывайте, что во всех входных регистрах на диаграмме установлено значение “0”, что не отражает реальную работу контроллера. Однако для отладки значения регистров в симуляторе можно менять вручную.

  4. Алгоритмы проще отлаживать по частям. Если что-то не работает так как задумано, создайте отдельную диаграмму, копируйте и проверяйте в ней минимальные составные части вашей основной диаграммы одну за другой, последовательно добавляя новые, пока не найдете ошибку. В CannyLab работает копирование и вставка через буфер обмена Ctrl-C / Ctrl-V.

  5. Иногда необходимо заниматься отладкой “в железе”. В этом случае вы можете использовать встроенный светодиод контроллера для контроля значений в различных местах диаграммы, подключая “Регистр включения встроенного светодиода контроллера” поочередно к различным сетям на вашей диаграмме. Таким же образом можно использовать свободные дискретные выходы контроллера или даже отправлять отладочную информацию на ПК через UART или CAN (если есть чем его принять).

  6. Проверяйте работоспособность ваших решений “на столе” при помощи измерительных приборов и других контроллеров (см.следующие два пункта), прежде чем испытывать их в полевых условиях. Если “на столе” ваше решение работает, а в полевых условиях - нет, то скорее всего вам придется искать причину самостоятельно, так как мы вряд ли сможем воспроизвести ваши полевые условия у себя.

  7. Сам контроллер может являться генератором испытательных сигналов для себя же. Например, для вашей задачи вы можете настроить ВЧ ШИМ на одном из каналов и соединить его снаружи на разъеме контроллера проводником с вашим входом-счетчиком для проверки его работы. Если у вас есть в наличии второй контроллер, то возможности аппаратной отладки резко увеличиваются - один из контроллеров может быть источником испытательных сигналов/сообщений для другого контроллера в автономном режиме или в режиме интерфейса к ПК (CAN-монитор, UART-CAN конвертер и т.п.).

  8. Если вы рассчитываете применять контроллеры в ваших проектах неоднократно, то отличной идеей подарка для вас от родных, друзей или себя самого будет ОСЦИЛЛОГРАФ, даже самый простой, даже DSO138 по цене от 25$. Во-первых, это красиво! А во-вторых, применение данного прибора при диагностике неисправностей и отладке решений “в железе” радикально экономит время и нервы. Причем как ваши, так и специалистов технической поддержки.

  9. Учитывайте аппаратные ограничения контроллеров - электрические характеристики, быстродействие. Диаграмма исполняется не мгновенно. Время исполнения одного цикла диаграммы зависит от нескольких факторов. В частности от быстродействия модели контроллера, размера диаграммы, загруженности драйверов контроллера. Использование в диаграмме временных интервалов порядка единиц миллисекунд - не очень хорошая идея, так как сама диаграмма может исполняться за большее время. Точное время исполнения каждого цикла диаграммы в процессе работы контроллера можно получить из соответствующего системного регистра. Для того, что требует более быстрой реакции контроллера, в системном ПО реализованы различные драйверы. Например: драйвер высокочастотного ШИМ контроллера CANNY 5.3 Pico, драйвер шлюза CAN контроллера CANNY 7.2 Duo, драйвер асинхронной передачи в CAN контроллера CANNY 7.2 Alfa.

СМОТРИ ТАКЖЕ