Форум ModelldepO  

Вернуться   Форум ModelldepO > Моделизм > Электрика и DCC
Электрика и DCC Обсуждение цифрового и аналогового управления

Ответ
 
Опции темы Опции просмотра
Старый 28.12.2012, 20:56   #1
Darkmind
Заглянувший
 
Регистрация: 28.12.2012
Адрес: Москва
Сообщений: 4
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: пока неопределено (0)
По умолчанию Обмен между PC и модулем Dispatcher

Коллеги,

У меня следующая проблема, которую я пока что не смог найти на форуме: купил модуль Dispatcher версии 1.0.5 (судя по маркеру на плате), подключаю к компу через COM-порт и пытаюсь написать собственное приложение для работы с ним.

Вся система выглядит так:
1) Модуль Fleischmann 680801, включенный в розетку
2) Fleischmann MultiMAUS включенный в Мастер (через оригинальный кабель)
3) Модуль Dispatcher подключенный в Slave (через идущий в комплекте 4х пиновый кабель)
4) Dispatcher подключается к компу кабелем COM, 1.8м

4х пиновый кабель от Modelldepo прозванивал тестером, контакт нормальный (видел на форуме у кого то проблема была с этим). На модуле горит красный светодиод.

С компа через свою программу посылаю на COM порт следующую последовательность:
0xFF 0xFE 0xF0 0xF0

Согласно протоколу XPressNet, мне должны ответить информацией о версии модуля (что-то типа 0xFF 0xFE 0x02 0x30 0x01 0x33). Однако вместо этого я принимаю следующее:
0xFF 0xFE 0x7D 0x61 0x82 0xE3

Судя по первым двум байтам, COM порт выбирается и открывается правильно (заголовок приходит), однако последующие байты для меня загадка. заголовка 0x7D нет в описании протокола, контрольная сумму (0xE3) тоже не сходится - для этого пакета должно быть 0x9E.

Кстати такой пакет принимается на все виды команд - пробовал посылать команду установки адреса модуля. Еще интересный эффект - если MultiMAUS отключить, то модуль вообще ничего не возвращает.

Что я делаю не так или не понимаю? К сожалению не могу протестировать с официальной программой, потому что она под Windows, а у меня Linux на компе.
Darkmind вне форума   Вверх
Старый 28.12.2012, 21:24   #2
Crown
инженер-электроник
 
Аватар для Crown
 
Регистрация: 19.07.2012
Адрес: Тула
Сообщений: 562
Сказал(а) 'не согласен(а)'!: 30
Сказали 'не согласен'! 28 раз(а) в 17 сообщениях
Сказал(а) спасибо: 359
Поблагодарили 715 раз(а) в 280 сообщениях
Репутация: - просто великолепная личность (741)
По умолчанию

Цитата:
Сообщение от Darkmind Посмотреть сообщение
потому что она под Windows, а у меня Linux на компе.
А в чем проблема винду поставить, убедиться в работоспособности купленного и снести, если она вам так ненавистна?
Crown вне форума   Вверх
Старый 28.12.2012, 21:28   #3
Darkmind
Заглянувший
 
Регистрация: 28.12.2012
Адрес: Москва
Сообщений: 4
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: пока неопределено (0)
По умолчанию

Цитата:
Сообщение от Crown Посмотреть сообщение
А в чем проблема винду поставить, убедиться в работоспособности купленного и снести, если она вам так ненавистна?
Потому что диск уже размечен, и двигать разделы, ставить виндовс и восстанавливать потом MBR и Grub слишком много гемороя

Я думал может кто нибудь занимался написанием собственного софта и допускаю возможность того что я просто что-то не так понял в протоколе. Позже попробую завести VirtualBox, возможно он сможет COM пробросить в виртуалку
Darkmind вне форума   Вверх
Старый 28.12.2012, 23:14   #4
wasd01
Местный
 
Регистрация: 02.06.2008
Адрес: Москва
Сообщений: 1,775
Сказал(а) 'не согласен(а)'!: 71
Сказали 'не согласен'! 6 раз(а) в 6 сообщениях
Сказал(а) спасибо: 3,170
Поблагодарили 794 раз(а) в 525 сообщениях
Репутация: - просто великолепная личность (864)
По умолчанию

Еще как вариант - попробуй wine-ом воспользоваться.
wasd01 вне форума   Вверх
Старый 28.12.2012, 23:26   #5
Darkmind
Заглянувший
 
Регистрация: 28.12.2012
Адрес: Москва
Сообщений: 4
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: пока неопределено (0)
По умолчанию

Похоже с программой Dispatcher ничего не получится: то что я нашел на офсайте - исключительно 64-битные сборки
Darkmind вне форума   Вверх
Старый 29.12.2012, 00:04   #6
GOGA
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от Darkmind Посмотреть сообщение
возможно он сможет COM пробросить в виртуалку
Скорее всего проблема с СОМ портом.Даже если "верх" проходит то "низ" 0х33 не воспринимается.У меня нет такого зверя что у Вас,но подобная ситуация была на сканматике(диагностика инжектора),виртуальный СОМ никак не хотел четко работать.Делал даже переходник.Всеравно выдавал разные ошибки на безошибочно работающем инжекторе,а то и вовсе не открывался.Вылечил только покупкой ноута с физическим СОМом. А так попробуйте для этого надо немного пошаманить (открыть доступ к портам)
1. добавляем текущего пользователя (под которым работаем)
в группы lp(для LPT) и uucp(для COM)
2. под root-ом
chmod 0666 /dev/ttyS0 #для COM1
chmod 0666 /dev/lp0 #для LPT1
3. под пользователем
cd /home/нужный пользователь/.wine/dosdevices
ln -s /dev/ttyS0 COM1
ln -s /dev/lp0 LPT1
Может поможет.
  Вверх
Старый 29.12.2012, 00:24   #7
Darkmind
Заглянувший
 
Регистрация: 28.12.2012
Адрес: Москва
Сообщений: 4
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: пока неопределено (0)
По умолчанию

Кажется начинаю догонять. В возвращаемом пакете передается еще и Call Byte:

0xFF 0xFE - заголовок обмена между PC и модулем
0x7D - Call Byte. Не участвует в подсчете суммы и состоит из ParityBit + 0x60 + Адрес модуля (0x1D получается, командная станция)
0x61 - Header
0x82 - Data byte (0x61 0x82 означает "Instruction not supported by command station")
0xE3 - правильная контрольная сумма, если считать 0x61 XOR 0x82

Такое впечатление, что модуль пытается это передать в сеть. Командная станция резонно отвечает что не знает такой инструкции. В принципе мне удалось поправлять такими вот командами (включить/выключить питание, свет в локомитвах).

Осталось непонятным только одно - как в таком случае модуль настраивать - что ему надо передать чтобы изменить адрес, спросить версию и т.д. Такое впечатление что этот интерейс все таки отличается от LI101

Последний раз редактировалось Darkmind; 29.12.2012 в 02:48.
Darkmind вне форума   Вверх
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Расстояние между путей Enforcer НО (1:87) 19 18.07.2018 13:42
Кто нибудь реализовывал модулем Диспетчер и Светофорным декодером"TrafficLight" aikav Цифровая аппаратура Modelldepo 3 17.11.2012 19:27
Работа модуля "Dispatcher" со станцией multiZENTRALE pro 10830 Rokfor Цифровая аппаратура Modelldepo 0 29.05.2012 15:35
Между DCC и DC Илья Электрика и DCC 23 20.06.2008 13:56


Текущее время: 17:41. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
Copyright © ModelldepO.ru 2006 -