Функциональные блоки диаграммы, при проходе диаграммы в контроллере будут выполняться в том же самом порядке, в котором они выполняются в симуляторе CannyLab (подробнее про порядок выполнения функциональных блоков диаграммы см. стр 8 руководства CannyLab)
Контроллер выполняет каждый функциональный блок диаграммы на каждом проходе вычислений, исключение составляют только блоки "Установка значения", которые выполняются лишь единожды после каждого сброса контроллера. Возможность исключать какие-либо блоки из цикла исполнения в языке CFD не предусмотрена. Время, затрачиваемое на исполнение контроллером каждого функционального блока диаграммы зависит от многих факторов, самым существенным из которых является число входов/выходов функционального блока. Каждый функциональный блок исполняется контроллером от ~20 (большинство трехвыводных блоков) до ~120 (коммутатор 1-в-16) микросекунд.
Число миллисекунд, затрачиваемое контроллером на исполнение полного цикла диаграммы, включая время опроса всех задействованных драйверов, доступно для чтения по адресу «Регистр контроля длительности программного цикла». Практически, цикл диаграммы из порядка 420 функциональных блоков исполняется CANNY 7 за ~15 миллисекунд.
CCM будет работать максимально эффективно, если выбрать (отметить звездочкой) строго ОДИН идентификатор, в этом случае будет задействован аппаратный фильтр CAN и сообщения с другими идентификаторами будут отбрасываться на аппаратном уровне. Мы планируем в дальнейшем повысить гибкость использования в CCM аппаратной фильтрации сообщений.
Кроме того, следует обратить внимание на то, что CAN согласно своему стандарту не гарантирует доставку сообщений более чем одному получателю. Если хотя бы один узел подтвердил прием сообщения, оно считается доставленым. Таким образом, если адресат в автомобиле принял сообщение а монитор шины, тот же CCM не принял, то сообщение будет потеряно монитором безвозвратно. В связи с этим, невозможно гарантировать прием CCM или любым другим средством мониторинга CAN постоенном на базе стандартного CAN-процессора 100% сообщений сети.
Думаю, небезынтересным будет и тот факт, что передача сообщений с одинаковым ID несколькими узлами сети так же, в общем случае, нарушает стандарт CAN, так как может вызвать коллизии, потери сообщений и ошибки из за нарушения арбитража шины.