1 (14-07-2016 20:18:26 отредактировано alex_engine)

Тема: Можно ли в симуляторе "проиграть" заранее созданный пакет кан посылок?

Здравствуйте
В режиме симуляции возникла надобность "прокрутить" серию кан посылок, чтобы отследить работу схемы.


Грубо говоря, каждую секунду изменяется один-два бита в посылке - их нужно обработать с помощью диаграммы. И для ее настройки нужно симулировать прохождение этих пакетов.

Подскажите, плиз, как оптимально это сделать?

Спасибо

2

Re: Можно ли в симуляторе "проиграть" заранее созданный пакет кан посылок?

Можно сделать эмулятор CAN-шины, т.е. добавить к исследуемой диаграмме блоки, которые будут с определенной периодичностью подставлять на место регистров приема CAN нужные значения.
Это можно сделать используя подход из примера 4 темы http://forum.canny.ru/viewtopic.php?id=12.

3

Re: Можно ли в симуляторе "проиграть" заранее созданный пакет кан посылок?

Благодарю, попробую так.

4

Re: Можно ли в симуляторе "проиграть" заранее созданный пакет кан посылок?

Еще один вопрос.

Можно ли создавать что то по типу макросов? Вот, к примеру схема по ссылке, которая будет слать нужные мне посылки - это как отдельный узел. Если ее на диаграмме размещать как есть - очень громоздко ( у меня  там и так уже сложно разобраться sad )
Можно ли назначить как-то этой схеме символ  и использовать на диаграмме его, а он будет подразумевать целую диаграмму с определенным функционалом?

Спасибо

5

Re: Можно ли в симуляторе "проиграть" заранее созданный пакет кан посылок?

Пытаюсь на основании диаграммы 4 по вашей ссылке сделать свою. Никак не могу найти у себя блоков "копирование". "установка значения"
Где их искать?

6

Re: Можно ли в симуляторе "проиграть" заранее созданный пакет кан посылок?

alex_engine пишет:

Пытаюсь на основании диаграммы 4 по вашей ссылке сделать свою. Никак не могу найти у себя блоков "копирование". "установка значения"
Где их искать?

Можете посмотреть в описании функциональных блоков на wiki.
Эти блоки упразднены. Диаграмма примера создавалась в более ранней версии CannyLab. Если скопировать и открыть исходный файл диаграммы примера в новой версии CannyLab - она работать будет.

UPD 15.07.2016:
Отличия работы в средах разработки CannyLab предыдущих и актуальной версий показаны в специальном видеоролике:
https://www.youtube.com/watch?v=EQQt7lBV8_U.

7

Re: Можно ли в симуляторе "проиграть" заранее созданный пакет кан посылок?

alex_engine пишет:

Еще один вопрос.

Можно ли создавать что то по типу макросов?..

На данный момент макросов, как таковых, в CannyLab нет.
Вариантом решения проблемы может быть использование именованных сетей для передачи данных между блоками.

Конкретнее: группа блоков эмулятора CAN размещается отдельно на свободном поле диаграммы; выходные данные эмулятора передаются в именованные сети; значения из именованных сетей передаются на входы (места подключения регистров чтения CAN) основной диаграммы.
В результате, удобство чтения диаграммы и работы с ней увеличивается, путаница и громоздкость снижается.

8

Re: Можно ли в симуляторе "проиграть" заранее созданный пакет кан посылок?

Вот что у меня получилось.
По задумке, эта схема должна периодически отправлять по 500кб кан шине, сообщение с ID 187, длинной 8 бит, у которой меняется D3. Всего 16 посылок

Посмотрите, плиз. Будет работать?

спасибо

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

Иконка вложения кан посылка.png 117.77 кб, скачивался 109 раз, последний раз 2016-07-15 

9

Re: Можно ли в симуляторе "проиграть" заранее созданный пакет кан посылок?

alex_engine пишет:

Вот что у меня получилось...

Если планируется именно отправлять сообщения в CAN, то выглядит нормально - работать должно. При этом остальные данные посылки CAN не определены - в них может быть что угодно. Проверьте работу диаграммы в симуляторе.
Если это фрагмент эмулятора CAN, то нужно еще дорабатывать диаграмму.
Без блока №6 можно обойтись. Он тут нужен только для того, чтобы была возможность управлять  (т.е. разрешать или запрещать) отправкой сообщений - установка "0" на том или ином входе этого коммутатора запретит отправку сообщения с этим порядковым номером.

10 (18-07-2016 15:57:24 отредактировано alex_engine)

Re: Можно ли в симуляторе "проиграть" заранее созданный пакет кан посылок?

Можно я продолжу задавать вопросы в этой ветке, или на каждый создавать новую?

Запутался в трех соснах.
Нужен одновибратор. По появлению единицы на выходе обеспечить короткий импульс (обнулять счетчики)
Составил диаграмму, но в симуляторе она не работает.

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

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

Иконка вложения single.png 41.34 кб, скачивался 83 раз, последний раз 2016-07-18 

11 (18-07-2016 15:58:04 отредактировано alex_engine)

Re: Можно ли в симуляторе "проиграть" заранее созданный пакет кан посылок?

вот диаграмма

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

Иконка вложения single.cfd 627 б, скачивался 149 раз, последний раз 2016-07-18 

12 (18-07-2016 16:04:56 отредактировано alex_engine)

Re: Можно ли в симуляторе "проиграть" заранее созданный пакет кан посылок?

как удалить неудачное вложение?
вот нормальный скрин диаграммы

пока выход триггера и вход блока не соединены - работает.

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

Иконка вложения single.png 18.21 кб, скачивался 81 раз, последний раз 2016-07-18 

13

Re: Можно ли в симуляторе "проиграть" заранее созданный пакет кан посылок?

пересмотрел еще раз в пошаговом режиме - не подходит такое.
Подскажите, как оптимально сделать одновибратор с запуском по единице?

14

Re: Можно ли в симуляторе "проиграть" заранее созданный пакет кан посылок?

Согласно правил форума, на каждый новый вопрос нужно создавать новую тему.

Если я правильно понял задачу, то подойдет просто детектор фронта (переднего или заднего - зависит от конкретной задачи), выдающий единичный импульс при появлении/пропадании (UPD) сигнала на своем входе.

15

Re: Можно ли в симуляторе "проиграть" заранее созданный пакет кан посылок?

Прошу извинить, следующий вопрос задам в новой теме.
Детектор фронта мне не подходит, поскольку единица, по появлению которой нужен импульс - остается.
Вот думал так попробовать - не работает почему-то.

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

Иконка вложения single.cfd 627 б, скачивался 140 раз, последний раз 2016-07-18 

16

Re: Можно ли в симуляторе "проиграть" заранее созданный пакет кан посылок?

По прежнему не понимаю какого результата требуется добиться. Мне кажется, нужен детектор переднего фронта, выдающий одиночный импульс на свой выход при получении сигнала на свой вход, при этом входной сигнал может оставаться на входе детектора, повторный импульс не будет сгенерирован, пока детектор не получит новый передний (восходящий) фронт, т.е. переключение с "0" на "1".

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

17 (18-07-2016 20:33:18 отредактировано alex_engine)

Re: Можно ли в симуляторе "проиграть" заранее созданный пакет кан посылок?

Вы абсолютно точно описываете задачу.
И я ее пытался воплотить на диаграмме.
Блок "детектор переднего фронта" получает на вход единицу (которая там и остается), а к выходу детектора подключен блок "задержка включения", который по задумке должен задать длительность этого импульса.
Вот только в симуляторе эта диаграмма не работает, и я никак не пойму почему.

Вот даже генератор прикрутил. А на выходе в режиме симуляции ниразу единицу не увидел.
Хоть вручную подаю, хоть через генератор

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

Иконка вложения single.cfd 859 б, скачивался 167 раз, последний раз 2016-07-18 

18

Re: Можно ли в симуляторе "проиграть" заранее созданный пакет кан посылок?

alex_engine пишет:

"задержка включения"

Должна быть "задержка вЫключения"

19

Re: Можно ли в симуляторе "проиграть" заранее созданный пакет кан посылок?

Спасибо!!! Получилось

20

Re: Можно ли в симуляторе "проиграть" заранее созданный пакет кан посылок?

Симулятор может работать используя "живые данные" от авто?
Допустим, схема моя "слушает" статусы кнопок руля. Могу я подключиться как-то к автомобилю и видеть в симуляторе результат работы схемы? Или только посылая посылки в среде симулятора?
Спасибо

21

Re: Можно ли в симуляторе "проиграть" заранее созданный пакет кан посылок?

Симулятор работает независимо от контроллера, даже если контроллер подключен к CL. Поэтому:
только посылая посылки в среде симулятора.