1

Тема: Динамическое изменение

Добрый день
Подскажите, как реализовать изменение байта при определенном условии
Байт D3 должен меняться от FF до F0 (FE,FD,FC,FB,FA,F9......F0) при одном условии
и от F0 до FF при другом.

Во вложении диаграмма, в которой удалось сделать изменения в байте D2, но в общем она не рабочая...

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

Иконка вложения тест.cfd 2.17 кб, скачивался 191 раз, последний раз 2020-08-24 

2 (24-08-2020 17:28:30 отредактировано ЭллипсАвто)

Re: Динамическое изменение

Попробуйте данную диаграмму

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

Иконка вложения тест1.cfd 3.39 кб, скачивался 200 раз, последний раз 2020-08-24 

3

Re: Динамическое изменение

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

Попробуйте данную диаграмму


Файл не открывается.
Версия файла не совместима с текущей версией программы.

4

Re: Динамическое изменение

Добрый день.
Во вложении диаграмма, где пытаюсь реализовать изменение байта при определенном условии
Байт D3 должен меняться от FF до F0 (FE,FD,FC,FB,FA,F9......F0) при одном условии
и от F0 до FF при другом.

Подскажите, где может быть ошибка ?
Периодически идет пропуск байтов.

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

Иконка вложения тест 2.cfd 3.98 кб, скачивался 184 раз, последний раз 2020-08-25 

5

Re: Динамическое изменение

Поясните, пожалуйста, какие байты пропускаются (одни и те же или каждый раз разные)? Как часто это происходит? При каких условиях? Как выглядит условие отправки сообщения в CAN?

6

Re: Динамическое изменение

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

Поясните, пожалуйста, какие байты пропускаются (одни и те же или каждый раз разные)? Как часто это происходит? При каких условиях? Как выглядит условие отправки сообщения в CAN?


Нашел закономерность пропуска байтов. В первом коммутаторе байты выстроены в одной последовательности, в другом коммутаторе в обратной последовательности. Если идет обращение к верхнему коммутатору, например Вход 6 (значение 0xF600) и тут же обращаюсь к нижнему коммутатору, на Вход 6 (значение 0хF900)
Похоже, надо использовать 1 коммутатор.

7

Re: Динамическое изменение

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

Поясните, пожалуйста, какие байты пропускаются (одни и те же или каждый раз разные)? Как часто это происходит? При каких условиях? Как выглядит условие отправки сообщения в CAN?


Нашел закономерность пропуска байтов. В первом коммутаторе байты выстроены в одной последовательности, в другом коммутаторе в обратной последовательности. Если идет обращение к верхнему коммутатору, например Вход 6 (значение 0xF600) и тут же обращаюсь к нижнему коммутатору, на Вход 6 (значение 0хF900)
Похоже, надо использовать 1 коммутатор.

Подскажите, как в данной задаче использовать один коммутатор и менять индекс от 15 до 0 с шагом 1
или есть проще решение ?

8

Re: Динамическое изменение

Т.е. нужно чтобы при изменении направления значения менялись плавно, без скачков? Например, условие увеличения - 1,2,3,4,5.. изменение направления - 4,3,2,1..
Если так, то наверное через математику будет правильнее и проще.

9

Re: Динамическое изменение

Если я правильно понял, то можно попробовать так (см.вложение).

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

Иконка вложения c7_value_loop.cfd 1.23 кб, скачивался 175 раз, последний раз 2020-08-25 

10

Re: Динамическое изменение

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

Т.е. нужно чтобы при изменении направления значения менялись плавно, без скачков? Например, условие увеличения - 1,2,3,4,5.. изменение направления - 4,3,2,1..
Если так, то наверное через математику будет правильнее и проще.

Я правильно понимаю, что бы добиться плавности, шаг должен быть + 256 в одну сторону и при изменении направления - 256 ?

11

Re: Динамическое изменение

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

12

Re: Динамическое изменение

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

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

Понял. Попробую, отпишусь.

Спасибо !

13

Re: Динамическое изменение

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

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

Понял. Попробую, отпишусь.

Спасибо !


Добрый день.

Все получилось.

Техподдержка как всегда на высоте.

Спасибо !

14

Re: Динамическое изменение

Рады Вашим успехам! Удачи в Ваших проектах!