Ошибка при передаче

VISA, TCP/IP, USB, CAN, GPIB и подобные протоколы
Ответить
andrion
interested
interested
Сообщения: 3
Зарегистрирован: 22 ноя 2012, 10:56
Версия LabVIEW: 11
Контактная информация:

Ошибка при передаче

Сообщение andrion »

Добрый день!
С labview знаком не очень хорошо и надеюсь на вашу помощь.
У меня стоит задача реализовать в одной программе одновременное считывание данных с датчика и отправка управляющего сигнала на блок управления, который согласно этому сигналу выдает нужное напряжение. Для блока управления уже была программа, которая поставлялась вместе с ним. Сделав программу для считывания данных с датчика я попытался совместить эти программы в одну. И при включении она выдает ошибку. И данные с датчика не считываются, а с блоком управления можно работать.
Изображение
Подскажите пожалуйста в чем моя ошибка.
Вложения
Proba6 Folder.rar
(79.03 КБ) 106 скачиваний
Аватара пользователя
Oleg B.

Activity Professionalism
leader
leader
Сообщения: 674
Зарегистрирован: 25 сен 2011, 11:30
Награды: 2
Версия LabVIEW: 5 .. 2021
Откуда: Israel
Контактная информация:

Re: Ошибка при передаче

Сообщение Oleg B. »

Во-первых - через какие СОМ порты вы разговариваете с приборами?
По умолчанию оба установлены на СОМ1, а с учетом того, что Контроль одного из них находится вне видимой части лицевой панели, вы
просто не обращаете на это внимание.
Как Контроль оказался вне поля зрения - очень просто.
Когда вам потребовался еще один СОМ порт ( для датчика), Вы сделали Copy -> Paste Терминалу на блок-диаграмме, а не собственно Контролю на лицевой панели.

Во-вторых.
Меня всегда уверяют, что программисты, в основном, очень ленивы.
Вы, видимо, нет.
Это кусок вашего кода.
zabor.png
Для примера - эквивалентный код.
loop.png
loop.png (3.15 КБ) 2334 просмотра
veni, vidi, phallomorphi
andrion
interested
interested
Сообщения: 3
Зарегистрирован: 22 ноя 2012, 10:56
Версия LabVIEW: 11
Контактная информация:

Re: Ошибка при передаче

Сообщение andrion »

Я через разные com порты общаюсь с ними. Просто пишу программу на одном ПК, а пробую на другом, где стенд стоит. И там я увидел, что com уехал и поправил его.
А тот кусок программы, что вы скинули писал не я. Я об этом упоминал в первом сообщении.
Borjomy_1

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

Re: Ошибка при передаче

Сообщение Borjomy_1 »

Способ с 50мс интервалом открывать и конфигурировать порт в Datchik.vi является неудачным. Надо один раз порт открыть и сконфигурировать.
Какую ошибку выдает-то? Код укажите и какой из терминалов ее выдает. Проще всего перенести код из Datchik.vi в основную программу, а Case заменить на цикл While, который у Вас вызывает эту функцию. Плюс ко всему надо убрать таймер на 50мс. Достаточно того, что вы забираете 10байт. Заберёт посылку, уйдет на новый цикл. Иначе, если частота следования данных чаще, будет забиваться входной буфер.
Вложения
вариант.png
andrion
interested
interested
Сообщения: 3
Зарегистрирован: 22 ноя 2012, 10:56
Версия LabVIEW: 11
Контактная информация:

Re: Ошибка при передаче

Сообщение andrion »

В общем сам нашел свою ошибку. Оказалось, что я просто невнимателен.
Плюс ко всему надо убрать таймер на 50мс. Достаточно того, что вы забираете 10байт. Заберёт посылку, уйдет на новый цикл. Иначе, если частота следования данных чаще, будет забиваться входной буфер.
За это спасибо. Помогло тоже. :)
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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