Вопрос по блоку сканирование OneWare
-
- Лейтенант
- Сообщения: 539
- Зарегистрирован: 06 сен 2015, 07:09
- Откуда: Курган
Вопрос по блоку сканирование OneWare
Добрый день. Ситуация следующая: Добавляю блок сканирование OneWare, в нем создал два массива (два датчика). В самой программе также создал два датчика и указал в настройках в качестве адресов соответствующие массивы. Программа записала адрес одного датчика в оба массива. Я делаю что то не правильно? Прикладываю программу с блоком сканирования и выводом в компаорт значений массивов.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Вопрос по блоку сканирование OneWare
Так и должно быть, блок не различает датчики. Чтобы их точно привязать нужно создать столько массивов сколько датчиков и привязать их каждый к своему цифровому входу контроллера.
-
- Лейтенант
- Сообщения: 539
- Зарегистрирован: 06 сен 2015, 07:09
- Откуда: Курган
Вопрос по блоку сканирование OneWare
Но данная шина умеет параллельное включение и при помощи инструмента сканировании все датчики определяются верно.slavas писал(а):Так и должно быть, блок не различает датчики. Чтобы их точно привязать нужно создать столько массивов сколько датчиков и привязать их каждый к своему цифровому входу контроллера.
Вопрос по блоку сканирование OneWare
Вам же в другой ветке всё объяснили, нет возможности просто определить местоположение датчика. Это особенность работы шины.
Добавлено (29.10.2016, 16:03)
---------------------------------------------
Добавлено (29.10.2016, 16:03)
---------------------------------------------
Oleg1345140 писал(а):все датчики определяются верно. При следующем сканировании порядок определившихся датчиков изменится и соответственно если вы их уже привязали к месту то они перепутаются.
-
- Лейтенант
- Сообщения: 539
- Зарегистрирован: 06 сен 2015, 07:09
- Откуда: Курган
Вопрос по блоку сканирование OneWare
В той ветке уже выяснили что можно научить датчики откликаться запрограммировав в них номера. В текущей ветке пытаюсь разобраться как можно не зная заранее их ром считать данные в любой последовательности. то есть стоит задача сделать автопоиск датчиков на шине и опрос их. даже блок есть соответствующий, но у меня не удалось заставить его работать правильно.
Вопрос по блоку сканирование OneWare
Здравствуйте, да, было бы интересно как сделать авто поиск датчика, к примеру загрузили скетч не зная за ранее адрес датчика при подключении был авто поиск и датчик работал. Скажем все собрано скетч загружен, вдруг датчик вышел из строя скетка нет под рукой, подключаем новый датчик и происходит авто поиск адреса и датчик работает, нет необходимости перезаливать скетч.
- eugeneb
- Лейтенант
- Сообщения: 481
- Зарегистрирован: 15 авг 2016, 11:20
- Откуда: Нижний Новгород
- Имя: Евгений
Вопрос по блоку сканирование OneWare
Когда у вас не более одного датчика на линии - пожалуйста.Lazary писал(а):Здравствуйте, да, было бы интересно как сделать авто поиск датчика, к примеру загрузили скетч не зная за ранее адрес датчика при подключении был авто поиск и датчик работал. Скажем все собрано скетч загружен, вдруг датчик вышел из строя скетка нет под рукой, подключаем новый датчик и происходит авто поиск адреса и датчик работает, нет необходимости перезаливать скетч.
Вот и обучающее видео есть:
http://flprog.ru/video/vip/22/video_les ... ie_ds18b20
Нигде не придётся вводить адреса датчиков.
Вопрос по блоку сканирование OneWare
eugeneb, Спасибо, єто решит мою задачу.
-
- Лейтенант
- Сообщения: 539
- Зарегистрирован: 06 сен 2015, 07:09
- Откуда: Курган
Вопрос по блоку сканирование OneWare
Чисто технически существует возможность поиска всех ромов на линии. И автор флпрог вроде как реализовывал в блоке на сколько я понял, просто блок работает не корректно. надо уточнить у автора и в багрепорт направить.
- eugeneb
- Лейтенант
- Сообщения: 481
- Зарегистрирован: 15 авг 2016, 11:20
- Откуда: Нижний Новгород
- Имя: Евгений
Вопрос по блоку сканирование OneWare
Oleg1345140
О, господи!
Вам 500 раз сказали, что это невозможно.. Автор читает адреса. В его массивах адреса.
Просто эти массивы тоже имеют размер 9 байт. Совпадение, однако.
Потом по этим адресам можно прочитать ромы. Автор в своём блоке DS18* читает ром,
но выводит только температуру.
Ваш алгоритм вероятно должен быть такой:
1. сканируете все датчики в шлейфе. получаете 20 адресов.
2. по этим адресам читаете 20 ромов. При этом в ромах (в байтах 2 и 3) должны быть заранее записаны номера датчиков в шлейфе.
3. по этим ромам определяете кто из адресов первый, кто второй, а кто двадцатый в шлейфе. И составляете временную базу данных (таблицу) "номер в шлейфе - адрес".
4. далее, пользуясь этой таблицей вы можете читать температуру с любого датчика в шлейфе,
обращаясь к нему по адресу, но уже зная его номер в шлейфе.
Как-то так.
Не вижу, чем тут могут помочь блоки автора. И там нет ошибок.
Вам всё придётся написать самому.
О, господи!
Вам 500 раз сказали, что это невозможно.. Автор читает адреса. В его массивах адреса.
Просто эти массивы тоже имеют размер 9 байт. Совпадение, однако.
Потом по этим адресам можно прочитать ромы. Автор в своём блоке DS18* читает ром,
но выводит только температуру.
Ваш алгоритм вероятно должен быть такой:
1. сканируете все датчики в шлейфе. получаете 20 адресов.
2. по этим адресам читаете 20 ромов. При этом в ромах (в байтах 2 и 3) должны быть заранее записаны номера датчиков в шлейфе.
3. по этим ромам определяете кто из адресов первый, кто второй, а кто двадцатый в шлейфе. И составляете временную базу данных (таблицу) "номер в шлейфе - адрес".
4. далее, пользуясь этой таблицей вы можете читать температуру с любого датчика в шлейфе,
обращаясь к нему по адресу, но уже зная его номер в шлейфе.
Как-то так.
Не вижу, чем тут могут помочь блоки автора. И там нет ошибок.
Вам всё придётся написать самому.
-
- Лейтенант
- Сообщения: 539
- Зарегистрирован: 06 сен 2015, 07:09
- Откуда: Курган
Вопрос по блоку сканирование OneWare
Собственно этого и хочу добиться от имеющегося блока. Что бы он правильно считал все РОМ и записал их в массивы. Просто этот блок почему то записывает во все массивы одно и тоже значение.
- eugeneb
- Лейтенант
- Сообщения: 481
- Зарегистрирован: 15 авг 2016, 11:20
- Откуда: Нижний Новгород
- Имя: Евгений
Вопрос по блоку сканирование OneWare
Да не может он этого сделать! Автор объясняет это прямо в фильме.
Он может это сделать при условии, что на каждом пине ардуины висит по одному датчику.
Это не ваш случай.
Он может это сделать при условии, что на каждом пине ардуины висит по одному датчику.
Это не ваш случай.
-
- Лейтенант
- Сообщения: 539
- Зарегистрирован: 06 сен 2015, 07:09
- Откуда: Курган
Вопрос по блоку сканирование OneWare
Вот этим скетчем считываю все ромы на шине (все на одном пине), скетч взят из примеров в ИДЕ ардуеновской
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- eugeneb
- Лейтенант
- Сообщения: 481
- Зарегистрирован: 15 авг 2016, 11:20
- Откуда: Нижний Новгород
- Имя: Евгений
Вопрос по блоку сканирование OneWare
Дк я ж и говорю: "Пишите на ардуинском С"
Потом, может быть, года через два, когда запрограммируете все датчики в полях, перепишете на FLProg
Потом, может быть, года через два, когда запрограммируете все датчики в полях, перепишете на FLProg
-
- Лейтенант
- Сообщения: 539
- Зарегистрирован: 06 сен 2015, 07:09
- Откуда: Курган
Вопрос по блоку сканирование OneWare
Как выяснилось они уже запрограммированы, после праздника считаю что прописано и нужно будет делать нормальное устройство.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость