Files
LFP_48V_LCD_SW/BMS_D1000/Form/fmNetConfig.cs
2026-08-11 16:20:44 +09:00

383 lines
18 KiB
C#

using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using BMS_D1000H.BMSConstData;
using BMS_D1000H.DataStructs;
using BMS_D1000H.Utils.Functions;
namespace BMS_D1000H
{
public partial class fmNetConfig : Form
{
SmartX.SmartLabel[] lbNetItem;
SmartX.SmartLabel[] lbClassA;
SmartX.SmartLabel[] lbClassB;
SmartX.SmartLabel[] lbClassC;
SmartX.SmartLabel[] lbClassD;
SmartX.SmartButton[] btnSet;
DeviceNetConfig disNetConfig;
public fmNetConfig()
{
InitializeComponent();
CreateComponent();
ResetControl();
tmrDisplay.Start();
}
#region CREATE COMPONENT
private void CreateComponent()
{
lbNetItem = new SmartX.SmartLabel[7];
for (int i = 0; i < 7; i++)
{
lbNetItem[i] = new SmartX.SmartLabel();
//lbNetItem[i].BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(192)))), ((int)(((byte)(255)))));
lbNetItem[i].BackPictureBox = null;
lbNetItem[i].BackPictureBox1 = null;
lbNetItem[i].BackPictureBox2 = null;
lbNetItem[i].BorderColor = System.Drawing.Color.Black;
lbNetItem[i].BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
lbNetItem[i].Font = new System.Drawing.Font("Arial Black", 11F, System.Drawing.FontStyle.Bold);
lbNetItem[i].InitVisible = true;
lbNetItem[i].LineSpacing = 0F;
lbNetItem[i].Location = new System.Drawing.Point(2, 91 + (i * 37));
lbNetItem[i].Name = String.Format("NetConfig{0}", i);
lbNetItem[i].Size = new System.Drawing.Size(249, 33);
lbNetItem[i].TabIndex = 70;
lbNetItem[i].Text = SetNetConfig.Name[i];
lbNetItem[i].TextHAlign = SmartX.SmartLabel.TextHorAlign.Left;
lbNetItem[i].TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
lbNetItem[i].Wordwrap = false;
}
lbClassA = new SmartX.SmartLabel[7];
for (int i = 0; i < 7; i++)
{
lbClassA[i] = new SmartX.SmartLabel();
//lbClassA[i].BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(192)))), ((int)(((byte)(255)))));
lbClassA[i].BackPictureBox = null;
lbClassA[i].BackPictureBox1 = null;
lbClassA[i].BackPictureBox2 = null;
lbClassA[i].BorderColor = System.Drawing.Color.Black;
lbClassA[i].BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
lbClassA[i].Font = new System.Drawing.Font("Arial Black", 11F, System.Drawing.FontStyle.Bold);
lbClassA[i].InitVisible = true;
lbClassA[i].LineSpacing = 0F;
lbClassA[i].Location = new System.Drawing.Point(254, 91 + (i * 37));
lbClassA[i].Name = String.Format("NetConfigClassA{0}", i);
lbClassA[i].Size = new System.Drawing.Size(100, 33);
lbClassA[i].TabIndex = 70;
lbClassA[i].Text = "0 ";
lbClassA[i].TextHAlign = SmartX.SmartLabel.TextHorAlign.Right;
lbClassA[i].TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
lbClassA[i].Wordwrap = false;
}
lbClassB = new SmartX.SmartLabel[7];
for (int i = 0; i < 7; i++)
{
lbClassB[i] = new SmartX.SmartLabel();
//lbClassB[i].BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(192)))), ((int)(((byte)(255)))));
lbClassB[i].BackPictureBox = null;
lbClassB[i].BackPictureBox1 = null;
lbClassB[i].BackPictureBox2 = null;
lbClassB[i].BorderColor = System.Drawing.Color.Black;
lbClassB[i].BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
lbClassB[i].Font = new System.Drawing.Font("Arial Black", 11F, System.Drawing.FontStyle.Bold);
lbClassB[i].InitVisible = true;
lbClassB[i].LineSpacing = 0F;
lbClassB[i].Location = new System.Drawing.Point(356, 91 + (i * 37));
lbClassB[i].Name = String.Format("NetConfigClassB{0}", i);
lbClassB[i].Size = new System.Drawing.Size(100, 33);
lbClassB[i].TabIndex = 70;
lbClassB[i].Text = "0 ";
lbClassB[i].TextHAlign = SmartX.SmartLabel.TextHorAlign.Right;
lbClassB[i].TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
lbClassB[i].Wordwrap = false;
}
lbClassC = new SmartX.SmartLabel[7];
for (int i = 0; i < 7; i++)
{
lbClassC[i] = new SmartX.SmartLabel();
//lbClassC[i].BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(192)))), ((int)(((byte)(255)))));
lbClassC[i].BackPictureBox = null;
lbClassC[i].BackPictureBox1 = null;
lbClassC[i].BackPictureBox2 = null;
lbClassC[i].BorderColor = System.Drawing.Color.Black;
lbClassC[i].BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
lbClassC[i].Font = new System.Drawing.Font("Arial Black", 11F, System.Drawing.FontStyle.Bold);
lbClassC[i].InitVisible = true;
lbClassC[i].LineSpacing = 0F;
lbClassC[i].Location = new System.Drawing.Point(458, 91 + (i * 37));
lbClassC[i].Name = String.Format("NetConfigClassC{0}", i);
lbClassC[i].Size = new System.Drawing.Size(100, 33);
lbClassC[i].TabIndex = 70;
lbClassC[i].Text = "0 ";
lbClassC[i].TextHAlign = SmartX.SmartLabel.TextHorAlign.Right;
lbClassC[i].TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
lbClassC[i].Wordwrap = false;
}
lbClassD = new SmartX.SmartLabel[7];
for (int i = 0; i < 7; i++)
{
lbClassD[i] = new SmartX.SmartLabel();
//lbClassD[i].BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(192)))), ((int)(((byte)(255)))));
lbClassD[i].BackPictureBox = null;
lbClassD[i].BackPictureBox1 = null;
lbClassD[i].BackPictureBox2 = null;
lbClassD[i].BorderColor = System.Drawing.Color.Black;
lbClassD[i].BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
lbClassD[i].Font = new System.Drawing.Font("Arial Black", 11F, System.Drawing.FontStyle.Bold);
lbClassD[i].InitVisible = true;
lbClassD[i].LineSpacing = 0F;
lbClassD[i].Location = new System.Drawing.Point(560, 91 + (i * 37));
lbClassD[i].Name = String.Format("NetConfigClassD{0}", i);
lbClassD[i].Size = new System.Drawing.Size(100, 33);
lbClassD[i].TabIndex = 70;
lbClassD[i].Text = "0 ";
lbClassD[i].TextHAlign = SmartX.SmartLabel.TextHorAlign.Right;
lbClassD[i].TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle;
lbClassD[i].Wordwrap = false;
}
btnSet = new SmartX.SmartButton[7];
for (int i = 0; i < 7; i++)
{
btnSet[i] = new SmartX.SmartButton();
btnSet[i].BackPictureBox = null;
btnSet[i].BackPictureBox1 = null;
btnSet[i].BackPictureBox2 = null;
btnSet[i].ButtonColor = System.Drawing.Color.Gray;
btnSet[i].ButtonImageAutoSize = true;
btnSet[i].ColorKeySamplePosition = new System.Drawing.Point(0, 0);
btnSet[i].DisableImage = null;
btnSet[i].DownImage = btnSetA.DownImage;
btnSet[i].Font = new System.Drawing.Font("Arial Black", 12F, System.Drawing.FontStyle.Bold);
btnSet[i].GroupID = 0;
btnSet[i].InitVisible = true;
btnSet[i].Location = new System.Drawing.Point(662, 91 + (i * 37));
btnSet[i].Mode = SmartX.SmartButton.BUTTONMODE.NORMAL;
btnSet[i].Name = "btnSet";
btnSet[i].NestedClickEventPrevent = false;
btnSet[i].RepeatInterval = 1000;
btnSet[i].SafeInterval = 200;
btnSet[i].Size = new System.Drawing.Size(135, 33);
btnSet[i].SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE;
btnSet[i].TabIndex = i;
btnSet[i].Text = "SET";
btnSet[i].TextColor = System.Drawing.Color.Black;
btnSet[i].TextDownColor = System.Drawing.Color.White;
btnSet[i].TextHAlign = SmartX.SmartButton.TextHorAlign.Middle;
btnSet[i].TextLocation = new System.Drawing.Point(0, 0);
btnSet[i].TextVAlign = SmartX.SmartButton.TextVerAlign.Middle;
btnSet[i].UpImage = btnSetA.UpImage;
btnSet[i].Click += new System.EventHandler(NetConfigSetCmd_Click);
}
}
#endregion
#region RESET CONTROL
private void ResetControl()
{
this.SuspendLayout();
this.Controls.Clear();
for (int i = 0; i < 7; i++)
{
this.Controls.Add(lbNetItem[i]);
this.Controls.Add(lbClassA[i]);
this.Controls.Add(lbClassB[i]);
this.Controls.Add(lbClassC[i]);
this.Controls.Add(lbClassD[i]);
this.Controls.Add(btnSet[i]);
}
this.Controls.Add(this.lbHdClassD);
this.Controls.Add(this.lbHdSetting);
this.Controls.Add(this.lbHdNetConfigName);
this.Controls.Add(this.lbHdClassC);
this.Controls.Add(this.lbHdClassB);
this.Controls.Add(this.lnHdClassA);
this.Controls.Add(this.btnReset);
this.Controls.Add(this.btnMenu);
this.Controls.Add(this.lbNetConfig);
this.Controls.Add(this.sfmNetConfig);
this.ResumeLayout(false);
disNetConfig.ip_addr = new ClassAddr();
disNetConfig.ip_addr.addr = new short[4];
disNetConfig.subnet_mask = new ClassAddr();
disNetConfig.subnet_mask.addr = new short[4];
disNetConfig.gateway_addr = new ClassAddr();
disNetConfig.gateway_addr.addr = new short[4];
disNetConfig.trap = new ClassAddr[4];
for (int i = 0; i < 4; i++)
{
disNetConfig.trap[i] = new ClassAddr();
disNetConfig.trap[i].addr = new short[4];
}
}
#endregion
private void fmNetConfig_Activated(object sender, EventArgs e)
{
DisplayNetConfig(true);
}
private void NetConfigSetCmd_Click(object sender, EventArgs e)
{
int i = ((SmartX.SmartButton)(sender)).TabIndex;
((fmBMSMain)(Owner)).ScreenSaverTimeReset();
((fmBMSMain)(Owner)).chfNetConfigCmd.SetID = i;
((fmBMSMain)(Owner)).ChangeScreen(0, 0, ScreenID.NET_CONFIG_CMD_SCREEN_ID);
}
private void btnMenu_Click(object sender, EventArgs e)
{
((fmBMSMain)(Owner)).ChangeScreen(0, 0, ScreenID.SET_MENU_SCREEN_ID);
}
#region DISPLAY NET CONFIG
private void DisplayNetConfig(bool p)
{
int i;
DeviceNetConfig aNetConfig;
aNetConfig = ((fmBMSMain)(Owner)).GetNetConfigData();
if (aNetConfig.ip_addr.addr == null) return;
// IP Address Display
i = 0;
if (p || (disNetConfig.ip_addr.addr[0] != aNetConfig.ip_addr.addr[0]) ||
(disNetConfig.ip_addr.addr[1] != aNetConfig.ip_addr.addr[1]) ||
(disNetConfig.ip_addr.addr[2] != aNetConfig.ip_addr.addr[2]) ||
(disNetConfig.ip_addr.addr[3] != aNetConfig.ip_addr.addr[3]))
{
lbClassA[i].Text = String.Format("{0} ", aNetConfig.ip_addr.addr[0]);
lbClassB[i].Text = String.Format("{0} ", aNetConfig.ip_addr.addr[1]);
lbClassC[i].Text = String.Format("{0} ", aNetConfig.ip_addr.addr[2]);
lbClassD[i].Text = String.Format("{0} ", aNetConfig.ip_addr.addr[3]);
disNetConfig.ip_addr.addr = aNetConfig.ip_addr.addr;
}
// Subnet Display
i = 1;
if (p || (disNetConfig.subnet_mask.addr[0] != aNetConfig.subnet_mask.addr[0]) ||
(disNetConfig.subnet_mask.addr[1] != aNetConfig.subnet_mask.addr[1]) ||
(disNetConfig.subnet_mask.addr[2] != aNetConfig.subnet_mask.addr[2]) ||
(disNetConfig.subnet_mask.addr[3] != aNetConfig.subnet_mask.addr[3]))
{
lbClassA[i].Text = String.Format("{0} ", aNetConfig.subnet_mask.addr[0]);
lbClassB[i].Text = String.Format("{0} ", aNetConfig.subnet_mask.addr[1]);
lbClassC[i].Text = String.Format("{0} ", aNetConfig.subnet_mask.addr[2]);
lbClassD[i].Text = String.Format("{0} ", aNetConfig.subnet_mask.addr[3]);
disNetConfig.subnet_mask.addr = aNetConfig.subnet_mask.addr;
}
// Gateway Display
i = 2;
if (p || (disNetConfig.gateway_addr.addr[0] != aNetConfig.gateway_addr.addr[0]) ||
(disNetConfig.gateway_addr.addr[1] != aNetConfig.gateway_addr.addr[1]) ||
(disNetConfig.gateway_addr.addr[2] != aNetConfig.gateway_addr.addr[2]) ||
(disNetConfig.gateway_addr.addr[3] != aNetConfig.gateway_addr.addr[3]))
{
lbClassA[i].Text = String.Format("{0} ", aNetConfig.gateway_addr.addr[0]);
lbClassB[i].Text = String.Format("{0} ", aNetConfig.gateway_addr.addr[1]);
lbClassC[i].Text = String.Format("{0} ", aNetConfig.gateway_addr.addr[2]);
lbClassD[i].Text = String.Format("{0} ", aNetConfig.gateway_addr.addr[3]);
disNetConfig.gateway_addr.addr = aNetConfig.gateway_addr.addr;
}
// Trap #1 Display
i = 3;
if (p || (disNetConfig.trap[0].addr[0] != aNetConfig.trap[0].addr[0]) ||
(disNetConfig.trap[0].addr[1] != aNetConfig.trap[0].addr[1]) ||
(disNetConfig.trap[0].addr[2] != aNetConfig.trap[0].addr[2]) ||
(disNetConfig.trap[0].addr[3] != aNetConfig.trap[0].addr[3]))
{
lbClassA[i].Text = String.Format("{0} ", aNetConfig.trap[0].addr[0]);
lbClassB[i].Text = String.Format("{0} ", aNetConfig.trap[0].addr[1]);
lbClassC[i].Text = String.Format("{0} ", aNetConfig.trap[0].addr[2]);
lbClassD[i].Text = String.Format("{0} ", aNetConfig.trap[0].addr[3]);
disNetConfig.trap[0].addr = aNetConfig.trap[0].addr;
}
// Trap #2 Display
i = 4;
if (p || (disNetConfig.trap[1].addr[0] != aNetConfig.trap[1].addr[0]) ||
(disNetConfig.trap[1].addr[1] != aNetConfig.trap[1].addr[1]) ||
(disNetConfig.trap[1].addr[2] != aNetConfig.trap[1].addr[2]) ||
(disNetConfig.trap[1].addr[3] != aNetConfig.trap[1].addr[3]))
{
lbClassA[i].Text = String.Format("{0} ", aNetConfig.trap[1].addr[0]);
lbClassB[i].Text = String.Format("{0} ", aNetConfig.trap[1].addr[1]);
lbClassC[i].Text = String.Format("{0} ", aNetConfig.trap[1].addr[2]);
lbClassD[i].Text = String.Format("{0} ", aNetConfig.trap[1].addr[3]);
disNetConfig.trap[1].addr = aNetConfig.trap[1].addr;
}
// Trap #3 Display
i = 5;
if (p || (disNetConfig.trap[2].addr[0] != aNetConfig.trap[2].addr[0]) ||
(disNetConfig.trap[2].addr[1] != aNetConfig.trap[2].addr[1]) ||
(disNetConfig.trap[2].addr[2] != aNetConfig.trap[2].addr[2]) ||
(disNetConfig.trap[2].addr[3] != aNetConfig.trap[2].addr[3]))
{
lbClassA[i].Text = String.Format("{0} ", aNetConfig.trap[2].addr[0]);
lbClassB[i].Text = String.Format("{0} ", aNetConfig.trap[2].addr[1]);
lbClassC[i].Text = String.Format("{0} ", aNetConfig.trap[2].addr[2]);
lbClassD[i].Text = String.Format("{0} ", aNetConfig.trap[2].addr[3]);
disNetConfig.trap[2].addr = aNetConfig.trap[2].addr;
}
// Trap #4 Display
i = 6;
if (p || (disNetConfig.trap[3].addr[0] != aNetConfig.trap[3].addr[0]) ||
(disNetConfig.trap[3].addr[1] != aNetConfig.trap[3].addr[1]) ||
(disNetConfig.trap[3].addr[2] != aNetConfig.trap[3].addr[2]) ||
(disNetConfig.trap[3].addr[3] != aNetConfig.trap[3].addr[3]))
{
lbClassA[i].Text = String.Format("{0} ", aNetConfig.trap[3].addr[0]);
lbClassB[i].Text = String.Format("{0} ", aNetConfig.trap[3].addr[1]);
lbClassC[i].Text = String.Format("{0} ", aNetConfig.trap[3].addr[2]);
lbClassD[i].Text = String.Format("{0} ", aNetConfig.trap[3].addr[3]);
disNetConfig.trap[3].addr = aNetConfig.trap[3].addr;
}
}
#endregion
private void tmrDisplay_Tick(object sender, EventArgs e)
{
DisplayNetConfig(false);
}
private void btnReset_Click(object sender, EventArgs e)
{
((fmBMSMain)(Owner)).ScreenSaverTimeReset();
ushort Reg_Addr = 0x9000;
short Reg_Count = 1;
short[] Reg_Data = new short[1];
((fmBMSMain)(Owner)).SetModBusWriteCmd(1, (short)Reg_Addr, Reg_Count, Reg_Data, 1);
}
}
}