Как читать данные счетчика по протоколу DLMS? - PullRequest
0 голосов
/ 08 февраля 2019

Я пытался прочитать данные со счетчика по протоколу DLMS, но работает только '/?!\r\n', другой - нет,

Я пытаюсь прочитать данные, такие как (1-1.32.7.0 [напряжение]), но не могу их использоватькак ASCII ,
, затем я регистрирую данные с RS485 по параллельной RS485 на USB .

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

def readr():
    rcx2 = ser.readline()
    print(rcx2) 

def writex(data):
    ser.write(data.encode('raw_unicode_escape'))
    readr()

writex('\xa0\x07\x03!\x93\x0f\x01')writex('\xa0+\x03!\x10\xfb\xaf\xe6\xe6\x00`\x1d\xa1\t\x06\x07`\x85t\x05\x08\x01\x01\xbe\x10\x04\x0e\x01\x00\x00\x00\x06_\x1f\x04\x00\x00~\x1f\x04\xb0\xca\xea')
writex('\xa0\x19\x03!2o\xd8\xe6\xe6\x00\xc0\x01\xc1\x00\x01\x01\x00\x00\x00\x00\xff\x02\x00\xc3\xad')

writex('\xa0\x19\x03!T_\xde\xe6\xe6\x00\xc0\x01\xc1\x00\x03\x01\x01 \x07\x00\xff\x02\x00P\x1c')
writex('\xa0\x07\x03!q\x13\xc5')
writex('\xa0\x07\x03!S\x03\xc7')

1 Ответ

0 голосов
/ 02 марта 2019

Есть несколько шагов, которые вам нужно будет сделать, прежде чем пытаться прочитать атрибут.Вам необходимо создать ассоциацию приложений, а перед этим вам нужно изменить режим последовательного интерфейса на HDLC.Вам могут понадобиться учетные данные безопасности для создания ассоциации приложений с доступом к атрибуту, который вы хотите прочитать.Вы можете бесплатно получить выдержки из Синей книги и Зеленой книги на веб-сайте DLMS , но вам, вероятно, понадобятся либо стандарты IEC 62056, либо полная Зеленая книга и Синяя книга от Ассоциации пользователей DLMS для установления связи.Техническая поддержка доступна членам Ассоциации через веб-сайт Ассоциации пользователей.

...