Реклама / ООО «ИЗОЛПРОЕКТ» / ИНН: 7725566484 | ERID: 2VtzqucPabn
IPB IPB
Проектирование, монтаж, наладка, сервис

Здравствуйте, гость ( Вход | Регистрация )

- Рекомендации АВОК 5.5.1-2023
«Системы противодымной вентиляции жилых и общественный зданий»

- Рекомендации АВОК 7.8.3-2023
«Проектирование инженерных систем лабораторий»

- Рекомендации АВОК 7.10-2023
«Здания жилые и общественные. Защита от шума и вибрации инженерного оборудования»

АВОК в соц. сетях
ИНН: 7714824045
 
Добавить ответ в эту темуОткрыть тему
> Adfweb M-bus To Modbus Converter
yamato1945
сообщение 22.7.2019, 16:10
Сообщение #1





Группа: Участники форума
Сообщений: 33
Регистрация: 17.10.2017
Пользователь №: 329975



Уважаемые коллеги !
Не случалось ли кому подключать счетчики тепла Apator LQM III Elf к системе диспетчеризации через
конвертер ADFWeb M-Bus to Modbus converter HD67044-B2 ?
Конкретно интересует вопрос как вытащить текущий показатель количества тепловой энергии в сеть MODBUS через указанный
конвертер, используя интерфейс M-BUS счетчика .
Все остальные параметры (температура, объем, мощность и тп) вытащить удалось, а для количества тепловой энергии нужна какая-то странная нестандартная конфигурация.

Буду рад любому совету, заранее благодарен ...
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
manjey73
сообщение 22.7.2019, 20:49
Сообщение #2





Группа: Участники форума
Сообщений: 2034
Регистрация: 1.8.2014
Пользователь №: 240922



Таки счетчики можно читать без конвертеров от данных товарищей... просто Scada системой, если написать драйвер... правда я год мучался, и сделал только под свои два прибора.

в M-Bus есть нестандартные для протокола вещи, например переменная может быть указана "безразмерная" - как бы она таковой не является, просто производитель сам должен указать размерность. То есть сам протокол не имеет описания на переменную, она полностью на совести производителя прибора.

можете скинуть все телеграммы, которые вы с него получаете в hex виде для проверки ?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
yamato1945
сообщение 23.7.2019, 10:33
Сообщение #3





Группа: Участники форума
Сообщений: 33
Регистрация: 17.10.2017
Пользователь №: 329975



Цитата(manjey73 @ 22.7.2019, 20:49) *
Таки счетчики можно читать без конвертеров от данных товарищей... просто Scada системой, если написать драйвер... правда я год мучался, и сделал только под свои два прибора.

в M-Bus есть нестандартные для протокола вещи, например переменная может быть указана "безразмерная" - как бы она таковой не является, просто производитель сам должен указать размерность. То есть сам протокол не имеет описания на переменную, она полностью на совести производителя прибора.

можете скинуть все телеграммы, которые вы с него получаете в hex виде для проверки ?


Не, мне надо через ADFWeb Converter в MODBUS TCP/IP. Скорее всего да, там нестандартный тип данных, но ADFWeb Analyzer их видит, но перевести в MODBUS не может (?) почему-то. Там нестандартный VIF, говорит : VIF is in ASCII. Понять бы что это такое ...
ЗЫ. Спасибо за отклик smile.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
manjey73
сообщение 23.7.2019, 11:36
Сообщение #4





Группа: Участники форума
Сообщений: 2034
Регистрация: 1.8.2014
Пользователь №: 240922



Если говорит что ASCII то значит это строковая переменная (предположительно). Тип переменной то стандартный, просто его сам adfweb может не понимает. А у строк в M-bus может быть любая длина в пределах пакета.

Я почему и просил телеграмму, чтобы проверить в программе, ругнется или нет, ну и хотя бы ручками попробовать понять что там.
з.ы. строковые я не разбирал пока, не попалось у меня в протоколе на моих приборах...

Интересно как он вам строковую переменную переведет в Modbus не имея расширенных наборов функций.

Сообщение отредактировал manjey73 - 23.7.2019, 11:39
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
yamato1945
сообщение 23.7.2019, 11:50
Сообщение #5





Группа: Участники форума
Сообщений: 33
Регистрация: 17.10.2017
Пользователь №: 329975



Цитата(manjey73 @ 23.7.2019, 11:36) *
Если говорит что ASCII то значит это строковая переменная (предположительно). Тип переменной то стандартный, просто его сам adfweb может не понимает. А у строк в M-bus может быть любая длина в пределах пакета.

Я почему и просил телеграмму, чтобы проверить в программе, ругнется или нет, ну и хотя бы ручками попробовать понять что там.
з.ы. строковые я не разбирал пока, не попалось у меня в протоколе на моих приборах...

Интересно как он вам строковую переменную переведет в Modbus не имея расширенных наборов функций.


Ну, он же говорит "VIF in ASCII string", я так понимаю, VIF задает "тип" переменных ?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
manjey73
сообщение 23.7.2019, 12:50
Сообщение #6





Группа: Участники форума
Сообщений: 2034
Регистрация: 1.8.2014
Пользователь №: 240922



Не совсем так, DIF и VIF описывают полученные переменные, а не задают.

От будет весело, если в виде строки там число, типа 0.25 в ascii это 30 2E 32 35

Ну или BCD формат будет, что ваш adfweb сможет ?

з.ы. лог полученной телеграммы в hex у вас есть ? иначе гадать можно долго и нудно на кофейной гущи с этим протоколом. Хоть руками его разобрать и понять что есть что.

Сообщение отредактировал manjey73 - 23.7.2019, 12:54
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
yamato1945
сообщение 23.7.2019, 13:48
Сообщение #7





Группа: Участники форума
Сообщений: 33
Регистрация: 17.10.2017
Пользователь №: 329975



Цитата(manjey73 @ 23.7.2019, 12:50) *
Не совсем так, DIF и VIF описывают полученные переменные, а не задают.

От будет весело, если в виде строки там число, типа 0.25 в ascii это 30 2E 32 35

Ну или BCD формат будет, что ваш adfweb сможет ?

з.ы. лог полученной телеграммы в hex у вас есть ? иначе гадать можно долго и нудно на кофейной гущи с этим протоколом. Хоть руками его разобрать и понять что есть что.


Взгляните, пожалуйста, на картинку с ADFWeb Analyzer :

https://dropmefiles.com/fgPaf
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
manjey73
сообщение 23.7.2019, 14:21
Сообщение #8





Группа: Участники форума
Сообщений: 2034
Регистрация: 1.8.2014
Пользователь №: 240922



Так вам же русским языком написали - 12 символов BCD поле данных
значение 727301010000
Ну и про степень там 10 в -1

Опять же, я так понимаю, вы можете не использовать это значение, сняв галочку.
А в Modbus вы можете только значение Value передать ?, указать на другое поле никак ? просто не общался с adfweb в рамках M-Bus и после общения с их SNMP-Modbus даже не хочется...

Сообщение отредактировал manjey73 - 23.7.2019, 14:24
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
manjey73
сообщение 23.7.2019, 14:45
Сообщение #9





Группа: Участники форума
Сообщений: 2034
Регистрация: 1.8.2014
Пользователь №: 240922



Multiplicative correction factor в степени 10nnn-6, смотрите как первые три бита VIFE (75h) преобразовать в степень. Где-то это в документации есть.

А, ну собственно это и есть 10 в минус 1 степени, то есть число надо на 10 поделить всего.

72730101000,0 - вот это будет значением переменной rs

Сообщение отредактировал manjey73 - 23.7.2019, 14:48
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
yamato1945
сообщение 23.7.2019, 15:04
Сообщение #10





Группа: Участники форума
Сообщений: 33
Регистрация: 17.10.2017
Пользователь №: 329975



Цитата(manjey73 @ 23.7.2019, 14:45) *
Multiplicative correction factor в степени 10nnn-6, смотрите как первые три бита VIFE (75h) преобразовать в степень. Где-то это в документации есть.

А, ну собственно это и есть 10 в минус 1 степени, то есть число надо на 10 поделить всего.

72730101000,0 - вот это будет значением переменной rs


В том то же и дело, что я не могу ничего получить в MODBUS регистре ! Если бы я хоть что-то получил, я бы уж как-то его преобразовал, но там постоянно - 0 .
Взгляните, пожалуйста, как импортировал эту переменную в проект сам ADFWeb Analyzer :
https://dropmefiles.com/gTbNx

Вот такой он её считает, но всё равно, ничего не считывается, кроме 0.

PS. Вы не знаете, что может обозначать "VIF ASCII String" параметр ? Возможно в нём всё дело
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
manjey73
сообщение 23.7.2019, 15:16
Сообщение #11





Группа: Участники форума
Сообщений: 2034
Регистрация: 1.8.2014
Пользователь №: 240922



Ну так его же надо сделать From BCD to Integer наверное.

Вот что касается работы с adfweb я вам ничем не помогу, ибо я его не знаю. Может его плющит на данной переменной, что-то не допилено и т.д.

Кстати там, где вы покупали его можете запросить в техподдержке, они переправят вопрос со скринами иностранцам и они может быть что-то вразумительное ответят...

я не вижу, где у вас VIF ASCII String

Сообщение отредактировал manjey73 - 23.7.2019, 15:18
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
yamato1945
сообщение 23.7.2019, 15:58
Сообщение #12





Группа: Участники форума
Сообщений: 33
Регистрация: 17.10.2017
Пользователь №: 329975



Цитата(manjey73 @ 23.7.2019, 15:16) *
Ну так его же надо сделать From BCD to Integer наверное.

Вот что касается работы с adfweb я вам ничем не помогу, ибо я его не знаю. Может его плющит на данной переменной, что-то не допилено и т.д.

Кстати там, где вы покупали его можете запросить в техподдержке, они переправят вопрос со скринами иностранцам и они может быть что-то вразумительное ответят...

я не вижу, где у вас VIF ASCII String


Ну, я делал все возможные преобразования, какие только можно придумать, в надежде хоть что-то получить smile.gif

Type = Vif in following string

Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
manjey73
сообщение 23.7.2019, 16:19
Сообщение #13





Группа: Участники форума
Сообщений: 2034
Регистрация: 1.8.2014
Пользователь №: 240922



Type = Vif in following string

Ну далее то описан формат - 12 цифр BCD с множителем 0.1

Вот по данной проблеме и пишите в техподдержку, с какого ? ну или если переменная не так важна, просто отключите ее.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
yamato1945
сообщение 23.7.2019, 16:22
Сообщение #14





Группа: Участники форума
Сообщений: 33
Регистрация: 17.10.2017
Пользователь №: 329975



Цитата(manjey73 @ 23.7.2019, 16:19) *
Type = Vif in following string

Ну далее то описан формат - 12 цифр BCD с множителем 0.1

Вот по данной проблеме и пишите в техподдержку, с какого ? ну или если переменная не так важна, просто отключите ее.


Щас буду пытаться smile.gif

Спасибо Вам большое что откликнулись
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
manjey73
сообщение 23.7.2019, 16:52
Сообщение #15





Группа: Участники форума
Сообщений: 2034
Регистрация: 1.8.2014
Пользователь №: 240922



Та нема за шо. Вообще когда-то думал что M-Bus идиотский протокол, но когда столкнулся с Логикой, то понял что ошибался.... чуть-чуть. Эти вааще превзошли все ожидания smile.gif
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
yamato1945
сообщение 29.7.2019, 13:46
Сообщение #16





Группа: Участники форума
Сообщений: 33
Регистрация: 17.10.2017
Пользователь №: 329975



Ну, решение найдено.
Если, вдруг, кому-нибудь понадобится :
Для контроля "Количество теплоты" в шлюзе ADFWeb HD67044-B2 нужно прописать :

1. M-Bus Access->"Имя точки"->Type of Data = Vif is in ASCII
2. M-Bus Access->"Имя точки"->VIF ASCII String = kcal
3. Отметить птицей M-Bus Access->"Имя точки"->Convert in float

Получаем значение в КИЛОКАЛОРИЯХ

Сообщение отредактировал yamato1945 - 29.7.2019, 13:50
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
manjey73
сообщение 29.7.2019, 14:05
Сообщение #17





Группа: Участники форума
Сообщений: 2034
Регистрация: 1.8.2014
Пользователь №: 240922



yamato1945 хм, очень странно, или это типа шлюз неправильно воспринял часть данных и указал что они 12BCD ?

Просто BCD формат это далеко не ASCII.

Это то, что техподдержка вам посоветовала и оно сработало ?

Сообщение отредактировал manjey73 - 29.7.2019, 14:06
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
yamato1945
сообщение 29.7.2019, 20:22
Сообщение #18





Группа: Участники форума
Сообщений: 33
Регистрация: 17.10.2017
Пользователь №: 329975



Цитата(manjey73 @ 29.7.2019, 14:05) *
yamato1945 хм, очень странно, или это типа шлюз неправильно воспринял часть данных и указал что они 12BCD ?

Просто BCD формат это далеко не ASCII.

Это то, что техподдержка вам посоветовала и оно сработало ?


Это из представительства Apator прислали, хмм, "файлы с особенностями реализации протокола M-Bus для счетчиков".
Хотите, Вам пришлю, токо завтра, с другого компа ?

PS. Я не очень-то хорошо знаю протокол M-Bus (мягко говоря smile.gif). Чисто для себя, для простоты, я представляю себе это значение "kcal" как начало области, где начинаются эти самые BCD-данные

Сообщение отредактировал yamato1945 - 29.7.2019, 20:25
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
manjey73
сообщение 29.7.2019, 23:43
Сообщение #19





Группа: Участники форума
Сообщений: 2034
Регистрация: 1.8.2014
Пользователь №: 240922



Более точно можно было посмотреть по телеграмме из прибора и сверившись с документацией на протокол.
Но для этого надо иметь конвертер USB - MBus, например китайцы продают до 3-5 устройств при питании от USB.
Повесить его на линию ну и снифером порта посмотреть

Ну или другими утилитами какими-то посмотреть.
Вот если бы вы мне такую телеграмму прислали, мне было бы интересно. Так как я не все плюшки протокола в драйвере реализовал. А покупать приборы в поиске нереализованного как-то накладно.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Добавить ответ в эту темуОткрыть тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

Реклама
ООО «Арктика групп» ИНН: 7713634274


ООО «УНИСПЛИТ» ИНН: 6453155081 erid:2VtzqvE2vr3

Последние сообщения Форума





Rambler's Top100 Rambler's Top100

RSS Текстовая версия Сейчас: 7.5.2024, 11:30