Простой пример работы с последовательным портом
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Простой пример работы с последовательным портом
А ты лучше тогда используй Event Structure.
И да, ещё вопрос - как ты измеряешь время? Ты отсылаешь штемпель времени и сравниваешь с тем при получении?
И да, ещё вопрос - как ты измеряешь время? Ты отсылаешь штемпель времени и сравниваешь с тем при получении?
- skyAlex
- beginner
- Сообщения: 17
- Зарегистрирован: 10 окт 2009, 11:13
- Версия LabVIEW: 2009
- Контактная информация:
Re: Простой пример работы с последовательным портом
Спасиб, будем пробоватьeg писал(а):А ты лучше тогда используй Event Structure.
Время приёма чтоль? хех...+-1сек, считал вслух)))eg писал(а):И да, ещё вопрос - как ты измеряешь время? Ты отсылаешь штемпель времени и сравниваешь с тем при получении?
вобщем у меня такое ощущение что инфа с начало пишется куда то в буфер винды, а потом уже сливается в ком порт...
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Простой пример работы с последовательным портом
Нет, ещё раз повторяю, разберись с Termination Character.
- skyAlex
- beginner
- Сообщения: 17
- Зарегистрирован: 10 окт 2009, 11:13
- Версия LabVIEW: 2009
- Контактная информация:
Re: Простой пример работы с последовательным портом
блин....Termination Character я так понял как флаг конца сообщения, правильно? может быть либо английской буквой от A до D, или цифры. Чтобы я не ставил, всё равно получается задержка.
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Простой пример работы с последовательным портом
Нет, нет, ты неправильно понял.
0x0A
0x0D
это значения "символов" конца строки по таблице ASCII.
0x0A
0x0D
это значения "символов" конца строки по таблице ASCII.
- skyAlex
- beginner
- Сообщения: 17
- Зарегистрирован: 10 окт 2009, 11:13
- Версия LabVIEW: 2009
- Контактная информация:
Re: Простой пример работы с последовательным портом
блин...это моя проблема, часто выражаю свои знания не полностью...да, про 0x0A,0x0D я понял...там это очевидно. я не понимаю как этот параметр может влиять на задержку приёма.
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Простой пример работы с последовательным портом
VISA Read считывает заданное количество байт (в нашем примере это 100) или же прекращает считывание раньше если в строке попадается Termination Character и выдаёт, всё считанное.
Или же третий вариант, но он нас пока не сильно интересует - это таймаут, указанный при конфигурации.
Или же третий вариант, но он нас пока не сильно интересует - это таймаут, указанный при конфигурации.
-
- assistant
- Сообщения: 104
- Зарегистрирован: 15 авг 2008, 11:55
- Версия LabVIEW: 8.5
- Откуда: Россия, Московская область
- Контактная информация:
Re: Простой пример работы с последовательным портом
Вот тоже не до конца разобрался. Допустим нужно в цикле посылать последовательно в порт команды, но чтобы запись второй команды не происходила пока не считается ответная строка первой команды. Напрашивается ответ: фиксировать <CR> , но как? Или организовывать прерывания!?
-
- assistant
- Сообщения: 104
- Зарегистрирован: 15 авг 2008, 11:55
- Версия LabVIEW: 8.5
- Откуда: Россия, Московская область
- Контактная информация:
Re: Простой пример работы с последовательным портом
По поводу flow control. Конфигурируется ли порт по DSR/DTR и RTS/CTS или только по отдельности?
-
- beginner
- Сообщения: 37
- Зарегистрирован: 24 сен 2010, 16:50
- Версия LabVIEW: 2009
- Контактная информация:
Re: Простой пример работы с последовательным портом
Уважаемый Eugen Graf!
Попробовал вашу программу (точнее, программы). Всё ок, всё работает. Но вот как только заменяю программу-генератор на другой "посыльщик" возникают проблемы. Объясню. В идеале мне нужна программа, которая будет рисовать график информации (если так можно выразиться), приходящей на com. В принципе, как раз то, что делает ваш "приёмщик". Но вот беда, пробовал подключать терминал: Graph почему-то вместо того, чтобы рисовать, начинает ещё вдобавок выдавать цифры (и это в том же окне!). Выглядит очень странно, через какое-то время вся картинка забивается цифрами и уже ничего не видно. Кроме того, развёртка в этом случае выглядит очень странно. В моём представлении, если я ничего не посылаю должен отображаться некий постоянный уровень, если послал - соответственно некоторый другой. В чём проблема? Настройки graph?
Попробовал вашу программу (точнее, программы). Всё ок, всё работает. Но вот как только заменяю программу-генератор на другой "посыльщик" возникают проблемы. Объясню. В идеале мне нужна программа, которая будет рисовать график информации (если так можно выразиться), приходящей на com. В принципе, как раз то, что делает ваш "приёмщик". Но вот беда, пробовал подключать терминал: Graph почему-то вместо того, чтобы рисовать, начинает ещё вдобавок выдавать цифры (и это в том же окне!). Выглядит очень странно, через какое-то время вся картинка забивается цифрами и уже ничего не видно. Кроме того, развёртка в этом случае выглядит очень странно. В моём представлении, если я ничего не посылаю должен отображаться некий постоянный уровень, если послал - соответственно некоторый другой. В чём проблема? Настройки graph?
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Простой пример работы с последовательным портом
Скорее всего не совпадает формат отправляемых и принимаемых данных. В каком виде отправляются данные?
-
- beginner
- Сообщения: 37
- Зарегистрирован: 24 сен 2010, 16:50
- Версия LabVIEW: 2009
- Контактная информация:
Re: Простой пример работы с последовательным портом
В каком виде.. Хм. Ну просто включил на компьютере-посыльщике терминал (не виндосовский, но очень похож, просто чуть поудобнее) и посылаю автоматически какое-нибудь простое число (0, 1, 2) раз в одну ms. В принципе, всё нормально более или менее выводится, но эти цифры дурацкие лезут. И если вручную посылаю число (или автоматически, но с низкой частотой), то графика не видно
-
- beginner
- Сообщения: 37
- Зарегистрирован: 24 сен 2010, 16:50
- Версия LabVIEW: 2009
- Контактная информация:
Re: Простой пример работы с последовательным портом
Я мог бы скрин выложить, но чего-то не соображу, как картинку прикрепить
-
- professional
- Сообщения: 301
- Зарегистрирован: 12 июн 2008, 19:56
- Награды: 1
- Версия LabVIEW: 8.6; 2009
- Откуда: Montreal
- Контактная информация:
Re: Простой пример работы с последовательным портом
я делаю так: жму `предпросмотр`, а потом под окном ввода текста появляется вкладка `Добавить вложения` и вней уже выбираю файлavnnn писал(а):Я мог бы скрин выложить, но чего-то не соображу, как картинку прикрепить
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 7 Ответы
- 297 Просмотры
-
Последнее сообщение dadreamer