Jump to content
Форум по продукции MOXA

slayer

Пользователи
  • Posts

    13
  • Joined

  • Last visited

Everything posted by slayer

  1. Помогло отключение опций для порта в QNX: До этого были включены. Теперь обмен между мастером и слейвом происходит корректно. Огромное спасибо за помощь.
  2. Понятно. Да, Вы правы, настройки порта можно конфигурировать на уровне приложения QNX. Эхо я отключил. Теперь возврат не приходит. Но к слейву все равно запрос приходит по частям с отсутствующими байтами. Может есть еще какие-то опции порта, которые нужно включить/отключить/настроить?
  3. Для чего тогда в настройках Moxa задаются параметры порта, если он все равно потом порт будет открыт с параметрами приложения пользователя?
  4. Все так. Просто система не дает менять эти опции, если порт уже открыт драйвером moxattyd. И настройка этих параметров должна происходить и происходит на уровне драйвера. Поясню: скорость, четность и т.д. драйвер берет из настроек Moxa и устанавливает их для порта, прописанного в конфигурации. Аналогичным образом должно отключаться эхо и другие ненужные опции. Ну то есть я при всем желании не могу изменить настройки порта, для этого необходимо лезть в код драйвера.
  5. Операционная система QNX 6.6 (ЗОСРВ "Нейтрино" КПДА.10964-01). Настройки порта: /isagraf $ stty -a </dev/ttyp8 Name: /dev/ttyp8 Type: pseudo Opens: 1 -parenb -parodd -parstk -cstopb -inpck +hupcl +cread -clocal +isig +icanon +iexten +echo +echoe -echok +echoke -echonl +echoctl -noflsh -ignbrk +brkint -ignpar -parmrk -istrip -inlcr -igncr +icrnl +imaxbel +opost +onlcr -isflow +osflow -ihflow -ohflow intr=^C quit=^\ erase=^? kill=^U eof=^D eol=^- eol2=^- swtch=^- start=^Q stop=^S susp=^Z dsusp=^- reprint=^- discard=^- werase=^- lnext=^V min=01 time=00 fwd=^- login=^- pr1=^[ pr2=5B pr3=^- pr4=^- sf1=^- sf2=^- sf3=^- sf4=^- left=44 right=43 up=41 down=42 ins=40 del=50 rub=^- can=^- home=48 end=59 par=none bits=8 stopb=1 baud=115200 rows=0,0
  6. Выяснилась очень интересная штука: та самая "петля" - это вовсе не аппаратная ошибка связи, это ответ драйвера такой. Видно, что в посылке, те байты, который начинаются на 0, заменяются драйвером на 5E 40 и посылка отправляется обратно. Когда я в первый раз обнаружил эту "петлю", у меня в посылке не было байтов, начинающихся на 0, поэтому мне вернулось ровно то, что я отправлял. Сейчас я попробовал отправить в порт обычный ModBus запрос, а на другом конце просто отключил слейв и запустил прослушку этого порта. Вот такие данные мне возвращаются от драйвера, та же посылка, просто с замененными байтами. Причем такая своеобразная петля работает только, когда я слушаю порт на стороне QNX, если порт не прослушивается, то возврата посылки не происходит. Ровно такой же ответ приходит и ModBus-мастеру, когда тот запрашивает данные от слейва: Тот же самый запрос с замененными байтами. А слейв в это время получает из порта какую-то билиберду. То есть ситуация такая: вне зависимости от того, запущен ли на принимающей стороне слейв, или же порт просто прослушивается с помощью cat /dev/ttyp, драйвер возвращает посылку назад, заменяя в ней байты начинающиеся с 0 на некую последовательность символов.
  7. Я и сам не понимаю, почему мастер получает данные нормально, а слейв - нет. Странная ситуация. Интерфейсный кабель уже менял, в том числе и на заводской. Пробовал передавать данные и по 232, и по 485. Не помогает. С новой версией драйвера ситуация аналогичная.
  8. Так написано на сайте moxa.ru. Так написано в файле Version.txt.
  9. На терминал запросы приходят корректно: И сразу целиком.
  10. Если вместо контроллера с QNX взять компьютер с Windows и повторить эксперименты, приведенные выше, то все работает корректно. Как обычная передача данных в порт, так и ModBus-запросы. Из чего делаю вывод о частичной неработоспособности драйвера nPort 5150 под UNIX, в частности под QNX 6.5. Куда можно обратиться по этому вопросу?
  11. По поводу "возвращающихся данных": Шлю в порт некую последовательность, через 11 мс. она мне приходит обратно: В это время на принимающей стороне: То есть - тишина. Должно быть так: Это минуя Moxa. Напрямую в железный COM-порт контроллера.
  12. Попробовал значения 5, 25, 50. Ситуация изменилась, при любом значении приходит только один первый байт: номер слейва.
  13. Добрый день. Имеется задача: запустить ModBus Slave на контроллере под управлением ОС QNX 6.5, чтобы отдавать данные через Moxa nPort IA-5150 в режиме RealCom Mode. Драйвер под QNX взят с сайта и скомпилирован, корректно запускается и работает. Moxa nPort IA-5150 настроена в соответствии с моими представлениями о том, как это должно быть сделано. При использовании ModBus начинаются проблемы. В контроллер втыкаем витую пару от Moxa, запускаем драйвер, запускаем программу ModBus Slave, на другом конце ноутбук подключенный к Moxa по 232 или 485, не важно, ситуация идентична, на ноуте запускается ModBus Master, который отправляет запросы в порт. Но к слейву запросы приходят разбитыми на части и с отсутствующими байтами. Выглядит это так: Запрос от мастера: Что видит слейв: Примечательно то, что наоборот: мастер на контроллере, слейв на ноутбуке - все работает. В корректности используемого ПО тоже нет сомнений, при исключении из связки Moxa и подключении к физическому COM-порту контроллера обмен работает нормально. Так же замечена странная ситуация, когда с ноутбука пишешь в COM-порт произвольную последовательность байт, то до контроллера они не доходят, а возвращаются от Mоxa обратно в COM-порт ноутбука, т.е. получается некая петля. С контроллера же, при записи в COM-порт Moxa, данные передаются корректно (аналогично с ситуацией для ModBus, когда в одну сторону запросы идут, а в другую - нет). Подскажите пожалуйста, куда копать в данной ситуации. Конфигурация Moxa во вложении. cfg.txt
×
×
  • Create New...