功率损耗报告错误修复

This commit is contained in:
zhaotielin 2026-07-08 04:40:30 +08:00
parent b6a6febec4
commit ab3f6bbdb7
4 changed files with 31 additions and 9 deletions

View File

@ -375,13 +375,14 @@ public sealed class ReportGenerator
})));
private static void PowerTable(IContainer container, Project p) =>
DataTable(container, new[] { 0.62f, 0.9f, 0.9f, 0.9f, 0.9f, 0.9f, 0.9f, 0.76f },
new[] { "通道", "输入电压\nV", "输入电流\nA", "输出电压\nV", "输出电流\nA", "功率损耗\nW", "效率\n%", "状态" },
DataTable(container, new[] { 0.58f, 0.78f, 0.78f, 0.86f, 0.78f, 0.78f, 0.86f, 0.78f, 0.86f, 0.72f, 0.68f },
new[] { "通道", "输入电压\nV", "输入电流\nA", "输入功率\nW", "输出电压\nV", "输出电流\nA", "输出功率\nW", "电压降\nV", "功率损耗\nW", "效率\n%", "状态" },
p.PowerResults.Select(r => new ReportRow(r.Status, new[]
{
$"CH{r.Channel:00}", Format(r.Vin, "F3"), Format(r.Iin, "F3"),
Format(r.Vout, "F3"), Format(r.Iout, "F3"),
Format(r.PowerLossW, "F3"), Format(r.EfficiencyPct, "F3"), StatusText(r.Status)
Format(r.PowerIn, "F3"), Format(r.Vout, "F3"), Format(r.Iout, "F3"),
Format(r.PowerOut, "F3"), Format(r.VoltageDrop, "F3"), Format(r.PowerLossW, "F3"),
Format(r.EfficiencyPct, "F1"), StatusText(r.Status)
})));
private static void ProtectTable(IContainer container, Project p) =>

View File

@ -234,18 +234,22 @@ internal sealed class LegacyReportGenerator
cd.ConstantColumn(50);
cd.RelativeColumn(); cd.RelativeColumn(); cd.RelativeColumn();
cd.RelativeColumn(); cd.RelativeColumn(); cd.RelativeColumn();
cd.RelativeColumn(); cd.RelativeColumn(); cd.RelativeColumn();
cd.ConstantColumn(60);
});
HeaderRow(t, "通道", "Vin(V)", "Iin(A)", "Vout(V)", "Iout(A)", "损耗(W)", "效率(%)", "状态");
HeaderRow(t, "通道", "Vin(V)", "Iin(A)", "Pin(W)", "Vout(V)", "Iout(A)", "Pout(W)", "压降(V)", "损耗(W)", "效率(%)", "状态");
foreach (var r in p.PowerResults)
{
t.Cell().Padding(3).Text($"CH{r.Channel}");
t.Cell().Padding(3).Text(r.Vin.ToString("F3"));
t.Cell().Padding(3).Text(r.Iin.ToString("F3"));
t.Cell().Padding(3).Text(r.PowerIn.ToString("F3"));
t.Cell().Padding(3).Text(r.Vout.ToString("F3"));
t.Cell().Padding(3).Text(r.Iout.ToString("F3"));
t.Cell().Padding(3).Text(r.PowerOut.ToString("F3"));
t.Cell().Padding(3).Text(r.VoltageDrop.ToString("F3"));
t.Cell().Padding(3).Text(r.PowerLossW.ToString("F3"));
t.Cell().Padding(3).Text(r.EfficiencyPct.ToString("F3"));
t.Cell().Padding(3).Text(r.EfficiencyPct.ToString("F1"));
t.Cell().Padding(3).Text(StatusText(r.Status)).FontColor(StatusColor(r.Status));
}
});

View File

@ -158,12 +158,13 @@ public sealed class WordReportGenerator
Section(body, section++, "功率损耗", "POWER LOSS");
if (p.PowerResults.Count > 0)
body.Append(ResultTable(
new[] { "通道", "输入电压 V", "输入电流 A", "输出电压 V", "输出电流 A", "功率损耗 W", "效率 %", "状态" },
new[] { "通道", "输入电压 V", "输入电流 A", "输入功率 W", "输出电压 V", "输出电流 A", "输出功率 W", "电压降 V", "功率损耗 W", "效率 %", "状态" },
p.PowerResults.Select(r => new[]
{
$"CH{r.Channel:00}", Format(r.Vin, "F3"), Format(r.Iin, "F3"),
Format(r.Vout, "F3"), Format(r.Iout, "F3"),
Format(r.PowerLossW, "F3"), Format(r.EfficiencyPct, "F3"), StatusText(r.Status)
Format(r.PowerIn, "F3"), Format(r.Vout, "F3"), Format(r.Iout, "F3"),
Format(r.PowerOut, "F3"), Format(r.VoltageDrop, "F3"), Format(r.PowerLossW, "F3"),
Format(r.EfficiencyPct, "F1"), StatusText(r.Status)
})));
ManualNote(body, p.TestFunction?.Power);
}

View File

@ -202,6 +202,14 @@
<Style TargetType="TextBlock" BasedOn="{StaticResource MonoText}" />
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Header="电源功率(W)" Width="*">
<DataGridTextColumn.Binding>
<Binding Path="PowerIn" Converter="{StaticResource NumberOrDash}" ConverterParameter="F3" />
</DataGridTextColumn.Binding>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock" BasedOn="{StaticResource MonoText}" />
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Header="负载电压(V)" Width="*">
<DataGridTextColumn.Binding>
<Binding Path="Vout" Converter="{StaticResource NumberOrDash}" ConverterParameter="F3" />
@ -218,6 +226,14 @@
<Style TargetType="TextBlock" BasedOn="{StaticResource MonoText}" />
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Header="负载功率(W)" Width="*">
<DataGridTextColumn.Binding>
<Binding Path="PowerOut" Converter="{StaticResource NumberOrDash}" ConverterParameter="F3" />
</DataGridTextColumn.Binding>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock" BasedOn="{StaticResource MonoText}" />
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Header="电压降(V)" Width="*">
<DataGridTextColumn.Binding>
<Binding Path="VoltageDrop" Converter="{StaticResource NumberOrDash}" ConverterParameter="F3" />