реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> преобразовать DMX в Rs485 ?, задача
yar84
сообщение Jun 17 2011, 09:03
Сообщение #1





Группа: Новичок
Сообщений: 2
Регистрация: 17-06-11
Пользователь №: 65 750



Доброго времени суток!

Стоит непосредственная и сложная задача, необходима помощь специалиста-электронщика.

В наличии имеется DMX512 контроллер:
http://www.enttec.com/index.php?main_menu=...how=description

Задача в том, чтобы подружить этот контроллер с промышленным сервоприводом типа:
http://www.intechnics.ru/production_servoprivod.htm
который сам по себе работает по протоколу RS485.

Чтобы таким образом эти два устройства взаимодействовали на цифровом уровне

Ведь по идее DMX512 это в принципе и есть RS485, с небольшой разницей(в DMX есть еще "break")?

Заранее спасибо за мозговой труд!!



Go to the top of the page
 
+Quote Post
Mik174
сообщение Jun 17 2011, 11:32
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 357
Регистрация: 6-01-07
Пользователь №: 24 139



Цитата(yar84 @ Jun 17 2011, 13:03) *
Ведь по идее DMX512 это в принципе и есть RS485, с небольшой разницей(в DMX есть еще "break")?


Коммуникационный протокол Modbus (интерфейсы: RS-485) и DMX512 это совершенно разные вещи.
У обоих физический уровень - это как раз RS485, с тем отличием еще что у DMX512 передача однонаправленная, а у modbus обмен данными в обе стороны.
Но самое главное, что логический уровень у них принципиально отличается, и без какого-то промежуточного устройства (контроллера-преобразователя протоколов) Вы никак их не соедините.

Вам нужно управлять промышленным сервоприводом по протоколу DMX512?
Если протокол непринципиален, то лучше реализуйте, например, тот же modbus на стороне ПК.
Go to the top of the page
 
+Quote Post
yar84
сообщение Jun 17 2011, 16:26
Сообщение #3





Группа: Новичок
Сообщений: 2
Регистрация: 17-06-11
Пользователь №: 65 750



абсолютно верно, необходимо управлять промышленным приводом по протоколу DMX.

ТОЛЬКО НЕ ОДНИМ А 5-6 ОДНОВРЕМЕННО. cool.gif

Сообщение отредактировал yar84 - Jun 17 2011, 16:27
Go to the top of the page
 
+Quote Post
Mik174
сообщение Jun 17 2011, 17:35
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 357
Регистрация: 6-01-07
Пользователь №: 24 139



Цитата(yar84 @ Jun 17 2011, 20:26) *
абсолютно верно, необходимо управлять промышленным приводом по протоколу DMX.

ТОЛЬКО НЕ ОДНИМ А 5-6 ОДНОВРЕМЕННО. cool.gif


Повторюсь -
Вы пишете "DMX512 это в принципе и есть RS485, с небольшой разницей(в DMX есть еще "break")"
Это совершенно неправильно.

RS485 - это физический уровень, который говорит о том, что сигналы "1" и "0" передаются в линию с помощью 2-х линий, уровни напряжения на которых противоположны (на одном ближе к нулю, на другом - к напряжению питания) и полярность этих сигналов друг относительно друга и определяет состояние линии в "1" или в "0". Ничего более RS485 не обозначает.

Что передается, какими кодами, в каком порядке и так далее, определяется протоколом, свего рода "языком", который "понимает" устройство.
По ссылке, что Вы указали видно, что протокол для нужных Вам сервоприводов - Modbus.
Вы хотите управлять с помощью DMX,

Это совершенно разные протоколы

В случае Modbus, фактически получается сеть устройств с одним главным и одним или несколькими подчиненным, связь двунаправленная, имеется проверка контрольной суммы, таймаутов, подчиненные устройства отвечают главному, целый набор команд, которые главное устройство отправляет подчиненным, и ожидает от них ответа, если ответа нет, значит, происходит ошибка. При посылке команды в ней присутствует адрес устройства, к которому идет обращение, т.е. Вы вполне можете поочередно обращаться хоть к десятку устройств.

В случае DMX512 имеется только один вид посылки - начальные сигналы Mab, Break, посылка числа 0, после чего просто отсылается 512 байт данных для каналов. Никаких контрольных сумм, никаких подтверждений приема, никаких команд. Соответственно, никакой гарантии, что данные вообще дошли до адресата именно те, которые были переданы (не искажены), если например, был поврежден кабель, или приемное устройство забыли включить.

Поэтому НИКАК простыми решениями типа переходника Вы не соедините.

Зачем Вам именно DMX?
Он совершенно не предназначен для управления промышленной аппаратурой.
Непонятно, что мешает сделать Вам свой вариант протокола или использовать тот же Modbus ?

Понятие "одновременно" очень относительно и зависит от конкретной ситуации.
Можно отослать несколько команд одна за другой.

Тем более, что у Вас само устройство управляется по modbus, и Вам все равно придется сделать/купить и т.д. какое-то устройство которое будет принимать Ваш DMX и переделывать его (каким-то способом) в Modbus, в итоге при прочих равных, время, необходимое для управления 5-ю устройствами только станет больше, чем если Вы сразу будете по очереди слать команды по modbus каждому из устройств.

Вариант 1:
1) Вы шлете команду по modbus 1-му устройству (и только так, потому что устройство понимает ТОЛЬКО modbus)
2) Вы шлете команду по modbus 2-му устройству
3) Вы шлете команду по modbus 3-му устройству
4) Вы шлете команду по modbus 4-му устройству
5) Вы шлете команду по modbus 5-му устройству

Вариант 2, на котором Вы настаиваете:
1) Вы получаете посылку DMX
2) Промежуточное устройство разбирает эту посылку, выделяя из нее команды для разных 5 устройств

и все равно, независимо от Вашего желания, шлете ПО ОЧЕРЕДИ (т.к. по протоколу modbus одновременно Вы этого в принципе не сможете сделать) команды устройствам:
3) Вы шлете команду по modbus 1-му устройству (и только так, потому что устройство понимает ТОЛЬКО modbus)
4) Вы шлете команду по modbus 2-му устройству
5) Вы шлете команду по modbus 3-му устройству
6) Вы шлете команду по modbus 4-му устройству
7) Вы шлете команду по modbus 5-му устройству

Легко увидеть что второй вариант дольше и дороже.

Разумнее купить нормальный переходник USB-modbus и управлять устройствами изначально по modbus.

Если есть какие-то другие мотивы для применения DMX, то вариант 2 для Вас.
В таком случае или разрабатывайте промежуточное устройство сами, или переносите тему в раздел "предлагаю работу", озвучивайте конкретные пожелания, сколько готовы заплатить за работу и ищите исполнителя, т.к. эта задача не на уровне "соединить выводы такие с другими", а на уровне разработки заказного изделия.
Go to the top of the page
 
+Quote Post
нечитатель
сообщение Jun 17 2011, 21:18
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 235
Регистрация: 20-11-10
Пользователь №: 61 032



[зануда]
Цитата(Mik174 @ Jun 17 2011, 21:35) *
В случае DMX512 имеется только один вид посылки - начальные сигналы Mab, Break, посылка числа 0, после чего просто отсылается 512 байт данных для каналов.
"0x00" может быть стартовым байтом, но стартовый байт не обязательно =0x00. Просто другие значения пока не стандартизованы.
[/зануда]

И это... гугл же? Протокол описание спецификация блабла много букв, и даже с картинками.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 00:51
Рейтинг@Mail.ru


Страница сгенерированна за 0.01387 секунд с 7
ELECTRONIX ©2004-2016