我有一个现有的 Actaris 电表系统,但我得到的信息很少。我必须编写一个新程序来替换当前正在从仪表读取数据的程序。我试图通过串口监听当前的通信,我看到 SNRM 请求是这样的: 7E A0 0A 00 22 00 CB 03 93 69 CE 7E
我检测到客户端地址为 1,逻辑设备地址为 17,仪表的物理地址为 101。
我想使用 GURUX GXDLMSClient 从仪表中读取数据,但是如果我这样设置参数:
`GXDLMSClient client = new GXDLMSClient();
client.UseLogicalNameReferencing = true;
client.InterfaceType = InterfaceType.HDLC;
client.ClientAddress = 1;
client.ServerAddress = GXDLMSClient.GetServerAddress(17, 101);
client.ServerAddressSize = 4;`
我这样发送 SNRM 请求: 7E A0 0A 00 00 22 CB 03 93 55 0E 7E
为什么 4 大小的服务器地址的 22 值与当前通信中的位置不同?处理这个问题的正确方法是什么?
霍克萨