Проблема с программированием Rs-232

VISA, TCP/IP, USB, CAN, GPIB и подобные протоколы
kosevgen
user
user
Сообщения: 81
Зарегистрирован: 16 май 2008, 11:29
Версия LabVIEW: 6i, 8.2

Проблема с программированием Rs-232

Сообщение kosevgen »

столкнулся со следующим препятствием. Занимаюсь сбором данных с удаленного объекта по CSD - каналу. Дозваниваюсь с модема подключенного к ком-порту до второго такого-же модема модема (через GSM терминал написанный в labview). Связь устанавливается. Запускаю другое приложение labview (основное) - Появляется сообщение о том что порт занят. Проблема решается перезагрузкой labview. Соединил эти две программы в одну общую. Сначала дозванился - пауза 10сек - расчет. Та же проблема порт занят. Втыкаю посередине паузы команду закрыть ком - порт - порт закрывается, но и связь между модемами исчезает. Вообщем как можно обойти эту проблему подскажите. может какую - нибудь команду записать в com? Заранее благодарен. Добавлю что управление потоком не используется.
Вложения
Count.vi
(34.64 КБ) 273 скачивания
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Проблема с программированием Rs-232

Сообщение Eugen Graf »

Тебе надо в твоей программе закрывать порт каждый раз, когда ты использовал команду Write, чтобы отдать компорт этому GSM драйверу. А также использовать прибор DeviceClose.vi каждый раз перед тем когда ты хочешь использоватъ команду Write. Иначе возникает конфликт, так как порт занят либо драйвером, либо Write-ом.
kosevgen
user
user
Сообщения: 81
Зарегистрирован: 16 май 2008, 11:29
Версия LabVIEW: 6i, 8.2

Re: Проблема с программированием Rs-232

Сообщение kosevgen »

eg писал(а):Тебе надо в твоей программе закрывать порт каждый раз, когда ты использовал команду Write, чтобы отдать компорт этому GSM драйверу. А также использовать прибор DeviceClose.vi каждый раз перед тем когда ты хочешь использоватъ команду Write. Иначе возникает конфликт, так как порт занят либо драйвером, либо Write-ом.
Gsm - драйвер не использую. Использую драйвера от ADAM контроллеров. Порядок программы такой - Звоню с периодом раз в час - устанавливается связь (секунд 25 )- Связь не обрывается но ком порт освобождается для драйверов ADAM.
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Проблема с программированием Rs-232

Сообщение Eugen Graf »

Сорри, может не GSM, а ADAM, это не важно. А вот этот ADAM драйвер разве не имеет прибор позволяющий посылать команды на компорт? Ну какую нибудь функцию Write?
kosevgen
user
user
Сообщения: 81
Зарегистрирован: 16 май 2008, 11:29
Версия LabVIEW: 6i, 8.2

Re: Проблема с программированием Rs-232

Сообщение kosevgen »

eg писал(а):Сорри, может не GSM, а ADAM, это не важно. А вот этот ADAM драйвер разве не имеет прибор позволяющий посылать команды на компорт? Ну какую нибудь функцию Write?
в том то и проблема что при этом связь обрывается. Хотя я и не знаю какую строку записывать туда. Порт ведь все равно модемом занят. Выяснилось еще одна вещь. Когда звоню через гипер терминал. Установив связь нужно подождать секунд 20 появиться ответ CONNECT 9600\RLP - после этого если отключить гипер терминал связь обрывается. Если отключить гипер в промежутке между установлением связи и получением ответа 9600\PRL при запуске основного приложения в labview все работает нормально.
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Проблема с программированием Rs-232

Сообщение Eugen Graf »

Ага, это уже интересно. Выложи пожалуйста прибор DeviceOpen из этого ADAM драйвера. Мне кажется там используется какая нибудь хард-синхронизация, иначе откуда модему знать закрываешь ты Hyper Terminal или нет. А лучше выложи всю библиотеку с драйвером.
И да, ты можеш закачивать файлы прямо в форум, а не через какую нибудь рапид шару.
kosevgen
user
user
Сообщения: 81
Зарегистрирован: 16 май 2008, 11:29
Версия LabVIEW: 6i, 8.2

Re: Проблема с программированием Rs-232

Сообщение kosevgen »

eg писал(а):Ага, это уже интересно. Выложи пожалуйста прибор DeviceOpen из этого ADAM драйвера. Мне кажется там используется какая нибудь хард-синхронизация, иначе откуда модему знать закрываешь ты Hyper Terminal или нет. А лучше выложи всю библиотеку с драйвером.
И да, ты можеш закачивать файлы прямо в форум, а не через какую нибудь рапид шару.
Выложу ссылку по причине малой скорости отдачи. ftp://lik-gw.tomsk.ru/Advantech/LabVIEW/LabVIEW.exe
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Проблема с программированием Rs-232

Сообщение Eugen Graf »

Ок, драйвер я скачал.

Давай разберёмся. У тебя есть удалённый прибор с которым ты хочешь общаться через модем. То есть у тебя есть две программы. Одна работает на одном компе. Другая работает на другом компе, что рядом с удалённым прибором.

Или же прибор подключен напрямую к модему?

Ты значит открываешь соединиение на твоём компе с модемом (то есть занимаешь один компорт), ждёшь 10 или 20 секунд пока установится связь. А потом вдруг связь обрывается?

Или же ты пытаешься записывать на тот же компорт что то другое?

Что то не совсем понятно что к чему. Обьясни поподробнее.
kosevgen
user
user
Сообщения: 81
Зарегистрирован: 16 май 2008, 11:29
Версия LabVIEW: 6i, 8.2

Re: Проблема с программированием Rs-232

Сообщение kosevgen »

Схема системы:
Измеритель -- ADAM-4080 - ADAM-4520 - модем -- сеть оператора -- модем - пк - софт.
Связь устанавливаю модемом который у меня (через любой telnet - хотя можно просто записать строку в модем через ком порт) - вообщем на установку связи секунд 20-25 если в момент времени между посылкой команды на установление связи и непосредственным установлением отключить telnet приложение и включить прогу написаную мной - то связь есть. Если же выключить телнет после того как связь установится (20-25 секунд) то связь между модемами обрывается.
kosevgen
user
user
Сообщения: 81
Зарегистрирован: 16 май 2008, 11:29
Версия LabVIEW: 6i, 8.2

Re: Проблема с программированием Rs-232

Сообщение kosevgen »

Я ведь модемом открываю ком порт или приложением? Данные ведь передаются через тот же модем.
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Проблема с программированием Rs-232

Сообщение Eugen Graf »

Ты открываешь компорт своим приложением.

Насколько я понимаю ты неправильно открываешь связь своим приложением, или совсем не открываешь. Зачем тебе вообще нужен телнет. Делай всё через своё приложение.
kosevgen
user
user
Сообщения: 81
Зарегистрирован: 16 май 2008, 11:29
Версия LabVIEW: 6i, 8.2

Re: Проблема с программированием Rs-232

Сообщение kosevgen »

Так ведь я и сделал - все равно пишет порт занят хотя открываю порт в одной программе с той что собираю данные!
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Проблема с программированием Rs-232

Сообщение Eugen Graf »

Знаешь что, у меня есть программка, которая показывает какое приложение когда открыло компорт и какие данные посылаются туда и обратно.
Попробуй. Раз твоё приложение говорит что компорт кем то занят, то значит он занят, а вот кем ты узнаешь через эту прогу.

http://www.download.com/Free-Serial-Por ... tag=button
kosevgen
user
user
Сообщения: 81
Зарегистрирован: 16 май 2008, 11:29
Версия LabVIEW: 6i, 8.2

Re: Проблема с программированием Rs-232

Сообщение kosevgen »

Порт занимаю я запуская свое приложение это однозначно. В начале в программе я посылаю команду на связь (занял) - потом через 20 секунд начинаю подсчет событий - вот сдесь - ошибка - втом что порт занят.
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Проблема с программированием Rs-232

Сообщение Eugen Graf »

Подсчёт событии делает ведь всё та же программа, ну которой ты в начале занял порт. Поэтому такой ошибки быть не должно. Вот и узнай какая другая программа занимает компорт во время твоего подсчёта.
А ты уверен что выскакивает именно эта ошибка?
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Коммуникация с приборами»