Как сделать прием данных по rs-232 с прерыванием?
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
- Nemo
- user
- Сообщения: 97
- Зарегистрирован: 26 июн 2008, 11:48
- Версия LabVIEW: 8
- Откуда: Россия
- Контактная информация:
Re: Как сделать прием данных по rs-232 с прерыванием?
попробую, как получится или не получится, напишу.eg писал(а):Так должно работать, но я не проверял
- Nemo
- user
- Сообщения: 97
- Зарегистрирован: 26 июн 2008, 11:48
- Версия LabVIEW: 8
- Откуда: Россия
- Контактная информация:
Re: Как сделать прием данных по rs-232 с прерыванием?
вот у меня перестал работать этот кусокeg писал(а):Так должно работать, но я не проверял
- Вложения
-
- com.PNG (4.26 КБ) 5659 просмотров
-
- com.vi
- (8.38 КБ) 210 скачиваний
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Как сделать прием данных по rs-232 с прерыванием?
Что ошибку выдаёт или просто ничего не находит?
- Nemo
- user
- Сообщения: 97
- Зарегистрирован: 26 июн 2008, 11:48
- Версия LabVIEW: 8
- Откуда: Россия
- Контактная информация:
Re: Как сделать прием данных по rs-232 с прерыванием?
если без кластера, то ошибку, а так - ни чего не находит, в первый раз сработалоeg писал(а):Что ошибку выдаёт или просто ничего не находит?
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
- Nemo
- user
- Сообщения: 97
- Зарегистрирован: 26 июн 2008, 11:48
- Версия LabVIEW: 8
- Откуда: Россия
- Контактная информация:
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Как сделать прием данных по rs-232 с прерыванием?
Попробуй заменить 2 на 4. А вообще почитай в хэлпе про этот прибор.
- Nemo
- user
- Сообщения: 97
- Зарегистрирован: 26 июн 2008, 11:48
- Версия LabVIEW: 8
- Откуда: Россия
- Контактная информация:
Re: Как сделать прием данных по rs-232 с прерыванием?
спасибо но с английским не оченьeg писал(а):Попробуй заменить 2 на 4. А вообще почитай в хэлпе про этот прибор.
-
- assistant
- Сообщения: 104
- Зарегистрирован: 15 авг 2008, 11:55
- Версия LabVIEW: 8.5
- Откуда: Россия, Московская область
- Контактная информация:
Re: Как сделать прием данных по rs-232 с прерыванием?
Здравствуйте! тоже имеется необходимость настроить прерывания если они
нужны.
Имеется контроллер для управления спектроскопической установкой.
Прошивка - Microcode. Для обмена данными используется последовательный порт RS232. Режим работы порта установлен следующий: скорость 115200, бит данных - 8, стоп бит - 1, контроль четности отсутствует. Для управления потоком данных используется аппаратный контроль по сигналам RTS/CTS и DTR/DSR. Обмен командами по ASCII кодам. Команда завершается <CR>.
Сделал подпрограммы на основе I\O Assistant. При выполнении одновременно
нескольких команд не сразу полностью считывается строка одной из команд (достаточно длинная). Как настроить прерывания либо при помощи VISA или lvserial?
нужны.
Имеется контроллер для управления спектроскопической установкой.
Прошивка - Microcode. Для обмена данными используется последовательный порт RS232. Режим работы порта установлен следующий: скорость 115200, бит данных - 8, стоп бит - 1, контроль четности отсутствует. Для управления потоком данных используется аппаратный контроль по сигналам RTS/CTS и DTR/DSR. Обмен командами по ASCII кодам. Команда завершается <CR>.
Сделал подпрограммы на основе I\O Assistant. При выполнении одновременно
нескольких команд не сразу полностью считывается строка одной из команд (достаточно длинная). Как настроить прерывания либо при помощи VISA или lvserial?
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Как сделать прием данных по rs-232 с прерыванием?
Ну как обычно наверное. Берём VISA Configure, делаем установки коммуникации (с включенным Termination Char), а потом считываем данные. При считывании надо установить количество считываемых байт на немного большее число, чем максимально имеющееся в ответной строке.
-
- assistant
- Сообщения: 104
- Зарегистрирован: 15 авг 2008, 11:55
- Версия LabVIEW: 8.5
- Откуда: Россия, Московская область
- Контактная информация:
Re: Как сделать прием данных по rs-232 с прерыванием?
когда более одной команд записываются и считываются одновременно, то нужны прерывания или достаточно настроек считывания из буфера?
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Как сделать прием данных по rs-232 с прерыванием?
Честно говоря я не очень понимаю саму проблему
Попробуй как я посоветовал, если возникнут какие то проблемы то напиши подробнее. Ты можешь записывать на порт и считывать с порта параллельно из двух циклов.
Попробуй как я посоветовал, если возникнут какие то проблемы то напиши подробнее. Ты можешь записывать на порт и считывать с порта параллельно из двух циклов.
-
- assistant
- Сообщения: 104
- Зарегистрирован: 15 авг 2008, 11:55
- Версия LabVIEW: 8.5
- Откуда: Россия, Московская область
- Контактная информация:
Re: Как сделать прием данных по rs-232 с прерыванием?
я так и сделал. у меня для каждой команды сделан подобный vi, как и советовали.
задача: нужно чтобы одним vi через контроллер запустить перемещение каретки
шаговым двигателем (Move.vi), а другим одновременно считывать текущую координату каретки (Status.vi). Сейчас сразу после запуска программы,содержащей эти два прибора выдается значение текущ. координаты и оно больше не изменяется и во время работы ШД. Если сделать полный останов и снова запустить общий vi, то значение координаты может не измениться или выдыть предыдущее значение (координата соответств. какому-то предыдущему запуску ШД).
Видимо нужно правильно организовать параллельные циклы для двух vi.
задача: нужно чтобы одним vi через контроллер запустить перемещение каретки
шаговым двигателем (Move.vi), а другим одновременно считывать текущую координату каретки (Status.vi). Сейчас сразу после запуска программы,содержащей эти два прибора выдается значение текущ. координаты и оно больше не изменяется и во время работы ШД. Если сделать полный останов и снова запустить общий vi, то значение координаты может не измениться или выдыть предыдущее значение (координата соответств. какому-то предыдущему запуску ШД).
Видимо нужно правильно организовать параллельные циклы для двух vi.
-
Eugen Graf
- guru
- Сообщения: 6502
- Зарегистрирован: 13 ноя 2007, 02:20
- Награды: 4
- Версия LabVIEW: 2009
- Откуда: Saarbrücken
- Контактная информация:
Re: Как сделать прием данных по rs-232 с прерыванием?
Может стоит сделать эти VI реинтрантными. Можно установить в свойствах прибора.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение