Меркурий 230. Обмен данными. Написание ПО.

Модели:
Меркурий 230 AM, 230 АR, 231 AM
Ответить
Аватара пользователя
Avol
Сообщения: 1
Зарегистрирован: 14 окт 2015, 11:30

Меркурий 230. Обмен данными. Написание ПО.

Сообщение Avol »

Здравствуйте.
Есть задача "Написание ПО для стенда поверки оборудования". В системе присутствует Меркурий 230.
Подскажите есть ли у кого опыт написания ПО по обмену с данными счетчиками.
Есть ли реализованные библиотеке протокола связи с этим счетчиком. Есть ли ОРС сервер для него?
Описание протокола? Регистровая структура?
Буду благодарен за любую информацию.
Аватара пользователя
Saha2233
Сообщения: 4
Зарегистрирован: 12 янв 2016, 05:04

Re: Меркурий 230. Обмен данными. Написание ПО.

Сообщение Saha2233 »

У меня тоже проблема с написанием приложения. Я пишу на делфи, есть компонента которая позволяет работать с com-портом, и в принципе все работает нормально в плане связи, считывается время со счетчика Меркурий 230 и т.д., но вот есть проблема со считыванием энергии от сброса. Я подаю запрос, получаю ответ (которые по идее совершенно корректны, если сверятся со сканером портов при использовании программы Конфигуратор), но мне непонятно как считается эта энергия от сброса. Энергия от сброса равна 5.717 судя по Конфигуратору. Более конкретно:

Запрос:12.01.2016 8:39:47.88464 (+0.0000 seconds)

18 05 00 00 16 85

Ответ:12.01.2016 8:39:47.24364 (+0.3594 seconds)

18 05 00 00 16 85 18 00 00 55 16 FF FF FF FF 00
00 87 06 FF FF FF FF 1B 92

как я понимаю 00 00 55 16 это и есть это число 5.717. Мне непонятно как из 55 16 получаем 5.717
Аватара пользователя
ElectricOleg
Сообщения: 63
Зарегистрирован: 09 июн 2014, 16:21

Re: Меркурий 230. Обмен данными. Написание ПО.

Сообщение ElectricOleg »

Вы правильно понимаете, что 00 55 16 это и есть 5,717. Вся тонкость в том, что передача данных идет 16-ти разрядными словами младшим байтом вперед. Таким образом, надо переводить их HEX в DEC не 55 16, а 16 55. Получите 5717 Втч, которые нужно разделить на 1000, чтобы получить 5,717 кВтч. Приведу пример с ненулевым значением всех четырех байтов: 05 01 37 12. Преобразовать нужно число 01 05 12 37. Получим 26546,703 кВтч.
Аватара пользователя
Saha2233
Сообщения: 4
Зарегистрирован: 12 янв 2016, 05:04

Re: Меркурий 230. Обмен данными. Написание ПО.

Сообщение Saha2233 »

Да, спасибо, я разобрался уже)
Аватара пользователя
Saha2233
Сообщения: 4
Зарегистрирован: 12 янв 2016, 05:04

Re: Меркурий 230. Обмен данными. Написание ПО.

Сообщение Saha2233 »

Я хотел бы задать еще вопрос: у меня есть документация "Описание Меркурий 230 версия 226", там я беру информацию о протоколе передачи данных. Но я не могу найти там правила передачи профиля мощности. Подскажите пожалуйста
Аватара пользователя
ElectricOleg
Сообщения: 63
Зарегистрирован: 09 июн 2014, 16:21

Re: Меркурий 230. Обмен данными. Написание ПО.

Сообщение ElectricOleg »

Сам я такую программу не писал, но профиль мощности можно считать только путем прямого обращения к памяти. Код этих команд 06. Возможно, в Протоколе версии 226 это не описано, но в более поздних версиях это уже есть. Возможно, Вам поможет моя Excell таблица чтения профиля мощности для Меркурий-233, но это только эксперименты в ручном режиме через NetMonitor. Не отключайте макросы - в них преобразование HEX-DEC. Ссылку дам в Личном сообщении.
Аватара пользователя
Saha2233
Сообщения: 4
Зарегистрирован: 12 янв 2016, 05:04

Re: Меркурий 230. Обмен данными. Написание ПО.

Сообщение Saha2233 »

Помогите пожалуйста со следующей проблемой: получилось успешно наладить связь со счётчиком 230 используя протокол обмена данных, если счётчик подключен непосредственно к компьютеру. Далее я хотел бы прозвонить удалённый счётчик через модем, используя AT-команды. С самим модемом у меня получается общаться, и звонить тоже. Но не совсем понятно как сделать именно сам обмен данными с удаленным счётчиком. Я подсмотрел команды, которые использует InStar, через сканер портов, и пытаюсь сделать по аналогии. Конкретная проблема в том, что у меня получается дозвониться до счётчика, мне приходит CONNECT 9600, далее я посылаю в COM-порт команду "тест канала связи" (также как я делал в случае с подключенным к компьютеру счётчиком), но ничего не происходит. Модем зависает в состоянии связи, и даже ATH не проходит.
Аватара пользователя
Sergey
Администратор
Администратор
Сообщения: 1007
Зарегистрирован: 22 янв 2013, 14:01

Re: Меркурий 230. Обмен данными. Написание ПО.

Сообщение Sergey »

Saha2233 писал(а):Помогите пожалуйста со следующей проблемой: получилось успешно наладить связь со счётчиком 230 используя протокол обмена данных, если счётчик подключен непосредственно к компьютеру. Далее я хотел бы прозвонить удалённый счётчик через модем, используя AT-команды. С самим модемом у меня получается общаться, и звонить тоже. Но не совсем понятно как сделать именно сам обмен данными с удаленным счётчиком. Я подсмотрел команды, которые использует InStar, через сканер портов, и пытаюсь сделать по аналогии. Конкретная проблема в том, что у меня получается дозвониться до счётчика, мне приходит CONNECT 9600, далее я посылаю в COM-порт команду "тест канала связи" (также как я делал в случае с подключенным к компьютеру счётчиком), но ничего не происходит. Модем зависает в состоянии связи, и даже ATH не проходит.
Ответы на нашем блоге в комментариях: http://incotex-support.blogspot.com/201 ... 6638216138
Ответить

Вернуться в «Трехфазные однотарифные счётчики электроэнергии»