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

Recommended Posts

Здравствуйте!

Пытаюсь настроить обмен между двумя преобразователями NE-4120A-T, порты RS-422/485 соединены между собой, порты Ethernet соединены с сетевой картой с двумя разъемами. IP-адреса сетевых интерфейсов 192.168.0.111 и 192.168.1.111. Операционная система QNX6.5.0. Первоначально решил настроить MOXы на работу в UDP Mode, написал сервер и клиент, повесил каждый на свой интерфейс (Ethernet) - обмен успешный. Далее захотелось проверить работу в той же конфигурации в режиме Real COM Mode. Но столкнулся с трудностями запуска moxattyd (moxattyd_3_5_build_11032510). Распаковал, прописал в конфигурационном файле moxattyd.cf IP адрес и nPort и tcp порт - "ttyp8 192.168.1.111 950" (пока только одной), предварительно проверив что MOXA доступна по 950 порту (telnet 192.168.1.111 950). Запустил moxattyd (moxattyd -t 1), устройство с именем /dev/ptyp8 не появилось. Посмотрел исходный код moxattyd.c и обнаружил что из программы выполняется открытие уже созданного tty (функция OpenTty - open(ttyname, ...)), но не его создание. Решил предварительно запустить devc-pty (с параметрами -n 16), и уже после запускать moxattyd, т.к. если предварительно не создать /dev/ptyp8, в логе moxattyd.log появляется строчка "Master pseudo tty open fail (ptyp8)". Но после, при попытке обратиться к /dev/ptyp8 любым доступным способом, получаю "Resource busy" (естественно в случае когда запущен moxattyd), данные ни передать ни получить естественно не получается. Можете объяснить каким образом необходимо выполнять запуск moxattyd и настраивать саму MOXу для правильной работы через Real COM Mode?

P.S. Извиняюсь за дублирование тем, писал в два приема, но причин дублирования не понял, был даже не зарегистрирован на форуме.  =(

Спасибо.

Link to comment
В 14.06.2019 в 16:03, Незнайка сказал:

Добрый день!

Попробуйте использовать 3.5.5 https://yadi.sk/d/ql-Ci6FfJ_rnVA , она под 6.5 точно работала

 

Спасибо за новую версию. Понял свою ошибку, пытался обращаться к /dev/ptyp8, а нужно было к /dev/ttyp8, ptyp8 относится к moxattyd и является MASTER-терминалом, а ttyp8 SLAVE-терминалом. Получилось проверить прохождение данных используя команды:

echo hello > /dev/ttyp8
cat > /dev/ttyp9

А вот из собственных программ клиент-сервер, через вызовы open, read, write стабильно принять данные не получилось, теряются пакеты и валидность данных под вопросом, хотя счетчики Rx и Tx в мониторе моксы эквиваленты на обоих каналах (сегодня игрался уже с другой моксой - NPort 5650-16, но думаю сути происходящего это не меняет). Поэтому проблема где-то на стороне операционной системы. Пока досконально не разбирался, но такое впечатление, что параметр raw (работа терминала в сыром режиме) не желает применяться по непонятным мне причинам, уже времени не хватило на стенде сегодня.

В rc.local прописано:

stty baud=115200 -ihflow -ohflow raw -echo < /dev/ptyp8
stty baud=115200 -ihflow -ohflow raw -echo < /dev/ptyp9
/usr/etc/moxattyd/moxattyd -t 1

 

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...