1 / 0 / 4
Регистрация: 10.04.2015
Сообщений: 58
|
|
1 | |
Работа с модулем через RS-485 - ФМ-ТИИ21.04.2015, 09:37. Показов 11851. Ответов 25
Метки нет (Все метки)
Добрый день.
Передо мной поставили следующую задачу: необходимо считать статус функционального модуля, который подключен к компьютеру через преобразователь интерфейсов USB - RS-485 фирмы Bolid. Список команд чтения есть, необходимо, как я понял, реализовать программу, которая обменивалась бы данными с ФМ. Я в этом деле новичок, так что хотел бы попросить совета у более опытных и умных дядек: с чего начать, какую литературу читать и тому подобное.
0
|
21.04.2015, 09:37 | |
Ответы с готовыми решениями:
25
Проверка подключения RS-485 через преобразователь USB/RS-485 Программная работа через COM с RS-485 Modbus через RS-485 "Прошивка" через RS-485 |
1 / 0 / 4
Регистрация: 10.04.2015
Сообщений: 58
|
|
15.05.2015, 13:59 [ТС] | 21 |
John Prick, честно, не знаю чьими мыслями я руководствовался, когда писал эту команду... Исправил, но ответа так и не пришло. Попробую немного поэкспериментировать с типом и номером ФМ, а так же с преобразователем( есть сомнения, что полярность соблюдена ).
То есть ваше мнение, что эта команда ( в исправленном виде, конечно ), правильно сформирована и модуль должен ответить?
0
|
2277 / 1768 / 741
Регистрация: 27.07.2012
Сообщений: 5,251
|
|
15.05.2015, 14:08 | 22 |
В описании сказано, что должна. Там вообще на все команды ответ должен приходить, кроме одной, которая сразу всем устройствам посылается. Я выбрал эту, потому что она самая простая.
Кстати, проверьте ещё настройки ком-порта, в частности, частоту передачи. По описанию 57600 должна быть.
1
|
1 / 0 / 4
Регистрация: 10.04.2015
Сообщений: 58
|
|
18.05.2015, 17:43 [ТС] | 23 |
John Prick, пытался поменять полярность на преобразователе, так же проверил настройки порта, но все тщетно.
В тестовом запуске ( через замкнутый шнур ) все данные как отправляются, так и принимаются программой. Команду сформировал в точности ( на этот раз действительно точно ), как Вы мне исправили. Варианта, как я понимаю, остается два: неисправно либо оборудование, либо мой код. Не могли бы Вы проанализировать мой код?
0
|
2277 / 1768 / 741
Регистрация: 27.07.2012
Сообщений: 5,251
|
|
19.05.2015, 10:55 | 24 |
Нет, их побольше. Попробую накидать то, что первое в голову приходит:
1. Программа не отправляет данные. Если в замкнутом режиме всё отправляется и принимается, то в первом приближении примем, что код работы с ком-портом корректен. 2. Устройство не принимает данные. Здесь у меня только одно предположение: неисправен преобразователь USB-RS485. По руководству я так понял, что контролируется всё только с помощью светодиодов: 1) отправляйте данные с интервалом менее 10 сек (напр., 5 сек) 2) отправляйте данные реже 10 сек 3) не отправляйте ничего больше часа Проверьте, чтобы светодиоды вели себя так, как сказано в описании. 3. Устройство принимает данные, но не отправляет ответ. Здесь может быть много причин: 3.1. Посылка сформирована не верно. 3.2. Посылка сформирована верно, но не совпадает номер устройства. Пробовали "играть" номером ФМ? Заметьте, что когда меняете номер устройства в посылке, необходимо также пересчитать контрольную сумму. 3.3. Всё формируется верно, но устройство получает "битую" посылку. Тут может быть что угодно: глюк преобразователя, глюк ФМ и т.д. 4. Устройство принимает данные и отправляет ответ. На ком-порт данные не приходят. Опять же вопросы к преобразователю. Надо смотреть монитором ком-порта. Можете выложить сюда логи мониторинга? 5. Ответные данные принимаются ком-портом, но не принимаются программой. Устройству на ответ необходимо некоторое время. После посылки сделайте некоторую паузу (называется таймаутом протокола, для разных команд может быть разным) и только потом читайте порт. А м.б. лучше разделить отправку и приём данных по разным потокам. Но этим заняться только если выполняется п.4. На абсолютно исчерпывающий ответ я не претендую. Возможно, что-то натолкнёт вас на другие мысли. И выложите, пожалуйста, логи порта, интересно взглянуть. Ещё такой момент. Нет у вас сторонней программы, работающей с этим устройством?
1
|
1 / 0 / 4
Регистрация: 10.04.2015
Сообщений: 58
|
|
20.05.2015, 14:59 [ТС] | 25 |
John Prick, Вы не поверите, два попадания из двух!
Во-первых, был неисправен преобразователь. Ну а, соответственно, во-вторых, был неисправен сам ФМ. Все выяснилось путем посылки тестовой команды через программу, которая уже работала с данным ФМ. Программа же, написанная мной, теперь успешно отсылает и принимает данные, что несказанно радует меня. Большое Вам спасибо за всю ту помощь, что Вы оказывали мне на протяжении этих недель! Правда, мне кажется, что в скором времени появится новая тема с новым вопросом от меня. Хех. Еще раз большое Вам спасибо!
0
|
2277 / 1768 / 741
Регистрация: 27.07.2012
Сообщений: 5,251
|
|
20.05.2015, 15:09 | 26 |
Ну что ж, поздравляю. В работе с периферийными устройствами главное - это терпение.
Будут вопросы, дайте знать. Поможем, чем сможем.
0
|
20.05.2015, 15:09 | |
20.05.2015, 15:09 | |
Помогаю со студенческими работами здесь
26
AVR, работа с RS-485 RS-485. Работа с Modbus протоколом... Modbus RTU через интерфейс rs-485 Отправка и получение данных через RS-485 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |