PDA

Просмотр полной версии : Библиотека OwenVendorProtocols для опроса тепло/электросчетчиков (релиз v3.5.14.6)



Евгений Кислов
26.02.2021, 11:17
Добрый день, коллеги.
Мы выпустили первую версию библиотеки OwenVendorProtocols, которая включает в себя блоки опроса тепло/электросчетчиков других приборов по нестандартным протоколам обмена.
По мере поддержки новых приборов будут выпускаться новые версии библиотеки.

Список поддержанных устройств:

Реализовано:

Теплосчетик ТЭМ-104/106;
Электросчетчики Меркурий 23x;
Электросчетчики Меркурий 20x;
Электросчетчики Энергомера CE102 с протоколом CE;
Электросчетчики Энергомера с протоколом МЭК 61107;
Теплосчетчик ВКТ-5 (Теплоком).



В работе: Теплосчетчики ВКТ-7 (Теплоком);




В планах:

Электросчетчики СЭТ-4ТМ.03М (НЗИФ);
Теплосчетчики КМ-5new (ТБН Энергосервис) - если у вас есть такой счетчик, пожалуйста, отпишитесь в этой теме;




Мы выражаем благодарность и признательность тем, кто помог нам в процессе разработки библиотеки:


alextopaz (https://owen.ru/forum/member.php?u=81897) за предоставленный доступ к ТЭМ-106 и помощь в отладке;
f_rzh (https://owen.ru/forum/member.php?u=105368) и Алексею Иванову за найденные ошибки и помощь в отладке;
melky (https://owen.ru/forum/member.php?u=15000) за репозиторий на GitHub (https://github.com/Manjey73/OpnenKPs/tree/master/KpMercury20x) с реализацией протокола Меркурий 2xx на C#;
Анатолия Бритова - сотрудника Харьковского электротехнического завода «Энергомера» за предоставленный доступ к счетчикам Энергомера и помощь в отладке.





Если вы заинтересованы в разработке блоков опроса для приборов, которые в данный момент отсутствуют в библиотеке – то оставляйте свои предложения в этой теме или присылайте их на почту e.kislov@owen.ru.
Разработка новых блоков по запросу возможна в том случае, если:

у вас есть нужный прибор;
вы можете подключить его к ПК с адекватными характеристиками (не хуже Intel Core i5, 8 Gb RAM);
вы можете обеспечить удаленный доступ к этому ПК по стабильному каналу связи и принимать участие в отладке (имитировать изменение параметров и т. д.)


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

Вопросы и пожелания по библиотеке вы можете оставлять прямо в этой теме.

Библиотека: OwenVendorProtocols_v3.5.14.6.compiled-library (https://ftp.owen.ru/CoDeSys3/04_Library/05_3.5.11.5/02_Libraries/OwenVendorProtocols_v3.5.14.6.compiled-library)
Документация: CODESYS V3.5. Описание библиотеки OwenVendorProtocols [2.5] (https://ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_OwenVendorProtocols_v2.5.pdf)
Примеры: ТЭМ-106 (ТЭСМА-106) (https://ftp.owen.ru/CoDeSys3/21_Examples/01_3.5.11.5/07_User_protocols/Example_TEM106_3514v1.projectarchive) / Меркурий 236 (https://ftp.owen.ru/CoDeSys3/21_Examples/01_3.5.11.5/07_User_protocols/Example_Mercury236_3514v2.projectarchive) / Меркурий 206 (https://ftp.owen.ru/CoDeSys3/21_Examples/01_3.5.11.5/07_User_protocols/Example_Mercury206_3514v1.projectarchive) / Энергомера CE102 (протокол CE) (https://ftp.owen.ru/CoDeSys3/21_Examples/01_3.5.11.5/07_User_protocols/Example_Energomera_CE_3514v1.projectarchive) / Энергомера CE303 (протокол IEC 61107) / ВКТ-5 (Теплоком) (https://ftp.owen.ru/CoDeSys3/21_Examples/01_3.5.11.5/07_User_protocols/Example_Energomera_IEC61107_3514v1.projectarchive)

melky
26.02.2021, 12:45
Доступ к счетчику Энергомера 102 (однофазный с МЭК61107 - косяк по CRC или производитель не понял или применил одну из реализаций)
И счетчику Меркурий 200 нужен?

Есть еще Меркурий 236

Если что пишите, организую по удаленке через Ethernet-RS485 преобразователь. в некоторой части могу дать пояснения по алгоритму опроса.

Евгений Кислов
26.02.2021, 13:06
С Меркуриями проблем нет - у нас есть эти счетчики.
Насчет Энергомеры - я правильно понял, что у вас СЕ 102М? (потому что насколько я понимаю - модели без литеры М поддерживают только протокол CE)
Спасибо, по этому поводу обязательно свяжемся с вами, когда дойдем до их протокола. У нас в наличии только CE303 с IEC 61107 - будет полезно провести отладку на разных устройствах.

melky
26.02.2021, 16:45
Евгений Кислов да, у меня однофазник с 61107 протоколом, одна беда, он не чистый, на самом деле, в самом описании протокола есть ссылки на 3-и (если не ошибаюсь) способа расчета CRC, но где-то в документации на Энергомеру встречал, что у них он отличается от общепринятого.

мой драйвер для Scada читает как счетчик Энергомера 102М так и корректоры газа EK260, 270, 280 за счет настроек шаблона и использования разных CRC.
Покупал однофазный счетчик, так как на 3-х фазный зажал денег :) но разницы там особо нет, просто больше переменных.
Ну и других приборов у меня нет с подобным протоколом, а в этих тип С при опросе.

По счетчику Меркурий 236 (вероятно и 230) если хотите сделать синхронизацию часов с паролем первого уровня доступа, следите, чтобы разница времени была менее 4-х минут, если она более, корректируйте за несколько дней. В пользовательском режиме счетчик можно корректировать только раз в сутки.
И советую сделать два вида опроса, по фиксированным значениям для счетчиков с тарификатором и по стандартным. Протокол Меркурия тот еще зверь. ПоубЫвав бы таких программистов :)

Евгений Кислов
26.02.2021, 17:00
По счетчику Меркурий 236 (вероятно и 230) если хотите сделать синхронизацию часов с паролем первого уровня доступа, следите, чтобы разница времени была менее 4-х минут, если она более, корректируйте за несколько дней. В пользовательском режиме счетчик можно корректировать только раз в сутки.

Мы планируем поддержать в готовом виде "нормальную" установку времени (для которой нужен 2 или 3-й уровень доступа).
У пользователя будет возможность с помощью блока отправить произвольный запрос (указав функцию, код параметра и т.д) - так что синхронизировать время с 1 уровнем доступа он тоже сможет.
Ни о какой автоматической синхронизации в блоке, естественно, речи не идет - это задача программы пользователя.


И советую сделать два вида опроса, по фиксированным значениям для счетчиков с тарификатором и по стандартным.

Если вы имеете в виду запросы из п. 2.5.17 (Запросы на чтение массивов регистров накопленной энергии) и 2.6.16 (Чтение вспомогательных параметров) - то да, они будут поддерживаться "из коробки". (номера пунктов взял из этого документа (https://www.incotexcom.ru/files/em/docs/merkuriy-sistema-komand-sogl-1-2021-02-02.pdf)).

melky
27.02.2021, 14:20
Не, имел ввиду чтение мгновенных параметров. Счётчики с тарификатором имеют функцию фиксации данных, при чем по широковещательной команде.
Важно для счётчиков прямого включения. Так как регистры данных по другим командам не вмещают больше 40-ка с чем-то ампер. Наследие старых счётчиков.

Евгений Кислов
27.02.2021, 14:42
Не, имел ввиду чтение мгновенных параметров. Счётчики с тарификатором имеют функцию фиксации данных, при чем по широковещательной команде.
Важно для счётчиков прямого включения. Так как регистры данных по другим командам не вмещают больше 40-ка с чем-то ампер. Наследие старых счётчиков.

В терминологии спецификации Меркурия "мгновенные" параметры называются "вспомогательными".
В общем, я пока не понял вашу мысль, но если вы сопроводите ее номерами пунктов из спецификации (я привел ссылку в прошлом посте) - то мы рассмотрим возможность добавления этого функционала в блок.

melky
27.02.2021, 21:58
Надо будет вспомнить, давно не лазил в документацию по протоколу.
Команда 0х08 0х14

Есть еще команда 0х16, так вот по ней при ответе на часть параметров отведено 3 байта и старшие 2 бита отвечают за направление Активной и реактивной, и в оставшиеся биты не влезают значения выше какой-то мощности, если счетчик прямого включения, для трансформаторного проблем нет. Общался по данной теме с разработчиками Меркурий, сказали что это просто оставлено для совместимости с древних времен :)

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

Сейчас нет под рукой документации, систему переставлял и искать долго, куда я все это дел. Чем хороша команда фиксации данных, так это тем, что
1. можно послать широковещательную команду на все счетчики сразу
2. прочитать все значения на одну точку времени

А если использовать команду 0х16 то сперва мы читаем напряжение, потом мощность и так далее и происходит расхождение данных.
Но к сожалению фиксация данных доступна только для версий счетчиков с тарификатором (кажется буква P в маркировке)

Евгений Кислов
27.02.2021, 22:29
Насчет фиксации я понял - постараемся поддержать.


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

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

Евгений Кислов
22.03.2021, 11:36
Обновили версию библиотеки до 3.5.14.2.
В новой версии добавлена поддержка протокола трехфазных элекросчетчиков Меркурий (203.2TD, 204, 208, 230, 231, 234, 236, 238).

Ссылка на обновленную версию библиотеки, пример и документацию -ссылки в шапке.

54127

Сейчас берем в работу протокол для однофазных электросчетчиков Меркурий.

melky
22.03.2021, 13:47
Евгений Кислов какие у вас однофазники? могу организовать доступ к Меркурий 206.

Евгений Кислов
22.03.2021, 13:50
Евгений Кислов какие у вас однофазники? могу организовать доступ к Меркурий 206.

У нас тоже Меркурий 206 как раз.

melky
22.03.2021, 14:40
ну тогда ладно. :) единственное, мне писали, что Меркурий 200 не поддерживает какие-то команды, которые есть в 206-м. у меня тоже, кроме 206-го других нет.

Евгений Кислов
29.03.2021, 10:45
Обновили версию библиотеки до 3.5.14.3.
В новой версии добавлена поддержка протокола однофазных элекросчетчиков Меркурий (200, 201, 203 (кроме Меркурий 203.2TD), 206).

Благодарим melky (https://owen.ru/forum/member.php?u=15000) за репозиторий на GitHub (https://github.com/Manjey73/OpnenKPs/tree/master/KpMercury20x) с реализацией протокола на C#.

Ссылка на обновленную версию библиотеки, пример и документацию - ссылки в шапке.

54248

Теперь берем в работу протоколы для электросчетчиков Энергомера.

Mikael
02.04.2021, 14:54
По ссылке Библиотека: OwenVendorProtocols_v3.5.14.3.compiled-library лежит библиотека OwenVendorProtocols_v3.5.14.2.
Не работает.

Евгений Кислов
02.04.2021, 15:00
По ссылке Библиотека: OwenVendorProtocols_v3.5.14.3.compiled-library лежит библиотека OwenVendorProtocols_v3.5.14.2.
Не работает.

По какой именно ссылке?
Покажите, пожалуйста, скриншотом.

pixiemosty
13.05.2021, 19:43
Разрабатываю протокол в данный момент между СПК 107 и Энергомера СЕ102М.
Буду рад помочь протестировать библиотеку.

Евгений Кислов
13.05.2021, 19:47
Разрабатываю протокол в данный момент между СПК 107 и Энергомера СЕ102М.
Буду рад помочь протестировать библиотеку.

Мы как раз приступаем к поддержке этого протокола.
Можете указать полную маркировку своего счетчика?

pixiemosty
14.05.2021, 15:37
CE102M R5 145-А, который осуществляет связь через RS485.

Евгений Кислов
14.05.2021, 15:52
CE102M R5 145-А, который осуществляет связь через RS485.

Если несложно - напишите, пожалуйста, мне на почту (в подписи) ваш контактный телефон.

melky
14.05.2021, 21:19
CE102M R5 145-А - это как раз тот самый однофазник, на котором я писал драйвер, тоже МЭК61107 с CRC от Энергомеры. Полностью в общем повторяет CE303 только переменных отдает меньше.

Евгений Кислов
15.05.2021, 11:38
CE102M R5 145-А - это как раз тот самый однофазник, на котором я писал драйвер, тоже МЭК61107 с CRC от Энергомеры. Полностью в общем повторяет CE303 только переменных отдает меньше.

А вы какие из 4-х режимов чтения поддерживали?

melky
15.05.2021, 13:57
Евгений Кислов так вроде счетчик только режим Тип С и поддерживает. Пока в своем драйвере только этот режим протокола и поддерживаю, не попадалось приборов с другими режимами. Корректоры газа EK260, 270, 280 да счетчики Энергомера 102М и 303. Отличия только в расчете контрольной суммы.

Вообще, по описанию протокола вроде как 3-и режима расчета CRC есть, или это в IEC каком-то описано, на который ссылается протокол 61107 но в свободном доступе я не нашел этот стандарт, в котором описан расчет CRC (не помню сейчас номер).

А, в документации на какой-то счетчик упоминается групповой запрос переменных, но он не соответствует протоколу IEC61107. У них это вообще какая-то отсебятина. Драйвер то я делал под протокол, по этому эту отсебятину реализовывать даже не буду в принципе. Не интересно.

https://owen.ru/forum/showthread.php?t=32322&p=333255&viewfull=1#post333255

Вот я выкладывал лог по 102-му, и там же ниже про групповое (быстрое) чтение...

Евгений Кислов
15.05.2021, 14:14
http://www.energomera.ru/documentations/product/ce301_303_rp.pdf
Я спрашивал о режиме чтения из вариантов 7.1.2 / 7.1.3 / 7.1.4

melky
15.05.2021, 19:59
Ну так там и написано


7.1.1.4 Счетчик осуществляет обмен данными по каналам связи, используя протокол обмена, в соответствии с ГОСТ IEC 61107-2011 в режиме С.

Там же ниже про отклонение расчета CRC и сноска на ISO, который я не нашел в доступе.
7.1.2 не пробовал, надо будет испытать, ответит 102-й что-нибудь в таком варианте ?

7.1.3 у меня был реализован ранее под корректоры газа EK, я просто добавил код расчета CRC и в шаблоне его указываю, остальное у меня просто перенастроилось шаблоном драйвера. Доступ всегда парольный, беспарольный не тестировал.

7.1.4

Подрежим быстрого чтения представляет собой реализацию дополнительного способа чтения произвольных параметров без входа в сеанс. Данный способ не соответствует требованиям ГОСТ IEC 61107-2011, однако основан на нем.

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

Если разобраться, то я не писал строго под счетчики Энергомера, оно так случайно получилось :) Все, что я добавил в код это CRC для Энергомеры и потом программную эмуляцию режима 7E1, чтобы счетчик можно было цеплять на линию 8N1

Filini
15.05.2021, 22:17
Интересуют ВКТ 7, ВКТ-9 и ТВ7, все теплоком

Евгений Кислов
16.05.2021, 08:32
Интересуют ВКТ 7, ВКТ-9 и ТВ7, все теплоком

ВКТ-7 в планах есть.
У ВКТ-9 и ТВ-7 - обычный Modbus, с ними не должно быть проблем.
ТВ-7, кстати, это Термотроник, а не Теплоком.

Filini
16.05.2021, 09:09
ТВ-7, кстати, это Термотроник, а не Теплоком.
Да, производителя забыл)))

melky
16.05.2021, 10:05
Поделитесь документацией на протокол ТВ-7 если есть, имеется ввиду собственный протокол, а не Modbus вариант, спасибо.

Евгений Кислов
16.05.2021, 10:07
Поделитесь документацией на протокол ТВ-7 если есть, имеется ввиду собственный протокол, а не Modbus вариант, спасибо.

Там нет собственного протокола, только Modbus с парой расширений.
http://termotronic.ru/download/files/tv7_protokol_obmena_red.7-05.pdf

melky
17.05.2021, 09:13
Евгений Кислов а, перепутал с Теплоком ВКГ-2 у них есть какой-то свой протокол, вот он то мне и нужен.

Евгений Кислов
17.05.2021, 09:22
Евгений Кислов а, перепутал с Теплоком ВКГ-2 у них есть какой-то свой протокол, вот он то мне и нужен.

Там как и у ВКТ-5 - слегка изуродованный Modbus:
http://www.teplocom.msk.ru/data/support/docs/gaz/vkg_2/protokol_obmena_2.04.pdf

melky
17.05.2021, 11:07
Евгений Кислов спасибо, поизучаю, а то чувствую придется ваять под этот прибор драйвер...

pixiemosty
17.05.2021, 12:01
Здравствуйте, на счет энергомеры СЕ102М и СПК107.
Пытаюсь реализовать через реализацию нестандартных протоколов.
Настроил КОМ_контрол. Связь есть.

Но ФБ COM_Write не хочет вообще запускаться, хотя COM_READ все время в режиме работы.
В чем может быть проблема?
55113
55114

Евгений Кислов, я сейчас увидел ваше сообщение. Я отпишусь, у меня пока постоянного доступа к устройствам нет, прихожу на час-два протестировать, что получается.

Евгений Кислов
17.05.2021, 12:04
А вы по вашей машине состояний когда-нибудь на шаг 1 созвращаетесь?

pixiemosty
17.05.2021, 13:33
Отправляюсь на шаг 1 (отправка запроса) на шаге 0 после объявления запроса

Евгений Кислов
17.05.2021, 13:44
Обновили версию библиотеки до 3.5.14.4.
В новой версии добавлена поддержка протокола однофазных элекросчетчиков Энергомера CE102 (протокол CE).

Благодарим Анатолия Бритова - сотрудника Харьковского электротехнического завода «Энергомера» за помощь в отладке.

Ссылки на обновленную версию библиотеки, пример и документацию - в шапке.

55117

Теперь берем в работу счетчики Энергомера с протоколом IEC 61107.

melky
17.05.2021, 13:50
Евгений Кислов Вот, теперь мне станет очень интересно, как вы организуете плавающий буфер для приема данных? :)

Евгений Кислов
17.05.2021, 14:00
Евгений Кислов Вот, теперь мне станет очень интересно, как вы организуете плавающий буфер для приема данных? :)

Судя по документам Энергомеры - достаточно заложиться размером буфера в 500 байт.

55120

melky
17.05.2021, 14:55
Евгений Кислов дело то не в закладке буфера больше, а в том, сколько тратится времени на ожидание ответа?

Я просто не знаю, как работает СПК в данном случае с портами.

Например ответ будет 200 байт, но мы этого не знаем, ставим буфер 500 байт и таймаут 1500 мс - каковы действия ПЛК ? он будет выжидать 1500 мс независимо, пришли эти 200 байт или нет ?

В случае со Scada, у разработчика были механизмы остановки по байту, и потом по просьбе (я мучал протокол DF1) были добавлены механизмы остановки по массиву(массивам) байт. То есть в данном случае я ловил 0x0D 0x0A, делал проверку читать дальше если несколько параметров, ловил ETX и прочитать еще CRC и остановиться. То есть не выжидать время таймаута.

Если при чтении раз в минуту для ПЛК это не критично то и ладно.

Евгений Кислов
17.05.2021, 16:37
Отправляюсь на шаг 1 (отправка запроса) на шаге 0 после объявления запроса

Выложите ваш проект, пожалуйста.

pixiemosty
17.05.2021, 16:38
Все таки тут вообще не получается до счетчика достучаться этим запросом.
На СПК подключен счетчик к COM1, пробовал и 1 и 2 задавать программно. 0 реакции.
А что висит пустая строка на COM_READ размером 256, то она и без счетчика висит :(
55125

Евгений Кислов
17.05.2021, 16:45
Все таки тут вообще не получается до счетчика достучаться этим запросом.
На СПК подключен счетчик к COM1, пробовал и 1 и 2 задавать программно. 0 реакции.
А что висит пустая строка на COM_READ размером 256, то она и без счетчика висит :(
55125

Выложите ваш проект, пожалуйста...

melky
17.05.2021, 17:12
pixiemosty кнопочку на счетчике нажали для разрешения передачи? :) есть там у него фокус с каким-то параметром, который управляется кнопкой либо разрешает передачу либо запрещает.

pixiemosty
17.05.2021, 17:21
Я извиняюсь, заработался тут)

Получилось получить ответ от счетчика!

Два момента осталось:
1. Расчет контрольной суммы, который реализуется немного другим способом, как я понимаю.
2. Во время опроса счетчика, на нем висит ошибка Error 05.
55127

п.с. нажимаю кнопку разрешения эту, она как то не влияет на опрос его, все равно опрос идет)

Вот ссылка на проект, если что: https://disk.yandex.ru/d/wc2VmdPabExuHA

melky
17.05.2021, 17:35
pixiemosty ну мне проект не поможет, некуда загружать. По CRC писал, могу дать код на C#, переделать в ST думаю не особая проблема погуглив.

Вот код расчета CRC для Энергомеры на C#



public static string CalcCS(string s)
{
byte[] bytes = Encoding.Default.GetBytes(s);
byte num = 0;
for (int i = 1; i < (int)bytes.Length; i++)
{
num = (byte)(num + bytes[i]);
}
bytes[0] = (byte)(num & 127);

return Encoding.Default.GetString(bytes, 0, 1);
}

pixiemosty
17.05.2021, 17:37
pixiemosty ну мне проект не поможет, некуда загружать. По CRC писал, могу дать код на C#, переделать в ST думаю не особая проблема погуглив.

Вот код расчета CRC для Энергомеры на C#



public static string CalcCS(string s)
{
byte[] bytes = Encoding.Default.GetBytes(s);
byte num = 0;
for (int i = 1; i < (int)bytes.Length; i++)
{
num = (byte)(num + bytes[i]);
}
bytes[0] = (byte)(num & 127);

return Encoding.Default.GetString(bytes, 0, 1);
}


Спасибо, буду пробовать!

П.с. делаю безадресный запрос /?! CR LF показывает, счетчик CE102Mv01.
Делаю адресный запрос /?01! CR LF и уже не хочет отвечать, что за странности

melky
17.05.2021, 20:44
pixiemosty а почему вы решили, что у счетчика адрес 01 ? у них адрес часть серийного номера по умолчанию. Почитайте документацию на счетчик

pixiemosty
17.05.2021, 21:43
Весь день промучился с попыткой отправить запрос на счетчик.
Никакой запрос не хочет отвечать, кроме самого первого /?! CR LF.
Пытаюсь следующим отправить ACK 0 5 (0 и 1) CR LF, но ответа нет.
Что я делаю не так? Почему на следующий запрос нет ответа?
Если есть возможность посмотреть проект, гляньте пожалуйста.
https://disk.yandex.ru/d/Ckbw_W07ZJhkxg
55163
55164


Пробую реализовать опрос по этому логу, попутно читая мэк 61107.

Отправка (5): /?!<0D><0A> // безадресный запрос
Приём (16): /EKT5CE102Mv01<0D><0A> // ответ счетчика

Отправка (6): <06>051<0D><0A> // запрос на чтение Режим С протокола МЭК61107
Приём (17): <01>P0<02>(145605366)<03>* // Ответ, что счетчик готов

Отправка (14): <01>P1<02>(777777)<03>! // Отправка пароля счетчика по умолчанию
Приём (1): <06> // подтверждающий ответ

п.с. Избавился от ошибки Err5 при запросе.
п.с.с. на счёт адресного запроса, по документации адрес это последние 4 цифры серийника, пытаюсь достучаться до счетчика с адресом /?1829! CR LF, где 1829 последние 4 цифры, пока безрезультатно

pixiemosty
20.05.2021, 12:46
Получилось, все таки адрес там не 4х значный.

melky
20.05.2021, 13:29
Ну да, там где-то 8 цифр в адресе :) если не весь серийник, не помню уже.

pixiemosty
20.05.2021, 14:03
Ну да, там где-то 8 цифр в адресе :) если не весь серийник, не помню уже.

Да, не весь. Около 8-9.

Нашли наконец преобразователь 485 в юсб, через софтину Энергомеры посмотрел логи запросов, стало легче)

Реализовал вчера:
1. Адресный запрос
2. Запрос на программирование
3. Вход с паролем
На все эти запросы счётчик отвечает, вот осталось реализовать именно считывание параметров, но с логами сейчас будет легче осуществлять.
Ну и контрольную сумму переделать, которую вы отправляли)

Евгений Кислов
20.05.2021, 14:13
Да, не весь. Около 8-9.

Нашли наконец преобразователь 485 в юсб, через софтину Энергомеры посмотрел логи запросов, стало легче)

Реализовал вчера:
1. Адресный запрос
2. Запрос на программирование
3. Вход с паролем
На все эти запросы счётчик отвечает, вот осталось реализовать именно считывание параметров, но с логами сейчас будет легче осуществлять.
Ну и контрольную сумму переделать, которую вы отправляли)

А какие параметры вы собираетесь считывать?

pixiemosty
20.05.2021, 14:50
А какие параметры вы собираетесь считывать?

Действующее напряжение, ток, частота, потребление электроэнергии за месяц ну и еще может пользовательский период времени.

Не хочет выдавать запрос по напряжению. Запрос такой же, как в логе.
На счетчике висит нагрузка, хм.
В чем дело интересно.
55193

melky
20.05.2021, 15:43
После того как залогинились к счетчику уже проще, просто посылаете запрос того же напряжения VOLTA() и получаете ответ.

я использовал работу со строками и ) использовал как сепаратор для остановки и поиска индекса от (
Для трехфазника таких будет несколько переменных VOLTA(223.795)VOLTA(0.277)VOLTA(0.097)
Ну и так далее

pixiemosty
20.05.2021, 16:06
После того как залогинились к счетчику уже проще, просто посылаете запрос того же напряжения VOLTA() и получаете ответ.

я использовал работу со строками и ) использовал как сепаратор для остановки и поиска индекса от (
Для трехфазника таких будет несколько переменных VOLTA(223.795)VOLTA(0.277)VOLTA(0.097)
Ну и так далее

Ну вот я и делаю 4 шага.
Последним запрос VOLTA или CURRE. На первые три есть ответ, на последний нет.
Приложил сверху скрин запросов и сам запрос. Интересно, в логе 1 в 1. Почему же ответа нет.

melky
20.05.2021, 16:23
Как нет ответа? у вас же пришло VOLTA(220.48)

pixiemosty
20.05.2021, 16:31
Как нет ответа? у вас же пришло VOLTA(220.48)

Это лог с AdminTools (ПО Энергомеры).
Я по этому логу делаю запрос с СПК на счетчик) Первые 3 дают ответ, а последний VOLTA не дает)

melky
20.05.2021, 16:42
Контрольная сумма есть?, правильная ? Это уже запрос с контрольной суммой вроде

pixiemosty
20.05.2021, 17:33
Контрольная сумма есть?, правильная ? Это уже запрос с контрольной суммой вроде

Я делаю запрос с контрольной суммой55197

Евгений Кислов
20.05.2021, 17:44
Вам надо LEN делать, а не SIZEOF.

pixiemosty
20.05.2021, 18:16
Вам надо LEN делать, а не SIZEOF.
Тут у меня LEN)
Но я считал данные напряжения, считаю это успехом!:))
55198
55199

55200

pixiemosty
20.05.2021, 20:45
Единственное, почему-то счётчик не хочет отвечать на другой запрос после предыдущего.
Например делаю запрос:
VOLTA () - ответ
CURRE() - нет ответа.

Если делаю по отдельности, то все нормально.
Менял и время ожидания, все равно.
Надо разбираться почему не хочет так.

melky
20.05.2021, 21:00
Станьте снифером порта с ПК между счетчиком и ПЛК, возможно мусор на следующем шаге идет. Буфер не очищается или еще что-то, а то так гадать можно долго

pixiemosty
20.05.2021, 21:14
Так, вас понял, только в двух словах с помощью чего это реализовать, подскажите?

Но все же первые 4 шага реализуются без косяков, всегда ответ есть от счетчика.
1: / ? АДРЕС! CR LF Ответ есть
2: ACK 0 5 1 CR LF Ответ есть
3: <SOH>P1<STX>(777777)<ETX><BCC> Ответ есть
4: <SOH>R1<STX>VOLTA()<ETX><BCC> Ответ есть
5: <SOH>R1<STX>CURRE()<ETX><BCC> Тут ответа нет.

Блоки по факту одинаковые, меняется только запрос.

melky
20.05.2021, 21:33
На 5-м шаге BCC корректно считается?

ADVANCED SERIAL DATA LOGGER - trial версии вполне достаточно, можно настроить порт на прослушку, правда не помню, может ли он со стороны смотреть, но вроде должен.

Надо посмотреть что на пятом шаге реально уходит в порт.

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

pixiemosty
20.05.2021, 21:45
Считаю программно.

Сейчас уже не смогу запустить, ушел из кабинета.
Но вот на скриншоте приложил. Считает BCC корректно

melky
20.05.2021, 21:52
pixiemosty насколько помню, в BCC старший бит тоже сбрасывается, если он появляется. Но если вы вместо VOLTA делаете запрос CURRE и работает, думаю причина какая-то с буфером

pixiemosty
20.05.2021, 21:56
Да, если делаю отдельно CURRE, все работает. Также делаю и по месяцам потребление, тоже все работает.
А вот если пытаюсь опросить вместе, то все, ответа нет.
Завтра попробую поразбираться в чем причина, вроде буфер чищу функцией BUFFER CLEAR. Хммм.

pixiemosty
24.05.2021, 18:42
Получилось реализовать считывание параметры сети и потребление за месяц\день\общее в реальном времени отдельными запросами, считаю это успехом! Всем спасибо большое за помощь!)
55261

melky
24.05.2021, 20:36
pixiemosty и в чем была причина зависания ?

pixiemosty
24.05.2021, 20:56
Я наверно уже все методы перепробовал.
Я сделал несколько действий:
1) Сделал опрос цикличным со сбросом всех флагов запросов (xEnable := FALSE) в начале следующего запроса. Получается так, прошел запрос, начинается следующий, предыдущий сбрасывается и тд. Думаю это все и запустило.
2) Сделал такие задержки в таймере.
VAR CONSTANT
c_tTimeout: TIME:=T#1S; // таймаут опроса модуля (время ожидания ответа)
c_tDelay: TIME:=T#10MS; // задержка перед отправкой следующего запроса
END_VAR

melky
24.05.2021, 21:04
может задержка между запросами повлияла. Будет время, прикручу счетчик к Scada и попробую между запросами 0 поставить, посмотрю что произойдет.

pixiemosty
24.05.2021, 21:24
Я тоже поиграю со временем, хочу к минимально допустимому придти.

pixiemosty
31.05.2021, 18:35
Наконец осталось реализовать проверку контрольной суммы.
Но вот какое дело, у считываемого ответа с счетчика нет в конце контрольной суммы.
Почему в конце ее нет, хмм..

Filini
31.05.2021, 20:35
Наконец осталось реализовать проверку контрольной суммы.
Но вот какое дело, у считываемого ответа с счетчика нет в конце контрольной суммы.
Почему в конце ее нет, хмм..

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

melky
31.05.2021, 23:24
pixiemosty как нет? после $03 стоит же ' а $03 это ETX
А блин, это у ас так строка выделяется...

может буфер увеличить ?

pixiemosty
01.06.2021, 15:59
pixiemosty как нет? после $03 стоит же ' а $03 это ETX
А блин, это у ас так строка выделяется...

может буфер увеличить ?

Но такой же ответ в буфер влазит, значит не из за этого же
55376

melky
01.06.2021, 16:58
pixiemosty но и в этом ответе нет контрольной суммы, хотя должна же быть

pixiemosty
01.06.2021, 17:26
pixiemosty но и в этом ответе нет контрольной суммы, хотя должна же быть

так сам ответ же больше по размеру в любом случае.
сам буффер это строка(255), ответ явно меньше же от счетчика

melky
01.06.2021, 17:41
pixiemosty тогда непонятно, почему нет контрольной суммы, это наблюдается во всех ответах ?

pixiemosty
02.06.2021, 13:50
pixiemosty тогда непонятно, почему нет контрольной суммы, это наблюдается во всех ответах ?

Да, не в одном ответе нет КС.

melky
02.06.2021, 14:16
При этом в запросах у вас КС присутствует, иначе счетчик бы не отвечал.
Попробуйте удалить КС в запросах счетчику для проверки, ответит он или нет ?

pixiemosty
02.06.2021, 17:57
При этом в запросах у вас КС присутствует, иначе счетчик бы не отвечал.
Попробуйте удалить КС в запросах счетчику для проверки, ответит он или нет ?

Без КС висит ERR13

melky
02.06.2021, 21:59
Получается в запросе есть КС, тогда счетчик проверяет запрос и честно отвечает, но почему тогда не отображается КС в ответе? Тут что-то с приемом пакета не так.
При получении ответа ведь тоже надо убедиться что он пришел полным и корректным по КС

pixiemosty
04.06.2021, 17:00
Получается в запросе есть КС, тогда счетчик проверяет запрос и честно отвечает, но почему тогда не отображается КС в ответе? Тут что-то с приемом пакета не так.
При получении ответа ведь тоже надо убедиться что он пришел полным и корректным по КС

Вот да, странно. Но не в одном ответе нет КС. Хотя все они приходят корректно.

Евгений Кислов
12.07.2021, 08:57
Обновили версию библиотеки до 3.5.14.5.
В новой версии добавлена поддержка электросчетчиков Энергомера с протоколом IEC 61107, а также исправлена обработка запроса чтения массивов энергии для счетчиков Меркурий 23x.

Благодарим Анатолия Бритова - сотрудника Харьковского электротехнического завода «Энергомера» за помощь в отладке.

Ссылки на обновленную версию библиотеки, пример и документацию - в шапке.

55970

Теперь берем в работу протоколы для счетчиков ВКТ-5 и ВКТ-7, производимых компанией Теплоком.

melky
12.07.2021, 12:23
Евгений Кислов по счетчику Меркурий 23х найден косяк. Если вы говорите о профилях мощности, то если не работает батарейка (ошибка E01 кажется) то последнее значение после включения питания ведет в далекое прошлое...

Евгений Кислов
12.07.2021, 12:46
Евгений Кислов по счетчику Меркурий 23х найден косяк. Если вы говорите о профилях мощности, то если не работает батарейка (ошибка E01 кажется) то последнее значение после включения питания ведет в далекое прошлое...

Уточните, пожалуйста, более подробно, что вы имеете в виду.

melky
12.07.2021, 13:03
Евгений Кислов При запросе профиля мощностей в архиве нет даты, есть дата в запросе последней ячейки записи, и зная, что получасовки лежат друг за другом происходит расчет ячейки памяти на требуемую дату и время. Если возникает ошибка "Села батарейка" то после выключения питания и подачи питания вновь, последняя ячейка памяти может иметь дату из прошлого.

Не знаю, как еще объяснить.

Евгений Кислов
12.07.2021, 13:15
Евгений Кислов При запросе профиля мощностей в архиве нет даты, есть дата в запросе последней ячейки записи, и зная, что получасовки лежат друг за другом происходит расчет ячейки памяти на требуемую дату и время. Если возникает ошибка "Села батарейка" то после выключения питания и подачи питания вновь, последняя ячейка памяти может иметь дату из прошлого.

Не знаю, как еще объяснить.

Вы это просто для информации написали, я правильно понял?
Или у вас какой-то вопрос по библиотеке?

melky
12.07.2021, 14:14
Для информации, если так произойдет со счетчиком, библиотека может зависнуть или прочитать не то, что требуется.
Есть счетчик с данной проблемой, долго искал причину зависания линии (не на вашей библиотеке)

Евгений Кислов
12.07.2021, 14:41
Для информации, если так произойдет со счетчиком, библиотека может зависнуть или прочитать не то, что требуется.
Есть счетчик с данной проблемой, долго искал причину зависания линии (не на вашей библиотеке)

Спасибо за информацию.

f_rzh
02.08.2021, 17:22
При работе со счётиком Меркурий 236 ART 01 (и 02 тоже) неправильно читаются мгновенные значения мощностей. Программа - просто пример с сайта. Немного её подправил, там индикация тока дублировалась фазы А, в остальном всё так же. Подключаю нагрузку 2 кВт на одну из фаз и наблюдаю следующие значения:
через конфигуратор счётчика: 2171 Вт
через фб OVP.Mercury23x : 185.3 Вт

melky
02.08.2021, 17:28
f_rzh трансформаторы тока у вас есть и какой коэффициент трансформации ?
Хотя ток правильно примерно показывает. 9.51 и 9.54 ну и напряжение 226.39 и 227.10

А теперь показываю фокус - 9.51*226.39=2152,96
и 9.54*227.10=2166.53

та-даммм, вы видите здесь цифры 1853.0(или 185.3) или 2171.87 ? :) а суслик есть....

Подайте строго фиксированную нагрузку, которая не будет меняться в течении короткого времени опроса и проверьте показания при опросе.

Евгений Кислов
02.08.2021, 17:28
При работе со счётиком Меркурий 236 ART 01 (и 02 тоже) неправильно читаются мгновенные значения мощностей. Программа - просто пример с сайта. Немного её подправил, там индикация тока дублировалась фазы А, в остальном всё так же. Подключаю нагрузку 2 кВт на одну из фаз и наблюдаю следующие значения:
через конфигуратор счётчика: 2171 Вт
через фб OVP.Mercury23x : 185.3 Вт

Выложите ваш проект, пожалуйста.
И напишите мне в личку вашу контактные данные (в частности, телефон и во сколько завтра с вами можно будет связаться).

f_rzh
02.08.2021, 17:51
Подайте строго фиксированную нагрузку
Счётчик прямоточный. Нагрузка единственная резистивная - фен строительный на третьей скорости. Счётчик лежит на столе, к нему подключена только розетка с феном.

melky
02.08.2021, 17:56
Очень странно, точнее ничего странного, учитывая, что меняется напряжение, ибо при изменении напряжения будет меняться и мощность, а вот 185.3 однозначно косяк....

ну и изменение тока объяснимо, нагрузка то резистивная, а напряжение меняется в сети.

f_rzh
02.08.2021, 17:58
Выложите ваш проект, пожалуйста.

Ссылка на проект (https://disk.yandex.ru/d/dSZAFU9dNqnO3Q)

f_rzh
02.08.2021, 18:01
меняется напряжение, ибо при изменении напряжения Напряжение не меняется почти. 226В и 227В в этих двух случаях на фазе А, куда и подключен фен. На картинках это видно.

Евгений Кислов
02.08.2021, 18:12
Ссылка на проект (https://disk.yandex.ru/d/dSZAFU9dNqnO3Q)

Напишите мне в личку вашу контактные данные (в частности, телефон и во сколько завтра с вами можно будет связаться).

melky
03.08.2021, 08:48
f_rzh проблема в том, что для мониторинга не очень подходит функция 16h протокола. Так как чтение напряжения, тока и мощности происходит последовательно, и чем медленнее опрос, тем больше разница. Если нагрузка не постоянна, то может быть ситуация, что напряжение и ток должны соответствовать мощности 2 кВт, а мощность при этом может быть прочитана как 1 кВт так и 5 кВт, так как ко времени опроса мощности уже изменился и ток и напряжение.

f_rzh
03.08.2021, 09:12
f_rzh проблема в том, что для мониторинга не очень подходит функция 16h протокола. Так как чтение напряжения, тока и мощности происходит последовательно, и чем медленнее опрос, тем больше разница. Если нагрузка не постоянна, то может быть ситуация, что напряжение и ток должны соответствовать мощности 2 кВт, а мощность при этом может быть прочитана как 1 кВт так и 5 кВт, так как ко времени опроса мощности уже изменился и ток и напряжение.
Нагрузка постоянна. Выше я уже написал, что это стенд из счётчика и включенного прямо в него на фазу А строительного фена на 2 кВт, так что ничего там не меняется всё время проведения эксперимента.

melky
03.08.2021, 09:29
f_rzh меняется
1. напряжение в сети
2. ток, так как это резистивная нагрузка, пусть и в малых пределах
3. ВРЕМЯ

даже если предположить, что вместо 185,3 у вас должно быть 1853,0 Вт то видно, что по току и напряжению эта цифра не соответствует. А все из-за опроса данных последовательно.
Тут зависит для каких целей счетчик. Но при этом ваш счетчик с внутренним тарификатором ART, следовательно он поддерживает команды опроса с кодом 14h (команда фиксации данных и последующее чтение) но вот реализован ли он в библиотеке я не знаю.

Если устраивает погрешность, описанная выше, то просто найти причину, почему он не ту цифру показывает или не так...

f_rzh
03.08.2021, 18:03
Помог с проблемой автор библиотеки, установив импровизированный "хотфикс". Владислав, Спасибо огромное!
Проблема (неправильные значения мгновенных мощностей по фазам на счётчиках Меркурий 236ART-xx) будет решена, насколько я понял, в следующей версии библиотеки, а в текущей (3.5.14.5) проблема сохраняется.

Евгений Кислов
03.08.2021, 18:06
Помог с проблемой автор библиотеки, установив импровизированный "хотфикс". Владислав, Спасибо огромное!
Проблема (неправильные значения мгновенных мощностей по фазам на счётчиках Меркурий 236ART-xx) будет решена, насколько я понял, в следующей версии библиотеки, а в текущей (3.5.14.5) проблема сохраняется.

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

melky
04.08.2021, 09:06
Евгений Кислов не совсем понял про 65535 ? у этих счетчиков при опросе командами 16h при прямом включении есть проблема нехватки бит выше 40 кВт (точную цифру не помню, можно посчитать) но уж точно не на 2-х кВт-ах... Общался по данному поводу с разработчиком родного Конфигуратора счетчиков.
Оказалось это наследие встроенного ПО старых счетчиков.

Как раз вроде по мощности при данной команде в ответе всего 3 байта на значение, минус два бита для направления мощности A+ или A- ну и Q соответственно.

41943,03 (3FFFFF)- вот, это максимальная мощность, которую может дать счетчик прямого включения по команде 16h
вот такая вот еще засада есть. Хотя счетчик может быть и 60А и 100А...

Евгений Кислов
04.08.2021, 09:21
Как раз вроде по мощности при данной команде в ответе всего 3 байта на значение, минус два бита для направления мощности A+ или A- ну и Q соответственно.

Именно так.
Но поскольку в документации в явном виде не указано, есть ли в начальном байте значимые биты или нет, а техподдержка Меркурия в свое время не дала четкого ответа на этот вопрос - в библиотеке при разборе ответа использовались только 2 байта из 3-х.
Мы исправили этот момент.

melky
04.08.2021, 09:38
Да вроде есть в документации на протокол все. Просто возможно не в явном виде. Там везде есть примеры разбора ответа и эти биты фигурируют. Для мощностей уж точно...

Самое интересное, что счетчики AR не поддерживают команду 14h и если счетчик вдруг до 100А прямого включения, то этих 3-х байт и не хватает, так как они могут только 41 кВт вместить, а при сотке это 66 кВт...

надо было общаться с разработчиком ПО а не техподдержкой Меркурия :)

Евгений Кислов
04.08.2021, 09:40
Да вроде есть в документации на протокол все. Просто возможно не в явном виде. Там везде есть примеры разбора ответа и эти биты фигурируют. Для мощностей уж точно...

Самое интересное, что счетчики AR не поддерживают команду 14h и если счетчик вдруг до 100А прямого включения, то этих 3-х байт и не хватает, так как они могут только 41 кВт вместить, а при сотке это 66 кВт...

надо было общаться с разработчиком ПО а не техподдержкой Меркурия :)

Биты знака в примерах используются, но другие биты этого байта - нет (потому что в примерах рассмотрены очень малые значения мощности).
Поэтому ранее этот момент был неясен.

melky
04.08.2021, 09:43
Евгений Кислов а, понятно, вы решили что они не значимые, а это оказалось не так, бывает. Сам долго разбирался с протоколом, там блин столько всего, что голову сломать можно, страниц на 70-ть :)

Вообще убил бы таких писателей... не помню точно в каких командах, но есть там такое, что в одном ответе цифра 30 может быть представлена на один параметр как 0х1E а на другой параметр в BCD как 0х30

вот на кой такое делать????

Евгений Кислов
10.08.2021, 09:18
Обновили версию библиотеки до 3.5.14.6.
В новой версии добавлена поддержка теплосчетчиков ВКТ-5 от компании Теплоком.
Кроме того, мы исправлили ошибку в ФБ опроса электросчетчика Меркурий 23x, из-за который вспомогательные параметры считывались некорректно, если значение параметра превышало 655.35.

Ссылки на обновленную версию библиотеки, пример и документацию - в шапке.

56501

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

P.S. - а вот так выглядит наш тестовый стенд, на котором производится отладка библиотеки.

56502

GoodLuck
11.08.2021, 10:12
Добрый день!

При опросе ВКТ5 библиотекой и программой VKT5Easy почему-то не совпадают значения дат начала, конца архива и дата сброса архива.
Причем дата сброса архива при опросе постоянно меняется.

Если сбросить архив в ВКТ, то ситуация не меняется.

И версия прошивки по-разному отображается.

Евгений Кислов
11.08.2021, 10:42
Добрый день!

При опросе ВКТ5 библиотекой и программой VKT5Easy почему-то не совпадают значения дат начала, конца архива и дата сброса архива.
Причем дата сброса архива при опросе постоянно меняется.

Если сбросить архив в ВКТ, то ситуация не меняется.

И версия прошивки по-разному отображается.

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

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

Upd. - посмотрели.
При выполнении команды "Передача даты" (установка опорной даты архива) при следующем запросе "Чтение интервала дат архива" в ответ от ВКТ-5 приходят "странные" значения (с датой типа 1974 г.).
При последующих запросах снова считываются корректные даты.
Т.е. библиотека работает корректно - это особенность самого счетчика.

Мы внесли исправление в пример, чтобы избежать циклической записи опорной даты архива.

СергейНовосиб
17.08.2021, 07:59
Здравствуйте!
Подключил Энергомеру СЕ301 к СПК. Загрузил пример Example_Energomera_IEC61107_3514.
Счетчик на экран выдает ошибки Err05 "Ошибка протокола" и Err12 "Не поддерживаемый параметр".
Есть ли разница в опросе СЕ301 от СЕ303?

Евгений Кислов
17.08.2021, 08:08
Здравствуйте!
Подключил Энергомеру СЕ301 к СПК. Загрузил пример Example_Energomera_IEC61107_3514.
Счетчик на экран выдает ошибки Err05 "Ошибка протокола" и Err12 "Не поддерживаемый параметр".
Есть ли разница в опросе СЕ301 от СЕ303?

Добрый день.
Какая у вас модель счетчика? (укажите полное наименование)
В проекте CODESYS какие-нибудь данные считываются?
C помощью Multi-Protocol MasterOPC Server счетчик получается опросить без ошибок?

Набор параметров у счетчиков схожий, но CE301 не измеряет реактивную мощность и энергию.
У нас в примере для CE303 запрос реактивной энергии есть - возможно, ваши ошибки связаны именно с этим.

СергейНовосиб
17.08.2021, 10:29
СЕ301 R33 146 JAZ

СергейНовосиб
17.08.2021, 11:32
Убрал из опроса все, кроме напряжения и тока. Опрос идет кок-то хаотично.
И на экране все равно висит Err05.

Евгений Кислов
17.08.2021, 11:36
Убрал из опроса все, кроме напряжения и тока. Опрос идет кок-то хаотично.
И на экране все равно висит Err05.

Что вы подразумеваете под словом "хаотично"?



В проекте CODESYS какие-нибудь данные считываются?
C помощью Multi-Protocol MasterOPC Server счетчик получается опросить без ошибок?

СергейНовосиб
18.08.2021, 05:18
У меня нет "Multi-Protocol MasterOPC Server".
Из документации на счетчик:
• «Err 05» – «Ошибка протокола» появляется, если сообщение, полученное счетчиком через порт связи,
синтаксически неправильно. Если при повторных попытках сообщение повторяется, необходимо убедиться
в работоспособности счетчика и подключаемого к нему устройства, правильности соединения этих устройств
и работоспособности применяемой программы связи.

Через программу конфигуратора производителя все работает и опрашивает параметры.

Евгений Кислов
18.08.2021, 06:49
У меня нет "Multi-Protocol MasterOPC Server".
Из документации на счетчик:
• «Err 05» – «Ошибка протокола» появляется, если сообщение, полученное счетчиком через порт связи,
синтаксически неправильно. Если при повторных попытках сообщение повторяется, необходимо убедиться
в работоспособности счетчика и подключаемого к нему устройства, правильности соединения этих устройств
и работоспособности применяемой программы связи.

Через программу конфигуратора производителя все работает и опрашивает параметры.

Если вы заинтересованы в том, чтобы разобраться в данной ситуации - подключите, пожалуйста, счетчик к ПК с установленным CODESYS и предоставьте к нему удаленный доступ по TeamViewer или AnyDesk.

СергейНовосиб
19.08.2021, 07:47
отправил в личку на TeamViewer данные для входа

Евгений Кислов
19.08.2021, 07:54
отправил в личку на TeamViewer данные для входа

Ответил вам в личку.

СергейНовосиб
20.08.2021, 12:57
Пример Example_Mercury236_3514v2 из названия следует, что сделан в версии 3.5.14, реально в 3.5.16.
Можно его пересохранить в версии 3.5.14?

Евгений Кислов
20.08.2021, 13:11
Пример Example_Mercury236_3514v2 из названия следует, что сделан в версии 3.5.14, реально в 3.5.16.
Можно его пересохранить в версии 3.5.14?

Пересохранил и обновил на ftp.
Спасибо, что заметили.

StuG
21.09.2021, 10:15
Добрый день.

Пытаюсь опросить счетчик Меркурий 236 ART-01 через библиотеку. Связь со счетчиком установлена и опрос Additional_Params работает корректно (проверял на примере с форума).
При попытке опросить накопленную энергию по всем тарифам или по одному конкретному, данные не соответствуют показаниям на дисплее счетчика или отчету через конфигуратор.
Прикрепил скрины настроек и опроса устройства к сообщению.
57099 57100 57101 57102 57103

Евгений Кислов
21.09.2021, 10:17
Добрый день.

Пытаюсь опросить счетчик Меркурий 236 ART-01 через библиотеку. Связь со счетчиком установлена и опрос Additional_Params работает корректно (проверял на примере с форума).
При попытке опросить накопленную энергию по всем тарифам или по одному конкретному, данные не соответствуют показаниям на дисплее счетчика или отчету через конфигуратор.
Прикрепил скрины настроек и опроса устройства к сообщению.
57099 57100 57101 57102 57103

Добрый день.
Какую версию библиотеки вы используете?
Какие данные вы получаете через библиотеку?

Пришлите мне в личку или на почту, пожалуйста, ваш контактный телефон и подготовьте удаленный доступ через TeamViewer или AnyDesk.

StuG
21.09.2021, 10:19
OwenVendorProtocols v3.5.14.6

Евгений Кислов
21.09.2021, 10:22
OwenVendorProtocols v3.5.14.6

Пришлите мне в личку или на почту, пожалуйста, ваш контактный телефон и подготовьте удаленный доступ через TeamViewer или AnyDesk.