Запись команд в прибор

VISA, TCP/IP, USB, CAN, GPIB и подобные протоколы
Ronaldinho
interested
interested
Сообщения: 6
Зарегистрирован: 13 окт 2008, 21:00
Версия LabVIEW: 7.0
Контактная информация:

Запись команд в прибор

Сообщение Ronaldinho »

Добрый вечер!
У меня есть такая апория.

а) Что необходимо.
Есть прибор - источник питания. Хочется написать программу на LabView, которая бы управляла им.
Вот Manual к прибору:
http://www.prosoft.ru/cms/f/346525/1U.pdf

б) Вопрос.
Само написание программы - понятно. Затруднение состоит в том, что в процессе выполнения программы необходимо производить

запись команд в данный прибор. Так вот этой самой записи не происходит.
Связь организована ч/з COM-порт.

в)Что было сделано.
Для организации общения с прибором использовалась VISA. При этом, есть некий стандартный набор команд, на которые откликается

прибор (см. стр. 63 вот этого Manual`а: http://www.prosoft.ru/cms/f/346525/1U.pdf).
Далее, были загружены стандартные примеры LabView 7.0 для общения с прибором ч/з COM-порт(Например, Serial.vi, вот этот: См. рис.1 - диаграмму Scheme_1.jpg - Приложение).
В нём, в качестве команды была записана команда "adr 06" - просто на VISA Write подал такую строку. Ждал Ответа "OK". Ответа не пришло. Точнее пришёл, но примерно такой: "Error. Connection time expired".

Следующим шагом отправил команду: "out 1". Если она дошла до прибора, то должен был включиться выход, и должен был загореться
диод на панели прибора. Опять же - Ответ тот же, что и в предыдущем случае. При этом из того, что диод не загорелся

получается, что и записи команды в прибор не произошло.

Однако, блок VISA Serial, который используется для инициализации COM-порта срабатывает
(проверил так: установил BaudRate, например N бод для порта COM1. Далее, захожу в командную строку Windows - набираю mode -

выводятся ведения о COM1 с его настройками. Так вот они ровно такие, как конфигуррует их VISA Serial).

ВОПРОС: Почему же тогда не работает Write b Read в стандартных примерах?!!!!!!!

P.S. а)а, кстати подключение прибора к порту похоже нормальное, т.к. проверка из Manual`a

(http://www.prosoft.ru/cms/f/346525/1U.pdf, стр. 71 - 73) работает.
б) Для общения с COM1 используется интерфейс RS232.

Заранее благодарен.
Вложения
Scheme_1.jpg
Аватара пользователя
Eugen Graf

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

Re: Запись команд в прибор

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

7.7 ОПИСАНИЕ НАБОРА КОМАНД
7.7.1 Общие инструкции
1. Любая команда или параметр могут быть написаны как заглавными буквами, так и
строчными.
2. В команде, содержащей параметр, между командой и параметром необходимо поставить
пробел.
3. Для любой команды, содержащей числовые данные, эти числовые данные могут быть до
12 знаков длиной.
4. Возврат каретки: Если получен символ возврата каретки (ASCII 13), источник питания
должен ответить "OK", добавив символ возврата каретки.
Смотри пункт 4, ты добавляешь возврат каретки в конец каждой команды?
Ronaldinho
interested
interested
Сообщения: 6
Зарегистрирован: 13 окт 2008, 21:00
Версия LabVIEW: 7.0
Контактная информация:

Re: Запись команд в прибор

Сообщение Ronaldinho »

Похоже, что нет. Как я понимаю, это должно выглядеть так, как на прилагаемой ниже картинке. Казалось бы: добавление символа возврата каретки влияет лишь на Ответ - т.е. на чтение, а вот на запись влиять не должно. А записи-то не происходит. Но, in any case, проверю данную ниже схему. Спасибо;)
Вложения
MySerial.jpg
Аватара пользователя
Eugen Graf

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

Re: Запись команд в прибор

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

Ты пробовал для начала использовать Hyper Terminal?
Если с ним пойдёт, то с VISA разберёмся.

Если что, ещё можешь попробовать мой RS232 Terminal:
/viewtopic.php?f=22&t=128
Ronaldinho
interested
interested
Сообщения: 6
Зарегистрирован: 13 окт 2008, 21:00
Версия LabVIEW: 7.0
Контактная информация:

Re: Запись команд в прибор

Сообщение Ronaldinho »

Да, я ж написал ещё в самом первом сообщении! Через HyperTerminal, если делать всё согласно инструкциям, указанного в том же сообщении Manual`a, то всё здорово работает! Проблема именно с записью через VISA........
Аватара пользователя
Eugen Graf

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

Re: Запись команд в прибор

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

А ты когда это через Hyper Terminal пробовал, ты добавлял ввод в конце каждой команды?
И мой RS232 Terminal пробовал? Он построен на VISA.
Ronaldinho
interested
interested
Сообщения: 6
Зарегистрирован: 13 окт 2008, 21:00
Версия LabVIEW: 7.0
Контактная информация:

Re: Запись команд в прибор

Сообщение Ronaldinho »

Твой ещё не пробовал. А вот при вводе в HyperTerminal - ввёл команду, например out 1. Далее - бью по enter. Как там явно прописать символ возврата каретки - не очевидно. Однако, видимо, этот удар по Enter и ассоциируется с переводом каретки!
Ronaldinho
interested
interested
Сообщения: 6
Зарегистрирован: 13 окт 2008, 21:00
Версия LabVIEW: 7.0
Контактная информация:

Re: Запись команд в прибор

Сообщение Ronaldinho »

Вот. Возврат каретки добавил - действительно - запись произошла. Но чтения после этого не происходит. Опять Time Expired...... Может кол-во байт для чтения не то?!
Аватара пользователя
Eugen Graf

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

Re: Запись команд в прибор

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

Надо в конфигурации выставить Termination Char = возврат каретки.
Аватара пользователя
Korotenko

Activity
developer
developer
Сообщения: 286
Зарегистрирован: 25 июл 2008, 10:43
Награды: 1
Версия LabVIEW: 2009
Откуда: Россия, Владивосток
Контактная информация:

Re: Запись команд в прибор

Сообщение Korotenko »

очень советую (по собсвенному опыту) при работе с портами использовать порт-мониторы :super:
например http://www.serial-port-monitor.com/Down ... onitor.exe :1stplace: вот его зеркало http://hhdsoftware.co.uk/Download/free- ... onitor.exe запускать программу надо ПЕРЕД :rtfm: запуском :labview: , в программе выбираешь НОВАЯ СЕССИЯ и ставишь галку ЗАПРОСЫ, :rtfm: остальные галки - показывают тоже что и указанная мной, только в менее нормальном варианте. а ещё в проге есть настройка - всегда поверх всех окон - полезная штука!
теперь всегда будешь видеть - что проходит туда-сюда через компорт
но учти :rtfm: - если в :vi: поставишь 4 байта на чтение то даже монитор покажет только 4 байта, т.к. порт больше не пропустит, поэтому для начала ставь где-то 20-30 байт на приём, а потом уж столько - сколько нужно, либо как говорил EG ориентируйся на символ конца сообщения,

и ещё совет - поставь для визы время ожидания конца не 10 сек как по умолчанию, а 0,5 сек :brows: - уж поверь мне, железячнику, для 9600 бод - 0,25 сек ожидания - время когда даже "ёжика дойдёт :D " :D
I work in LabVIEW 2009 !
Аватара пользователя
Pavel Krivozubov

Activity Bronze
professor
professor
Сообщения: 4422
Зарегистрирован: 07 фев 2008, 16:39
Награды: 3
Версия LabVIEW: 7.0 - 2013
Откуда: г. Электросталь
Благодарил (а): 24 раза
Поблагодарили: 9 раз
Контактная информация:

Re: Запись команд в прибор

Сообщение Pavel Krivozubov »

почему вы все так не любите MAX :D
Меня в аналогичных случаях он выручал всегда. Хотя бы посмотреть для начала в нем - определился ли девайс относительно LabVIEW или нет..
2Алексей, а зачем нужны портмоны, если траблы с самой передачей (приёмом)? Ну покажет он read(write) error, а дальше что?
Аватара пользователя
Korotenko

Activity
developer
developer
Сообщения: 286
Зарегистрирован: 25 июл 2008, 10:43
Награды: 1
Версия LabVIEW: 2009
Откуда: Россия, Владивосток
Контактная информация:

Re: Запись команд в прибор

Сообщение Korotenko »

Indey писал(а):почему вы все так не любите MAX :D
ещё не пользовался когда линия 2 метра :D это и не требуется! :cool: (стадия разработки и проверки)
Indey писал(а): а зачем нужны портмоны, если траблы с самой передачей (приёмом)?
а если нет? то покажет что ИМЕЕННО ушло и что ИМЕЕННО пришло без протаскивания через :labview: ! :rtfm:
I work in LabVIEW 2009 !
Аватара пользователя
Pavel Krivozubov

Activity Bronze
professor
professor
Сообщения: 4422
Зарегистрирован: 07 фев 2008, 16:39
Награды: 3
Версия LabVIEW: 7.0 - 2013
Откуда: г. Электросталь
Благодарил (а): 24 раза
Поблагодарили: 9 раз
Контактная информация:

Re: Запись команд в прибор

Сообщение Pavel Krivozubov »

Коротенко Алексей писал(а):ещё не пользовался когда линия 2 метра :D это и не требуется! :cool: (стадия разработки и проверки)
ха! у меня были случаи когда линия была полметра и девайсы глючили :D Да и причем тут вообще длина линии? :brows:
Коротенко Алексей писал(а): а если нет? то покажет что ИМЕЕННО ушло и что ИМЕЕННО пришло без протаскивания через :labview: ! :rtfm:
Ну в этом то случае - проблемы именно с передачей.. Но впрочем использовать портмоны, конечно же полезно в принципе, ты прав.
Аватара пользователя
Korotenko

Activity
developer
developer
Сообщения: 286
Зарегистрирован: 25 июл 2008, 10:43
Награды: 1
Версия LabVIEW: 2009
Откуда: Россия, Владивосток
Контактная информация:

Re: Запись команд в прибор

Сообщение Korotenko »

Indey писал(а):у меня были случаи когда линия была полметра и девайсы глючили :D Да и причем тут вообще длина линии? :brows:
верно- всякие там наводки могут быть :think:
Indey писал(а):Но впрочем использовать портмоны, конечно же полезно в принципе, ты прав.
хочу добавить - и вообще видеть - УШЛО ли что-нить из :labview: :D :D :D
I work in LabVIEW 2009 !
Аватара пользователя
Eugen Graf

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

Re: Запись команд в прибор

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

Портмоны как то сильно тормозят передачу данных при высоких скоростях. Поэтому перестал ими пользоваться. Если надо подслушать что приходит и уходит, то пользуюсь хард-подслушивалкой. Если кому надо могу сделать фотку, но в принципе легко смастерить самому.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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