Вверх ↑
Этот топик читают: Гость
Ответов: 8921
Рейтинг: 823
#16: 2016-01-17 20:02:07 ЛС | профиль | цитата
Konoplj2010, отключить и вновь включить порт с другой скоростью -- глазом не успеете моргнуть
Важнее (уже спрашивал) время реакции датчика: сколько миллисекунд проходит от выдачи FF до получения ответа и сколько времени от выдачи команды до ответа?
карма: 19

0
Ответов: 70
Рейтинг: 0
#17: 2016-01-17 20:09:47 ЛС | профиль | цитата
Леонид писал(а):

RESET выглядит так: https://www.maximintegrated.com/en/images/appnotes/214/1189Fig04.gif
Передача выглядит так: https://www.maximintegrated.com/en/images/appnotes/214/1189Fig08.gif
Приём выглядит так: https://www.maximintegrated.com/en/images/appnotes/214/1189Fig07.gif
Но это на низком уровне.
------------ Дoбавленo в 19.34:
Блин файл вставить не могу. Я бы показал по нагляднее.
карма: 0

0
Ответов: 8921
Рейтинг: 823
#18: 2016-01-18 01:36:06 ЛС | профиль | цитата
Konoplj2010, эти времена касаются формирования сигнала, а я спрашивал время реакции датчика: послали запрос/команду датчику, через сколько мсек придёт ответ?
Вот примерная схемка: code_36815.txt
По нажатии "Старт" СОМ с периодом 100 мсек выдаёт на 9600 ваши "FF" и ждёт ответа (индикатор красный). При приходе ответа выдаёт "10" (Reset) и переключается на скорость 1115200 (индикатор светлозелёный). Номер датчика и команду можно выбрать из ранее записанных в выпадающем списке или вписать ручками в поле ввода (по Enter), ответ и в виде бинов и Hex выводится в список строк.
(Вообще-то такая работа никому не понравится, надо в цикле опрашивать ваши датчики, а результат выводить на картинку, где каждому назначить линию и по центру допускаемое значение зелёным цветом, выше цвет красный, ниже -- синий. Один взгляд и картина ясна )
карма: 19

0
файлы: 1code_36815.txt [12.8KB] [665]
Ответов: 70
Рейтинг: 0
#19: 2016-01-18 10:22:53 ЛС | профиль | цитата
Леонид писал(а):

Я принял код, не очень хорошо понимаю его но попробую. Я ближе к 4 или к 5-ти часам смогу только проверить.
------------ Дoбавленo в 09.47:
И ещё мы по прежнему с Вами не договорились о цене вопроса.
карма: 0

0
Ответов: 8921
Рейтинг: 823
#20: 2016-01-18 10:49:11 ЛС | профиль | цитата
Konoplj2010, полагаю, что коллега andrestudio напишет IC (код) более полно охватывающий процесс (если найдёт время и желание), вот с ним и поговорите
Ещё раз напомню о времени реакции датчиков на команды: дело в том, что порт будет принимать не только информацию от них, но и свои собственные послания, чтобы они не мешались при анализе, их надо удалять из буфера, можно это сделать или нет как раз зависит от времени реакции.
карма: 19

0
Ответов: 70
Рейтинг: 0
#21: 2016-01-18 19:47:40 ЛС | профиль | цитата
Леонид писал(а):

Датчик отвечает после сигнала RESET с задержкой 15-60 мсек, а длительность его сигнала присутствия примерно 60-240 мсек. Алгоритм и команды я и сам знаю. Если мы пошлём в линию сначала команду RESET и получим сигнал присутствия то датчик имеется и исправен. После этого подаём в линию команду поиска соответствия адреса устройства 0х55 и сразу же следом отправим 0х28 0х82 0х37 0х1E 0x07 0x00 0x00 0x18 (это адрес одного из моих датчиков) то все остальные датчики перестанут слушать что говорит мастер, а именно тот у кого этот адрес станет принимать следующую команду. А затем мы говорим 0х44 то для датчика понятно что нужно преобразовывать текущее значение температуры в цифру.
Затем через 750 мсек датчик преобразовал значение температуры и готов её выдать в линию. Мы делаем всё тоже самое кроме последнего 0х44 отсылаем 0хBE что означает сказать датчику чтобы он ответил что у него получилось. Затем принять 2 байта (а вернее 2*8 байт на скорости 115200) эти данные можно понимать как результат замера температуры.
Леонид писал(а):

Что то не выходит. Как я понимаю сигнал RESET не проходит, то есть я вижу что светодиод Tx моргает но всё это как будто в цикле крутится.
http://forum.hiasm.com/xf/attach/share/%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B%20%D1%81%201-Wire.jpg
Хотя бы так картинки можно показать.
http://forum.hiasm.com/xf/attach/share/%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%202%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B%20%D1%81%201-Wire.jpg
http://forum.hiasm.com/xf/attach/share/%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%203%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B%20%D1%81%201-Wire.jpg
Вот так будет понятнее.
Но это всё на примере только одного датчика.
карма: 0

0
Ответов: 8921
Рейтинг: 823
#22: 2016-01-18 21:47:36 ЛС | профиль | цитата
Konoplj2010 писал(а):
1. Передаёт на указанный порт со скоростью 9600 кБ/с значение 0xFF и в случае если устройство ответило (оно должно выдать от 0х10 до 0х90) сообщить
На картинках все команды начинаются с RESET, а у меня сначала как вы сказали FF, потом ждёт "от 0х10 до 0х90" с периодом 100 мсек. Наверное и не получает ответа. Может надо начинать с RESET на 9600, сразу переходить на 115200 и номер датчика?
карма: 19

0
Ответов: 70
Рейтинг: 0
#23: 2016-01-19 07:41:50 ЛС | профиль | цитата
Леонид писал(а):

Так FF это и есть RESET, во всяком случае так описано в изиэлектрониксе. Просто по принципу работы после того как мастер сказал RESET то помощник отвечает сигналом присутствия "от 0х10 до 0х90" это зависит от самого датчика.
------------ Дoбавленo в 07.06:
СТОП сбрехал не 0xFF, а 0xF0! А то я сам думаю "как же так 0xFF в линию всегда подаётся, там же резистор на подтяжке висит!".
Я извиняюсь я Вас дезинформировал, правильно будит 0xF0, так как 0 это единственный активный уровень. То есть RESET подаётся сигналом 0xF0 на частоте 9600.
https://www.maximintegrated.com/en/images/appnotes/214/1189Fig04.gif
карма: 0

0
Ответов: 5227
Рейтинг: 587
#24: 2016-01-19 08:36:07 ЛС | профиль | цитата
Konoplj2010, установи монитор порта, например этот http://www.serial-port-monitor.com/ сам им пользуюсь

К сожелению переходник не нашёл (на работе только USB->RS485) дома есть но найти не могу
Портировал код в IC, можешь попробовать с ним code_36820.txt


карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
1
файлы: 1code_36820.txt [5.6KB] [608]
Голосовали:Леонид
Ответов: 8921
Рейтинг: 823
#25: 2016-01-19 10:18:33 ЛС | профиль | цитата
andrestudio, (Давно пора подключиться ) Ой, новый СОМ-порт Сейчас попробую!
карма: 19

0
Разработчик
Ответов: 26113
Рейтинг: 2126
#26: 2016-01-19 12:04:13 ЛС | профиль | цитата
Леонид писал(а):
Ой, новый СОМ-порт

А че COMEx не использовали, он же позволяет менять параметры на лету без перезагрузки порта -- точка doSetComState? IC использует все то же самое, что и COMEx, и ничего нового.
карма: 22

0
Ответов: 8921
Рейтинг: 823
#27: 2016-01-19 13:59:43 ЛС | профиль | цитата
nesco, он, зараза, строку бьёт, да и кодировку путает
comex_error.jpg
карма: 19

0
файлы: 1comex_error.jpg [58KB] [821]
Ответов: 5227
Рейтинг: 587
#28: 2016-01-19 14:31:51 ЛС | профиль | цитата
Konoplj2010, попробуй со своим адаптером этой прогой http://arv.radioliga.com/content/view/238/44/ посмотреть серийник

Если нормально считает то лучше использовать этот драйвер OWDriver (там же на сайте лежит)



------------ Дoбавленo в 13.56:
кстати у нас на сайте работы уже есть
http://forum.hiasm.net/forum.html?q=3&p=264844
http://forum.hiasm.net/forum.html?q=3&p=196073
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Ответов: 8921
Рейтинг: 823
#29: 2016-01-19 16:05:02 ЛС | профиль | цитата
Konoplj2010, вот, упростил code_36823.txt
Нажать Start, или выбрать команду "10" (F0), индикатор светлозелёный, выбирать или вписывать команды в Edit (по Enter) в нужной последовательности.
Принимает-ли датчик более одного байта (каждый из восьми байт 00 и FF), как я нарисовал в ListBox?
карма: 19

0
файлы: 1code_36823.txt [8.2KB] [762]
Ответов: 70
Рейтинг: 0
#30: 2016-01-19 20:10:27 ЛС | профиль | цитата
Леонид писал(а):
вот, упростил code_36823.txt

http://forum.hiasm.com/xf/attach/share/HIAsm%201.jpg
Вы так мне и не сказали о цене.
карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)