Советы по программированию на LabVIEW

Простейшие вопросы в области инженерной разработки
laryc
beginner
beginner
Сообщения: 19
Зарегистрирован: 02 июл 2013, 14:18
Версия LabVIEW: 2012
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение laryc »

Похоже меня не поняли.. это текстовый режим в котором можно передавать только один децимальный символ - это я умею .. я речь вёл о возможности нагружать байт от 0 до 255 полезной информацией а в приведённом примере байт со значением 0хА будет обрывать передачу массива в буфер чтения то есть рвать поток данных на самом интересном месте ... мне нужно чтобы передать определённое число байт (передатчик сам это количество отмеряет ) и когда будет получено скажем 12 байт отправить квитанцию передатчику мол принято 12 байт и чтобы символ перевода каретки не останавливал поток данных
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Советы по программированию на LabVIEW

Сообщение Borjomy_1 »

Так что-ли?
P.S. Внимательно смотрите ВЫШЕприведенный пример - Enable Termination Char(T) установлен в False, т.е обработка символа конца строки ОТКЛЮЧЕНА
Вложения
Открытие COM1.png
laryc
beginner
beginner
Сообщения: 19
Зарегистрирован: 02 июл 2013, 14:18
Версия LabVIEW: 2012
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение laryc »

Спасибо теперь Вы меня поняли.. завтра так и попробую.. я пользовался для конфигурации порта инструментом VISA Byte at Serial Port в котором Enable Termination переводил в состояния false или thrue но перевод строки работал не обращая внимания на подачу этих сигналов .. интересно почему? .. может от того что небыло элемента закрытие сессии? а как работает этот элемент в Вашем примере ведь чтение и передача находятся в бесконечном цикле .. наверно он срабатывает когда останавливаем цикл?
Borjomy_1

Activity Professionalism Silver
doctor
doctor
Сообщения: 2210
Зарегистрирован: 28 июн 2012, 09:32
Награды: 3
Версия LabVIEW: 2009..2020
Откуда: город семи холмов
Благодарил (а): 27 раз
Поблагодарили: 26 раз

Re: Советы по программированию на LabVIEW

Сообщение Borjomy_1 »

В данном случае никакого поиска конца строки не производится. Задается чтение 12 байт, после того, как они будут получены, обратно отдается строка "Next" (4 байта), которая призвана побудить удаленный хост к отдаче следующей порции данных.
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1327
Зарегистрирован: 03 фев 2010, 00:42
Награды: 6
Версия LabVIEW: 6.1 - 2024
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 38 раз
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение AndreyDmitriev »

laryc писал(а):я пользовался для конфигурации порта инструментом VISA Byte at Serial Port в котором Enable Termination переводил в состояния false или thrue но перевод строки работал не обращая внимания на подачу этих сигналов .. интересно почему?
А где вы там Enable Termination нашли и как этим инструментом порт конфигурировали?
Вложения
visa.png
visa.png (9.93 КБ) 13705 просмотров
laryc
beginner
beginner
Сообщения: 19
Зарегистрирован: 02 июл 2013, 14:18
Версия LabVIEW: 2012
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение laryc »

AndreyDmitriev писал(а): А где вы там Enable Termination нашли и как этим инструментом порт конфигурировали?
а вы растяните мышкой этот элемент и в свойсвах выберете нужную опцию
laryc
beginner
beginner
Сообщения: 19
Зарегистрирован: 02 июл 2013, 14:18
Версия LabVIEW: 2012
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение laryc »

собрал по предложенной схеме подключил все константы в конфигураторе serial port за исключением error in - не знаю что туда подать и получаю следующее сообщение ...The polymorphic subVI is broken. You must fix all errors in the polymorphic subVI before this VI can run....я понимаю что это косяк в моём LabView? ..Прошу помочь
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1327
Зарегистрирован: 03 фев 2010, 00:42
Награды: 6
Версия LabVIEW: 6.1 - 2024
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 38 раз
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение AndreyDmitriev »

laryc писал(а): а вы растяните мышкой этот элемент и в свойсвах выберете нужную опцию
Вы не очень разобрались в том, как работают узлы свойств. Эти "опции" никак не связаны между собой.
laryc писал(а): собрал по предложенной схеме подключил все константы в конфигураторе serial port за исключением error in - не знаю что туда подать и получаю следующее сообщение ...The polymorphic subVI is broken. You must fix all errors in the polymorphic subVI before this VI can run....я понимаю что это косяк в моём LabView?
Это похоже на косяк с VISA. Попробуйте поставить последнюю версию
http://joule.ni.com/nidu/cds/view/p/id/3823/lang/en

До кучи - если вы не знаете, что надо подать на error in - это говорит о том, что вы не очень разобрались в том, как вообще программируют в LabVIEW. Тут суть в том, что если где-то перед VISA Configure Serial Port возникает ошибка, которая заводится на вход, то в этом случае VI отрабатывать не будет, а просто передаст эту ошибку дальше по цепочке. В большинстве случаев при инициализации этот вывод не подключают (см. выше как пример Borjomy_1).
laryc
beginner
beginner
Сообщения: 19
Зарегистрирован: 02 июл 2013, 14:18
Версия LabVIEW: 2012
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение laryc »

AndreyDmitriev писал(а):
laryc писал(а):
Вы не очень разобрались в том, как работают узлы свойств. Эти "опции" никак не связаны между собой.

Это похоже на косяк с VISA. Попробуйте поставить последнюю версию

До кучи - если вы не знаете, что надо подать на error in - это говорит о том, что вы не очень разобрались в том, как вообще программируют в LabVIEW. Тут суть в том, что если где-то перед VISA Configure Serial Port возникает ошибка, которая заводится на вход, то в этом случае VI отрабатывать не будет, а просто передаст эту ошибку дальше по цепочке. В большинстве случаев при инициализации этот вывод не подключают (см. выше как пример Borjomy_1).
ну так я же чайник.. несколько мешает перестроиться опыт эмбедера .. тут всё в потоке.. вот час не пойму как синхронизировать принимаемые данные.. технология печатной машинки кргда данные надо преобразовывать в строки не очень устраивает на стороне передатчика (там МК и так загружен) а вот как отговить пакет и раскидать его по потокам на многолучевой самописец пока не соображу... косяк решил просто переустановил ЛабВью и Виза заработала
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1327
Зарегистрирован: 03 фев 2010, 00:42
Награды: 6
Версия LabVIEW: 6.1 - 2024
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 38 раз
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение AndreyDmitriev »

laryc писал(а): ну так я же чайник.. несколько мешает перестроиться опыт эмбедера .. тут всё в потоке.. вот час не пойму как синхронизировать принимаемые данные..
Да в этом нет ничего страшного - мы все прошли эту фазу. Просто я за некоторую "последовательность" освоения предмета. Если вы пользуетесь инструментом, имеет смысл разобраться как этот инструмент работает на простых примерах. Иначе на решаемую проблему будут накладываться проблемы самого инструмента, и вы в конечном итоге будете программировать в стиле "попробуем так и сяк - авось заработает". Чтобы отловить пакет - вам надо знать где он начинается и заканчивается. Если в одном пакете несколько каналов - вам надо знать как они разделяются.
Andry
user
user
Сообщения: 96
Зарегистрирован: 14 июн 2013, 12:50
Версия LabVIEW: 2012
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение Andry »

Да,узнайте,интересно)
rostislaw10
interested
interested
Сообщения: 4
Зарегистрирован: 08 ноя 2013, 15:34
Версия LabVIEW: 2013
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение rostislaw10 »

Народ, у меня странного рода проблема. А именно: после каких-то манипуляций с программой она перестала запускаться, после запуска устанавливается на паузу сама и while мигает не понимаю от чего и почему это и как решить? :cry:
Вложения
Снимокфыв.PNG
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение dadreamer »

rostislaw10, у вас поставился брейкпоинт на цикл While. В меню выберите View -> Breakpoint Manager и удалите бряк.
rostislaw10
interested
interested
Сообщения: 4
Зарегистрирован: 08 ноя 2013, 15:34
Версия LabVIEW: 2013
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение rostislaw10 »

dadreamer писал(а):rostislaw10, у вас поставился брейкпоинт на цикл While. В меню выберите View -> Breakpoint Manager и удалите бряк.
Спасибо большое! Ума не приложу откуда он взялся.. я уж все перерыл, везде откаты сделал :D
laryc
beginner
beginner
Сообщения: 19
Зарегистрирован: 02 июл 2013, 14:18
Версия LabVIEW: 2012
Контактная информация:

Re: Советы по программированию на LabVIEW

Сообщение laryc »

Созрело пару вопросов к спецам.
1. Нужно мультиплексировать константы 10 -> 1 ..понимаю так что нужно задействовать пачку функций "select" и ещё пачку логики? иначе никак?
нужен переключатель типа "галетник". если есть красивые решения прошу поделиться.
2. вопрос второй "изготовление ехе-шника так чтобы он работал на другой машине" .. на этом форуме я читал посты по этой теме,но они по времени старые. .. вот я воткнул себе версию ЛабВью 2013 что я там установил я ещё толком не исследовал ,но что там есть интригующее... мож моножно без всяких там убогих runtimov? неужто такая тяжёлая прога страдает всё ещё юношескими угрями?.. а без этого никак не сделать продукт ночей бессонных доступным другим пользователям..э-э-х..
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»