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

VISA, TCP/IP, USB, CAN, GPIB и подобные протоколы
alexander756

Activity
professional
professional
Сообщения: 301
Зарегистрирован: 12 июн 2008, 19:56
Награды: 1
Версия LabVIEW: 8.6; 2009
Откуда: Montreal
Контактная информация:

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

Сообщение alexander756 »

Женя, я все равно почти всегда просматриваю сообщение перед отправкой и кнопка предпросмотр в итоге ведет на ту же страницу что и кнопка ответить. Так что мой способ даже быстрее для тех кто пользуется предпросмотром :wink:
PS После прочтения сжечь
avnnn
beginner
beginner
Сообщения: 37
Зарегистрирован: 24 сен 2010, 16:50
Версия LabVIEW: 2009
Контактная информация:

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

Сообщение avnnn »

Понятно. Вот скрин. Я посылал сначала 2, потом 0, потом 1. Видно, что вобщем так оно и отобразилось.
Вложения
001.jpg
Аватара пользователя
Eugen Graf

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

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

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

По-моему ты что то неправильно настроил в настроках шкалы графика. Думаю с ком-портом это никак не связано. Или это :labview: у тебя глючит.
avnnn
beginner
beginner
Сообщения: 37
Зарегистрирован: 24 сен 2010, 16:50
Версия LabVIEW: 2009
Контактная информация:

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

Сообщение avnnn »

Ну так-то оно может быть и так, но как настроить правильно? Действительно, если убираю отображение цифр по оси Y вид становится нормальный. Может, можно как-то убрать отображение десятичных позиций?? Генерирую посылку программой Xmon 2.1 (она распространяется свободно - http://webx.dk/XMON/). В ней есть автоматический режим посылки. Выставляю частоту 1 мс.
Аватара пользователя
Aleksey Feoktistov

Activity Gold Silver Black
leader
leader
Сообщения: 898
Зарегистрирован: 20 янв 2009, 00:15
Награды: 6
Версия LabVIEW: 2015
Откуда: Tyumen
Поблагодарили: 2 раза
Контактная информация:

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

Сообщение Aleksey Feoktistov »

avnnn писал(а):Ну так-то оно может быть и так, но как настроить правильно? Действительно, если убираю отображение цифр по оси Y вид становится нормальный. Может, можно как-то убрать отображение десятичных позиций?? Генерирую посылку программой Xmon 2.1 (она распространяется свободно - http://webx.dk/XMON/). В ней есть автоматический режим посылки. Выставляю частоту 1 мс.
Должно помочь
1.PNG
Если не получится, тогда попробуй отобразить в таблице и посмотреть какие выдаются значения по оси Y
avnnn
beginner
beginner
Сообщения: 37
Зарегистрирован: 24 сен 2010, 16:50
Версия LabVIEW: 2009
Контактная информация:

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

Сообщение avnnn »

Спасибо за ответы. Помогло немного другое и не до конца. В окне, скрин которого Вы прислали, есть установка формата числа, если поставить "scientific", то обозначения становятся удобоваримыми (см. мой скрин). Проблема остаётся только с ценой деления. Непонятно, что там делают все эти разряды в принципе. В смысле там пишется 99 степень. Я, конечно, понимаю, что chart - средство универсальное.... Кстати, может, попробовать другой инструмент вместо chart?
Есть ещё несколько проблемных вопросов. Например, что всё-таки творится с "частотой оцифровки" образно говоря. Я имею в виду тот факт, что если посмотреть на график, срезы сильно завалены. Это означает, что chart достаточно редко "опрашивает" свой вход. Можно ли скорректировать эту неприятную особенность?
Вложения
004.jpg
Аватара пользователя
Eugen Graf

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

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

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

Всё понятно! Тебе нужно при отсылке после каждого числа нажимать кнопку ENTER, то есть добавлять конец строки.
avnnn
beginner
beginner
Сообщения: 37
Зарегистрирован: 24 сен 2010, 16:50
Версия LabVIEW: 2009
Контактная информация:

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

Сообщение avnnn »

А нельзя ли в двух словах поподробнее? Нет ли какой-нибудь программульки на СИ, например, которая так делала бы? Я в том смысле, что моя "программа-генератор" имеет всего одну кнопку "sent" (либо галочка ставится для автоматической отправки). Это вообще совет к чему, к тому чтобы деления по оси Y были нормальные? Извиняюсь за то,что всё время переспрашиваю. Просто очень надо разобраться с этим.
Аватара пользователя
Eugen Graf

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

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

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

Это нужно для правильного считывания данных с порта, а следовательно и для оси. На данный момент, ты считываешь 100 чисел и думаешь, что это одно длинное число. Нужно как то отделить одно число от другого, это отделение происходит окончанием строки (кнопкой ENTER).

Ну сам подумай. Если я тебе по телефону буду говорить 4 2 6 9 3, откуда ты унаешь, что это отдельные числа или одно число 42693 или два числа 42 и 693?
avnnn
beginner
beginner
Сообщения: 37
Зарегистрирован: 24 сен 2010, 16:50
Версия LabVIEW: 2009
Контактная информация:

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

Сообщение avnnn »

Да, это понятно. А как насчет программы? Просто передавать график - это хорошо, но интересно пробовать передавать именно отдельные сообщения. К сожалению, перепробовал уже три программы - все передают в одну строку.
Аватара пользователя
orochi
beginner
beginner
Сообщения: 15
Зарегистрирован: 21 ноя 2010, 21:58
Версия LabVIEW: 10.0
Контактная информация:

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

Сообщение orochi »

Раз уж тема называется "простой пример..." то у меня проще некуда, задача считать хоть что-нибудь с com порта, а на практике к нему подключён IR-приёмник. Проблемы 2:
1: Не находит com порт, как я подозреваю, т.к. в VISA resource name пусто. (есть только refresh)
2: Возникает ошибка при выходе из программы (пример на скриншоте)

на материнской плате нет внешних com портов, поэтоу подключался к единственному внутреннему. В диспетчере устройств COM1 в списке портов IO присутствует. В биосе выставил автоматическое определение адресного пространства COM.
Прошу помочь с данной проблемой :think:
Безымянный.png
Аватара пользователя
Eugen Graf

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

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

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

Заинсталлируй NI VISA :wink:
avnnn
beginner
beginner
Сообщения: 37
Зарегистрирован: 24 сен 2010, 16:50
Версия LabVIEW: 2009
Контактная информация:

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

Сообщение avnnn »

Так. Попробовал, подключил микроконтроллер, передающий по COM информацию (благо, здесь можно легко поставить знак каретки - перехода на следующую строку). Всё пишется, но открытыми остаются все предыдущие вопросы. Есть ли какой-нибудь инструмент (или какие-нибудь настройки в graph), позволяющий выводить изображение на подобие осциллографа. Дело в том, что в текущей ситуации graph оставляет _весь_ записанный график в окне просмотра: после нескольких десятков секунд записи, информация на экране становится абсолютно непрезентабельна - что-либо разобрать становится невозможно. :help:
PS: И никто таки не знает программу какую-нибудь, которая могла бы проставлять знак перевода строки при передаче? Я перепробовал несколько - все передают в строку, как ни стараюсь.
Вложения
005.JPG
Аватара пользователя
Viktor

Activity Professionalism Tutorials Black
expert
expert
Сообщения: 1408
Зарегистрирован: 23 мар 2008, 10:56
Награды: 4
Версия LabVIEW: 2020
Откуда: Санкт-Петербург
Благодарил (а): 17 раз
Поблагодарили: 3 раза
Контактная информация:

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

Сообщение Viktor »

И никто таки не знает программу какую-нибудь, которая могла бы проставлять знак перевода строки при передаче?
Перевод строки - это просто hex "OD" или codes "\r"
Для модулей Advantech я иногда использую такой sub :vi:
Вложения
ADAM_visa_send.vi
(28.46 КБ) 299 скачиваний
Аватара пользователя
Viktor

Activity Professionalism Tutorials Black
expert
expert
Сообщения: 1408
Зарегистрирован: 23 мар 2008, 10:56
Награды: 4
Версия LabVIEW: 2020
Откуда: Санкт-Петербург
Благодарил (а): 17 раз
Поблагодарили: 3 раза
Контактная информация:

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

Сообщение Viktor »

Дело в том, что в текущей ситуации graph оставляет _весь_ записанный график в окне просмотра: после нескольких десятков секунд записи, информация на экране становится абсолютно непрезентабельна
На скрине у тебя показан Waveform Chart ,а не Waveform Graph :dntknw:
С помощью ПКМ (контекстного меню) можно настроить Chart History Length или убрать Autoscale X
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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