Страница 1 из 2

Протокол Овен для VISA

Добавлено: 03 сен 2010, 12:51
Chupakabra
Доброго времени суток.
Анонс :)
Существует известная в узких кругах компания Овен. У нее есть одноименный собственный протокол обмена данными с приборами
Для поддержки этого протокола производитель предоставляет DLL (owen_io.dll)
Библиотека предназначена для связи с приборами ОВЕН, поддерживающими сетевой интерфейс RS-485 и "токовая петля".
Мною была написана LabVIEW-only реализация этого протокола для VISA, без вызова DLL, что, в принципе, позволяет программисту использовать serial-порт также для других нужд (шарить т.е.).
ris1.PNG
ris1.PNG (5.1 КБ) 23460 просмотров
Итак.
Основной блок OwenIO.vi, в котором реализован весь протокол обмена + несколько VI, Овен Hash, Овен CRC16 и другие вспомогательные функции (см описание протоколо от производителя). На вход блока OwenIO.vi подается комманда (строка) и массив данных (если необходимо), а также указывается признак команды (запись или чтение) и еще нексколько доп. параметров. С выхода снимается массив данных.
Исходные данные и полученные подготавливаются и разбираются в соответствии с коммандами. В примерах можно посмотреть как это делается.
ris2.PNG
Еще хочу обратить внимание, что при обмене используются терминирующии символ 0xD.
LabVIEW 8.6, 2009

Re: Протокол Овен для VISA

Добавлено: 03 сен 2010, 12:58
Eugen Graf
Если не жалко - выкладывай конечно, наверняка кому нибудь пригодится. А чем использование DLL не понравилось? Что можно ещё сделать с портом, если на нём висит прибор?

Re: Протокол Овен для VISA

Добавлено: 03 сен 2010, 13:18
Chupakabra
eg писал(а):Если не жалко - выкладывай конечно, наверняка кому нибудь пригодится. А чем использование DLL не понравилось? Что можно ещё сделать с портом, если на нём висит прибор?
Как что, повесить другой прибор с другим протоколом :) (я имею ввиду линию RS-485, на которой при организации master-slave запросов, может быть много слейвов).

p.s. Вообще протокол реализовал как бонус к коду для подключения таймера УТ1М (той же фирмы), у которого порт RS-485 сделали, а dll его не поддерживала из-за кривости реализации протокола в приборе. Техподдержка "отнекивалась", говорили, что порт в таймере чисто номинальный. Смекнул, что скорее всего в приборе протокол реализован, но немного не правильный, удалось его восстановить. Потом чуть переделал и получил поддержку всех остальных приборов.
Так что, есть реализация для УТ1М и для всего остального. Скоро выложу.

Re: Протокол Овен для VISA

Добавлено: 03 сен 2010, 13:24
Eugen Graf
Теперь понятно, конечно, если использовать последовательный порт как bus, то да.
Выкладывай обязательно.

Re: Протокол Овен для VISA

Добавлено: 03 сен 2010, 14:50
Viktor
Ждём с нетерпением! :wink:

Re: Протокол Овен для VISA

Добавлено: 06 сен 2010, 10:54
Lexan_83
Выкладывай обязательно, мне частенько приходится работать с овеновскими терморегуляторами. Раньше я использовал протокол ModBus, но заметил что через ModBus можно менять не все параметры индикаторов Owen.

Re: Протокол Овен для VISA

Добавлено: 14 сен 2010, 12:08
Chupakabra
update.
Вопросы?

Re: Протокол Овен для VISA

Добавлено: 14 сен 2010, 14:10
Lexan_83
можно выложить в версии 8.6?

Re: Протокол Овен для VISA

Добавлено: 15 сен 2010, 10:52
Chupakabra
Lexan_83 писал(а):можно выложить в версии 8.6?
перезалил

Re: Протокол Овен для VISA

Добавлено: 11 янв 2011, 21:53
stvor
Повторная просьба выложить в версии 8.5

Re: Протокол Овен для VISA

Добавлено: 13 янв 2011, 21:18
Viktor
Пожалуйста:
ОВЕН протокол LabVIEW.zip
(127.27 КБ) 825 скачиваний

Re: Протокол Овен для VISA

Добавлено: 13 янв 2011, 22:10
stvor
Viktor,
Спасибо за быстрый ответ
Сергей

Re: Протокол Овен для VISA

Добавлено: 25 мар 2011, 12:37
Chupakabra
Небольшое рабочее обновление. Добавил поддержку широковещательной рассылки по адресу 255 + блок U16BCD_to_I32.vi
v.2

Re: Протокол Овен для VISA

Добавлено: 13 июл 2012, 13:10
Chupakabra
Итак продолжаем...
Поступил вопрос. Есть прибор Овен МУ110-8Р (8-канальный DO). Задача: управлять дискретными выходами.
1. Смотрим документ под названием "Список параметров МУ110-8Р(К) (Список параметров МУ110-8Р(К))" и находим в нем Список оперативных параметров. Далее r.ОЕ E894 Состояние ВЭ(выходного элемента) float24 (по ВЭ, от 0 до 7 0...1.0)
Считывает / записывает состояние ВЭ. Дробные
значения задают скважность ШИМ дискретных
ВЭ. Отсюда следует, что в прибор нужно писать float24 (для выкл. канало: 0, для вкл: 1), т.е. 3 байта, номер канала определяется, на сколько я понял, "адресом прибора + смещение"

2. т.к. float24 - это вообще-то не стандартный для PC (и LabVIEW) тип данных, идем на хитрость.
Из описания протокола Овен:
Формат числа с плавающей точкой - это просто стандартное 4-байтовое плавающее число в IEEE-формате, или усеченное 3-х байтовое
(PIC-формат) - то же, что и IEEE, но с отброшенным младшим байтом мантиссы. Если известно, что формат плавающий, то усеченный и
полный IEEE-форматы можно различить по битам размера информационного поля. Внутренние поля представлены только в двоичном, но не
в двоично-десятичном виде.

Итого:
1 - для Float32 вяглядит как набор байт 16x3F800000, а для овеновского float24 как 3F8000 (отбрасываем младший)
0 - 16x00000000 и 16x000000 соответственное.

На рисунке показано, что нужно подключать к входам и выходам.
Обратите внимение, что контрол берется типа Single (SGL) и преобразуется в массив типа U8, из которого потом выкидывается последний байт!

Re: Протокол Овен для VISA

Добавлено: 20 мар 2014, 19:20
rad-on79
Я новичок в программе. Пробовал по примеру ОВЕН протокол для LabVIEW 2009 v.2.rar подключить ОВЕН СИ8 для считывания расхода. Но возникает ошибка. Не могли бы помочь какие параметры надо настроить. адреса и скорости вроде настроил, но после первого модуля VISA информация идет с ошибкой.