1 (03-04-2021 13:08:49 отредактировано jurik8)

Тема: Slave Multi-ID troubles :-(

Здравствуйте !
Прошу подсказки, зашел в тупик. Требуется отвечать в режиме слейв на 2 идентификатора 21 и 30 с разными длинами сообщений.
Пингую кан-хакером с периодом 100мс устройство с приложенной диаграммой. при запросе мастера с ид 21 мое творение отвечает 2-х байтными данными, тут все отлично, при запросе мастера с айди 30 - тоже отвечает с длиной 6 байт, тут тоже все отлично. Проблема в том, что подключенный тестовый светодиод на самой платке никогда не загорается в этой схеме и не идет перебор счетчика №27. свитчи работают норм, по крайней мере 2-х канальные на моей диаграмме. На запросы с другими ID от мастера устройство не отвечает, тут тоже все хорошо.
Вопрос - почему не крутится счетчик 27 и никогда не загорается тестовый диод ? Что я пропустил или не учел ?
Это мой первый проект с LIN-slave. LIN Master multi-ID я усвоил уже, а тут - забуксовал крепко.
Или это глюк фирмвари контроллера ? Перенумеровку блоков и размер рабочего поля - все делал. не помогло.

Вложений в сообщении

Иконка вложения LIN slave trouble.jpg 488.32 кб, скачивался 68 раз, последний раз 2021-04-03 

Иконка вложения LIN slave trouble.png 59.04 кб, скачивался 72 раз, последний раз 2021-04-03 

2

Re: Slave Multi-ID troubles :-(

Вопрос решил. Проблема была в расположении блоков диаграммы, как оказалось, не только порядковый номер блока имеет значение, но и где он расположен по отношению к другим.
Это мой первый проект на канни, и нигде в примерах или мануалах не увидел подсказки.  Дошел опытным путем, потратив 2 выходных дня на изучение.

3

Re: Slave Multi-ID troubles :-(

Идентификатор (порядковый номер) блока не влияет на порядок исполнения, он нужен только для однозначного указания на конкретный блок при обсуждении диаграммы.
Расположение блоков на диаграмме влияет на порядок исполнения только при наличии на ней циклов (см. https://canny.ru/docs/fbd/cfd/#sec--fbd … -diagramma).
Для отладки диаграмм, в том числе для отслеживания порядка выполнения блоков, может быть использован симулятор CannyLab (см. https://canny.ru/docs/cannylab/simulator/).