Как сделать прием данных по rs-232 с прерыванием?

VISA, TCP/IP, USB, CAN, GPIB и подобные протоколы
Аватара пользователя
Eugen Graf

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

Re: Как сделать прием данных по rs-232 с прерыванием?

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

Так должно работать, но я не проверял
Вложения
ExtractCOM.png
Аватара пользователя
Nemo
user
user
Сообщения: 97
Зарегистрирован: 26 июн 2008, 11:48
Версия LabVIEW: 8
Откуда: Россия
Контактная информация:

Re: Как сделать прием данных по rs-232 с прерыванием?

Сообщение Nemo »

eg писал(а):Так должно работать, но я не проверял
попробую, как получится или не получится, напишу.
Аватара пользователя
Nemo
user
user
Сообщения: 97
Зарегистрирован: 26 июн 2008, 11:48
Версия LabVIEW: 8
Откуда: Россия
Контактная информация:

Re: Как сделать прием данных по rs-232 с прерыванием?

Сообщение Nemo »

eg писал(а):Так должно работать, но я не проверял
вот у меня перестал работать этот кусок
Вложения
com.PNG
com.PNG (4.26 КБ) 5618 просмотров
com.vi
(8.38 КБ) 208 скачиваний
Аватара пользователя
Eugen Graf

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

Re: Как сделать прием данных по rs-232 с прерыванием?

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

Что ошибку выдаёт или просто ничего не находит?
Аватара пользователя
Nemo
user
user
Сообщения: 97
Зарегистрирован: 26 июн 2008, 11:48
Версия LabVIEW: 8
Откуда: Россия
Контактная информация:

Re: Как сделать прием данных по rs-232 с прерыванием?

Сообщение Nemo »

eg писал(а):Что ошибку выдаёт или просто ничего не находит?
если без кластера, то ошибку, а так - ни чего не находит, в первый раз сработало :dntknw:
Аватара пользователя
Eugen Graf

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

Re: Как сделать прием данных по rs-232 с прерыванием?

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

Хм, ну а что за ошибка то?
Аватара пользователя
Nemo
user
user
Сообщения: 97
Зарегистрирован: 26 июн 2008, 11:48
Версия LabVIEW: 8
Откуда: Россия
Контактная информация:

Re: Как сделать прием данных по rs-232 с прерыванием?

Сообщение Nemo »

eg писал(а):Хм, ну а что за ошибка то?
вот
Вложения
com_2.PNG
Аватара пользователя
Eugen Graf

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

Re: Как сделать прием данных по rs-232 с прерыванием?

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

Попробуй заменить 2 на 4. А вообще почитай в хэлпе про этот прибор.
Аватара пользователя
Nemo
user
user
Сообщения: 97
Зарегистрирован: 26 июн 2008, 11:48
Версия LabVIEW: 8
Откуда: Россия
Контактная информация:

Re: Как сделать прием данных по rs-232 с прерыванием?

Сообщение Nemo »

eg писал(а):Попробуй заменить 2 на 4. А вообще почитай в хэлпе про этот прибор.
спасибо но с английским не очень
Confocal
assistant
assistant
Сообщения: 104
Зарегистрирован: 15 авг 2008, 11:55
Версия LabVIEW: 8.5
Откуда: Россия, Московская область
Контактная информация:

Re: Как сделать прием данных по rs-232 с прерыванием?

Сообщение Confocal »

Здравствуйте! тоже имеется необходимость настроить прерывания если они
нужны.
Имеется контроллер для управления спектроскопической установкой.
Прошивка - Microcode. Для обмена данными используется последовательный порт RS232. Режим работы порта установлен следующий: скорость 115200, бит данных - 8, стоп бит - 1, контроль четности отсутствует. Для управления потоком данных используется аппаратный контроль по сигналам RTS/CTS и DTR/DSR. Обмен командами по ASCII кодам. Команда завершается <CR>.

Сделал подпрограммы на основе I\O Assistant. При выполнении одновременно
нескольких команд не сразу полностью считывается строка одной из команд (достаточно длинная). Как настроить прерывания либо при помощи VISA или lvserial?
Аватара пользователя
Eugen Graf

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

Re: Как сделать прием данных по rs-232 с прерыванием?

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

Ну как обычно наверное. Берём VISA Configure, делаем установки коммуникации (с включенным Termination Char), а потом считываем данные. При считывании надо установить количество считываемых байт на немного большее число, чем максимально имеющееся в ответной строке.
Confocal
assistant
assistant
Сообщения: 104
Зарегистрирован: 15 авг 2008, 11:55
Версия LabVIEW: 8.5
Откуда: Россия, Московская область
Контактная информация:

Re: Как сделать прием данных по rs-232 с прерыванием?

Сообщение Confocal »

когда более одной команд записываются и считываются одновременно, то нужны прерывания или достаточно настроек считывания из буфера?
Аватара пользователя
Eugen Graf

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

Re: Как сделать прием данных по rs-232 с прерыванием?

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

Честно говоря я не очень понимаю саму проблему :think:

Попробуй как я посоветовал, если возникнут какие то проблемы то напиши подробнее. Ты можешь записывать на порт и считывать с порта параллельно из двух циклов.
Confocal
assistant
assistant
Сообщения: 104
Зарегистрирован: 15 авг 2008, 11:55
Версия LabVIEW: 8.5
Откуда: Россия, Московская область
Контактная информация:

Re: Как сделать прием данных по rs-232 с прерыванием?

Сообщение Confocal »

я так и сделал. у меня для каждой команды сделан подобный vi, как и советовали.
задача: нужно чтобы одним vi через контроллер запустить перемещение каретки
шаговым двигателем (Move.vi), а другим одновременно считывать текущую координату каретки (Status.vi). Сейчас сразу после запуска программы,содержащей эти два прибора выдается значение текущ. координаты и оно больше не изменяется и во время работы ШД. Если сделать полный останов и снова запустить общий vi, то значение координаты может не измениться или выдыть предыдущее значение (координата соответств. какому-то предыдущему запуску ШД). :think:
Видимо нужно правильно организовать параллельные циклы для двух vi.
Аватара пользователя
Eugen Graf

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

Re: Как сделать прием данных по rs-232 с прерыванием?

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

Может стоит сделать эти VI реинтрантными. Можно установить в свойствах прибора.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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