Протокол опроса Меркурий 234

51 views
Skip to first unread message

Алекс Фриман

unread,
Jan 23, 2017, 9:06:16 AM1/23/17
to Электросчетчики Меркурий
Здравствуйте. Работаю над системой АСКУЭ, опрашивающей в том числе счётчики Меркурий 234 и прочие. Столкнулся с проблемой при чтении профиля счётчика. Конкретно - команда чтения НС 06 03 (83) ... где НС - связной номер счётчика. В инструкции сказано, что 83 в команде используется если есть 17й бит, 03 - если 17го бита нет. На деле же в разных меркуриях, где то используется 83, где то 03, иногда есть переходы адресов через 0 когда начальный адрес больше конечного. При этом конфигуратор считывает счётчики всегда стабильно. Подскажите пожалуйста алгоритм когда используется этот 17й бит (т.е. 83 в команде) и когда 03. Надеюсь, вы поняли о чём я говорю, - те кто сталкивался - поймут.

Vlad Rusanov

unread,
Jan 24, 2017, 2:02:01 AM1/24/17
to Электросчетчики Меркурий
Если не ошибаюсь
М230 используют 03 (количество ячеек 4096)
М233,234,236 используют 83 (количество ячеек 8192)

понедельник, 23 января 2017 г., 17:06:16 UTC+3 пользователь Алекс Фриман написал:

Алекс Фриман

unread,
Jan 25, 2017, 12:46:35 AM1/25/17
to vladr...@gmail.com, Электросчетчики Меркурий
К сожалению, не совсем так. Во первых, насколько я знаю, зависит от версии ПО счётчиков. Всё что было до 7й версии работает только с 03, всё что выше - тут есть и 03 и 83. Вопрос потому и возник, что читаю Меркурий 234 и анализируя опрос порт монитором видно что в командах есть и 03 и 83 при этом найдя вроде бы закономерность на одних устройствах, на других иногда оказывается что всё не совсем так и нужно где-то 03 вместо 83 - при этом считываются данные за другие (старые) даты. Особенно неоднозначность проявляется когда наименьшая дата имеет адрес например 0xFFFB а старшая 0x000F - тоесть переход через 0.
На текущий момент решил проблему приделав в своё ПО галочку, выбрав которую, этот байт команды инвертируется с 03 на 83 и наоборот - использую в редких, но существующих случаях отклонения поведения опроса от стандартного чтобы прочитать нужные даты.

24 января 2017 г., 10:02 пользователь Vlad Rusanov <vladr...@gmail.com> написал:

--
Вы получили это сообщение, поскольку подписаны на одну из тем в группе "Электросчетчики Меркурий".
Чтобы отменить подписку на эту тему, перейдите по ссылке https://groups.google.com/d/topic/VladRusanov/6RShzFZdD7s/unsubscribe.
Чтобы отменить подписку на эту группу и все ее темы, отправьте письмо на электронный адрес VladRusanov+unsubscribe@googlegroups.com.
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.

Vlad Rusanov

unread,
Jan 25, 2017, 10:20:14 AM1/25/17
to Электросчетчики Меркурий, vladr...@gmail.com
Нет противоречия.

Версия прошивки 
2 - М230
3 - М231
4 - М232
7- М233


только с М230 будет работать байт 03

Alien Ufo

unread,
Jan 25, 2017, 11:20:46 AM1/25/17
to Электросчетчики Меркурий
Эх...

Старший бит 3-го байта имеет смысл только при чтении памяти №3 и определяет значение  17-го (старшего) бита адреса.

Старший байт адреса

(1 байт)

Младший байт адреса

(1 байт)

 

 


Адрес FFh EFh (65519) -> 2 байта -> 16 бит, но в памяти 3 есть возможность (не путать с необходимостью) прочитать по адресу свыше (FFFF) например 01h 00h 00h (65536), а байтов для указания адреса всего два. Вот тогда и устанавливается 
старший бит 3-го байта, 1000 = 08h, а вместе 1000 0011 (83h).


понедельник, 23 января 2017 г., 17:06:16 UTC+3 пользователь Алекс Фриман написал:
Здравствуйте. Работаю над системой АСКУЭ, опрашивающей в том числе счётчики Меркурий 234 и прочие. Столкнулся с проблемой при чтении профиля счётчика. Конкретно - команда чтения НС 06 03 (83) ... где НС - связной номер счётчика. В инструкции сказано, что 83 в команде используется если есть 17й бит, 03 - если 17го бита нет. На деле же в разных меркуриях, где то используется 83, где то 03, иногда есть переходы адресов через 0 когда начальный адрес больше конечного. При этом конфигуратор считывает счётчики всегда стабильно. Подскажите пожалуйста алгоритм когда используется этот 17й бит (т.е. 83 в команде) и когда 03. Надеюсь, вы поняли о чём я говорю, - те кто сталкивался - поймут.

Alexey Voevodin

unread,
Mar 12, 2018, 2:30:06 AM3/12/18
to Электросчетчики Меркурий
Добрый день!
А каким образом отличить при запросе параметров последней записи средних мощностей из памяти №3 (код параметра 13h) больше ли адрес последней записи, чем FFFF или меньше, если в ответе используется те же 2 байта


среда, 25 января 2017 г., 20:20:46 UTC+4 пользователь Alien Ufo написал:
Reply all
Reply to author
Forward
0 new messages