считывание параметров по RS-485

yrichs
Сообщения: 4
Зарегистрирован: Пт июн 29, 2018 4:00 pm

считывание параметров по RS-485

Сообщение yrichs » Пт июн 29, 2018 4:10 pm

Здравствуйте!
Счетчик СЕ 303.
Пишу программу для считывания показаний и параметров по RS-485.
При формировании ОДНОЙ команды типа
/?<адрес>!R1CURRE()<bcc>
считывание происходит нормально, если поменять имя параметра и перезапустить программу, тоже/
Но при формировании двух запросов в теле ОДНОЙ программы - на второй запрос ответ я не получаю. Таймаут между запросами выставлял до 5 секунд - не помогает.
Возможно неправильная реализация алгоритма мной, не так важно.
Теперь собственно вопрос. В руководстве сказано о возможности группового чтения.
Формат команды группового чтения (запроса):

– /?адрес!<SOH>R1<STX>GROUP(список имен)<ETX><BCC>,

список имен – список имен запрашиваемых параметров в формате группового чтения, не соответствующем стандарту ГОСТ - МЭК 61107-2001. Имя параметра состоит из 4-х символов цифр, представленных в 16-ричном формате.
В конце приводится таблица с кодировкой массива параметров, выводимых через интерфейс при общем и выборочном чтении.
И вот на этом месте мой мозг взрывается, т.к. я не понимаю, как формируется имя параметра.
Прошу привести примеры и при возможности, алгоритм.
Заранее благодарю.

yrichs
Сообщения: 4
Зарегистрирован: Пт июн 29, 2018 4:00 pm

Re: считывание параметров по RS-485

Сообщение yrichs » Пт июн 29, 2018 5:05 pm

К примеру, я сформировал пакет
/?126069085!R1GROUP(0001()0002())
в шестнадцатеричном представлении
2f 3f 31 32 36 30 36 39 30 38 35 21 01 52 31 02 47 52 4f 55 50 28 30 30 30 31 28 29 30 30 30 32 28 29 29 03 8b

На него пришел ответ
0001(05290618165814)0002(0)0
То есть я прочитал 2 параметра - 05290618165814 и 0.
Что это за параметры, я не могу разобраться.
Попытался вычислить VOLTA - прикинул, что должен быть 0024 или где-то рядом...
Выдает ошибку
:0022(E12)0023(E12)0024(E12)=

Как понять, какие цифры ставить в запрос для тока, напряжения и мощности?

Концерн «Энергомера»
Сообщения: 7207
Зарегистрирован: Ср сен 18, 2002 3:51 pm
Контактная информация:

Re: считывание параметров по RS-485

Сообщение Концерн «Энергомера» » Пн июл 02, 2018 10:06 am

Добрый день.

>Но при формировании двух запросов в теле ОДНОЙ программы - на второй запрос ответ я не получаю.

Счетчик отвечает, если второй запрос следует после ответа на первый.
Примеры запросов и ответов:

<- /?3023456789!01R102VOLTA()03_
-> 02VOLTA(225.0)
(230.0)
(235.0)
03#

<- /?3023456789!01R102CURRE()03Z
-> 02CURRE(5.0)
(10.0)
(3.0)
031F

<- /?3023456789!01R102DATE_()03V
-> 02DATE_(5.29.06.18)
03a

<- /?3023456789!01R102TIME_()03g
-> 02TIME_(18:28:35)
03(


>Имя параметра состоит из 4-х символов цифр, представленных в 16-ричном формате. В конце приводится таблица с кодировкой массива параметров, выводимых через интерфейс при общем и выборочном чтении. И вот на этом месте мой мозг взрывается, т.к. я не понимаю, как формируется имя параметра. Прошу привести примеры и при возможности, алгоритм. Заранее благодарю.

Список параметров приведен в Таблице 11, стр 132

Пример формирования запросов можно посмотреть через AdminTools. Если включить галочку "Групповое чтение" в настройках протокола обмена.
На вкладке Параметры сети, можно включать/выключать галочки и будет видно формирование битовой маски запросов.
Последний раз редактировалось Концерн «Энергомера» Пн июл 02, 2018 10:12 am, всего редактировалось 1 раз.

Концерн «Энергомера»
Сообщения: 7207
Зарегистрирован: Ср сен 18, 2002 3:51 pm
Контактная информация:

Re: считывание параметров по RS-485

Сообщение Концерн «Энергомера» » Пн июл 02, 2018 10:11 am

Здравствуйте.

Список параметров и маски запросов описаны в руководстве. Раздел 7.1.5 Групповое чтение (стр. 129 ), Таблица 11 (стр. 132).

>К примеру, я сформировал пакет
>/?126069085!R1GROUP(0001()0002())
>в шестнадцатеричном представлении
>2f 3f 31 32 36 30 36 39 30 38 35 21 01 52 31 02 47 52 4f 55 50 28 30 30
>30 31 28 29 30 30 30 32 28 29 29 03 8b

>На него пришел ответ
>0001(05290618165814)0002(0)0
>То есть я прочитал 2 параметра - 05290618165814 и 0.
>Что это за параметры, я не могу разобраться.


По таблице 11
0001 - Дата/время. 05290618165814 = пятница, 29.06.18 16:58:14
0002 - Коррекция время - вы пытались произвести коррекцию времени, но она не была проведена, так как вы не задали количество секунд.

>Попытался вычислить VOLTA - прикинул, что должен быть 0024 или где-то рядом...
>Выдает ошибку
>:0022(E12)0023(E12)0024(E12)=


По таблице 11 VOLTA - это 4001

Концерн «Энергомера»
Сообщения: 7207
Зарегистрирован: Ср сен 18, 2002 3:51 pm
Контактная информация:

Re: считывание параметров по RS-485

Сообщение Концерн «Энергомера» » Пн июл 02, 2018 3:10 pm

После удаления (внесения) счетчиков необходимо зайти Команды/Действия с конфигурацией/Применить изменения и нажать кнопку Выполнить. Это все необходимо успеть сделать до разрыва соединения с УСПД. Сначала удаляете счетчики и применяете изменения, затем вносите счетчики и применяете изменения.

yrichs
Сообщения: 4
Зарегистрирован: Пт июн 29, 2018 4:00 pm

Re: считывание параметров по RS-485

Сообщение yrichs » Ср сен 19, 2018 1:45 pm

Проявилась некоторая странность
На двух счетчиках се303 на запросы типа
2F 3F адрес 21 01 52 31 02 имя параметра() bcc
приходит ответ и все ок,
То на другие се303 эти команды не действуют и они молчат.
Соединяюсь посредством admin tools, обмен происходит, данные читаются.
Пытаюсь повторить команды через свою программу, на запрос
2F 3F 21 0D 0A /?!..
ПРиходит адекватный ответ
2F 45 4B 54 35 43 45 33 30 33 76 31 31 0D 0A /EKT5CE303v11
Но если я дальше пытаюсь повторить команды admin tools, например
06 30 35 31 0D 0A .051..
счетчик упорно молчит.

Повторюсь, что эта же программа на том же оборудовании нормально работает с другими двумя счетчиками се303

Почему не удается считывать данные?

yrichs
Сообщения: 4
Зарегистрирован: Пт июн 29, 2018 4:00 pm

Re: считывание параметров по RS-485

Сообщение yrichs » Пт сен 21, 2018 9:26 am

Потому что в одной версии прошивки в качестве адреса принимаются 9 цифр серийного номера, а в другой 3!

Концерн «Энергомера»
Сообщения: 7207
Зарегистрирован: Ср сен 18, 2002 3:51 pm
Контактная информация:

Re: считывание параметров по RS-485

Сообщение Концерн «Энергомера» » Пт сен 21, 2018 4:40 pm

Добрый день,
Установите на счетчиках начальную и рабочую скорость 9600.
Проблема возникает при переходе с начальной скорости на рабочую.

Вернуться в «Трехфазные многотарифные»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя