Простой пример работы с последовательным портом
-
- interested
- Сообщения: 9
- Зарегистрирован: 14 дек 2010, 11:35
- Версия LabVIEW: 2010
- Откуда: Муром
- Контактная информация:
Re: Простой пример работы с последовательным портом
С внешнего прибора поступает ацп...я его считываю и вот что в результате
Вопрос как перекодировать сигнал и возможно ли?
Вопрос как перекодировать сигнал и возможно ли?
-
- beginner
- Сообщения: 37
- Зарегистрирован: 24 сен 2010, 16:50
- Версия LabVIEW: 2009
- Контактная информация:
Re: Простой пример работы с последовательным портом
Viktor, большое спасибо! Убрал autoscale, всё стало нормально. А что такое контекстное меню, как его вызвать? И ещё попробовал протестировать vi, который Вы прикрепили, не смог его даже запустить. У меня в предыдущих программах всегда были настройки номера порта и baudrate. В ADAM_visa_send стоит порт COM1 и меняться не хочет. И что за address и command? Вижу, что на схеме прикручен значок каретки, наверное, должно бы мне как раз это помочь.
-
Viktor
- expert
- Сообщения: 1408
- Зарегистрирован: 23 мар 2008, 10:56
- Награды: 4
- Версия LabVIEW: 2020
- Откуда: Санкт-Петербург
- Благодарил (а): 17 раз
- Поблагодарили: 3 раза
- Контактная информация:
Re: Простой пример работы с последовательным портом
Меню, вызываемое правой кнопкой мыши.А что такое контекстное меню, как его вызвать?
ADAM_visa_send - это подпрограммка.В ADAM_visa_send стоит порт COM1 и меняться не хочет.
Вот пример:
это адрес модуля ADAM и команда, посылаемая ему (протокол Advantech)И что за address и command?
-
Viktor
- expert
- Сообщения: 1408
- Зарегистрирован: 23 мар 2008, 10:56
- Награды: 4
- Версия LabVIEW: 2020
- Откуда: Санкт-Петербург
- Благодарил (а): 17 раз
- Поблагодарили: 3 раза
- Контактная информация:
Re: Простой пример работы с последовательным портом
Ещё раз хочу подчеркнуть, что этот пример для протокола Advantech
-
- beginner
- Сообщения: 37
- Зарегистрирован: 24 сен 2010, 16:50
- Версия LabVIEW: 2009
- Контактная информация:
Re: Простой пример работы с последовательным портом
Классно! Действительно, передает все с каретками. Я, правда, не знаком с этим интерфейсом, почитал про него немного, но до конца не понял. Тем не менее, данные передаются, это видно на графике. Неужели такой настройки (перевод каретки) нет для стандартного протокола?
-
Viktor
- expert
- Сообщения: 1408
- Зарегистрирован: 23 мар 2008, 10:56
- Награды: 4
- Версия LabVIEW: 2020
- Откуда: Санкт-Петербург
- Благодарил (а): 17 раз
- Поблагодарили: 3 раза
- Контактная информация:
Re: Простой пример работы с последовательным портом
RS-232 - это интерфейс,
а есть описание протокола обмена?
а есть описание протокола обмена?
-
- beginner
- Сообщения: 37
- Зарегистрирован: 24 сен 2010, 16:50
- Версия LabVIEW: 2009
- Контактная информация:
Re: Простой пример работы с последовательным портом
Добрый день! Мой протокол обменая называется USART/UART (я лично передаю, не тактируя). Но вообще я запутался , в чем отличие от RS-232. Практически всегда между этими понятиями стоит знак равенства. Или RS-232 - это железо, а протокол - это только к софту относится? Но ведь RS-232 тоже определяет порядок обмена...
-
- beginner
- Сообщения: 37
- Зарегистрирован: 24 сен 2010, 16:50
- Версия LabVIEW: 2009
- Контактная информация:
Re: Простой пример работы с последовательным портом
Ну вот, про меня забыли(( Victor, у меня практически всё получилось, помогите последними советами, тема не перестала быть актуальной. Спасибо!
-
mzu2006
- doctor
- Сообщения: 2456
- Зарегистрирован: 16 авг 2008, 02:12
- Награды: 3
- Версия LabVIEW: 7.1 10 11 12
- Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
- Контактная информация:
Re: Простой пример работы с последовательным портом
В общих чертах, да. В идеале, железная имплементация не зависит от высокоуровнего протокола обмена и наоборот. Например, по RS232 можно пустить TCP/IP: http://en.wikibooks.org/wiki/Serial_Pro ... onnections .avnnn писал(а): Или RS-232 - это железо, а протокол - это только к софту относится?
Для сетевых коммуникаций ситуация с многоуровневостью подробно описана здесь: http://en.wikipedia.org/wiki/OSI_model
Резюме: да, протокол - это порядок обмена. Но есть протоколы нескольких уровней и все должны работать для обеспечения связи. т.е. RS232 - это протокол, обеспечивающий (в данном случае) связь 2-х RS232 устройств друг с другом. По RS232 теперь можно передавать команды. Совокупность этих команд - это протокол обмена следующего уровня. Вот этот то протокол нам и нужен.
Я доходчиво объяснил?
Правила форума (Forum rules in Russian)
rm -rf /mnt/windows
rm -rf /mnt/windows
-
- beginner
- Сообщения: 37
- Зарегистрирован: 24 сен 2010, 16:50
- Версия LabVIEW: 2009
- Контактная информация:
Re: Простой пример работы с последовательным портом
Да, спасибо, вроде понятно. Но остаётся главный вопрос, который я задавал. Мне нужна программа, которая передавала бы сообщения, проставляя в конце каретки. Программа Viktor'a - это практически готовый вариант того, что мне нужно. В ней надо поменять (как я понимаю) только один узел - ADAM_visa_port_open. Я, к сожалению, так и не понимаю, как это сделать. Я почему запутался с этими протоколами: в сети очень много программ для тестирования COM-порта, различные терминалы, простенькие программки, написанные для личного пользования ну и т.д. Практически все они делают то, что мне требуется, за исключением того, что почему-то ни одна из них не может проставить этот самый знак каретки. Если я пишу \r или OD, то сообщение просто так и передаётся (комбинация не воспринимается, как команда). При этом нигде авторы не пишут, что там за протокол используется. Повторюсь, я использовал USART - он посылает сообщения аналогично этим программам (к ним, кстати, относится и терминал Windows). Я всегда думал, что RS-232 и USART - это синонимы (поэтому-то последняя новость меня очень обескуражила=). В программе Victor'a по всей видимости надо поменять просто какие-то цифры для Visa-serial, потому что протокол этот (Advantage), действительно, довольно серьёзно отличается от USART. То есть на принимающей программе из сабжа я вижу, что данные передаются, но передаются они очень странно. Это пока за гранью моего понимания.
PS: Ещё раз благодарю за помощь.
PS: Ещё раз благодарю за помощь.
-
mzu2006
- doctor
- Сообщения: 2456
- Зарегистрирован: 16 авг 2008, 02:12
- Награды: 3
- Версия LabVIEW: 7.1 10 11 12
- Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
- Контактная информация:
Re: Простой пример работы с последовательным портом
Давай проясним терминологию. USART - universal synchronous-asynchronous receiver-transmitter - это микросхема реализующая RS232. RS232 - это название для набора стандартов описывающих передачу данных.
Если взглянуть на ADAM.vi и все подприборы, то там всё стандартно. для правильной записи может помочь, например, установка параметра VISA сессии Serial Settings:End Mode for Writes в "TermChar". ADAM_visa_send - добавляет не только /r но и $ в начае строки. Что именно нужно нужно добавлять - определяется высокоуровневым протоколом обмена.
Если взглянуть на ADAM.vi и все подприборы, то там всё стандартно. для правильной записи может помочь, например, установка параметра VISA сессии Serial Settings:End Mode for Writes в "TermChar". ADAM_visa_send - добавляет не только /r но и $ в начае строки. Что именно нужно нужно добавлять - определяется высокоуровневым протоколом обмена.
Правила форума (Forum rules in Russian)
rm -rf /mnt/windows
rm -rf /mnt/windows
-
Viktor
- expert
- Сообщения: 1408
- Зарегистрирован: 23 мар 2008, 10:56
- Награды: 4
- Версия LabVIEW: 2020
- Откуда: Санкт-Петербург
- Благодарил (а): 17 раз
- Поблагодарили: 3 раза
- Контактная информация:
Re: Простой пример работы с последовательным портом
Чтобы не запутаться, включи Display style:Практически все они делают то, что мне требуется, за исключением того, что почему-то ни одна из них не может проставить этот самый знак каретки.
И, конечно, нужно правильно настроить конфигурацию порта (baud rate, termination char, parity, stop bits, flow control ит. д.)
-
- beginner
- Сообщения: 37
- Зарегистрирован: 24 сен 2010, 16:50
- Версия LabVIEW: 2009
- Контактная информация:
Re: Простой пример работы с последовательным портом
Ох-хох. Конечно, надо мне сидеть, читать про каждый элемент и разбираться подробнее.
Victror, у Вас на картинке другой vi, нежели в старом приложении (ADAM). Я прикрепил скрины, такое впечатление, что на вашей схеме SubVi SEND заменён на свою схему. Но при этом, в нём пытаюсь найти свойство Display Styleю его там просто нет (см. скрин).
mzu2006, нажимаю на любую из сессий VISA (open, close и т.д.), в свойствах стоит только label. Где есть доступ к параметрам?
Victror, у Вас на картинке другой vi, нежели в старом приложении (ADAM). Я прикрепил скрины, такое впечатление, что на вашей схеме SubVi SEND заменён на свою схему. Но при этом, в нём пытаюсь найти свойство Display Styleю его там просто нет (см. скрин).
mzu2006, нажимаю на любую из сессий VISA (open, close и т.д.), в свойствах стоит только label. Где есть доступ к параметрам?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 7 Ответы
- 278 Просмотры
-
Последнее сообщение dadreamer