void ReadDataBlock(byte[][] data, string text, GXReplyData reply) { foreach (byte[] it in data) { reply.Clear(); try { ReadDataBlock(it, text, reply); } catch (Exception ex) { //Update frame ID if meter returns error. if (client.InterfaceType == InterfaceType.HDLC) { int target, source; byte type; GXDLMSClient.GetHdlcAddressInfo(new GXByteBuffer(it), out target, out source, out type); client.Limits.SenderFrame = type; } throw ex; } } }