Простой пример работы с последовательным портом

VISA, TCP/IP, USB, CAN, GPIB и подобные протоколы
Аватара пользователя
Eugen Graf

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

Re: Простой пример работы с последовательным портом

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

Да правильно. А ты используешь обычный RS232 интерфейс? Если нет, то нужно другие пины соединять.
qwert666999
beginner
beginner
Сообщения: 38
Зарегистрирован: 13 фев 2009, 18:04
Версия LabVIEW: 8.6
Контактная информация:

Re: Простой пример работы с последовательным портом

Сообщение qwert666999 »

подскажите что за ошибка, выдает при записи в Visa Write .... вот в этой :vi:

"Error -1073807246 occurred at Property Node (arg 1) in VISA Configure Serial Port (Instr).vi->OTPravtel.vi
Possible reason(s):
VISA: (Hex 0xBFFF0072) The resource is valid, but VISA cannot currently access it."
Вложения
Безымянный.jpg
qwert666999
beginner
beginner
Сообщения: 38
Зарегистрирован: 13 фев 2009, 18:04
Версия LabVIEW: 8.6
Контактная информация:

Re: Простой пример работы с последовательным портом

Сообщение qwert666999 »

и вот ещё эта ви ) .. хочу в ней передавать sin или cos , по выбору ..
Вложения
OTPravtel.vi
(13.58 КБ) 326 скачиваний
qwert666999
beginner
beginner
Сообщения: 38
Зарегистрирован: 13 фев 2009, 18:04
Версия LabVIEW: 8.6
Контактная информация:

Re: Простой пример работы с последовательным портом

Сообщение qwert666999 »

eg , подскажи пожалуйста,.. я использовал твой пример, где передается sin и cos , хочу передавать только sin , в visa write запись идет нормально , а вот при считывании visa read считывает совсем другое, каша значений получается , что сдесь может быть не так?
Вложения
OTPravtel.vi
(13.59 КБ) 320 скачиваний
PRIem.vi
(12.03 КБ) 334 скачивания
Аватара пользователя
Eugen Graf

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

Re: Простой пример работы с последовательным портом

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

Нужно при считывании заменить Spreadsheet Srting To Array на Scan From String или Fract. String To Number.
qwert666999
beginner
beginner
Сообщения: 38
Зарегистрирован: 13 фев 2009, 18:04
Версия LabVIEW: 8.6
Контактная информация:

Re: Простой пример работы с последовательным портом

Сообщение qwert666999 »

подскажите пожалуйста , как через ком порт передавать значение которое постоянно меняеться, т.е. передавать то вроде нормально передает, а вот с приемом что то не могу разобраться, как то он не правильно принимает(
посоветуйте что нибудь....)
вот VI , с которыми я мучаюсь..
Вложения
TPV.vi
(11.18 КБ) 343 скачивания
TPV2.vi
(11.91 КБ) 318 скачиваний
Аватара пользователя
skyAlex
beginner
beginner
Сообщения: 17
Зарегистрирован: 10 окт 2009, 11:13
Версия LabVIEW: 2009
Контактная информация:

Re: Простой пример работы с последовательным портом

Сообщение skyAlex »

2-3 третий пин соединил, передача идёт, но очень медленно...переделал под передачу буквенной сроки, так 5 букв он секунд по 10 передаёт... скорости портов ставил разные-одинаково. куда копать?
Аватара пользователя
Eugen Graf

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

Re: Простой пример работы с последовательным портом

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

Перед конфигурацией порта добавь VISA Open с флагом Duplicate VISA Session. Скорее всего это поможет.
Аватара пользователя
skyAlex
beginner
beginner
Сообщения: 17
Зарегистрирован: 10 окт 2009, 11:13
Версия LabVIEW: 2009
Контактная информация:

Re: Простой пример работы с последовательным портом

Сообщение skyAlex »

eg писал(а):Перед конфигурацией порта добавь VISA Open с флагом Duplicate VISA Session. Скорее всего это поможет.
поставил сначала только в проге передачи - скорость возрасла раза в 4-ре, но всё равно медленно... при добавлении VISA Open в прогу считывания- возвращается к старым скоростям...
Аватара пользователя
Eugen Graf

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

Re: Простой пример работы с последовательным портом

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

Сейчас у себя попробую.
Аватара пользователя
skyAlex
beginner
beginner
Сообщения: 17
Зарегистрирован: 10 окт 2009, 11:13
Версия LabVIEW: 2009
Контактная информация:

Re: Простой пример работы с последовательным портом

Сообщение skyAlex »

а вот ещё...только то изменил время таймера цикла с 50 мс до 1 мс, приём стал происходить мнгновенно, но после 8-10 циклов приёмо-передачи в окне приёма начинают вылезать призраки того что отправлял до этого: ну например до этого отправлял "1" получил "1",отправлял "AD" получил "AD", а потом раз и отправил "123" а получаю моргающий "123AD"...вообще не понимаю откуда такое может быть...
Аватара пользователя
Eugen Graf

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

Re: Простой пример работы с последовательным портом

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

Во первых у меня мой пример работает на одном интерфейсе при соединённых пинах 2 и 3 только если я применяю Duplicate Session как минимум в отправляющем приборе (или в обоих приборах).

У тебя может быть проблема (даже скорее всего) в Termination Character. При конфигурации можно его включить/выключить или выставить на какой нибудь другой.

Выкладывай скрины твоих приборов в форум, будем разбираться.
Аватара пользователя
skyAlex
beginner
beginner
Сообщения: 17
Зарегистрирован: 10 окт 2009, 11:13
Версия LabVIEW: 2009
Контактная информация:

Re: Простой пример работы с последовательным портом

Сообщение skyAlex »

Тестовый вариант, это правда без таймера, с 1мс таймер результат одинаковый
In-Out.JPG
п.с. а за что отвечает Termination Character ?
Аватара пользователя
Eugen Graf

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

Re: Простой пример работы с последовательным портом

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

Ну во-первых определись с частотой, с которой ты посылаешь данные на интерфейс. Непонятно почему ты посылаешь их без задержки. Что нужно? Передавать данные, только если содержимое меняется или по нажатию кнопки, или постоянно с определённой частотой.

А Termination Character это например конец строки. Для того, чтобы при чтении ты знал, ага, это конец строки, значит строка считана до конца. Если его нет, то нужно создавать протокол передачи данных. Так как у тебя сейчас работать будет некорректно.
Аватара пользователя
skyAlex
beginner
beginner
Сообщения: 17
Зарегистрирован: 10 окт 2009, 11:13
Версия LabVIEW: 2009
Контактная информация:

Re: Простой пример работы с последовательным портом

Сообщение skyAlex »

eg писал(а):Ну во-первых определись с частотой, с которой ты посылаешь данные на интерфейс. Непонятно почему ты посылаешь их без задержки. Что нужно? Передавать данные, только если содержимое меняется или по нажатию кнопки, или постоянно с определённой частотой.

А Termination Character это например конец строки. Для того, чтобы при чтении ты знал, ага, это конец строки, значит строка считана до конца. Если его нет, то нужно создавать протокол передачи данных. Так как у тебя сейчас работать будет некорректно.
косяк..да) сделал чтоб по нажатию кнопки пересылало. млин! всё равно задержка приёма в 8сек...мда
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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