From eed5f501cbdb8af4d83a2609005f8d7b72c1a3d6 Mon Sep 17 00:00:00 2001 From: rszn <645583145@qq.com> Date: Fri, 26 Apr 2024 16:34:55 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=B5=E8=83=BD=E8=AF=BB=E5=8F=96=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Common/CmnElecMeterBaseInfo.cs | 2 -- .../Manager/EMeterModbus527Tool.cs | 33 ++++++++++++++++--- .../Manager/ElecMeterEqmManger.cs | 16 ++++----- 3 files changed, 36 insertions(+), 15 deletions(-) diff --git a/Module.EMeter.ModbusTcp.Tool/Common/CmnElecMeterBaseInfo.cs b/Module.EMeter.ModbusTcp.Tool/Common/CmnElecMeterBaseInfo.cs index b89ecf6..ed65bea 100644 --- a/Module.EMeter.ModbusTcp.Tool/Common/CmnElecMeterBaseInfo.cs +++ b/Module.EMeter.ModbusTcp.Tool/Common/CmnElecMeterBaseInfo.cs @@ -32,8 +32,6 @@ namespace Module.EMeter.ModbusTcp /// 3号充电机电表 /// public static EMeterModbus527Tool EBC03 = new EMeterModbus527Tool("172.0.50.100", 405, 6, "2号换电站11号充电机"); - - /// public static EMeterModbus527Tool EBC04 = new EMeterModbus527Tool("172.0.50.100", 405, 7, "2号换电站配电总柜"); /// diff --git a/Module.EMeter.ModbusTcp.Tool/Manager/EMeterModbus527Tool.cs b/Module.EMeter.ModbusTcp.Tool/Manager/EMeterModbus527Tool.cs index fab6a4d..c06195d 100644 --- a/Module.EMeter.ModbusTcp.Tool/Manager/EMeterModbus527Tool.cs +++ b/Module.EMeter.ModbusTcp.Tool/Manager/EMeterModbus527Tool.cs @@ -506,14 +506,35 @@ namespace Module.EMeter.ModbusTcp { while (_is_read) { - var operateResult = _client.Read("x=3;0", 150); - if (_net_connected && operateResult.IsSuccess) + // var operateResult = _client.Read("x=3;0", 65); + // if (_net_connected && operateResult.IsSuccess) + // { + // var PT = _client.ByteTransform.TransInt16(operateResult.Content, 6); + // var CT = _client.ByteTransform.TransInt16(operateResult.Content, 8); + // //_total_active_power = _client.ByteTransform.TransUInt16(_client.Read("x=3;45", 150).Content, 4); + // //_total_active_energy = _client.ByteTransform.TransSingle(_client.Read("x=3;45", 150).Content, 56) / 1000f; + // var transInt16 = (new decimal(_client.ByteTransform.TransUInt16(operateResult.Content, 126))*65536+_client.ByteTransform.TransUInt16(operateResult.Content, 128)/ new decimal(1000f))*new decimal(PT) *new decimal(CT); + // _show_energy = (float)transInt16; + // MEMeterParamResult paramRlt = new MEMeterParamResult() + // { + // F_EqmCode = _eqm_code, + // F_ShowEnergy=_show_energy, + // F_TotalActivePower = _total_active_power, + // F_TotalActiveEnergy = Convert.ToUInt32(_total_active_energy) + // }; + // _emeter_param_result = paramRlt; + // new ElecMeterValToRedis().StoredMeterParamResult(_eqm_code, paramRlt); + // } + + var operateResult1 = _client.Read("x=3;0", 10); + var operateResult2 = _client.Read("x=3;63", 10); + if (_net_connected && operateResult1.IsSuccess && operateResult2.IsSuccess) { - var PT = _client.ByteTransform.TransInt16(operateResult.Content, 6); - var CT = _client.ByteTransform.TransInt16(operateResult.Content, 8); + var PT = _client.ByteTransform.TransInt16(operateResult1.Content, 6); + var CT = _client.ByteTransform.TransInt16(operateResult1.Content, 8); //_total_active_power = _client.ByteTransform.TransUInt16(_client.Read("x=3;45", 150).Content, 4); //_total_active_energy = _client.ByteTransform.TransSingle(_client.Read("x=3;45", 150).Content, 56) / 1000f; - var transInt16 = (new decimal(_client.ByteTransform.TransUInt16(operateResult.Content, 126))*65536+_client.ByteTransform.TransUInt16(operateResult.Content, 128)/ new decimal(1000f))*new decimal(PT) *new decimal(CT); + var transInt16 = (new decimal(_client.ByteTransform.TransUInt16(operateResult2.Content, 0))*65536+_client.ByteTransform.TransUInt16(operateResult2.Content, 2)/ new decimal(1000f))*new decimal(PT) *new decimal(CT); _show_energy = (float)transInt16; MEMeterParamResult paramRlt = new MEMeterParamResult() { @@ -525,6 +546,8 @@ namespace Module.EMeter.ModbusTcp _emeter_param_result = paramRlt; new ElecMeterValToRedis().StoredMeterParamResult(_eqm_code, paramRlt); } + + Thread.Sleep(2000); } } diff --git a/Module.EMeter.ModbusTcp.Tool/Manager/ElecMeterEqmManger.cs b/Module.EMeter.ModbusTcp.Tool/Manager/ElecMeterEqmManger.cs index 3399aa3..b71800d 100644 --- a/Module.EMeter.ModbusTcp.Tool/Manager/ElecMeterEqmManger.cs +++ b/Module.EMeter.ModbusTcp.Tool/Manager/ElecMeterEqmManger.cs @@ -76,18 +76,18 @@ namespace Module.EMeter.ModbusTcp CmnElecMeterBaseInfo.EBC01.Connect(); } Thread.Sleep(200); - // if (!CmnElecMeterBaseInfo.EBC02.F_NetConnected) - // { - // CmnElecMeterBaseInfo.EBC02.Connect(); - // } + if (!CmnElecMeterBaseInfo.EBC02.F_NetConnected) + { + CmnElecMeterBaseInfo.EBC02.Connect(); + } Thread.Sleep(200); if (!CmnElecMeterBaseInfo.EBC03.F_NetConnected) { CmnElecMeterBaseInfo.EBC03.Connect(); } Thread.Sleep(200); - - + + if (!CmnElecMeterBaseInfo.EBC04.F_NetConnected) { CmnElecMeterBaseInfo.EBC04.Connect(); @@ -102,8 +102,8 @@ namespace Module.EMeter.ModbusTcp { CmnElecMeterBaseInfo.EBC06.Connect(); } - - + + Thread.Sleep(100); if (!CmnElecMeterBaseInfo.EBC07.F_NetConnected) {