Форум АО "ВЗЛЕТ"

Приборы ЗАО "Взлет" => Отдел программистов => Тема начата: aleksander от 03.02.2009, 13:32:38



Название: Расходомер Взлет МР УСРВ -510V
Отправлено: aleksander от 03.02.2009, 13:32:38
Первый вопрос.
Для расходомера Взлет МР УСРВ -510V нужно по протоколу modbus считывать мгновенный расход и объем всей прокачанной через расходомер жидкости. Был опыт работы с расходомером Взлет ППД. Там расход и объем передавались в виде 4-х байтных ячеек. Для УСРВ по документу List_ModBus_reg_URSV_5XX.pdf для расхода, м\хВА/ч отведено         8  байт, адреса 0xC1AA — 0xС1AF. Для объема, м\xВА  отводятся байты с адреса 0x8020 — 0x80BC.
Если же смотреть запрашиваемые по протоколу modbus адреса для объема то это будут ячейки начиная с 0x80A0 в количестве 32 байт(хотя здесь я возможно ошибся в назначении всех ячеек).
Пожалуйста разъясните какие ячейки modbus надо читать чтобы узнать мгновенный расход и объем перекачанной жидкости всего(с какой начиная, сколько и в каков формат выдаваемых чисел — целые или с плавающей точкой).

Второй вопрос. Запускаю программу «Взлет МР». Нажимаю старт чтения на вкладке измерения. С помощью эмулятора отвечаю на все запросы этой программы (самого расходомера пока нет в наличии). Пишет канал связи открыт/прибор не отвечает/команда выполнена успешно. Видимо какая то посылка должна быть дополнительно отправлена чтобы «прибор отвечал». Пробовал поиск прибора. Посылал ответ на 11 запрос в формате описанном в документе prtkl_Modbus.pdf. Прибор не находится в базе. Что нужно сделать чтобы данные начали отображаться и начал «отвечать прибор»?


М: Все клоны темы удалены.
2.2. При создании новых тем постарайтесь придерживаться следующих правил:
в) Если Вы ошиблись, создав тему в неподходящем для этого разделе, не следует пытаться исправить свою ошибку, создавая еще одну тему в другом разделе. Модераторы и администраторы сами разберутся, в какой раздел перенести обсуждение. Если желаете, можете написать модератору или администратору.


Название: Re: Расходомер Взлет МР УСРВ -510V
Отправлено: Dekir от 05.02.2009, 11:11:52
1) Переменная, состоящая из 4 регистров, число повышенной точности. Запрашивать надо сразу 4 регистра в одном запросе.
Первые два регистра - это целая часть числа в формате signed long,
вторые два - это дробь в формате float. Обе части имеют одинаковый знак, float находиться в пределах от -1 < float < 1.
Их надо сложить в одно 8 байтовое число типа double после прочтения

2) Нужен ответ на 17 функцию, запрос информации об устройстве. Свяжитесь с dimoniche, если уговорите, он вышлет Вам формат ответа :) 


Название: Re: Расходомер Взлет МР УСРВ -510V
Отправлено: dimoniche от 05.02.2009, 12:47:17
Формат 17 функции описан в документации на модбас.  :-\
Описание модбаса на сайте есть.


Название: Re: Расходомер Взлет МР УСРВ -510V
Отправлено: aleksander от 06.02.2009, 12:46:28
Формат 17 функции описан в документации на модбас.  :-\
Описание модбаса на сайте есть.

Здравствуйте dimoniche.
Писав эти строки - "Пробовал поиск прибора. Посылал ответ на 11 запрос в формате описанном в документе prtkl_Modbus.pdf. Прибор не находится в базе. Что нужно сделать чтобы данные начали отображаться и начал «отвечать прибор»?"  как раз и имел в виду то что пробовал воспроизвести эмулятором 17 функцию. Наверное не до конца правильно воспроизвожу посылку. Попытался изготовить посылку чтобы в «Поиске прибора» выводилось Взлет ТСРВ — 030 63.01.03.15. В окошке "поиск прибора" находится прибор. Но он выглядит  63.01.03.15Взлет ТСРВ — 030. В общем как ни крути нужен «эталонный» пакет. Пришлите пожалуйста пример посылки которую нужно передавать в "Просмотрщик".
Спасибо за ответы.


Название: Re: Расходомер Взлет МР УСРВ -510V
Отправлено: aleksander от 06.02.2009, 13:01:38
1) Переменная, состоящая из 4 регистров, число повышенной точности. Запрашивать надо сразу 4 регистра в одном запросе.
Первые два регистра - это целая часть числа в формате signed long,
вторые два - это дробь в формате float. Обе части имеют одинаковый знак, float находиться в пределах от -1 < float < 1.
Их надо сложить в одно 8 байтовое число типа double после прочтения

Здравствуйте Dekir.
А с какого по какой адрес читать 2 регистра -  signed long и с какого по какой адрес читать 2 — float? Если можно напишите эти адреса и по объему и по расходу.
Спасибо за ответы.


Название: Re: Расходомер Взлет МР УСРВ -510V
Отправлено: Денис Пономарев от 06.02.2009, 13:06:00
Вы ищите прибор через пункт меню "поиск прибора", имитируете ответ, и Просмотрщик не находит его в базе?
Откройте через меню "Открыть" сразу нужный проект URSV_5xx.vpr
Если же откроете этот же проект через Универсальный Клиент (http://www.vzljot.ru/soft-download/18/), то там в окне "инспектор объектов" в ветке "измерения" сможете найти как читаются объемы и расходы.

см. картинку.
Аналогично и объемы. Нажав на "тип данных" сможете посмотреть подробно какого типа каждый регистр.


Название: Re: Расходомер Взлет МР УСРВ -510V
Отправлено: maxx от 06.02.2009, 16:45:39
Цитировать
А с какого по какой адрес читать 2 регистра -  signed long и с какого по какой адрес читать 2 — float? Если можно напишите эти адреса и по объему и по расходу.
Спасибо за ответы.
1. Читаем http://www.vzljot.ru/files/docs/141/List_ModBus_reg_URSV_5XX.pdf
2. Пример чтения объема:
V1+ = r0 + r1
где:r0:= signed long reg.432929;
       r1:=  float reg.432931.
Код:
объем +  01 03 80 A0 00 04 6D EB 
объем -   01 03 80 B0 00 04 6C 2E