초기 커밋.

This commit is contained in:
2026-02-11 10:10:43 +09:00
parent a1407fe1c0
commit 0956e4d38a
142 changed files with 72021 additions and 0 deletions

View File

@@ -0,0 +1,351 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Linq;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using LFP_Manager.DataStructure;
using LFP_Manager.Function;
using LFP_Manager.Controls;
namespace LFP_Manager.Forms
{
public delegate void ParamUpdateEvent(object sendor);
public delegate void ParamCmdEvent(int sId, int mode, int flag, ref DeviceParamData aParam, ref DeviceCalibration aCalib);
public partial class fmxParamConfig : DevExpress.XtraEditors.XtraForm
{
#region VARIABLES
int SystemId = 0;
DeviceParamData Param;
DeviceCalibration Calib;
public event ParamUpdateEvent OnUpdate = null;
public event ParamCmdEvent OnCommand = null;
#endregion
#region CONSTRUCTORS
public fmxParamConfig()
{
InitializeComponent();
}
public fmxParamConfig(int sId, DeviceParamData aParam)
{
InitializeComponent();
SystemId = sId;
Param = aParam;
InitComponent();
tmrDisplay.Enabled = true;
}
public void InitComponent()
{
// Cell Voltage Parameter
ucCOVParam.SetParamName(0, "Cell Over Voltage");
ucCOVParam.SetParamName(1, "mV");
ucCOVParam.SetId(0);
ucCOVParam.OnCommand += OnCmdEvent;
ucCUVParam.SetParamName(0, "Cell Under Voltage");
ucCUVParam.SetParamName(1, "mV");
ucCUVParam.SetId(1);
ucCUVParam.OnCommand += OnCmdEvent;
//ucCUVParam.EnableItem(0, false);
// System Voltage Parameter
ucSOVParam.SetParamName(0, "System Over Voltage");
ucSOVParam.SetParamName(1, "V");
ucSOVParam.SetId(2);
ucSOVParam.OnCommand += OnCmdEvent;
ucSUVParam.SetParamName(0, "System Under Voltage");
ucSUVParam.SetParamName(1, "V");
ucSUVParam.SetId(3);
ucSUVParam.OnCommand += OnCmdEvent;
//ucSUVParam.EnableItem(0, false);
// Charge Temperature Parameter
ucCHTParam.SetParamName(0, "Charge High Temp");
ucCHTParam.SetParamName(1, "C");
ucCHTParam.SetId(4);
ucCHTParam.OnCommand += OnCmdEvent;
ucCLTParam.SetParamName(0, "Charge Low Temp");
ucCLTParam.SetParamName(1, "C");
ucCLTParam.SetId(5);
ucCLTParam.OnCommand += OnCmdEvent;
// Discharge Temperature Parameter
ucDHTParam.SetParamName(0, "Discharge High Temp");
ucDHTParam.SetParamName(1, "C");
ucDHTParam.SetId(6);
ucDHTParam.OnCommand += OnCmdEvent;
//ucDHTParam.EnableItem(0, false);
ucDLTParam.SetParamName(0, "Discharge Low Temp");
ucDLTParam.SetParamName(1, "C");
ucDLTParam.SetId(7);
ucDLTParam.OnCommand += OnCmdEvent;
//ucDLTParam.EnableItem(0, false);
// Discharge Temperature Parameter
ucCOCParam.SetParamName(0, "Charge Over Current");
ucCOCParam.SetParamName(1, "A");
ucCOCParam.SetId(8);
ucCOCParam.OnCommand += OnCmdEvent;
ucDOCParam.SetParamName(0, "Discharge Over Current");
ucDOCParam.SetParamName(1, "A");
ucDOCParam.SetId(9);
ucDOCParam.OnCommand += OnCmdEvent;
//ucDOCParam.EnableItem(0, false);
// SOC Parameter
ucLowSocParam.SetParamName(0, "Low SOC");
ucLowSocParam.SetParamName(1, "%");
ucLowSocParam.SetId(10);
ucLowSocParam.OnCommand += OnCmdEvent;
ucLowSocParam.EnableItem(0, false);
// SOC Parameter
ucCvDiffParam.SetParamName(0, "Cell Voltage Diff");
ucCvDiffParam.SetParamName(1, "mV");
ucCvDiffParam.SetId(11);
ucCvDiffParam.OnCommand += OnCmdEvent;
//ucCvDiffParam.EnableItem(0, false);
}
#endregion
#region COMMAND EVENT
private void OnCmdEvent(int mode, int flag, ParamData aParam)
{
int cmd = 0;
DeviceParamData wParam = Param;
switch (mode)
{
case 0: // Cell Over Voltage
cmd = 5;
wParam.CellOverVoltageTrip = aParam.Fault;
wParam.CellOverVoltageWarning = aParam.Warning;
wParam.CellOverVoltageRelease = aParam.Release;
break;
case 1: // Cell Under Voltage
cmd = 5;
wParam.CellUnderVoltageTrip = aParam.Fault;
wParam.CellUnderVoltageWarning = aParam.Warning;
wParam.CellUnderVoltageRelease = aParam.Release;
break;
case 2: // System Over Voltage
cmd = 7;
wParam.SysOverVoltageTrip = aParam.Fault;
wParam.SysOverVoltageWarning = aParam.Warning;
wParam.SysOverVoltageRelease = aParam.Release;
break;
case 3: // System Under Voltage
cmd = 7;
wParam.SysUnderVoltageTrip = aParam.Fault;
wParam.SysUnderVoltageWarning = aParam.Warning;
wParam.SysUnderVoltageRelease = aParam.Release;
break;
case 4: // Charge High Temperature
cmd = 6;
wParam.ChaHighTempTrip = aParam.Fault;
wParam.ChaHighTempWarning = aParam.Warning;
wParam.ChaHighTempRelease = aParam.Release;
break;
case 5: // Charge Low Temperature
cmd = 6;
wParam.ChaLowTempTrip = aParam.Fault;
wParam.ChaLowTempWarning = aParam.Warning;
wParam.ChaLowTempRelease = aParam.Release;
break;
case 6: // Discharge High Temperature
cmd = 6;
wParam.DchHighTempTrip = aParam.Fault;
wParam.DchHighTempWarning = aParam.Warning;
wParam.DchHighTempRelease = aParam.Release;
break;
case 7: // Discharge Low Temperature
cmd = 6;
wParam.DchLowTempTrip = aParam.Fault;
wParam.DchLowTempWarning = aParam.Warning;
wParam.DchLowTempRelease = aParam.Release;
break;
case 8: // Charge Over Current
cmd = 22;
wParam.ChaOverCurrentTrip = aParam.Fault;
wParam.ChaOverCurrentWarning = aParam.Warning;
wParam.ChaOverCurrentRelease = aParam.Release;
break;
case 9: // Discharge Over Current
cmd = 22;
wParam.DchOverCurrentTrip = aParam.Fault;
wParam.DchOverCurrentWarning = aParam.Warning;
wParam.DchOverCurrentRelease = aParam.Release;
break;
case 10: // Low SOC
cmd = 14;
wParam.LowSocWarning = aParam.Warning;
wParam.LowSocRelease = aParam.Release;
break;
case 11: // Cell Voltage Difference
cmd = 2;
wParam.CellVoltageDifferenceTrip = aParam.Fault;
wParam.CellVoltageDifferenceWarning = aParam.Warning;
wParam.CellVoltageDifferenceRelease = aParam.Release;
break;
case 16: // Default Parameter
cmd = 16;
wParam.DefalutParamOption = aParam.Fault;
wParam.DefalutParamAll = aParam.Release;
break;
case 99:
cmd = 99; // All parameter read
break;
}
OnCommand?.Invoke(SystemId, cmd, flag, ref wParam, ref Calib);
}
#endregion
private void btnCancel_Click(object sender, EventArgs e)
{
this.Close();
}
public void UpdateData(DeviceParamData aParam, DeviceCalibration aCalib)
{
Param = aParam;
Calib = aCalib;
}
private void tmrDisplay_Tick(object sender, EventArgs e)
{
DisplayValue();
OnUpdate?.Invoke(this);
}
private void DisplayValue()
{
ParamData pData = new ParamData();
// Cell Voltage Parameter
pData.Fault = Param.CellOverVoltageTrip;
pData.Warning = Param.CellOverVoltageWarning;
pData.Release = Param.CellOverVoltageRelease;
ucCOVParam.UpdateData(pData);
pData.Fault = Param.CellUnderVoltageTrip;
pData.Warning = Param.CellUnderVoltageWarning;
pData.Release = Param.CellUnderVoltageRelease;
ucCUVParam.UpdateData(pData);
// System Voltage Parameter
pData.Fault = Param.SysOverVoltageTrip;
pData.Warning = Param.SysOverVoltageWarning;
pData.Release = Param.SysOverVoltageRelease;
ucSOVParam.UpdateData(pData);
pData.Fault = Param.SysUnderVoltageTrip;
pData.Warning = Param.SysUnderVoltageWarning;
pData.Release = Param.SysUnderVoltageRelease;
ucSUVParam.UpdateData(pData);
// Charge Temp Parameter
pData.Fault = Param.ChaHighTempTrip;
pData.Warning = Param.ChaHighTempWarning;
pData.Release = Param.ChaHighTempRelease;
ucCHTParam.UpdateData(pData);
pData.Fault = Param.ChaLowTempTrip;
pData.Warning = Param.ChaLowTempWarning;
pData.Release = Param.ChaLowTempRelease;
ucCLTParam.UpdateData(pData);
// Discharge Temp Parameter
pData.Fault = Param.DchHighTempTrip;
pData.Warning = Param.DchHighTempWarning;
pData.Release = Param.DchHighTempRelease;
ucDHTParam.UpdateData(pData);
pData.Fault = Param.DchLowTempTrip;
pData.Warning = Param.DchLowTempWarning;
pData.Release = Param.DchLowTempRelease;
ucDLTParam.UpdateData(pData);
// Charge Over Current
pData.Fault = Param.ChaOverCurrentTrip;
pData.Warning = Param.ChaOverCurrentWarning;
pData.Release = Param.ChaOverCurrentRelease;
ucCOCParam.UpdateData(pData);
// Discharge Over Current
pData.Fault = Param.DchOverCurrentTrip;
pData.Warning = Param.DchOverCurrentWarning;
pData.Release = Param.DchOverCurrentRelease;
ucDOCParam.UpdateData(pData);
// Low SOC
pData.Fault = Param.LowSocTrip;
pData.Warning = Param.LowSocWarning;
pData.Release = Param.LowSocRelease;
ucLowSocParam.UpdateData(pData);
// Cell Votage Difference
pData.Fault = Param.CellVoltageDifferenceTrip;
pData.Warning = Param.CellVoltageDifferenceWarning;
pData.Release = Param.CellVoltageDifferenceRelease;
ucCvDiffParam.UpdateData(pData);
}
private void btnGetAll_Click(object sender, EventArgs e)
{
ParamData aa = new ParamData();
OnCmdEvent(99, 0, aa);
}
private void btnDefaultSet_Click(object sender, EventArgs e)
{
ParamData aa = new ParamData();
if (cbFactoryDefault.Checked)
aa.Fault = 1;
else
aa.Fault = 0;
if (chbAll.Checked)
aa.Release = 1;
else
aa.Release = 0;
OnCmdEvent(16, 1, aa);
}
}
}