초기 커밋.
This commit is contained in:
278
LFP_Manager/fmMain.cs
Normal file
278
LFP_Manager/fmMain.cs
Normal file
@@ -0,0 +1,278 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.Net;
|
||||
using SnmpSharpNet;
|
||||
|
||||
using System.Threading;
|
||||
|
||||
using LFP_Manager.DataStructure;
|
||||
using LFP_Manager.Threads;
|
||||
using LFP_Manager.Utils;
|
||||
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace LFP_Manager
|
||||
{
|
||||
public partial class fmMain : Form
|
||||
{
|
||||
DeviceSystemData[] SystemData;
|
||||
csSnmpThread snmpThread;
|
||||
|
||||
public fmMain()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
StructDataInit();
|
||||
|
||||
cbType.SelectedIndex = 0;
|
||||
|
||||
ucShelfA.Start(0, SystemData[0]);
|
||||
ucShelfB.Start(1, SystemData[1]);
|
||||
ucShelfC.Start(2, SystemData[2]);
|
||||
|
||||
tabSystemStatus.TabPages[1].PageVisible = false;
|
||||
tabSystemStatus.TabPages[2].PageVisible = false;
|
||||
|
||||
pgSystem1.Text = "SYSTEM";
|
||||
|
||||
tmrDisplay.Start();
|
||||
}
|
||||
|
||||
private void StructDataInit()
|
||||
{
|
||||
SystemData = new DeviceSystemData[csConstData.SystemInfo.MAX_SYSTEM_SIZE];
|
||||
|
||||
for (int i = 0; i < csConstData.SystemInfo.MAX_SYSTEM_SIZE; i++)
|
||||
{
|
||||
SystemData[i] = new DeviceSystemData();
|
||||
SystemData[i].ValueData = new DeviceValueData();
|
||||
SystemData[i].ValueData.CellVoltage = new short[csConstData.SystemInfo.MAX_MODULE_CELL_SIZE];
|
||||
SystemData[i].ValueData.CellTemperature = new short[csConstData.SystemInfo.MAX_MODULE_TEMP_SIZE];
|
||||
|
||||
SystemData[i].AvgData = new DeviceAvgData();
|
||||
SystemData[i].StatusData = new DeviceStatusData();
|
||||
|
||||
SystemData[i].CalibriationData = new DeviceCalibration();
|
||||
SystemData[i].CalibriationData.CellVoltge = new CellVoltageCalib();
|
||||
SystemData[i].CalibriationData.SystemVoltage = new SystemVoltageCalib();
|
||||
SystemData[i].CalibriationData.ForcedBalancing = new ForcedBalControl();
|
||||
SystemData[i].CalibriationData.Battery = new BatteryParameter();
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateData(object sender, DeviceSystemData[] rData)
|
||||
{
|
||||
SystemData = rData;
|
||||
ucShelfA.UpdateData(SystemData[0]);
|
||||
ucShelfB.UpdateData(SystemData[1]);
|
||||
ucShelfC.UpdateData(SystemData[2]);
|
||||
}
|
||||
|
||||
#region EVENT FUNCTION
|
||||
|
||||
private void tmrDisplay_Tick(object sender, EventArgs e)
|
||||
{
|
||||
if (snmpThread != null)
|
||||
{
|
||||
string data = snmpThread.GetResult();
|
||||
|
||||
if (data != "")
|
||||
{
|
||||
meDataLog.Text = data + "\r\n" + meDataLog.Text;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void fmMain_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
tmrDisplay.Stop();
|
||||
if (snmpThread != null)
|
||||
snmpThread.disposeThread();
|
||||
}
|
||||
|
||||
private void btnStart_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (snmpThread.GetStatus())
|
||||
{
|
||||
snmpThread.Start(teTargetIP.Text);
|
||||
teTargetIP.Enabled = false;
|
||||
btnStart.Text = "Stop";
|
||||
}
|
||||
else
|
||||
{
|
||||
snmpThread.Stop();
|
||||
teTargetIP.Enabled = true;
|
||||
btnStart.Text = "Start";
|
||||
}
|
||||
}
|
||||
|
||||
private void btnStart_ClickA(object sender, EventArgs e)
|
||||
{
|
||||
//if (snmpThread == null)
|
||||
//{
|
||||
// snmpThread = new csSnmpThread(Config, SystemData);
|
||||
// snmpThread.OnUpdate += UpdateData;
|
||||
|
||||
// snmpThread.Start(teTargetIP.Text);
|
||||
|
||||
// teTargetIP.Enabled = false;
|
||||
// cbType.Enabled = false;
|
||||
// btnStart.Text = "Stop";
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// snmpThread.Stop();
|
||||
// snmpThread.disposeThread();
|
||||
// snmpThread = null;
|
||||
|
||||
// teTargetIP.Enabled = true;
|
||||
// cbType.Enabled = true;
|
||||
// btnStart.Text = "Start";
|
||||
//}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region SUB EVENT
|
||||
|
||||
private void cbType_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
switch (cbType.SelectedIndex)
|
||||
{
|
||||
case 0: // KT LFPS-48100
|
||||
case 1: // KT LFPR-48300
|
||||
case 4: // ESS LFPS-48150
|
||||
tabSystemStatus.TabPages[0].PageVisible = true;
|
||||
tabSystemStatus.TabPages[1].PageVisible = false;
|
||||
tabSystemStatus.TabPages[2].PageVisible = false;
|
||||
|
||||
pgSystem1.Text = "SYSTEM";
|
||||
break;
|
||||
case 2: // KT LFPR-48600
|
||||
tabSystemStatus.TabPages[0].PageVisible = true;
|
||||
tabSystemStatus.TabPages[1].PageVisible = true;
|
||||
tabSystemStatus.TabPages[2].PageVisible = false;
|
||||
|
||||
pgSystem1.Text = "SYSTEM #A";
|
||||
pgSystem2.Text = "SYSTEM #B";
|
||||
break;
|
||||
case 3: // KT LFPR-48900
|
||||
tabSystemStatus.TabPages[0].PageVisible = true;
|
||||
tabSystemStatus.TabPages[1].PageVisible = true;
|
||||
tabSystemStatus.TabPages[2].PageVisible = true;
|
||||
|
||||
pgSystem1.Text = "SYSTEM #A";
|
||||
pgSystem2.Text = "SYSTEM #B";
|
||||
pgSystem3.Text = "SYSTEM #C";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private void btnOpenLogFolder_Click(object sender, EventArgs e)
|
||||
{
|
||||
System.Diagnostics.Process ps = new System.Diagnostics.Process();
|
||||
ps.StartInfo.FileName = "explorer.exe";
|
||||
ps.StartInfo.Arguments = csLog.GetLogFolder(Application.ExecutablePath);
|
||||
ps.StartInfo.WorkingDirectory = csLog.GetLogFolder(Application.ExecutablePath);
|
||||
ps.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;
|
||||
|
||||
ps.Start();
|
||||
}
|
||||
|
||||
#region LOG TIMER TICK EVENT
|
||||
|
||||
DateTime bakDateTime;
|
||||
|
||||
private void tmrLogging_Tick(object sender, EventArgs e)
|
||||
{
|
||||
DateTime cDate = DateTime.Now;
|
||||
int ss;
|
||||
|
||||
if (cbType.Enabled == false)
|
||||
{
|
||||
if (SystemData[0].CommFail == false)
|
||||
{
|
||||
ss = Convert.ToInt16(cbLogTime.Text);
|
||||
|
||||
if (
|
||||
((bakDateTime.Minute != cDate.Minute)
|
||||
|| (bakDateTime.Second != cDate.Second))
|
||||
&& ((cDate.Second % ss) == 0)
|
||||
)
|
||||
{
|
||||
for (int i = 0; i < csConstData.SystemInfo.MAX_SYSTEM_SIZE; i++)
|
||||
{
|
||||
try
|
||||
{
|
||||
//csLog.SystemDataLog(i + 1, Config, SystemData[i], cDate, Application.ExecutablePath);
|
||||
bakDateTime = cDate;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
string snmpResult = "[" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "] " + String.Format("Exception : {0}", ex.Message);
|
||||
|
||||
meDataLog.Text = snmpResult + "\r\n" + meDataLog.Text;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
bool logging = false;
|
||||
|
||||
private void btnLogStart_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (logging == true)
|
||||
{
|
||||
tmrLogging.Stop();
|
||||
cbLogTime.Enabled = true;
|
||||
logging = false;
|
||||
btnLogStart.Text = "Log Start";
|
||||
}
|
||||
else
|
||||
{
|
||||
tmrLogging.Start();
|
||||
cbLogTime.Enabled = false;
|
||||
logging = true;
|
||||
btnLogStart.Text = "Log Stop";
|
||||
}
|
||||
}
|
||||
|
||||
private void btnLogClear_Click(object sender, EventArgs e)
|
||||
{
|
||||
meDataLog.Text = "";
|
||||
}
|
||||
|
||||
private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void serialPort1_ErrorReceived(object sender, System.IO.Ports.SerialErrorReceivedEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void serialPort1_PinChanged(object sender, System.IO.Ports.SerialPinChangedEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void gcTargetConfig_Paint(object sender, PaintEventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user