26

Re: Прием и отправка can сообщений с разными id

ЭллипсАвто пишет:

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

Цель была понятна. Что не работает или работает не так? Как ведет себя контроллер?

В сообщении 23 указан ряд недочетов в диаграмме. В последнем варианте они остались.

Прогоните диаграмму в симуляторе.
Вход Е блока 12 триггер D подключен к выходу блока 1, что означает что при получении сообщения с любым id (!!!), у которого в байте D3 установлен бит 1 (т.е. 0b00000010=0x02=2), на входе Е блока 12 будет "1" и это может обнулить выходное значение триггера блок 12. Спасает только то что отправка сообщения в CAN выполняется при получении сообщения с id 433.
Сброс триггера 6, при выключенной задней передаче, будет выполняться при скоростях ниже 3 (см. сообщение 23). В симуляторе это все сразу видно.

По большому счету диаграммы требуют переработки, возможно по этому и не получилось сразу сделать требуемое отключение по таймеру.
В качестве решения задачи для существующего варианта диаграммы подключите вход Е триггера блока 12 к выходу блока 3 и примените приведенный ниже фрагмент диаграммы.

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

камера+скорость.png, 15.14 кб, 705 x 104
камера+скорость.png 15.14 кб, скачивался 371 раз, последний раз 2016-07-08 

27

Re: Прием и отправка can сообщений с разными id

Спасибо. Опробую.
Переработка требуется так как беспорядок блоков? или идея реализована вообще не "с той ноги"?

28

Re: Прием и отправка can сообщений с разными id

Беспорядок блоков затрудняет чтение, но это не критично. С опытом вырабатывается стиль создания диаграмм.
Переработка требуется из-за применения некоторых неоднозначных и не типовых решений. Труднее разобраться в логике работы диаграммы и обнаружить ошибки, если они возникают.

29

Re: Прием и отправка can сообщений с разными id

Добрый день! Судя по симулятору удалось реализовать!Вроде как более менее упорядочил блоки и учел замечания выше!  Прошу проверить может что еще посоветуете?

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

Иконка вложения новый камера бета3вроде работает.cfd 2.54 кб, скачивался 330 раз, последний раз 2016-07-13 

30

Re: Прием и отправка can сообщений с разными id

Предлагаю возможное решение на базе предыдущего варианта диаграммы.

Связка блоков №№1,2,5,3 позволяют получить на выходе блока №3 актуальные данные в момент их получения. Именно такая конструкция используется во всех примерах приема сообщений CAN).

Связка блоков №№19,20,21,22 работает так же, только в этом случае блок №20 выделяет из значения регистра CAN байт D4 и его значение сравнивается блоком №7 с требуемой скоростью. Выключение произойдет только при скорости более 3 и не ранее (это то, о чем говорилось выше).

PS: приведена нумерация блоков, принятая во вложенном файле камера+скорость+.cfd.

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

Иконка вложения камера+скорость+.cfd 2.8 кб, скачивался 329 раз, последний раз 2016-07-13 

31 (13-07-2016 20:02:05 отредактировано ЭллипсАвто)

Re: Прием и отправка can сообщений с разными id

В очередной раз большое спасибо! Понял ошибку с чтением конкретного байта!
Единственно сразу не заработала диаграмма, так как на выходе 8 блока при вкл зх идет 0x0200, и комутатор не срабатывает! Решил проблему так: выход 8 блока инвертировал, а 21 коммутаторе поменял местами вход 0 и 1

32

Re: Прием и отправка can сообщений с разными id

ЭллипсАвто пишет:

...Единственно сразу не заработала диаграмма, так как на выходе 8 блока при вкл зх идет 0x0200, и комутатор не срабатывает!...

Да, пропустил этот момент.

ЭллипсАвто пишет:

...Решил проблему так: выход 8 блока инвертировал, а 21 коммутаторе поменял местами вход 0 и 1...

Не плохое решение - отлично вышли из положения.
В идеале, следовало выходное значение блока №3 из числового привести к логическому с помощью сравнения его с нулем, используя блок "Больше": если оно больше "0", то включена задняя передача, и далее работать уже с этим логическим значением, тогда больше ничего менять не понадобилось бы.

ЭллипсАвто пишет:

А и еще вопрос: есть ли wiki энциклопедия в формате под печать? иногда удобно посмотреть не переключаясь.

Руководство пользователя в формате PDF входит в состав среды разработки CannyLab и располагается в ее основном каталоге: ..\cannylab_vX_XX\canny7manual.pdf
В настоящий момент, руководство в формате PDF не абсолютно актуально, т.к. документация постоянно дорабатывается и дополняется, однако основную информацию в нем можно найти.
Самая актуальная и самая полная версия руководства находится в Wiki.

33

Re: Прием и отправка can сообщений с разными id

Спасибо энциклопедию нашел! Уже сижу вчитываюсь! Пробую создавать sfx.exe вообще суперская функция!Не знал о ней.

34

Re: Прием и отправка can сообщений с разными id

Денис, CANNY пишет:

В идеале, следовало выходное значение блока №3 из числового привести к логическому с помощью сравнения его с нулем, используя блок "Больше": если оно больше "0", то включена задняя передача, и далее работать уже с этим логическим значением, тогда больше ничего менять не понадобилось бы.

На что то влияет мое решение в худшую сторону? или просто это в других задачах лучше делать так для облегчения построения диаграмм?

35

Re: Прием и отправка can сообщений с разными id

ЭллипсАвто пишет:

На что то влияет мое решение в худшую сторону? или просто это в других задачах лучше делать так для облегчения построения диаграмм?

Нормальное решение, проблему устраняет.
Тот вариант, о котором я говорил, проще для понимания логики работы алгоритма.

36

Re: Прием и отправка can сообщений с разными id

Добрый день! помогите пожалуйста реализовать схему: нужно при появлении на 8 контакте минуса отправить по can два сообщения :416 FD 16 11 0F 20 00 00 06 затем через 20 мсек: 000 07 00 00 00 00 00 20 и через 20 мсек снова эти два сообщения повторить и вся эта комбинация должна повторяться через 1-5 минут, а при пропадании минуса на контакте 8 отправить единичное сообщение: 000 00 00 00 00 00 00 20

37

Re: Прием и отправка can сообщений с разными id

slaiva пишет:

...помогите пожалуйста реализовать схем...

Возьмите за основу первый и четвертый примеры из первого сообщения этой темы: http://forum.canny.ru/viewtopic.php?id=12, приступайте к реализации вашей диаграммы. Если появятся конкретные вопросы - задавайте, объясняя что именно не получается, но создайте для этого отдельную тему на форуме, а не пишите в уже существующую (см.правила форума). Если вам нужно готовое решение вашей задачи - создайте тему в соответствующем разделе форума:http://forum.canny.ru/viewforum.php?id=11