Мониторинг электрической сети WB-MAP3E

Добрый день!
Нас заинтересовали Ваши счетчики электроэнергии WB-MAP3E. Хотим их использовать для мониторинга электрических сетей. Но нам, кроме всего прочего, необходимо мониторить пусковые токи в сети от электродвигателей, продолжительность которых меньше секунды. Ваше устройство позволяет мониторить пики, но обнуление пиков не чаще чем раз в секунду для нас неприемлемо.
В связи с этим вопросы:

  1. Можем ли мы получать текущие амплитудные значения токов и напряжений (не RMS) в момент запроса по modbus? Выделить доп.регистры под них в будущих прошивках.
  2. Сможете ли вы собрать эти 6 амплитудных значений в карте регистров друг за другом, чтобы можно было получить их всех одним пакетом? (чтобы уменьшить размер пакета).
  3. Сколько раз в секунду мы сможем получать такие пакеты на максимальной скорости обмена при использовании modbus? Устройство на шине только одно, длина шины от нескольких сантиметров до 10 метров. В идеале – хотелось бы увидеть синусоиду, т.е. получить максимальную дискретизацию.
    Возможно, у вас есть другие соображения для решения этой задачи.

Добрый день.

Нет, механизм обработки значений описан в документации:

Urms Lx (В). Среднеквадратичное (эффективное) значение напряжения между Lx и N. Коммерческие счётчики считают прямым подсчётом средневадратичного. Измерители WB-MAP считают как среднее за 16 периодов, т.е. каждые 320 мс.
Upeak Lx (В). Амплитудное значение напряжения между Lx-N. Ширина измеряемых пиков — от 300 мкс, определяется фильтрами на входах, значения пиков обновляются периодически, период настраивается (60 секунд по умолчанию). В текущих версиях прошивки значение берётся по модулю.

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

Один обмен на 115200 занимает около 5мс. Если читать несколько регистров - то можно принять что 10мс. Соответственно - порядка 100 чтений.

Судя по описанию - нужен анализатор сети. Например TMTG-3R - Регистратор напряжения и тока | Со склада с функцией “оссцилографирования”

Добрый день!
Спасибо за ответ.
Еще вопросы:

  1. Согласно вашей документации устройство выполнено на базе микросхемы Atmel M90E32AS. Эта микросхема позволяет измерять пики токов за периоды, измеряемые в миллисекундах. По умолчанию, согласно документации на микросхему M90E32AS, в ней установлен период сброса пиков 20 мс. Нас бы такой период вполне устроил. Но программой вашего контроллера минимальное время сброса пиков ограничено одной секундой (регистр 4336). Можете ли вы добавить доп.регистр для задания значения периода сброса в милисекнудах? Тогда мы бы выставили в 0 секунд значение регистра 4336 и выставили необходимое время в регистре миллисекунд. В крайнем случае, при выставлении регистра 4336 в 0 секунд, время сброса устанавливалось бы в значение 20 мс. Но вариант с доп.регистром был бы предпочтительнее как более гибкий, т.к. время периода зависит от скорости обмена, которую мы получим.
  2. Можете ли вы добавить функцию ввода в счетчик коэффициентов трансформации напряжения, для расчета в контроллере напряжения и мощностей в сетях свыше 1кВ. В микросхеме M90E32AS имеются соответствующие регистры для трансформации напряжения. Сразу оговорим, что устройство не используется как счетчик коммерческого учета, а только в технических целях. Поэтому, сертификация как средства измерения в сетях свыше 1кВ нам не требуется.

Спросил у разработчиков, описал идею. Пока не видно причин по которым не получится (нельзя) сделать.

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

1 лайк

Добрый день, коллеги!

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

Настройка напряжений свыше 1кВ интересует не так сильно, т.к. там и подводных камней много, и мы можем это на программном уровне пересчитать.

Думаю неделя примерно.

Это как раз было ошибкой и там не работало нормально измерение.

Добрый день! На самом деле прошивка уже сейчас позволяет ответить на ваш запрос. Ниже подробное описание, как это сделать.

Настройка периода, в течение которого детектируются пики напряжений и токов. По умолчанию период равен 20 миллисекундам.
Прочитать текущее значение настройки (пример команды):
modbus_client -mrtu -pnone -s2 /dev/ttyRS485-1 -a130 -t3 -r0x1005
SUCCESS: read 1 of elements:
Data: 0x153f
Здесь смотрим только на старшие 8 бит ответа, 0x15, что равно 21 мс в десятичной системе.

Чтобы записать значение периода сначала разблокируем регистр для записи. После разблокировали регистров будьте внимательны, чтобы не допустить случайного изменения регистров, отличных от нужного вам 0x1005.
modbus_client -mrtu -pnone -s2 /dev/ttyRS485-1 -a130 -t6 -r100 0xABCD

Затем переведем желаемое значение периода в миллисекундах в HEX формат (возможные значения от 0 до 255 мс). И делаем конкатенацию полученного числа и числа 0x3F.
Например, мы хотим настроить период на 200 мс, это соответствует C8 в HEX. Итоговое значение будет равно 0xC83F. Запишем его в регистр.

root@wirenboard-AUWUJFBQ:~/map# modbus_client -mrtu -pnone -s2 /dev/ttyRS485-1 -a130 -t6 -r0x1005 0xC83F
SUCCESS: written 1 elements!

И проверим, что значение записалось:
root@wirenboard-AUWUJFBQ:~/map# modbus_client -mrtu -pnone -s2 /dev/ttyRS485-1 -a130 -t3 -r0x1005
SUCCESS: read 1 of elements:
Data: 0xc83f

Настройка периода не сохраняется после перезагрузки счетчика, а принимает значение по умолчанию (20 мс).

Прочитать пиковые значения напряжений L1-L3 (пример команды):
modbus_client -mrtu -pnone -s2 /dev/ttyRS485-1 -a130 -t4 -r6144 -c6
SUCCESS: read 6 of elements:
Data: 0x7be9 0x0000 0x0000 0x0000 0x0000 0x0000

Значение на каждую фазу занимает 2 байта в формате little endian. В данном случае значение для фазы L1 равно 0x00007be9. Его нужно перевести в DEC и умножить на 0.01. Таким образом, получаем 317.21 В.
Значения для других фаз равны нулю.

Аналогично прочитать пиковые значения токов L1-L3 (пример команды):
root@wirenboard-AUWUJFBQ:~/map# modbus_client -mrtu -pnone -s2 /dev/ttyRS485-1 -a130 -t4 -r6152 -c6
SUCCESS: read 6 of elements:
Data: 0x0012 0x0000 0x0000 0x0000 0x0000 0x0000

Значение для фазы L1 равно 0x00000012. Его нужно перевести в DEC и умножить на 0.016. Таким образом, получаем 0.288 A.