diff --git a/Common/Common.sln b/Common/Common.sln index 603e1ac0..03e76c5a 100644 --- a/Common/Common.sln +++ b/Common/Common.sln @@ -147,6 +147,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RawDataViewer", "Ui\RawData EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TempFlansh", "TempFlansh\TempFlansh.csproj", "{62E5BA37-36AB-4F0A-BC12-554E7A1F1A39}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DynamicStremingLogAnalyzer", "Ui\DynamicStremingLogAnalyzer\DynamicStremingLogAnalyzer.csproj", "{652ECA13-A411-4789-8814-6823965947CB}" +EndProject Global GlobalSection(SharedMSBuildProjectFiles) = preSolution Utils\DateTimeServerShared\DateTimeServerShared.projitems*{4806d89a-fbfb-41bc-aaa7-2242444bf55a}*SharedItemsImports = 4 @@ -3317,6 +3319,70 @@ Global {62E5BA37-36AB-4F0A-BC12-554E7A1F1A39}.XP32bit|x64.Build.0 = Release|x64 {62E5BA37-36AB-4F0A-BC12-554E7A1F1A39}.XP32bit|x86.ActiveCfg = Release|Any CPU {62E5BA37-36AB-4F0A-BC12-554E7A1F1A39}.XP32bit|x86.Build.0 = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}._MANUAL_CONTROL|Any CPU.ActiveCfg = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}._MANUAL_CONTROL|Any CPU.Build.0 = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}._MANUAL_CONTROL|Mixed Platforms.ActiveCfg = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}._MANUAL_CONTROL|Mixed Platforms.Build.0 = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}._MANUAL_CONTROL|x64.ActiveCfg = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}._MANUAL_CONTROL|x64.Build.0 = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}._MANUAL_CONTROL|x86.ActiveCfg = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}._MANUAL_CONTROL|x86.Build.0 = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.COM|Any CPU.ActiveCfg = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.COM|Any CPU.Build.0 = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.COM|Mixed Platforms.ActiveCfg = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.COM|Mixed Platforms.Build.0 = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.COM|x64.ActiveCfg = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.COM|x64.Build.0 = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.COM|x86.ActiveCfg = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.COM|x86.Build.0 = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.Debug|x64.ActiveCfg = Debug|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.Debug|x64.Build.0 = Debug|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.Debug|x86.ActiveCfg = Debug|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.Debug|x86.Build.0 = Debug|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.GenesisDisplayTool_V01|Any CPU.ActiveCfg = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.GenesisDisplayTool_V01|Any CPU.Build.0 = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.GenesisDisplayTool_V01|Mixed Platforms.ActiveCfg = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.GenesisDisplayTool_V01|Mixed Platforms.Build.0 = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.GenesisDisplayTool_V01|x64.ActiveCfg = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.GenesisDisplayTool_V01|x64.Build.0 = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.GenesisDisplayTool_V01|x86.ActiveCfg = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.GenesisDisplayTool_V01|x86.Build.0 = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.PerformTest|Any CPU.ActiveCfg = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.PerformTest|Any CPU.Build.0 = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.PerformTest|Mixed Platforms.ActiveCfg = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.PerformTest|Mixed Platforms.Build.0 = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.PerformTest|x64.ActiveCfg = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.PerformTest|x64.Build.0 = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.PerformTest|x86.ActiveCfg = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.PerformTest|x86.Build.0 = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.Release|Any CPU.Build.0 = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.Release|x64.ActiveCfg = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.Release|x64.Build.0 = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.Release|x86.ActiveCfg = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.Release|x86.Build.0 = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.ReleaseTest|Any CPU.ActiveCfg = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.ReleaseTest|Any CPU.Build.0 = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.ReleaseTest|Mixed Platforms.ActiveCfg = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.ReleaseTest|Mixed Platforms.Build.0 = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.ReleaseTest|x64.ActiveCfg = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.ReleaseTest|x64.Build.0 = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.ReleaseTest|x86.ActiveCfg = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.ReleaseTest|x86.Build.0 = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.XP32bit|Any CPU.ActiveCfg = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.XP32bit|Any CPU.Build.0 = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.XP32bit|Mixed Platforms.ActiveCfg = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.XP32bit|Mixed Platforms.Build.0 = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.XP32bit|x64.ActiveCfg = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.XP32bit|x64.Build.0 = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.XP32bit|x86.ActiveCfg = Release|Any CPU + {652ECA13-A411-4789-8814-6823965947CB}.XP32bit|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -3381,6 +3447,7 @@ Global {CBF74D42-327E-4476-A096-63E7EBD9B7A3} = {57AA2731-BFD9-40A5-820F-E943FBC75D91} {108FE49B-75E1-43F5-82DD-DA33FE99CBEC} = {03D4F23E-7E4A-4091-BC96-036C996D351A} {62E5BA37-36AB-4F0A-BC12-554E7A1F1A39} = {03D4F23E-7E4A-4091-BC96-036C996D351A} + {652ECA13-A411-4789-8814-6823965947CB} = {03D4F23E-7E4A-4091-BC96-036C996D351A} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {4BCB7B69-696C-436A-86F7-C91EA5588164} diff --git a/Common/CordonelAssemblyLine/Model/PickingModel.cs b/Common/CordonelAssemblyLine/Model/PickingModel.cs index d94f37a7..154d5d89 100644 --- a/Common/CordonelAssemblyLine/Model/PickingModel.cs +++ b/Common/CordonelAssemblyLine/Model/PickingModel.cs @@ -581,6 +581,10 @@ namespace CordonelAssemblyLine.Model var nowSeconds = meter.ReadRegister("POWERMON_TotalUsedSeconds"); var nowCharge = meter.ReadRegister("POWERMON_TotalUsedCharge", 8); var mfgCharge = meter.ReadRegister("CUSTOMER_MfgCharge"); + var BatteryMilliAHrRating = meter.ReadRegister("POWERMON_BatteryMilliAHrRating"); + + + if (nowCharge == null || nowSeconds == null) { meter.WriteLog("Batterie nicht lesbar"); @@ -590,17 +594,67 @@ namespace CordonelAssemblyLine.Model } else { - var nowChargeV = BitConverter.ToUInt64(nowCharge.ToArray(), 0); - var nowSecondsV = BitConverter.ToUInt32(nowSeconds.ToArray(), 0); - var mfgChargeV = BitConverter.ToUInt32(mfgCharge.ToArray(), 0); + //var nowChargeV = BitConverter.ToUInt64(nowCharge.ToArray(), 0); + //var nowSecondsV = BitConverter.ToUInt32(nowSeconds.ToArray(), 0); + //var mfgChargeV = BitConverter.ToUInt32(mfgCharge.ToArray(), 0); + //var BatteryMilliAHrRatingV = BitConverter.ToUInt32(BatteryMilliAHrRating.ToArray(), 0); + + ////// Time Span in h in mAhr In % with one battery is 100% + //////(((total used change difference / (Time span / 3600) ) / 3600000) / 19000)*100 + //// ReSharper disable once UnusedVariable + //var loadAtH = nowChargeV / ((Double)nowSecondsV / 3600) / 3600000 / (19000 * 2) * 100; + //var totalUsed = (Double)nowChargeV / 1000000 / 3.6 / (19000 * 2) * 100; + //SetState($"Battery Total Used {totalUsed}%"); + //SetState($"Battery Total Charge {nowChargeV}uAs"); + //SetState($"Battery MFG Charge {mfgChargeV}uAs"); + + + // (nowSecondsV / nowChargeV) * (2*BatteryMilliAHrRatingV * 1000 * 3600) + + //(POWERMON_TotalUsedSeconds / POWERMON_TotalUsedCharge) * (POWERMON_BatteryQuantity * POWERMON_BatteryMilliAHrRating * 1000 * 3600) = lifetime in seconds + //Lifetime in seconds - POWERMON_TotalUsedSeconds = remaining lifetime. + + + + var POWERMON_TotalUsedSeconds = (double)(RegisterConverter.ConvertTo(meter.ReadRegister("POWERMON_TotalUsedSeconds"))); + + var tmp_POWERMON_TotalUsedCharge = meter.ReadRegister("POWERMON_TotalUsedCharge", 8); + + var POWERMON_TotalUsedCharge = BitConverter.ToUInt64(tmp_POWERMON_TotalUsedCharge.ToArray(), 0); + + var POWERMON_BatteryQuantity = (double)RegisterConverter.ConvertTo(meter.ReadRegister("POWERMON_BatteryQuantity")); + var POWERMON_BatteryMilliAHrRating = (double)RegisterConverter.ConvertTo(meter.ReadRegister("POWERMON_BatteryMilliAHrRating")); + + + var lifetimeInSeconds = (POWERMON_TotalUsedSeconds / (double)(POWERMON_TotalUsedCharge)) * (POWERMON_BatteryQuantity * POWERMON_BatteryMilliAHrRating * 1000 * 3600); + var remainingLifetime = lifetimeInSeconds - POWERMON_TotalUsedSeconds; + + + var sbMSG = new StringBuilder(); + sbMSG.AppendLine($"Pcb = {meter.PcbId}"); + + sbMSG.AppendLine($"POWERMON_TotalUsedSeconds = {POWERMON_TotalUsedSeconds}"); + sbMSG.AppendLine($"POWERMON_TotalUsedCharge = {POWERMON_TotalUsedCharge}"); + sbMSG.AppendLine($"POWERMON_BatteryQuantity = {POWERMON_BatteryQuantity}"); + sbMSG.AppendLine($"POWERMON_BatteryMilliAHrRating = {POWERMON_BatteryMilliAHrRating}"); + sbMSG.AppendLine(""); + sbMSG.AppendLine($"lifetimeInSeconds = (POWERMON_TotalUsedSeconds / POWERMON_TotalUsedCharge) * (POWERMON_BatteryQuantity * POWERMON_BatteryMilliAHrRating * 1000 * 3600)"); + sbMSG.AppendLine($"{lifetimeInSeconds} = ({POWERMON_TotalUsedSeconds} / {POWERMON_TotalUsedCharge}) * ({POWERMON_BatteryQuantity} * {POWERMON_BatteryMilliAHrRating} * 1000 * 3600)"); + sbMSG.AppendLine(""); + sbMSG.AppendLine("remainingLifetime = lifetimeInSeconds - POWERMON_TotalUsedSeconds"); + sbMSG.AppendLine($"{remainingLifetime} = {lifetimeInSeconds} - {POWERMON_TotalUsedSeconds}"); + sbMSG.AppendLine(""); + sbMSG.AppendLine($"in Years {(remainingLifetime / 86400 / 365)}"); + + + + //// Time Span in h in mAhr In % with one battery is 100% ////(((total used change difference / (Time span / 3600) ) / 3600000) / 19000)*100 - // ReSharper disable once UnusedVariable - var loadAtH = nowChargeV / ((Double)nowSecondsV / 3600) / 3600000 / (19000 * 2) * 100; - var totalUsed = (Double)nowChargeV / 1000000 / 3.6 / (19000 * 2) * 100; - SetState($"Battery Total Used {totalUsed}%"); - SetState($"Battery Total Charge {nowChargeV}uAs"); - SetState($"Battery MFG Charge {mfgChargeV}uAs"); + var loadAtH = ((((double)POWERMON_TotalUsedCharge / ((double)POWERMON_TotalUsedSeconds / 3600)) / 3600000) / (19000 * 2)) * 100; + var totalUsed = (((double)POWERMON_TotalUsedCharge / 1000000 / 3.6) / ((19000 * 2))) * 100; + + sbMSG.AppendLine($"in % {totalUsed}"); if (totalUsed >= 7.5) { @@ -608,6 +662,11 @@ namespace CordonelAssemblyLine.Model lblS08Color = _progressError; ret = false; } + meter.WriteLog(sbMSG.ToString()); + + + + } diff --git a/Common/Hardware/WaterMeter/Genesis/GenesisCore/GenesisCore.csproj b/Common/Hardware/WaterMeter/Genesis/GenesisCore/GenesisCore.csproj index 0d21d560..008a4078 100644 --- a/Common/Hardware/WaterMeter/Genesis/GenesisCore/GenesisCore.csproj +++ b/Common/Hardware/WaterMeter/Genesis/GenesisCore/GenesisCore.csproj @@ -365,7 +365,7 @@ - +