我尝试通过DLMS协议从 Jmeter 中读取数据,但只有'/?!\r\n'
工作,另一个不工作,
我尝试读取数据,如(1-1.32.7.0 [电压]),但无法将其用作 ASCII,
然后我通过并行RS485到USB来记录RS485的数据。
所以我下面展示的代码可以工作,但无论如何我都无法解码。
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')
2条答案
按热度按时间1hdlvixo1#
在尝试读取属性之前,需要执行许多步骤。您需要创建一个应用程序关联,在此之前,您需要将串行接口的模式更改为HDLC。您可能需要安全凭据才能创建具有要读取的属性的访问权限的应用程序关联。您可以从the DLMS website获得蓝皮书和绿色书的免费摘录,但您可能需要IEC 62056标准或DLMS用户协会的完整绿皮书和蓝皮书才能建立通信。技术支持可通过用户协会网站从用户协会获得。
5kgi1eie2#
有一个很好的库叫GuruX,你可以用它来阅读表。
这里是链接
Gurux Website
Github Project
示例请求是这样的。
首先,你需要安装库:
有关设置初始参数(如服务器地址等)的信息,请参阅文档。
现在您可以读取数据。