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

Делись идеей, получай поддержку и критику!
Аватара пользователя
Chupakabra

Tutorials
professional
professional
Сообщения: 338
Зарегистрирован: 21 янв 2009, 10:50
Награды: 1
Репутация: 0
Версия LabVIEW: 2012
Откуда: Москва
Контактная информация:

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

Сообщение Chupakabra »

Доброго времени суток.
Анонс :)
Существует известная в узких кругах компания Овен. У нее есть одноименный собственный протокол обмена данными с приборами
Для поддержки этого протокола производитель предоставляет DLL (owen_io.dll)
Библиотека предназначена для связи с приборами ОВЕН, поддерживающими сетевой интерфейс RS-485 и "токовая петля".
Мною была написана LabVIEW-only реализация этого протокола для VISA, без вызова DLL, что, в принципе, позволяет программисту использовать serial-порт также для других нужд (шарить т.е.).
ris1.PNG
ris1.PNG (5.1 КБ) 20138 просмотров

Итак.
Основной блок OwenIO.vi, в котором реализован весь протокол обмена + несколько VI, Овен Hash, Овен CRC16 и другие вспомогательные функции (см описание протоколо от производителя). На вход блока OwenIO.vi подается комманда (строка) и массив данных (если необходимо), а также указывается признак команды (запись или чтение) и еще нексколько доп. параметров. С выхода снимается массив данных.
Исходные данные и полученные подготавливаются и разбираются в соответствии с коммандами. В примерах можно посмотреть как это делается.
ris2.PNG

Еще хочу обратить внимание, что при обмене используются терминирующии символ 0xD.
LabVIEW 8.6, 2009
Вложения
ОВЕН_OWEN_протокол_LabVIEW8_6_2009.rar
предыдущая версия
(295.52 КБ) 646 скачиваний
ОВЕН протокол для LabVIEW 2009 v.2.rar
новейшая версия
(171.78 КБ) 708 скачиваний
Последний раз редактировалось Chupakabra 25 мар 2011, 12:39, всего редактировалось 4 раза.

Аватара пользователя
Eugen Graf

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

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

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

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

Аватара пользователя
Chupakabra

Tutorials
professional
professional
Сообщения: 338
Зарегистрирован: 21 янв 2009, 10:50
Награды: 1
Репутация: 0
Версия LabVIEW: 2012
Откуда: Москва
Контактная информация:

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

Сообщение Chupakabra »

eg писал(а):Если не жалко - выкладывай конечно, наверняка кому нибудь пригодится. А чем использование DLL не понравилось? Что можно ещё сделать с портом, если на нём висит прибор?


Как что, повесить другой прибор с другим протоколом :) (я имею ввиду линию RS-485, на которой при организации master-slave запросов, может быть много слейвов).

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

Аватара пользователя
Eugen Graf

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

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

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

Теперь понятно, конечно, если использовать последовательный порт как bus, то да.
Выкладывай обязательно.

Аватара пользователя
Viktor

Activity Professionalism Tutorials Black
expert
expert
Сообщения: 1398
Зарегистрирован: 23 мар 2008, 10:56
Награды: 4
Репутация: 0
Версия LabVIEW: 2019
Откуда: Санкт-Петербург
Контактная информация:

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

Сообщение Viktor »

Ждём с нетерпением! :wink:

Lexan_83

Bronze
adviser
adviser
Сообщения: 221
Зарегистрирован: 18 май 2009, 10:50
Награды: 1
Репутация: 0
Версия LabVIEW: 8.6
Откуда: Москва

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

Сообщение Lexan_83 »

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

Аватара пользователя
Chupakabra

Tutorials
professional
professional
Сообщения: 338
Зарегистрирован: 21 янв 2009, 10:50
Награды: 1
Репутация: 0
Версия LabVIEW: 2012
Откуда: Москва
Контактная информация:

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

Сообщение Chupakabra »

update.
Вопросы?

Lexan_83

Bronze
adviser
adviser
Сообщения: 221
Зарегистрирован: 18 май 2009, 10:50
Награды: 1
Репутация: 0
Версия LabVIEW: 8.6
Откуда: Москва

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

Сообщение Lexan_83 »

можно выложить в версии 8.6?

Аватара пользователя
Chupakabra

Tutorials
professional
professional
Сообщения: 338
Зарегистрирован: 21 янв 2009, 10:50
Награды: 1
Репутация: 0
Версия LabVIEW: 2012
Откуда: Москва
Контактная информация:

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

Сообщение Chupakabra »

Lexan_83 писал(а):можно выложить в версии 8.6?

перезалил

stvor
interested
interested
Сообщения: 2
Зарегистрирован: 11 янв 2011, 21:38
Репутация: 0
Версия LabVIEW: 8.5
Контактная информация:

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

Сообщение stvor »

Повторная просьба выложить в версии 8.5

Аватара пользователя
Viktor

Activity Professionalism Tutorials Black
expert
expert
Сообщения: 1398
Зарегистрирован: 23 мар 2008, 10:56
Награды: 4
Репутация: 0
Версия LabVIEW: 2019
Откуда: Санкт-Петербург
Контактная информация:

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

Сообщение Viktor »

Пожалуйста:
ОВЕН протокол LabVIEW.zip
(127.27 КБ) 644 скачивания

stvor
interested
interested
Сообщения: 2
Зарегистрирован: 11 янв 2011, 21:38
Репутация: 0
Версия LabVIEW: 8.5
Контактная информация:

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

Сообщение stvor »

Viktor,
Спасибо за быстрый ответ
Сергей

Аватара пользователя
Chupakabra

Tutorials
professional
professional
Сообщения: 338
Зарегистрирован: 21 янв 2009, 10:50
Награды: 1
Репутация: 0
Версия LabVIEW: 2012
Откуда: Москва
Контактная информация:

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

Сообщение Chupakabra »

Небольшое рабочее обновление. Добавил поддержку широковещательной рассылки по адресу 255 + блок U16BCD_to_I32.vi
v.2

Аватара пользователя
Chupakabra

Tutorials
professional
professional
Сообщения: 338
Зарегистрирован: 21 янв 2009, 10:50
Награды: 1
Репутация: 0
Версия LabVIEW: 2012
Откуда: Москва
Контактная информация:

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

Сообщение 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, из которого потом выкидывается последний байт!
Вложения
owen1.png
owen1.png (7.21 КБ) 17933 просмотра

rad-on79
interested
interested
Сообщения: 2
Зарегистрирован: 20 мар 2014, 19:05
Репутация: 0
Версия LabVIEW: 13
Контактная информация:

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

Сообщение rad-on79 »

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

Ответить

Вернуться в «Проекты»