MAP-MAP12E - жуткая таблица Modbus

По многим параметрам используются множители типа 1.52588e-07, 2.44141e-07, 0.00512.
Какая же отвратительная карта Модбас! Неужели не хватило ресурсов сразу внутри модуля перевести значения в нормальные единицы?
Если не хочется отдавать по Модбасу плавающие значения - ну сделайте их целочисленными с нормальными множителями 0,1 / 0,01 / 0,001 - так всегда делают все производители. Таких страшных множителей как у вас не видел в изделиях уже лет 10.

1 лайк

Добрый день!

Чтобы прояснить проблему:

  1. чем вы считываете значения со счётчиков?
  2. там возникают какие-то трудности с вводом наших коэффициентов?

ENLOGIC
Трудности возникли у инженера, мы их решили. И инженеру крайне легко ошибиться в правильности ввода значения подобных значений.
Я просто хотел обратить ваше внимание, что это выглядит крайне страшно в наше время - заставлять людей вводить коэффициенты для преобразования значений из кодов АЦП. Так уже давно не делают. У нас большой опыт подключения различных приборов РЗА и телемеханики по протоколу Модбас. Классическая практика у большинства - передавать в целочисленном виде с множителем, кратным 10.

Соглашусь, пожалуй.
Добавил в фич-реквест. Но сделать можно только вместе с обновлением прошивки, причем версию прошивки делать отдельную, (FW3?).

Да понятно что это только в новой прошивке можно сделать. Просто вот увидел и по случаю пятницы решил потратить немного времени на совет.
Можно не делать отдельную прошивку, а в карте Модбаса добавить новый блок адресов, на который отобразить значения в новой парадигме.
И не стоит делать слишком высокую точность значений. Точности 0,1А / 0,1В / 1Вт - вполне достаточно на практике.

1.52588e-07 и прочие числа, это всего лишь 1/65535, т.е. 1/2^16. Можно это трактовать как “целая часть в одном регистре, дробная в соседнем”. Соответственно, если для вашей задачи нужна только целая часть, то вы можете взять на один регистр меньше и не умножать на страшное число.

Так что это не баг, а фича.

1 лайк

Дописал про более удобные множители при использовании половинки регистра в таблицы WB-MAP3E и WB-MAP12E. Множители 0.016 и 0.00512, к сожалению, пока останутся.

При очередном обновлении подумаем, возможно получится сделать рядом регистры с более удобными множителями. Это, к сожалению, не такая уж и тривиальная задача: значение тока и мощности зависит от используемого трансформатора тока, которые бывают у нас от 20А до 1000А. Так что у величин получается большой динамический диапазон, и приходится выбирать: или красивые десятичные множители, или компактное представление в регистрах.

Я уверен что незачем в модуле делать умножение тока и мощности на КТТ, вполне достаточно выдавать вторичные значения, которые получают с выхода ТТ. Далее умножение на КТТ делается в контроллере, который опрашивает этот модуль, или напрямую в Скаде. Поэтому диапазон вторичных значений внутри самого модуля будет всегда одинаковый, вне зависимости от номинала ТТ.

Не совсем. Все ж основная функция - учет количства энергии, для этого счетчику надо “знать” коэффициенты и считать киловатты независимо от налияия связи с контроллером. Ну и перенастройка коэффициентов в одном есте (на самом счетчике) при замене ТТ - оно логичнее чем всюду где использовась бы "первичные данные.

Нет, это совсем не логично. Поверьте нашему опыту внедрения систем АСУЭ. Все счетчики электроэнергии в подавляющем большинстве случаев работают в режиме КТТ=1, КТН=1, выдают данные по протоколу без КТТ и КТН, и этим множители потом учитываются в системах АСКУЭ на самом верхнем уровне.
Держать КТТ внизу - это наоборот плохо, потому что как нибудь плохой-кривой наладчик либо просто банально забудет его ввести, либо что гораздо хуже введет его неправильно. Такого распределенного бардака в части учета нафиг никому не надо, поэтому все КТТ и КТН - только наверху.

А в системах телемеханики конечно принято передавать данные с контроллера уже с учетом КТТ и КТН, но контроллер телемеханики лучше пусть сам делаем умножение.

Тут многоканальный учёт, 12*2 разных коэффициента на прибор. Занести это на верхнем уровне и не облажаться - это сложно.

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

Поглядите где нибудь типичную отчетную форму по расходу ЭЭ - всегда идут столбы показаний на начало и конец интервала, потом расход как разница, потом расчетный коэфф, КТТ или КТТ*КТН, и дальше уже само расчетное значение расхода с учетом коэфф.

В случае с WB-MAP12E коэффициент трансформации, это не “150:5”, к которому все энергетики привыкли. Это красивое число вроде 2972, которое разное для каждого экземпляра трансформатора и написано на наклейке.

А для маленьких трансформаторов ещё есть второе число - фазовая задержка. Это другое красивое число вроде 876. Её вообще невозможно применить на верхнем уровне, потому что она применяется на уровне аналоговой части.

В общем мысль моя в том, что многоканальный технический учёт имеет свои особенности, и с ним не всё так же, как в обычном коммерческом учёте.

Не могли бы вы рассказать подробнее про задачу? Где, как, зачем и сколько вы используете наших приборов? На какие токи? С какими трансформаторами?

На классический учёт мы скоро планируем выпустить модификацию с 5А входами. Там уже никаких волшебных чисел нет, просто обычные 5А. А коэффициенты внешних больших ТТ -это уже на верхнем уровне.

Выглядеть будет как-то так:

Ну, собственно говоря никто не мешает забить в счетчик любые постоянные коэффициенты трансформации - и использовать данные потом как угодно.