Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: комп (rs232) vs микроконтроллер adam 5510 (rs485)  (Прочитано 12847 раз)
0 Пользователей и 3 Гостей смотрят эту тему.
blex
Гость
« : 22-04-2010 10:20 » 

Всем привет!
Впервые на этом форуме, так что извините, если что не так.

есть вышеназванный контроллер. Он подключён к компу через 2 интерфейса 232 (используется заливки программ на МК) и 485 (используется для обмена данными). На МК крутится прога на турбо си. Так же есть 100% рабочая прога на VB, которая висит на компе и принимает/отправлят данные на МК. Проблемя в то, что в компе 232 интерфейс. И данные, которые контроллер отправляет, естественно не доходят. 

Вопрос в том, можно ли программно согласовать rs232 и rs485? Если да, то где это сделать в проге на VB или в контроллере в проге на TC.
Или единственный выход - купить переходник rs232<=>rs485 ?
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 22-04-2010 10:31 » 

ответ - невозможно, если не предусмотрен 485. Нужен конвертер.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 22-04-2010 11:03 » 

Никакого программного согласования не требуется, если протоколы одинаковые — только электрическое, как уже сказал Слава. RS485 работает по дифференциальным парам, а RS232 — по одиночным проводам с общей землей. Есть как микросхемы конверторов, так и готовые устройства.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Dale
Блюзмен
Команда клуба

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 22-04-2010 12:07 » 

...
Вопрос в том, можно ли программно согласовать rs232 и rs485? Если да, то где это сделать в проге на VB или в контроллере в проге на TC.

Программное согласование непременно понадобится. Интерфейс RS-485 в принципе полудуплексный, поэтому при работе с ним конечное оборудование должно обеспечить режим, когда в каждый момент времени в канале лишь один передатчик активен. Компьютерный порт RS-232 обеспечивает полный дуплекс, поэтому вероятность коллизий весьма высока.
  
Или единственный выход - купить переходник rs232<=>rs485 ?

Переходник также понадобится, поскольку электрические характеристики RS-232 и RS-485 отличаются значительно.

P.S. А это действительно вопрос по теме раздела?
« Последнее редактирование: 22-04-2010 12:12 от Dale » Записан

Всего лишь неделя кодирования с последующей неделей отладки могут сэкономить целый час, потраченный на планирование программы. - Дж. Коплин.

Ходить по воде и разрабатывать программное обеспечение по спецификациям очень просто, когда и то, и другое заморожено. - Edward V. Berard

Любые проблемы в информатике решаются добавлением еще одного уровня косвенности – кроме, разумеется, проблемы переизбытка уровней косвенности. — Дэвид Уилер.
lag
Участник

ru
Offline Offline

« Ответ #4 : 22-04-2010 12:56 » 

У этого контроллера 3 порта:
порт для программирования RS-232, соединяется с компом модемным кабелем DB-9,
порт COM1 - RS-232, соединяется с компом нуль-модемным кабелем DB-9,
порт COM2 - RS-485.
Так что надо узнать откуда берутся данные и как они отправляются с контроллера на комп, скорее всего
надо будет глянуть "прогу на Турбо-С".
Записан
blex
Гость
« Ответ #5 : 22-04-2010 12:58 » 

немного не по теме  Краснею
Просто сюда больше всего подходило.

Всем огромное спасибо, буду преобразователь искать.
Записан
blex
Гость
« Ответ #6 : 22-04-2010 13:13 » 

2 lag:
данные берутся  из головы (для теста), а в идеале они будут браться с модуля 5017 кажется, к которому подключён термодатчик.
отправляю с помощью функций из библиотек контроллера
com_485_install();
com_485_set_format();
com_485_set_speed();
com_485_tx() ....   и т.д.
Записан
lag
Участник

ru
Offline Offline

« Ответ #7 : 22-04-2010 13:20 » 

раз есть библиотечные com_485_tx() и т.д. то скорее всего должны быть что-то типа com_232_tx().
Надо только подключить контроллер нуль-модемным кабелем с ком-порту компьютера.
Записан
blex
Гость
« Ответ #8 : 22-04-2010 13:33 » 

Действительно!  Улыбаюсь

там функции называются просто
com_install() и т.д.


Спасибо за наводку.
Странно, что мне преподаватель сказал , что именно через 485 надо передавать.  Либо он сам не в курсе, либо задание усложнил специально.
В ближайшее время узнаю и отпишу.
Записан
lag
Участник

ru
Offline Offline

« Ответ #9 : 22-04-2010 15:21 » 

Цитата
именно через 485 надо передавать
если контроллер стоит рядом с компом, то можно и через RS-232,
если от контроллера до компа больше 15 метров при скорости 9600, то надо использовать
RS-485. В этом случае без конвертера RS-485-RS-232 не обойтись. Возьми ADAM-4520 например.
Записан
blex
Гость
« Ответ #10 : 23-04-2010 11:28 » new

как оказалось, конвертер adam 4520 прилагается  Улыбаюсь
Просто мне толком не объяснили. 
Так что всем огромное спасибо за участие! По крайней мере я разобрался что к чему.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines