Простой пример работы с последовательным портом
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Простой пример работы с последовательным портом
Да правильно. А ты используешь обычный RS232 интерфейс? Если нет, то нужно другие пины соединять.
-
- beginner
- Сообщения: 38
- Зарегистрирован: 13 фев 2009, 18:04
- Версия LabVIEW: 8.6
- Контактная информация:
Re: Простой пример работы с последовательным портом
подскажите что за ошибка, выдает при записи в Visa Write .... вот в этой
"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."
"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."
-
- beginner
- Сообщения: 38
- Зарегистрирован: 13 фев 2009, 18:04
- Версия LabVIEW: 8.6
- Контактная информация:
Re: Простой пример работы с последовательным портом
и вот ещё эта ви ) .. хочу в ней передавать sin или cos , по выбору ..
- Вложения
-
- OTPravtel.vi
- (13.58 КБ) 326 скачиваний
-
- beginner
- Сообщения: 38
- Зарегистрирован: 13 фев 2009, 18:04
- Версия LabVIEW: 8.6
- Контактная информация:
Re: Простой пример работы с последовательным портом
eg , подскажи пожалуйста,.. я использовал твой пример, где передается sin и cos , хочу передавать только sin , в visa write запись идет нормально , а вот при считывании visa read считывает совсем другое, каша значений получается , что сдесь может быть не так?
- Вложения
-
- OTPravtel.vi
- (13.59 КБ) 320 скачиваний
-
- PRIem.vi
- (12.03 КБ) 334 скачивания
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Простой пример работы с последовательным портом
Нужно при считывании заменить Spreadsheet Srting To Array на Scan From String или Fract. String To Number.
-
- beginner
- Сообщения: 38
- Зарегистрирован: 13 фев 2009, 18:04
- Версия LabVIEW: 8.6
- Контактная информация:
Re: Простой пример работы с последовательным портом
подскажите пожалуйста , как через ком порт передавать значение которое постоянно меняеться, т.е. передавать то вроде нормально передает, а вот с приемом что то не могу разобраться, как то он не правильно принимает(
посоветуйте что нибудь....)
вот VI , с которыми я мучаюсь..
посоветуйте что нибудь....)
вот VI , с которыми я мучаюсь..
- skyAlex
- beginner
- Сообщения: 17
- Зарегистрирован: 10 окт 2009, 11:13
- Версия LabVIEW: 2009
- Контактная информация:
Re: Простой пример работы с последовательным портом
2-3 третий пин соединил, передача идёт, но очень медленно...переделал под передачу буквенной сроки, так 5 букв он секунд по 10 передаёт... скорости портов ставил разные-одинаково. куда копать?
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Простой пример работы с последовательным портом
Перед конфигурацией порта добавь VISA Open с флагом Duplicate VISA Session. Скорее всего это поможет.
- skyAlex
- beginner
- Сообщения: 17
- Зарегистрирован: 10 окт 2009, 11:13
- Версия LabVIEW: 2009
- Контактная информация:
Re: Простой пример работы с последовательным портом
поставил сначала только в проге передачи - скорость возрасла раза в 4-ре, но всё равно медленно... при добавлении VISA Open в прогу считывания- возвращается к старым скоростям...eg писал(а):Перед конфигурацией порта добавь VISA Open с флагом Duplicate VISA Session. Скорее всего это поможет.
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
- skyAlex
- beginner
- Сообщения: 17
- Зарегистрирован: 10 окт 2009, 11:13
- Версия LabVIEW: 2009
- Контактная информация:
Re: Простой пример работы с последовательным портом
а вот ещё...только то изменил время таймера цикла с 50 мс до 1 мс, приём стал происходить мнгновенно, но после 8-10 циклов приёмо-передачи в окне приёма начинают вылезать призраки того что отправлял до этого: ну например до этого отправлял "1" получил "1",отправлял "AD" получил "AD", а потом раз и отправил "123" а получаю моргающий "123AD"...вообще не понимаю откуда такое может быть...
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Простой пример работы с последовательным портом
Во первых у меня мой пример работает на одном интерфейсе при соединённых пинах 2 и 3 только если я применяю Duplicate Session как минимум в отправляющем приборе (или в обоих приборах).
У тебя может быть проблема (даже скорее всего) в Termination Character. При конфигурации можно его включить/выключить или выставить на какой нибудь другой.
Выкладывай скрины твоих приборов в форум, будем разбираться.
У тебя может быть проблема (даже скорее всего) в Termination Character. При конфигурации можно его включить/выключить или выставить на какой нибудь другой.
Выкладывай скрины твоих приборов в форум, будем разбираться.
- skyAlex
- beginner
- Сообщения: 17
- Зарегистрирован: 10 окт 2009, 11:13
- Версия LabVIEW: 2009
- Контактная информация:
Re: Простой пример работы с последовательным портом
Тестовый вариант, это правда без таймера, с 1мс таймер результат одинаковый
п.с. а за что отвечает Termination Character ?-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Простой пример работы с последовательным портом
Ну во-первых определись с частотой, с которой ты посылаешь данные на интерфейс. Непонятно почему ты посылаешь их без задержки. Что нужно? Передавать данные, только если содержимое меняется или по нажатию кнопки, или постоянно с определённой частотой.
А Termination Character это например конец строки. Для того, чтобы при чтении ты знал, ага, это конец строки, значит строка считана до конца. Если его нет, то нужно создавать протокол передачи данных. Так как у тебя сейчас работать будет некорректно.
А Termination Character это например конец строки. Для того, чтобы при чтении ты знал, ага, это конец строки, значит строка считана до конца. Если его нет, то нужно создавать протокол передачи данных. Так как у тебя сейчас работать будет некорректно.
- skyAlex
- beginner
- Сообщения: 17
- Зарегистрирован: 10 окт 2009, 11:13
- Версия LabVIEW: 2009
- Контактная информация:
Re: Простой пример работы с последовательным портом
косяк..да) сделал чтоб по нажатию кнопки пересылало. млин! всё равно задержка приёма в 8сек...мдаeg писал(а):Ну во-первых определись с частотой, с которой ты посылаешь данные на интерфейс. Непонятно почему ты посылаешь их без задержки. Что нужно? Передавать данные, только если содержимое меняется или по нажатию кнопки, или постоянно с определённой частотой.
А Termination Character это например конец строки. Для того, чтобы при чтении ты знал, ага, это конец строки, значит строка считана до конца. Если его нет, то нужно создавать протокол передачи данных. Так как у тебя сейчас работать будет некорректно.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 7 Ответы
- 297 Просмотры
-
Последнее сообщение dadreamer