initial commit

This commit is contained in:
chi
2025-01-07 16:08:02 +09:00
parent 9e657e2558
commit 0a93a54a6f
268 changed files with 50767 additions and 0 deletions

273
Cs_HMI/Project/ViewForm/fAgv.Designer.cs generated Normal file
View File

@@ -0,0 +1,273 @@
namespace Project.ViewForm
{
partial class fAgv
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.richTextBox1 = new System.Windows.Forms.RichTextBox();
this.richTextBox2 = new System.Windows.Forms.RichTextBox();
this.richTextBox3 = new System.Windows.Forms.RichTextBox();
this.richTextBox4 = new System.Windows.Forms.RichTextBox();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.panel1 = new System.Windows.Forms.Panel();
this.button7 = new System.Windows.Forms.Button();
this.button6 = new System.Windows.Forms.Button();
this.button5 = new System.Windows.Forms.Button();
this.button3 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.button1 = new System.Windows.Forms.Button();
this.button8 = new System.Windows.Forms.Button();
this.button4 = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label();
this.tableLayoutPanel1.SuspendLayout();
this.panel1.SuspendLayout();
this.SuspendLayout();
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.ColumnCount = 4;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
this.tableLayoutPanel1.Controls.Add(this.richTextBox1, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.richTextBox2, 1, 0);
this.tableLayoutPanel1.Controls.Add(this.richTextBox3, 2, 0);
this.tableLayoutPanel1.Controls.Add(this.richTextBox4, 3, 0);
this.tableLayoutPanel1.Controls.Add(this.label1, 0, 2);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.Location = new System.Drawing.Point(3, 3);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 3;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 50F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(1050, 510);
this.tableLayoutPanel1.TabIndex = 6;
//
// richTextBox1
//
this.richTextBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.richTextBox1.Location = new System.Drawing.Point(3, 3);
this.richTextBox1.Name = "richTextBox1";
this.tableLayoutPanel1.SetRowSpan(this.richTextBox1, 2);
this.richTextBox1.Size = new System.Drawing.Size(256, 454);
this.richTextBox1.TabIndex = 1;
this.richTextBox1.Text = "";
//
// richTextBox2
//
this.richTextBox2.Dock = System.Windows.Forms.DockStyle.Fill;
this.richTextBox2.Location = new System.Drawing.Point(265, 3);
this.richTextBox2.Name = "richTextBox2";
this.tableLayoutPanel1.SetRowSpan(this.richTextBox2, 2);
this.richTextBox2.Size = new System.Drawing.Size(256, 454);
this.richTextBox2.TabIndex = 1;
this.richTextBox2.Text = "";
//
// richTextBox3
//
this.richTextBox3.Dock = System.Windows.Forms.DockStyle.Fill;
this.richTextBox3.Location = new System.Drawing.Point(527, 3);
this.richTextBox3.Name = "richTextBox3";
this.tableLayoutPanel1.SetRowSpan(this.richTextBox3, 2);
this.richTextBox3.Size = new System.Drawing.Size(256, 454);
this.richTextBox3.TabIndex = 1;
this.richTextBox3.Text = "";
//
// richTextBox4
//
this.richTextBox4.Dock = System.Windows.Forms.DockStyle.Fill;
this.richTextBox4.Location = new System.Drawing.Point(789, 3);
this.richTextBox4.Name = "richTextBox4";
this.tableLayoutPanel1.SetRowSpan(this.richTextBox4, 2);
this.richTextBox4.Size = new System.Drawing.Size(258, 454);
this.richTextBox4.TabIndex = 1;
this.richTextBox4.Text = "";
//
// timer1
//
this.timer1.Interval = 200;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
//
// panel1
//
this.panel1.Controls.Add(this.button7);
this.panel1.Controls.Add(this.button6);
this.panel1.Controls.Add(this.button5);
this.panel1.Controls.Add(this.button3);
this.panel1.Controls.Add(this.button2);
this.panel1.Controls.Add(this.button1);
this.panel1.Controls.Add(this.button8);
this.panel1.Controls.Add(this.button4);
this.panel1.Dock = System.Windows.Forms.DockStyle.Bottom;
this.panel1.Location = new System.Drawing.Point(3, 513);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(1050, 67);
this.panel1.TabIndex = 7;
//
// button7
//
this.button7.Dock = System.Windows.Forms.DockStyle.Right;
this.button7.Location = new System.Drawing.Point(550, 0);
this.button7.Name = "button7";
this.button7.Size = new System.Drawing.Size(100, 67);
this.button7.TabIndex = 6;
this.button7.Text = "Go - Front\r\nManual";
this.button7.UseVisualStyleBackColor = true;
this.button7.Click += new System.EventHandler(this.button7_Click);
//
// button6
//
this.button6.Dock = System.Windows.Forms.DockStyle.Right;
this.button6.Location = new System.Drawing.Point(650, 0);
this.button6.Name = "button6";
this.button6.Size = new System.Drawing.Size(100, 67);
this.button6.TabIndex = 5;
this.button6.Text = "Go - Back\r\nManual";
this.button6.UseVisualStyleBackColor = true;
this.button6.Click += new System.EventHandler(this.button6_Click);
//
// button5
//
this.button5.Dock = System.Windows.Forms.DockStyle.Right;
this.button5.Location = new System.Drawing.Point(750, 0);
this.button5.Name = "button5";
this.button5.Size = new System.Drawing.Size(100, 67);
this.button5.TabIndex = 4;
this.button5.Text = "Stop(Mark)";
this.button5.UseVisualStyleBackColor = true;
this.button5.Click += new System.EventHandler(this.button5_Click);
//
// button3
//
this.button3.Dock = System.Windows.Forms.DockStyle.Left;
this.button3.Location = new System.Drawing.Point(200, 0);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(100, 67);
this.button3.TabIndex = 2;
this.button3.Text = "Charge Off";
this.button3.UseVisualStyleBackColor = true;
this.button3.Click += new System.EventHandler(this.button3_Click);
//
// button2
//
this.button2.Dock = System.Windows.Forms.DockStyle.Left;
this.button2.Location = new System.Drawing.Point(100, 0);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(100, 67);
this.button2.TabIndex = 1;
this.button2.Text = "Charge On";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// button1
//
this.button1.Dock = System.Windows.Forms.DockStyle.Left;
this.button1.Location = new System.Drawing.Point(0, 0);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(100, 67);
this.button1.TabIndex = 0;
this.button1.Text = "Reset";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// button8
//
this.button8.Dock = System.Windows.Forms.DockStyle.Right;
this.button8.Location = new System.Drawing.Point(850, 0);
this.button8.Name = "button8";
this.button8.Size = new System.Drawing.Size(100, 67);
this.button8.TabIndex = 7;
this.button8.Text = "Run";
this.button8.UseVisualStyleBackColor = true;
this.button8.Click += new System.EventHandler(this.button8_Click);
//
// button4
//
this.button4.Dock = System.Windows.Forms.DockStyle.Right;
this.button4.Location = new System.Drawing.Point(950, 0);
this.button4.Name = "button4";
this.button4.Size = new System.Drawing.Size(100, 67);
this.button4.TabIndex = 3;
this.button4.Text = "Stop";
this.button4.UseVisualStyleBackColor = true;
this.button4.Click += new System.EventHandler(this.button4_Click);
//
// label1
//
this.tableLayoutPanel1.SetColumnSpan(this.label1, 2);
this.label1.Dock = System.Windows.Forms.DockStyle.Fill;
this.label1.ForeColor = System.Drawing.Color.White;
this.label1.Location = new System.Drawing.Point(3, 460);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(518, 50);
this.label1.TabIndex = 2;
this.label1.Text = "label1";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// fAgv
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(15)))), ((int)(((byte)(15)))), ((int)(((byte)(15)))));
this.ClientSize = new System.Drawing.Size(1056, 583);
this.Controls.Add(this.tableLayoutPanel1);
this.Controls.Add(this.panel1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Name = "fAgv";
this.Padding = new System.Windows.Forms.Padding(3);
this.Text = "fFlag";
this.Load += new System.EventHandler(this.fFlag_Load);
this.VisibleChanged += new System.EventHandler(this.fAgv_VisibleChanged);
this.tableLayoutPanel1.ResumeLayout(false);
this.panel1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private System.Windows.Forms.Timer timer1;
private System.Windows.Forms.RichTextBox richTextBox1;
private System.Windows.Forms.RichTextBox richTextBox2;
private System.Windows.Forms.RichTextBox richTextBox3;
private System.Windows.Forms.RichTextBox richTextBox4;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.Button button4;
private System.Windows.Forms.Button button5;
private System.Windows.Forms.Button button6;
private System.Windows.Forms.Button button7;
private System.Windows.Forms.Button button8;
private System.Windows.Forms.Label label1;
}
}

View File

@@ -0,0 +1,109 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using COMM;
namespace Project.ViewForm
{
public partial class fAgv : Form
{
public fAgv()
{
InitializeComponent();
this.FormClosed += FIO_FormClosed;
}
private void fFlag_Load(object sender, EventArgs e)
{
this.timer1.Start();
}
private void FIO_FormClosed(object sender, FormClosedEventArgs e)
{
this.timer1.Stop();
}
bool tmrun = false;
private void timer1_Tick(object sender, EventArgs e)
{
timer1.Stop();
label1.Text = PUB.AGV.LastSTS;
richTextBox1.Text = PUB.AGV.system0.ToString();
richTextBox2.Text = PUB.AGV.system1.ToString();
richTextBox3.Text = PUB.AGV.signal.ToString() + "\n" + PUB.AGV.data.ToString();
richTextBox4.Text = PUB.AGV.error.ToString();
timer1.Start();
}
private void fAgv_VisibleChanged(object sender, EventArgs e)
{
this.timer1.Enabled = this.Visible;
if (timer1.Enabled) timer1.Start();
else timer1.Stop();
}
private void button1_Click(object sender, EventArgs e)
{
PUB.AGV.AGVErrorReset();
if(PUB.sm.Step == StateMachine.eSMStep.RUN)
PUB.sm.SetNewStep(StateMachine.eSMStep.IDLE);
}
private void button2_Click(object sender, EventArgs e)
{
PUB.log.Add($"사용자 충전 명령 전송 : {PUB.setting.ChargerID}");
PUB.AGV.AGVCharge(PUB.setting.ChargerID, true);
if (PUB.sm.Step == StateMachine.eSMStep.RUN)
PUB.sm.SetNewStep(StateMachine.eSMStep.IDLE);
}
private void button3_Click(object sender, EventArgs e)
{
PUB.AGV.AGVCharge(PUB.setting.ChargerID, false);
if (PUB.sm.Step == StateMachine.eSMStep.RUN)
PUB.sm.SetNewStep(StateMachine.eSMStep.IDLE);
}
private void button4_Click(object sender, EventArgs e)
{
PUB.AGV.AGVMoveStop("userbutton page:fagv button:button4");
if (PUB.sm.Step == StateMachine.eSMStep.RUN)
PUB.sm.SetNewStep(StateMachine.eSMStep.IDLE);
}
private void button5_Click(object sender, EventArgs e)
{
PUB.AGV.AGVMoveStop("user button clic fagv",arDev.Narumi.eStopOpt.MarkStop);
if (PUB.sm.Step == StateMachine.eSMStep.RUN)
PUB.sm.SetNewStep(StateMachine.eSMStep.IDLE);
}
private void button7_Click(object sender, EventArgs e)
{
PUB.AGV.AGVMoveManual(arDev.Narumi.ManulOpt.FS, arDev.Narumi.Speed.Low, arDev.Narumi.Sensor.AllOn);
if (PUB.sm.Step == StateMachine.eSMStep.RUN)
PUB.sm.SetNewStep(StateMachine.eSMStep.IDLE);
}
private void button6_Click(object sender, EventArgs e)
{
PUB.AGV.AGVMoveManual(arDev.Narumi.ManulOpt.BS, arDev.Narumi.Speed.Low, arDev.Narumi.Sensor.AllOn);
if (PUB.sm.Step == StateMachine.eSMStep.RUN)
PUB.sm.SetNewStep(StateMachine.eSMStep.IDLE);
}
private void button8_Click(object sender, EventArgs e)
{
PUB.AGV.AGVMoveRun();
}
}
}

View File

@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

View File

@@ -0,0 +1,86 @@
namespace Project.ViewForm
{
partial class fAuto
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.ctlAuto1 = new Project.CtlAuto();
this.SuspendLayout();
//
// timer1
//
this.timer1.Interval = 200;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
//
// ctlAuto1
//
this.ctlAuto1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(32)))), ((int)(((byte)(32)))));
this.ctlAuto1.BorderColor = System.Drawing.Color.Transparent;
this.ctlAuto1.Dock = System.Windows.Forms.DockStyle.Fill;
this.ctlAuto1.Font = new System.Drawing.Font("맑은 고딕", 20F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.ctlAuto1.Font_BMS_Level = new System.Drawing.Font("Bahnschrift Condensed", 250F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.ctlAuto1.Font_BMS_Volt = new System.Drawing.Font("Bahnschrift Condensed", 50.25F, System.Drawing.FontStyle.Bold);
this.ctlAuto1.Font_MAIN_BMSLevel = new System.Drawing.Font("Arial Narrow", 150F, System.Drawing.FontStyle.Bold);
this.ctlAuto1.ForeColor = System.Drawing.Color.White;
this.ctlAuto1.ItemGap = 0;
this.ctlAuto1.Items = null;
this.ctlAuto1.Location = new System.Drawing.Point(0, 0);
this.ctlAuto1.MinimumSize = new System.Drawing.Size(100, 30);
this.ctlAuto1.Name = "ctlAuto1";
this.ctlAuto1.ProgressMax = 100F;
this.ctlAuto1.ProgressVal = 50F;
this.ctlAuto1.Scean = Project.CtlAuto.eScean.Normal;
this.ctlAuto1.Size = new System.Drawing.Size(1014, 579);
this.ctlAuto1.StatusMessage = "상태메세지 입니다";
this.ctlAuto1.StopMessage = "";
this.ctlAuto1.StopTime = new System.DateTime(((long)(0)));
this.ctlAuto1.TabIndex = 20;
this.ctlAuto1.Text = "ctlAuto1";
//
// fAuto
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(15)))), ((int)(((byte)(15)))), ((int)(((byte)(15)))));
this.ClientSize = new System.Drawing.Size(1014, 579);
this.Controls.Add(this.ctlAuto1);
this.DoubleBuffered = true;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Name = "fAuto";
this.Text = "fAuto";
this.Load += new System.EventHandler(this.fAuto_Load);
this.VisibleChanged += new System.EventHandler(this.fAuto_VisibleChanged);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Timer timer1;
private CtlAuto ctlAuto1;
}
}

View File

@@ -0,0 +1,106 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using static Project.StateMachine;
using COMM;
namespace Project.ViewForm
{
public partial class fAuto : Form
{
public fAuto()
{
InitializeComponent();
this.FormClosed += FAuto_FormClosed;
PUB.sm.StepChanged += Sm_StepChanged;
this.ctlAuto1.ButtonClick += CtlAuto1_ButtonClick;
if (PUB.sm.Step == eSMStep.INIT || PUB.sm.Step == eSMStep.SYNC)
this.ctlAuto1.Scean = CtlAuto.eScean.Progress;
else
this.ctlAuto1.Scean = CtlAuto.eScean.Normal;
}
private void fAuto_Load(object sender, EventArgs e)
{
ctlAuto1.dev_agv = PUB.AGV;
ctlAuto1.dev_plc = PUB.PLC;
ctlAuto1.dev_bms = PUB.BMS;
ctlAuto1.dev_xbe = PUB.XBE;
this.timer1.Start();
}
private void CtlAuto1_ButtonClick(CtlAuto.UIButton idx)
{
if (idx.cmd.Equals("EMG"))
{
PUB.log.Add("ui reset click");
PUB.AGV.AGVErrorReset();
}
}
private void Sm_StepChanged(object sender, StepChangeEventArgs e)
{
if (e.New == eSMStep.INIT || e.New == eSMStep.SYNC)
this.ctlAuto1.Scean = CtlAuto.eScean.Progress;
else
this.ctlAuto1.Scean = CtlAuto.eScean.Normal;
}
private void FAuto_FormClosed(object sender, FormClosedEventArgs e)
{
timer1.Stop();
PUB.sm.StepChanged -= Sm_StepChanged;
this.ctlAuto1.ButtonClick -= CtlAuto1_ButtonClick;
}
bool tmrun = false;
private void timer1_Tick(object sender, EventArgs e)
{
if (this.Visible == false) return;
if (tmrun == true) return;
tmrun = true;
this.ctlAuto1.OnUpdateMode = true;
//lbBatteryLevel.Text = $"{PUB.BMS.Current_Level}%";
//lbBatteryLevel.ProgressValue = PUB.BMS.Current_Level;
if(this.ctlAuto1.Scean == CtlAuto.eScean.Progress)
{
ctlAuto1.ProgressVal = PUB.Result.SMSG_ProgressValue;
ctlAuto1.ProgressMax = PUB.Result.SMSG_ProgressMax;
ctlAuto1.StatusMessage = VAR.STR?.Get(eVarString.StatusMessage) ?? string.Empty;
}
//if(Pub.Result.StopMessagePLC.StartsWith()
if (PUB.PLC.GetValueI(arDev.FakePLC.DIName.PINI_EMG) == true)
this.ctlAuto1.StopMessage = PUB.Result.StopMessagePLC;
else
this.ctlAuto1.StopMessage = string.Empty;
if (PUB.sm.Step == StateMachine.eSMStep.RUN)
{
this.ctlAuto1.runStep = PUB.sm.RunStep;
}
else
{
this.ctlAuto1.runStep = ERunStep.READY;
}
this.ctlAuto1.OnUpdateMode = false;
this.ctlAuto1.Invalidate();
tmrun = false;
}
private void fAuto_VisibleChanged(object sender, EventArgs e)
{
this.timer1.Enabled = this.Visible;
if (timer1.Enabled) timer1.Start();
else timer1.Stop();
}
}
}

View File

@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

541
Cs_HMI/Project/ViewForm/fBms.Designer.cs generated Normal file
View File

@@ -0,0 +1,541 @@
namespace Project.ViewForm
{
partial class fBms
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.panel1 = new System.Windows.Forms.Panel();
this.button2 = new System.Windows.Forms.Button();
this.button1 = new System.Windows.Forms.Button();
this.arLabel1 = new arCtl.arLabel();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.panel2 = new System.Windows.Forms.Panel();
this.label1 = new System.Windows.Forms.Label();
this.cv1 = new System.Windows.Forms.Label();
this.panel3 = new System.Windows.Forms.Panel();
this.cv2 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.panel4 = new System.Windows.Forms.Panel();
this.cv3 = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
this.panel5 = new System.Windows.Forms.Panel();
this.cv4 = new System.Windows.Forms.Label();
this.label8 = new System.Windows.Forms.Label();
this.panel6 = new System.Windows.Forms.Panel();
this.cv5 = new System.Windows.Forms.Label();
this.label10 = new System.Windows.Forms.Label();
this.panel7 = new System.Windows.Forms.Panel();
this.cv6 = new System.Windows.Forms.Label();
this.label12 = new System.Windows.Forms.Label();
this.panel8 = new System.Windows.Forms.Panel();
this.cv7 = new System.Windows.Forms.Label();
this.label14 = new System.Windows.Forms.Label();
this.panel9 = new System.Windows.Forms.Panel();
this.cv8 = new System.Windows.Forms.Label();
this.label16 = new System.Windows.Forms.Label();
this.lbinfost = new System.Windows.Forms.Label();
this.lbcvSt = new System.Windows.Forms.Label();
this.panel1.SuspendLayout();
this.groupBox1.SuspendLayout();
this.panel2.SuspendLayout();
this.panel3.SuspendLayout();
this.panel4.SuspendLayout();
this.panel5.SuspendLayout();
this.panel6.SuspendLayout();
this.panel7.SuspendLayout();
this.panel8.SuspendLayout();
this.panel9.SuspendLayout();
this.SuspendLayout();
//
// timer1
//
this.timer1.Interval = 200;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
//
// panel1
//
this.panel1.Controls.Add(this.groupBox1);
this.panel1.Controls.Add(this.button2);
this.panel1.Controls.Add(this.button1);
this.panel1.Dock = System.Windows.Forms.DockStyle.Left;
this.panel1.Location = new System.Drawing.Point(3, 3);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(187, 577);
this.panel1.TabIndex = 0;
//
// button2
//
this.button2.Dock = System.Windows.Forms.DockStyle.Top;
this.button2.Location = new System.Drawing.Point(0, 67);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(187, 67);
this.button2.TabIndex = 1;
this.button2.Text = "Query Cell Voltage";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// button1
//
this.button1.Dock = System.Windows.Forms.DockStyle.Top;
this.button1.Location = new System.Drawing.Point(0, 0);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(187, 67);
this.button1.TabIndex = 0;
this.button1.Text = "Query Remain";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// arLabel1
//
this.arLabel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(32)))), ((int)(((byte)(32)))));
this.arLabel1.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(18)))), ((int)(((byte)(18)))), ((int)(((byte)(18)))));
this.arLabel1.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
this.arLabel1.BorderColor = System.Drawing.Color.Red;
this.arLabel1.BorderColorOver = System.Drawing.Color.Red;
this.arLabel1.BorderSize = new System.Windows.Forms.Padding(0, 0, 0, 4);
this.arLabel1.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
this.arLabel1.Cursor = System.Windows.Forms.Cursors.Arrow;
this.arLabel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.arLabel1.Font = new System.Drawing.Font("Microsoft Sans Serif", 150F, System.Drawing.FontStyle.Bold);
this.arLabel1.ForeColor = System.Drawing.Color.White;
this.arLabel1.GradientEnable = true;
this.arLabel1.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.Vertical;
this.arLabel1.GradientRepeatBG = false;
this.arLabel1.isButton = false;
this.arLabel1.Location = new System.Drawing.Point(190, 3);
this.arLabel1.MouseDownColor = System.Drawing.Color.Yellow;
this.arLabel1.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.arLabel1.msg = null;
this.arLabel1.Name = "arLabel1";
this.arLabel1.ProgressBorderColor = System.Drawing.Color.Black;
this.arLabel1.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
this.arLabel1.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
this.arLabel1.ProgressEnable = false;
this.arLabel1.ProgressFont = new System.Drawing.Font("Consolas", 10F);
this.arLabel1.ProgressForeColor = System.Drawing.Color.Black;
this.arLabel1.ProgressMax = 100F;
this.arLabel1.ProgressMin = 0F;
this.arLabel1.ProgressPadding = new System.Windows.Forms.Padding(0);
this.arLabel1.ProgressValue = 0F;
this.arLabel1.ShadowColor = System.Drawing.Color.WhiteSmoke;
this.arLabel1.Sign = "26.5v";
this.arLabel1.SignAlign = System.Drawing.ContentAlignment.BottomRight;
this.arLabel1.SignColor = System.Drawing.Color.Yellow;
this.arLabel1.SignFont = new System.Drawing.Font("Microsoft Sans Serif", 50F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))));
this.arLabel1.Size = new System.Drawing.Size(863, 577);
this.arLabel1.TabIndex = 1;
this.arLabel1.Text = "80%";
this.arLabel1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.arLabel1.TextShadow = false;
this.arLabel1.TextVisible = true;
//
// groupBox1
//
this.groupBox1.Controls.Add(this.lbcvSt);
this.groupBox1.Controls.Add(this.panel9);
this.groupBox1.Controls.Add(this.panel8);
this.groupBox1.Controls.Add(this.panel7);
this.groupBox1.Controls.Add(this.panel6);
this.groupBox1.Controls.Add(this.panel5);
this.groupBox1.Controls.Add(this.panel4);
this.groupBox1.Controls.Add(this.panel3);
this.groupBox1.Controls.Add(this.panel2);
this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.groupBox1.ForeColor = System.Drawing.Color.White;
this.groupBox1.Location = new System.Drawing.Point(0, 134);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(187, 443);
this.groupBox1.TabIndex = 2;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Cell voltage";
//
// panel2
//
this.panel2.Controls.Add(this.cv1);
this.panel2.Controls.Add(this.label1);
this.panel2.Dock = System.Windows.Forms.DockStyle.Top;
this.panel2.Location = new System.Drawing.Point(3, 17);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(181, 40);
this.panel2.TabIndex = 0;
//
// label1
//
this.label1.Dock = System.Windows.Forms.DockStyle.Left;
this.label1.Font = new System.Drawing.Font("굴림", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.label1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(192)))), ((int)(((byte)(192)))));
this.label1.Location = new System.Drawing.Point(0, 0);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(47, 40);
this.label1.TabIndex = 0;
this.label1.Text = "#1";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// cv1
//
this.cv1.Dock = System.Windows.Forms.DockStyle.Fill;
this.cv1.Font = new System.Drawing.Font("Tahoma", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.cv1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(128)))));
this.cv1.Location = new System.Drawing.Point(47, 0);
this.cv1.Name = "cv1";
this.cv1.Size = new System.Drawing.Size(134, 40);
this.cv1.TabIndex = 0;
this.cv1.Text = "--";
this.cv1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// panel3
//
this.panel3.Controls.Add(this.cv2);
this.panel3.Controls.Add(this.label4);
this.panel3.Dock = System.Windows.Forms.DockStyle.Top;
this.panel3.Location = new System.Drawing.Point(3, 57);
this.panel3.Name = "panel3";
this.panel3.Size = new System.Drawing.Size(181, 40);
this.panel3.TabIndex = 1;
this.panel3.Paint += new System.Windows.Forms.PaintEventHandler(this.panel3_Paint);
//
// cv2
//
this.cv2.Dock = System.Windows.Forms.DockStyle.Fill;
this.cv2.Font = new System.Drawing.Font("Tahoma", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.cv2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(128)))));
this.cv2.Location = new System.Drawing.Point(47, 0);
this.cv2.Name = "cv2";
this.cv2.Size = new System.Drawing.Size(134, 40);
this.cv2.TabIndex = 0;
this.cv2.Text = "--";
this.cv2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label4
//
this.label4.Dock = System.Windows.Forms.DockStyle.Left;
this.label4.Font = new System.Drawing.Font("굴림", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.label4.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(192)))), ((int)(((byte)(192)))));
this.label4.Location = new System.Drawing.Point(0, 0);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(47, 40);
this.label4.TabIndex = 0;
this.label4.Text = "#2";
this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// panel4
//
this.panel4.Controls.Add(this.cv3);
this.panel4.Controls.Add(this.label6);
this.panel4.Dock = System.Windows.Forms.DockStyle.Top;
this.panel4.Location = new System.Drawing.Point(3, 97);
this.panel4.Name = "panel4";
this.panel4.Size = new System.Drawing.Size(181, 40);
this.panel4.TabIndex = 2;
this.panel4.Paint += new System.Windows.Forms.PaintEventHandler(this.panel4_Paint);
//
// cv3
//
this.cv3.Dock = System.Windows.Forms.DockStyle.Fill;
this.cv3.Font = new System.Drawing.Font("Tahoma", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.cv3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(128)))));
this.cv3.Location = new System.Drawing.Point(47, 0);
this.cv3.Name = "cv3";
this.cv3.Size = new System.Drawing.Size(134, 40);
this.cv3.TabIndex = 0;
this.cv3.Text = "--";
this.cv3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label6
//
this.label6.Dock = System.Windows.Forms.DockStyle.Left;
this.label6.Font = new System.Drawing.Font("굴림", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.label6.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(192)))), ((int)(((byte)(192)))));
this.label6.Location = new System.Drawing.Point(0, 0);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(47, 40);
this.label6.TabIndex = 0;
this.label6.Text = "#3";
this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// panel5
//
this.panel5.Controls.Add(this.cv4);
this.panel5.Controls.Add(this.label8);
this.panel5.Dock = System.Windows.Forms.DockStyle.Top;
this.panel5.Location = new System.Drawing.Point(3, 137);
this.panel5.Name = "panel5";
this.panel5.Size = new System.Drawing.Size(181, 40);
this.panel5.TabIndex = 3;
//
// cv4
//
this.cv4.Dock = System.Windows.Forms.DockStyle.Fill;
this.cv4.Font = new System.Drawing.Font("Tahoma", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.cv4.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(128)))));
this.cv4.Location = new System.Drawing.Point(47, 0);
this.cv4.Name = "cv4";
this.cv4.Size = new System.Drawing.Size(134, 40);
this.cv4.TabIndex = 0;
this.cv4.Text = "--";
this.cv4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label8
//
this.label8.Dock = System.Windows.Forms.DockStyle.Left;
this.label8.Font = new System.Drawing.Font("굴림", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.label8.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(192)))), ((int)(((byte)(192)))));
this.label8.Location = new System.Drawing.Point(0, 0);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(47, 40);
this.label8.TabIndex = 0;
this.label8.Text = "#4";
this.label8.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// panel6
//
this.panel6.Controls.Add(this.cv5);
this.panel6.Controls.Add(this.label10);
this.panel6.Dock = System.Windows.Forms.DockStyle.Top;
this.panel6.Location = new System.Drawing.Point(3, 177);
this.panel6.Name = "panel6";
this.panel6.Size = new System.Drawing.Size(181, 40);
this.panel6.TabIndex = 4;
this.panel6.Paint += new System.Windows.Forms.PaintEventHandler(this.panel6_Paint);
//
// cv5
//
this.cv5.Dock = System.Windows.Forms.DockStyle.Fill;
this.cv5.Font = new System.Drawing.Font("Tahoma", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.cv5.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(128)))));
this.cv5.Location = new System.Drawing.Point(47, 0);
this.cv5.Name = "cv5";
this.cv5.Size = new System.Drawing.Size(134, 40);
this.cv5.TabIndex = 0;
this.cv5.Text = "--";
this.cv5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label10
//
this.label10.Dock = System.Windows.Forms.DockStyle.Left;
this.label10.Font = new System.Drawing.Font("굴림", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.label10.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(192)))), ((int)(((byte)(192)))));
this.label10.Location = new System.Drawing.Point(0, 0);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(47, 40);
this.label10.TabIndex = 0;
this.label10.Text = "#5";
this.label10.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// panel7
//
this.panel7.Controls.Add(this.cv6);
this.panel7.Controls.Add(this.label12);
this.panel7.Dock = System.Windows.Forms.DockStyle.Top;
this.panel7.Location = new System.Drawing.Point(3, 217);
this.panel7.Name = "panel7";
this.panel7.Size = new System.Drawing.Size(181, 40);
this.panel7.TabIndex = 5;
//
// cv6
//
this.cv6.Dock = System.Windows.Forms.DockStyle.Fill;
this.cv6.Font = new System.Drawing.Font("Tahoma", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.cv6.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(128)))));
this.cv6.Location = new System.Drawing.Point(47, 0);
this.cv6.Name = "cv6";
this.cv6.Size = new System.Drawing.Size(134, 40);
this.cv6.TabIndex = 0;
this.cv6.Text = "--";
this.cv6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label12
//
this.label12.Dock = System.Windows.Forms.DockStyle.Left;
this.label12.Font = new System.Drawing.Font("굴림", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.label12.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(192)))), ((int)(((byte)(192)))));
this.label12.Location = new System.Drawing.Point(0, 0);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(47, 40);
this.label12.TabIndex = 0;
this.label12.Text = "#6";
this.label12.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// panel8
//
this.panel8.Controls.Add(this.cv7);
this.panel8.Controls.Add(this.label14);
this.panel8.Dock = System.Windows.Forms.DockStyle.Top;
this.panel8.Location = new System.Drawing.Point(3, 257);
this.panel8.Name = "panel8";
this.panel8.Size = new System.Drawing.Size(181, 40);
this.panel8.TabIndex = 6;
this.panel8.Paint += new System.Windows.Forms.PaintEventHandler(this.panel8_Paint);
//
// cv7
//
this.cv7.Dock = System.Windows.Forms.DockStyle.Fill;
this.cv7.Font = new System.Drawing.Font("Tahoma", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.cv7.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(128)))));
this.cv7.Location = new System.Drawing.Point(47, 0);
this.cv7.Name = "cv7";
this.cv7.Size = new System.Drawing.Size(134, 40);
this.cv7.TabIndex = 0;
this.cv7.Text = "--";
this.cv7.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label14
//
this.label14.Dock = System.Windows.Forms.DockStyle.Left;
this.label14.Font = new System.Drawing.Font("굴림", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.label14.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(192)))), ((int)(((byte)(192)))));
this.label14.Location = new System.Drawing.Point(0, 0);
this.label14.Name = "label14";
this.label14.Size = new System.Drawing.Size(47, 40);
this.label14.TabIndex = 0;
this.label14.Text = "#7";
this.label14.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// panel9
//
this.panel9.Controls.Add(this.cv8);
this.panel9.Controls.Add(this.label16);
this.panel9.Dock = System.Windows.Forms.DockStyle.Top;
this.panel9.Location = new System.Drawing.Point(3, 297);
this.panel9.Name = "panel9";
this.panel9.Size = new System.Drawing.Size(181, 40);
this.panel9.TabIndex = 7;
//
// cv8
//
this.cv8.Dock = System.Windows.Forms.DockStyle.Fill;
this.cv8.Font = new System.Drawing.Font("Tahoma", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.cv8.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(128)))));
this.cv8.Location = new System.Drawing.Point(47, 0);
this.cv8.Name = "cv8";
this.cv8.Size = new System.Drawing.Size(134, 40);
this.cv8.TabIndex = 0;
this.cv8.Text = "--";
this.cv8.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label16
//
this.label16.Dock = System.Windows.Forms.DockStyle.Left;
this.label16.Font = new System.Drawing.Font("굴림", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.label16.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(192)))), ((int)(((byte)(192)))));
this.label16.Location = new System.Drawing.Point(0, 0);
this.label16.Name = "label16";
this.label16.Size = new System.Drawing.Size(47, 40);
this.label16.TabIndex = 0;
this.label16.Text = "#8";
this.label16.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// lbinfost
//
this.lbinfost.AutoSize = true;
this.lbinfost.Font = new System.Drawing.Font("굴림", 20F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.lbinfost.ForeColor = System.Drawing.Color.White;
this.lbinfost.Location = new System.Drawing.Point(194, 8);
this.lbinfost.Name = "lbinfost";
this.lbinfost.Size = new System.Drawing.Size(39, 27);
this.lbinfost.TabIndex = 2;
this.lbinfost.Text = "●";
//
// lbcvSt
//
this.lbcvSt.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.lbcvSt.AutoSize = true;
this.lbcvSt.Font = new System.Drawing.Font("굴림", 20F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.lbcvSt.ForeColor = System.Drawing.Color.White;
this.lbcvSt.Location = new System.Drawing.Point(2, 411);
this.lbcvSt.Name = "lbcvSt";
this.lbcvSt.Size = new System.Drawing.Size(39, 27);
this.lbcvSt.TabIndex = 8;
this.lbcvSt.Text = "●";
//
// fBms
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(15)))), ((int)(((byte)(15)))), ((int)(((byte)(15)))));
this.ClientSize = new System.Drawing.Size(1056, 583);
this.Controls.Add(this.lbinfost);
this.Controls.Add(this.arLabel1);
this.Controls.Add(this.panel1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Name = "fBms";
this.Padding = new System.Windows.Forms.Padding(3);
this.Text = "fFlag";
this.Load += new System.EventHandler(this.fFlag_Load);
this.VisibleChanged += new System.EventHandler(this.fAgv_VisibleChanged);
this.panel1.ResumeLayout(false);
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.panel2.ResumeLayout(false);
this.panel3.ResumeLayout(false);
this.panel4.ResumeLayout(false);
this.panel5.ResumeLayout(false);
this.panel6.ResumeLayout(false);
this.panel7.ResumeLayout(false);
this.panel8.ResumeLayout(false);
this.panel9.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Timer timer1;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Button button1;
private arCtl.arLabel arLabel1;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.Label cv1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Panel panel9;
private System.Windows.Forms.Label cv8;
private System.Windows.Forms.Label label16;
private System.Windows.Forms.Panel panel8;
private System.Windows.Forms.Label cv7;
private System.Windows.Forms.Label label14;
private System.Windows.Forms.Panel panel7;
private System.Windows.Forms.Label cv6;
private System.Windows.Forms.Label label12;
private System.Windows.Forms.Panel panel6;
private System.Windows.Forms.Label cv5;
private System.Windows.Forms.Label label10;
private System.Windows.Forms.Panel panel5;
private System.Windows.Forms.Label cv4;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.Panel panel4;
private System.Windows.Forms.Label cv3;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Panel panel3;
private System.Windows.Forms.Label cv2;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label lbinfost;
private System.Windows.Forms.Label lbcvSt;
}
}

View File

@@ -0,0 +1,115 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using COMM;
namespace Project.ViewForm
{
public partial class fBms : Form
{
public fBms()
{
InitializeComponent();
this.FormClosed += FIO_FormClosed;
PUB.BMS.BMSCellDataReceive += BMS_BMSCellDataReceive;
PUB.BMS.BMSDataReceive += BMS_BMSDataReceive;
}
private void BMS_BMSDataReceive(object sender, arDev.BMSInformationEventArgs e)
{
if (this.IsDisposed == true || this.Visible == false) return;
this.BeginInvoke(new Action(() =>
{
if (lbinfost.ForeColor == Color.FromArgb(32, 32, 32))
lbinfost.ForeColor = Color.Lime;
else
lbinfost.ForeColor = Color.FromArgb(32, 32, 32);
}));
}
private void BMS_BMSCellDataReceive(object sender, arDev.BMSCelvoltageEventArgs e)
{
if (this.IsDisposed == true || this.Visible == false) return;
this.BeginInvoke(new Action(() =>
{
if (lbcvSt.ForeColor == Color.FromArgb(15, 15, 15))
lbcvSt.ForeColor = Color.Lime;
else
lbcvSt.ForeColor = Color.FromArgb(15, 15, 15);
}));
}
private void fFlag_Load(object sender, EventArgs e)
{
this.timer1.Start();
}
private void FIO_FormClosed(object sender, FormClosedEventArgs e)
{
this.timer1.Stop();
PUB.BMS.BMSCellDataReceive -= BMS_BMSCellDataReceive;
PUB.BMS.BMSDataReceive -= BMS_BMSDataReceive;
}
bool tmrun = false;
private void timer1_Tick(object sender, EventArgs e)
{
timer1.Stop();
this.arLabel1.Text = PUB.BMS.Current_Level.ToString("N1") + "%";
this.arLabel1.Sign = PUB.BMS.Current_Volt.ToString() + "v";
this.cv1.Text = PUB.BMS.CellVoltage[0].ToString("N3") + "v";
this.cv2.Text = PUB.BMS.CellVoltage[1].ToString("N3") + "v";
this.cv3.Text = PUB.BMS.CellVoltage[2].ToString("N3") + "v";
this.cv4.Text = PUB.BMS.CellVoltage[3].ToString("N3") + "v";
this.cv5.Text = PUB.BMS.CellVoltage[4].ToString("N3") + "v";
this.cv6.Text = PUB.BMS.CellVoltage[5].ToString("N3") + "v";
this.cv7.Text = PUB.BMS.CellVoltage[6].ToString("N3") + "v";
this.cv8.Text = PUB.BMS.CellVoltage[7].ToString("N3") + "v";
timer1.Start();
}
private void fAgv_VisibleChanged(object sender, EventArgs e)
{
this.timer1.Enabled = this.Visible;
}
private void button1_Click(object sender, EventArgs e)
{
PUB.BMS.SendQuery_ReadStatue();
}
private void button2_Click(object sender, EventArgs e)
{
PUB.BMS.SendQuery_ReadCellvoltage();
}
private void panel3_Paint(object sender, PaintEventArgs e)
{
}
private void panel4_Paint(object sender, PaintEventArgs e)
{
}
private void panel6_Paint(object sender, PaintEventArgs e)
{
}
private void panel8_Paint(object sender, PaintEventArgs e)
{
}
}
}

View File

@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

189
Cs_HMI/Project/ViewForm/fFlag.Designer.cs generated Normal file
View File

@@ -0,0 +1,189 @@
namespace Project.ViewForm
{
partial class fFlag
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.listView1 = new System.Windows.Forms.ListView();
this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.listView2 = new System.Windows.Forms.ListView();
this.columnHeader3 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.columnHeader4 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.listView3 = new System.Windows.Forms.ListView();
this.columnHeader5 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.columnHeader6 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.listView4 = new System.Windows.Forms.ListView();
this.columnHeader7 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.columnHeader8 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.tableLayoutPanel1.SuspendLayout();
this.SuspendLayout();
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.ColumnCount = 4;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25F));
this.tableLayoutPanel1.Controls.Add(this.listView1, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.listView2, 1, 0);
this.tableLayoutPanel1.Controls.Add(this.listView3, 2, 0);
this.tableLayoutPanel1.Controls.Add(this.listView4, 3, 0);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.Location = new System.Drawing.Point(3, 3);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 2;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(1050, 577);
this.tableLayoutPanel1.TabIndex = 6;
//
// listView1
//
this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.columnHeader1,
this.columnHeader2});
this.listView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.listView1.HideSelection = false;
this.listView1.Location = new System.Drawing.Point(3, 3);
this.listView1.Name = "listView1";
this.tableLayoutPanel1.SetRowSpan(this.listView1, 2);
this.listView1.Size = new System.Drawing.Size(256, 571);
this.listView1.TabIndex = 0;
this.listView1.UseCompatibleStateImageBehavior = false;
this.listView1.View = System.Windows.Forms.View.Details;
this.listView1.SelectedIndexChanged += new System.EventHandler(this.listView1_SelectedIndexChanged);
//
// columnHeader1
//
this.columnHeader1.Width = 120;
//
// columnHeader2
//
this.columnHeader2.Width = 120;
//
// listView2
//
this.listView2.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.columnHeader3,
this.columnHeader4});
this.listView2.Dock = System.Windows.Forms.DockStyle.Fill;
this.listView2.HideSelection = false;
this.listView2.Location = new System.Drawing.Point(265, 3);
this.listView2.Name = "listView2";
this.tableLayoutPanel1.SetRowSpan(this.listView2, 2);
this.listView2.Size = new System.Drawing.Size(256, 571);
this.listView2.TabIndex = 0;
this.listView2.UseCompatibleStateImageBehavior = false;
this.listView2.View = System.Windows.Forms.View.Details;
//
// columnHeader3
//
this.columnHeader3.Width = 120;
//
// listView3
//
this.listView3.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.columnHeader5,
this.columnHeader6});
this.listView3.Dock = System.Windows.Forms.DockStyle.Fill;
this.listView3.HideSelection = false;
this.listView3.Location = new System.Drawing.Point(527, 3);
this.listView3.Name = "listView3";
this.tableLayoutPanel1.SetRowSpan(this.listView3, 2);
this.listView3.Size = new System.Drawing.Size(256, 571);
this.listView3.TabIndex = 0;
this.listView3.UseCompatibleStateImageBehavior = false;
this.listView3.View = System.Windows.Forms.View.Details;
//
// columnHeader5
//
this.columnHeader5.Width = 120;
//
// listView4
//
this.listView4.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.columnHeader7,
this.columnHeader8});
this.listView4.Dock = System.Windows.Forms.DockStyle.Fill;
this.listView4.HideSelection = false;
this.listView4.Location = new System.Drawing.Point(789, 3);
this.listView4.Name = "listView4";
this.tableLayoutPanel1.SetRowSpan(this.listView4, 2);
this.listView4.Size = new System.Drawing.Size(258, 571);
this.listView4.TabIndex = 0;
this.listView4.UseCompatibleStateImageBehavior = false;
this.listView4.View = System.Windows.Forms.View.Details;
//
// columnHeader7
//
this.columnHeader7.Width = 120;
//
// timer1
//
this.timer1.Interval = 500;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
//
// fFlag
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(15)))), ((int)(((byte)(15)))), ((int)(((byte)(15)))));
this.ClientSize = new System.Drawing.Size(1056, 583);
this.Controls.Add(this.tableLayoutPanel1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Name = "fFlag";
this.Padding = new System.Windows.Forms.Padding(3);
this.Text = "fFlag";
this.Load += new System.EventHandler(this.fFlag_Load);
this.VisibleChanged += new System.EventHandler(this.fFlag_VisibleChanged);
this.tableLayoutPanel1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private System.Windows.Forms.Timer timer1;
private System.Windows.Forms.ListView listView1;
private System.Windows.Forms.ListView listView2;
private System.Windows.Forms.ListView listView3;
private System.Windows.Forms.ListView listView4;
private System.Windows.Forms.ColumnHeader columnHeader1;
private System.Windows.Forms.ColumnHeader columnHeader2;
private System.Windows.Forms.ColumnHeader columnHeader3;
private System.Windows.Forms.ColumnHeader columnHeader4;
private System.Windows.Forms.ColumnHeader columnHeader5;
private System.Windows.Forms.ColumnHeader columnHeader6;
private System.Windows.Forms.ColumnHeader columnHeader7;
private System.Windows.Forms.ColumnHeader columnHeader8;
}
}

View File

@@ -0,0 +1,145 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using COMM;
namespace Project.ViewForm
{
public partial class fFlag : Form
{
public fFlag()
{
InitializeComponent();
this.FormClosed += FIO_FormClosed;
}
private void fFlag_Load(object sender, EventArgs e)
{
MakeControl();
this.timer1.Start();
}
void MakeControl()
{
ListView[] lvs = new ListView[] { listView1, listView2, listView3, listView4 };
foreach (var lv in lvs)
{
lv.Columns.Clear();
lv.Columns.Add("Idx");
lv.Columns.Add("Title");
lv.Columns.Add("Value");
lv.Columns[0].Width = 25;
lv.Columns[1].Width = 150;
lv.Columns[2].Width = 100;
}
Array valuelist;
valuelist = Enum.GetValues(typeof(COMM.eVarBool));
foreach (var item in valuelist)
{
var v = (COMM.eVarBool)item;
var lv = listView1.Items.Add($"{(int)v}");
lv.SubItems.Add($"{item}");
lv.SubItems.Add("--");
}
valuelist = Enum.GetValues(typeof(COMM.eVarInt32));
foreach (var item in valuelist)
{
var v = (COMM.eVarInt32)item;
var lv = listView2.Items.Add($"{(int)v}");
lv.SubItems.Add($"{item}");
lv.SubItems.Add("--");
}
valuelist = Enum.GetValues(typeof(COMM.eVarString));
foreach (var item in valuelist)
{
var v = (COMM.eVarString)item;
var lv = listView3.Items.Add($"{(int)v}");
lv.SubItems.Add($"{item}");
lv.SubItems.Add("--");
}
valuelist = Enum.GetValues(typeof(COMM.eVarTime));
foreach (var item in valuelist)
{
var v = (COMM.eVarString)item;
var lv = listView4.Items.Add($"{(int)v}");
lv.SubItems.Add($"{item}");
lv.SubItems.Add("--");
}
}
private void FIO_FormClosed(object sender, FormClosedEventArgs e)
{
this.timer1.Stop();
}
bool tmrun = false;
private void timer1_Tick(object sender, EventArgs e)
{
timer1.Stop();
listView1.SuspendLayout();
foreach (ListViewItem item in listView1.Items)
{
var idx = int.Parse(item.SubItems[0].Text);
var v = VAR.BOOL.Get(idx);
var desc = VAR.BOOL.GetCodeDesc(idx);
item.SubItems[2].Text = v ? "O" : "X";
}
listView1.ResumeLayout();
listView2.SuspendLayout();
foreach (ListViewItem item in listView2.Items)
{
var idx = int.Parse(item.SubItems[0].Text);
var v = VAR.I32.Get(idx);
var desc = VAR.I32.GetCodeDesc(idx);
item.SubItems[2].Text = v.ToString();
}
listView2.ResumeLayout();
listView3.SuspendLayout();
foreach (ListViewItem item in listView3.Items)
{
var idx = int.Parse(item.SubItems[0].Text);
var v = VAR.STR.Get(idx);
var desc = VAR.STR.GetCodeDesc(idx);
item.SubItems[2].Text = v;
}
listView3.ResumeLayout();
listView4.SuspendLayout();
foreach (ListViewItem item in listView4.Items)
{
var idx = int.Parse(item.SubItems[0].Text);
var v = VAR.TIME.Get(idx);
var desc = VAR.TIME.GetCodeDesc(idx);
item.SubItems[2].Text = v.ToString("HH:mm:ss.fff");
}
listView4.ResumeLayout();
timer1.Start();
}
private void fFlag_VisibleChanged(object sender, EventArgs e)
{
this.timer1.Enabled = this.Visible;
if (timer1.Enabled) timer1.Start();
else timer1.Stop();
}
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
}
}
}

View File

@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>

302
Cs_HMI/Project/ViewForm/fIO.Designer.cs generated Normal file
View File

@@ -0,0 +1,302 @@
namespace Project.ViewForm
{
partial class fIO
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
arFrame.Control.ColorListItem colorListItem1 = new arFrame.Control.ColorListItem();
arFrame.Control.ColorListItem colorListItem2 = new arFrame.Control.ColorListItem();
arFrame.Control.ColorListItem colorListItem3 = new arFrame.Control.ColorListItem();
arFrame.Control.ColorListItem colorListItem4 = new arFrame.Control.ColorListItem();
arFrame.Control.ColorListItem colorListItem5 = new arFrame.Control.ColorListItem();
arFrame.Control.ColorListItem colorListItem6 = new arFrame.Control.ColorListItem();
arFrame.Control.ColorListItem colorListItem7 = new arFrame.Control.ColorListItem();
arFrame.Control.ColorListItem colorListItem8 = new arFrame.Control.ColorListItem();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fIO));
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.HWState = new arFrame.Control.GridView();
this.tblMain = new arFrame.Control.GridView();
this.panel1 = new System.Windows.Forms.Panel();
this.label1 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.panel2 = new System.Windows.Forms.Panel();
this.button2 = new System.Windows.Forms.Button();
this.button3 = new System.Windows.Forms.Button();
this.button1 = new System.Windows.Forms.Button();
this.tableLayoutPanel1.SuspendLayout();
this.panel1.SuspendLayout();
this.panel2.SuspendLayout();
this.SuspendLayout();
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.ColumnCount = 1;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.Controls.Add(this.HWState, 0, 2);
this.tableLayoutPanel1.Controls.Add(this.tblMain, 0, 1);
this.tableLayoutPanel1.Controls.Add(this.panel1, 0, 0);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 3;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 58F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(957, 583);
this.tableLayoutPanel1.TabIndex = 5;
//
// HWState
//
this.HWState.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.HWState.BorderSize = 0;
colorListItem1.BackColor1 = System.Drawing.Color.Gray;
colorListItem1.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
colorListItem1.Remark = "타이틀바(상)";
colorListItem2.BackColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
colorListItem2.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
colorListItem2.Remark = "상태표시(하)";
colorListItem3.BackColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
colorListItem3.BackColor2 = System.Drawing.Color.Lime;
colorListItem3.Remark = "정상";
colorListItem4.BackColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
colorListItem4.BackColor2 = System.Drawing.Color.Red;
colorListItem4.Remark = "오류";
colorListItem5.BackColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
colorListItem5.BackColor2 = System.Drawing.Color.Yellow;
colorListItem5.Remark = "오류(깜박)";
colorListItem6.BackColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
colorListItem6.BackColor2 = System.Drawing.Color.DarkViolet;
colorListItem6.Remark = "오류(유효)";
this.HWState.ColorList = new arFrame.Control.ColorListItem[] {
colorListItem1,
colorListItem2,
colorListItem3,
colorListItem4,
colorListItem5,
colorListItem6};
this.HWState.Dock = System.Windows.Forms.DockStyle.Fill;
this.HWState.Font = new System.Drawing.Font("Consolas", 13F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.HWState.FontPin = new System.Drawing.Font("Consolas", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.HWState.ForeColor = System.Drawing.Color.Moccasin;
this.HWState.ForeColorPin = System.Drawing.Color.Moccasin;
this.HWState.Location = new System.Drawing.Point(0, 525);
this.HWState.Margin = new System.Windows.Forms.Padding(0);
this.HWState.MatrixSize = new System.Drawing.Point(4, 2);
this.HWState.MenuBorderSize = 1;
this.HWState.MenuGap = 5;
this.HWState.MinimumSize = new System.Drawing.Size(100, 0);
this.HWState.Name = "HWState";
this.HWState.Names = new string[] {
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""};
this.HWState.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.HWState.showDebugInfo = false;
this.HWState.ShowIndexString = false;
this.HWState.Size = new System.Drawing.Size(957, 58);
this.HWState.TabIndex = 9;
this.HWState.Tags = null;
this.HWState.Text = "gridView3";
this.HWState.TextAttachToImage = true;
this.HWState.Titles = new string[] {
"AGV|XBE|PLC|BAT|",
"C00|C00|C00|C00|"};
this.HWState.Values = new ushort[] {
((ushort)(0)),
((ushort)(0)),
((ushort)(0)),
((ushort)(0)),
((ushort)(1)),
((ushort)(1)),
((ushort)(1)),
((ushort)(1))};
//
// tblMain
//
this.tblMain.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
this.tblMain.BorderSize = 1;
colorListItem7.BackColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
colorListItem7.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(18)))), ((int)(((byte)(18)))), ((int)(((byte)(18)))));
colorListItem7.Remark = "";
colorListItem8.BackColor1 = System.Drawing.Color.Orange;
colorListItem8.BackColor2 = System.Drawing.Color.DarkOrange;
colorListItem8.Remark = "";
this.tblMain.ColorList = new arFrame.Control.ColorListItem[] {
colorListItem7,
colorListItem8};
this.tblMain.Cursor = System.Windows.Forms.Cursors.Arrow;
this.tblMain.Dock = System.Windows.Forms.DockStyle.Fill;
this.tblMain.Font = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.tblMain.FontPin = new System.Drawing.Font("Consolas", 8.25F, System.Drawing.FontStyle.Bold);
this.tblMain.ForeColor = System.Drawing.Color.White;
this.tblMain.ForeColorPin = System.Drawing.Color.WhiteSmoke;
this.tblMain.Location = new System.Drawing.Point(3, 23);
this.tblMain.MatrixSize = new System.Drawing.Point(8, 4);
this.tblMain.MenuBorderSize = 1;
this.tblMain.MenuGap = 5;
this.tblMain.MinimumSize = new System.Drawing.Size(100, 50);
this.tblMain.Name = "tblMain";
this.tblMain.Names = null;
this.tblMain.ShadowColor = System.Drawing.Color.Black;
this.tblMain.showDebugInfo = false;
this.tblMain.ShowIndexString = true;
this.tblMain.Size = new System.Drawing.Size(951, 499);
this.tblMain.TabIndex = 4;
this.tblMain.Tags = null;
this.tblMain.Text = "gridView1";
this.tblMain.TextAttachToImage = true;
this.tblMain.Titles = null;
this.tblMain.Values = null;
this.tblMain.ItemClick += new System.EventHandler<arFrame.Control.GridView.ItemClickEventArgs>(this.tblIn1_ItemClick);
//
// panel1
//
this.panel1.Controls.Add(this.label1);
this.panel1.Controls.Add(this.label3);
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel1.Location = new System.Drawing.Point(3, 3);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(951, 14);
this.panel1.TabIndex = 6;
//
// label1
//
this.label1.Dock = System.Windows.Forms.DockStyle.Fill;
this.label1.ForeColor = System.Drawing.Color.White;
this.label1.Location = new System.Drawing.Point(0, 0);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(551, 14);
this.label1.TabIndex = 5;
this.label1.Text = "label1";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// label3
//
this.label3.Dock = System.Windows.Forms.DockStyle.Right;
this.label3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(128)))));
this.label3.Location = new System.Drawing.Point(551, 0);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(400, 14);
this.label3.TabIndex = 6;
this.label3.Text = "label3";
this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// timer1
//
this.timer1.Interval = 200;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
//
// panel2
//
this.panel2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(120)))), ((int)(((byte)(120)))), ((int)(((byte)(120)))));
this.panel2.Controls.Add(this.button2);
this.panel2.Controls.Add(this.button3);
this.panel2.Controls.Add(this.button1);
this.panel2.Dock = System.Windows.Forms.DockStyle.Right;
this.panel2.Location = new System.Drawing.Point(957, 0);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(99, 583);
this.panel2.TabIndex = 6;
//
// button2
//
this.button2.Dock = System.Windows.Forms.DockStyle.Fill;
this.button2.Image = ((System.Drawing.Image)(resources.GetObject("button2.Image")));
this.button2.Location = new System.Drawing.Point(0, 100);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(99, 383);
this.button2.TabIndex = 1;
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// button3
//
this.button3.Dock = System.Windows.Forms.DockStyle.Bottom;
this.button3.Image = ((System.Drawing.Image)(resources.GetObject("button3.Image")));
this.button3.Location = new System.Drawing.Point(0, 483);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(99, 100);
this.button3.TabIndex = 2;
this.button3.UseVisualStyleBackColor = true;
this.button3.Click += new System.EventHandler(this.button3_Click_1);
//
// button1
//
this.button1.Dock = System.Windows.Forms.DockStyle.Top;
this.button1.Image = ((System.Drawing.Image)(resources.GetObject("button1.Image")));
this.button1.Location = new System.Drawing.Point(0, 0);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(99, 100);
this.button1.TabIndex = 0;
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// fIO
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(15)))), ((int)(((byte)(15)))), ((int)(((byte)(15)))));
this.ClientSize = new System.Drawing.Size(1056, 583);
this.Controls.Add(this.tableLayoutPanel1);
this.Controls.Add(this.panel2);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Name = "fIO";
this.Text = "fIO";
this.Load += new System.EventHandler(this.fIO_Load);
this.VisibleChanged += new System.EventHandler(this.fIO_VisibleChanged);
this.tableLayoutPanel1.ResumeLayout(false);
this.panel1.ResumeLayout(false);
this.panel2.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private arFrame.Control.GridView tblMain;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private System.Windows.Forms.Timer timer1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Panel panel1;
private arFrame.Control.GridView HWState;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.Button button1;
}
}

View File

@@ -0,0 +1,204 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Project.ViewForm
{
public partial class fIO : Form
{
public fIO()
{
InitializeComponent();
tblMain.SuspendLayout();
//이름설정 INput #1
List<string> namearray = new List<string>(32);
List<string> tagarray = new List<string>(32);
namearray.Clear();
tagarray.Clear();
for (byte i = 0; i < 16; i++)
{
var flagName = ((arDev.FakePLC.DIName)i).ToString();
var enumValue = Enum.Parse(typeof(arDev.FakePLC.DIPin), flagName);
if (flagName == i.ToString()) tagarray.Add(string.Empty);
else
{
//동일한 이름의 pin 번호르 찾아서 할당해준다.
var eV = (arDev.FakePLC.DIPin)enumValue;
tagarray.Add(((byte)eV).ToString());
}
namearray.Add(flagName.Replace("_", "\n"));
}
for (byte i = 0; i < 8; i++)
{
var flagName = ((arDev.FakePLC.DOName)i).ToString();
var enumValue = Enum.Parse(typeof(arDev.FakePLC.DOPin), flagName);
if (flagName == i.ToString()) tagarray.Add(string.Empty);
else
{
//동일한 이름의 pin 번호르 찾아서 할당해준다.
var eV = (arDev.FakePLC.DOPin)enumValue;
tagarray.Add(((byte)eV).ToString());
}
namearray.Add(flagName);
}
this.tblMain.setTitle(namearray.ToArray());
this.tblMain.setTag(tagarray.ToArray());
this.tblMain.setItemTextAlign(ContentAlignment.BottomLeft);
//값설정
List<Boolean> fgValueM = new List<bool>();
List<Boolean> fgValueS = new List<bool>();
//mainplc
for (byte i = 0; i < 16; i++)
fgValueM.Add(PUB.PLC.GetValueI(i));
for (byte i = 0; i < 16; i++)
fgValueM.Add(PUB.PLC.GetValueO(i));
tblMain.setValue(fgValueM.ToArray());
tblMain.ResumeLayout();
this.FormClosed += FIO_FormClosed;
UpdateControl();
}
void Update_HWStatus()
{
var rownum = 1;
var colIdx = 0;
if (PUB.AGV.IsOpen == false) BlinkGridViewItem(HWState, rownum, colIdx++, 3, 4);
else HWState.setValue(rownum, colIdx++, 2); //
if (PUB.XBE.IsOpen == false) BlinkGridViewItem(HWState, rownum, colIdx++, 3, 4);
else HWState.setValue(rownum, colIdx++, 2); //
if (PUB.PLC.IsOpen == false) BlinkGridViewItem(HWState, rownum, colIdx++, 3, 4);
else HWState.setValue(rownum, colIdx++, 2); //
if (PUB.BMS.IsOpen == false) BlinkGridViewItem(HWState, rownum, colIdx++, 3, 4);
else HWState.setValue(rownum, colIdx++, 2); //
}
void BlinkGridViewItem(arFrame.Control.GridView ctl, int row, int col, int value1, int value2)
{
var curValue = ctl.getValue(row, col);
ctl.setValue(row, col, (byte)(curValue == value1 ? value2 : value1)); //
}
void UpdateControl()
{
var rowNum = 1;
var colIdx = 0;
HWState.setTitle(0, colIdx++, "AGV");
HWState.setTitle(0, colIdx++, "XBE");
HWState.setTitle(0, colIdx++, "PLC");
HWState.setTitle(0, colIdx++, "BAT");
colIdx = 0;
HWState.setTitle(rowNum, colIdx++, PUB.setting.Port_AGV);
HWState.setTitle(rowNum, colIdx++, PUB.setting.Port_XBE);
HWState.setTitle(rowNum, colIdx++, PUB.setting.Port_PLC);
HWState.setTitle(rowNum, colIdx++, PUB.setting.Port_BAT);
HWState.Invalidate();
}
private void fIO_Load(object sender, EventArgs e)
{
this.timer1.Start();
}
private void FIO_FormClosed(object sender, FormClosedEventArgs e)
{
//Pub.plcM.ValueChanged -= Plc1_ValueChanged;
//Pub.plcS.ValueChanged -= Plc2_ValueChanged;
}
private void tblIn1_ItemClick(object sender, arFrame.Control.GridView.ItemClickEventArgs e)
{
var dataIndex = (byte)e.idx;
if (dataIndex >= 16)
{
var ctl = sender as arFrame.Control.GridView;
var pinNoStr = ctl.Tags[e.idx];
if (pinNoStr.isEmpty() == true)
{
Util.MsgE("해당 포트는 핀번호가 설정되지 않았습니다", true);
}
else
{
var pinNo = byte.Parse(pinNoStr);
var curVal = PUB.PLC.GetValueO((byte)(dataIndex - 16));
PUB.PLC.SetOutput(pinNo, !curVal);// .Sendcommand(Device.PLC1.eCommand.SET_DOUTPUT, pinNo, newval);
}
}
else Util.MsgE("해당 주소는 허용되지 않습니다.", true);
}
bool tmrun = false;
private void timer1_Tick(object sender, EventArgs e)
{
if (this.Visible == false) return;
if (tmrun == true) return;
tmrun = true;
label1.Text = string.Format("{0} / {1}",
PUB.PLC.ioBinStr, PUB.PLC.SetupStr);
label3.Text = PUB.PLC.LastMessage;
Update_HWStatus();
List<Boolean> fgValueM = new List<bool>();
List<Boolean> fgValueS = new List<bool>();
//mainplc
for (byte i = 0; i < 16; i++)
this.tblMain.setValue(i, PUB.PLC.GetValueI(i));
for (byte i = 0; i < 16; i++)
this.tblMain.setValue(i + 16, PUB.PLC.GetValueO(i));
this.tblMain.Invalidate();
tmrun = false;
}
private void fIO_VisibleChanged(object sender, EventArgs e)
{
this.timer1.Enabled = this.Visible;
if (timer1.Enabled) timer1.Start();
else timer1.Stop();
}
private void button1_Click(object sender, EventArgs e)
{
PUB.PLC.ZMot(arDev.FakePLC.ZMotDirection.Up);
}
private void button2_Click(object sender, EventArgs e)
{
PUB.PLC.ZMot(arDev.FakePLC.ZMotDirection.Stop);
}
private void button3_Click_1(object sender, EventArgs e)
{
PUB.PLC.ZMot(arDev.FakePLC.ZMotDirection.Down);
}
}
}

View File

@@ -0,0 +1,214 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="button2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAABGdBTUEAALGPC/xhBQAAA/ZJREFUWEfd
WLtOG0EUtZR0ST4jDyVR8gE0GNtrGxKlwKYAFOAHMA9DxRsaCl6/kR5RpiH4AY0DOBgpiYkjmoCR2LUp
smhzzjLgRwZ7/QpWjnSk9e7M3OOZO3PvHdt/i4jd/jrsco1uezwbEY8nGVGUTMjp1Ek+4913fgu5XCNs
K7o1FpstLY8iLtd4xO1O7XR0qIcDAxfHwaCRnp01tMVFI7u0ZJLPfHc8NmYc9vdn2RZ9foSdzuDH1taH
Yrj6AYPeDytKEOLUeG9v5mRy0rhYWbHO5WWDfeI9PRpmXeXMc0wxfG3YUpRnUUU53O3qUs/m5+UCKiDH
2PX51Kjbndi0258KM9UBS/IO4rSfw8OXMmO1MBUIXGJFtFBb21thrjJEHI4+/MtMemZGaqAePJ2eNqIe
TybidL4XZq3BnDmIO1tYkA5cT3LJKXLL4XgjzJeG8DmtkTNXzNOpKYPLjVV7ImTIwZ3FDdEInytH+KSO
VTsoubu5/T/7/eeyAf4FY36/hpkcEXIKIQ5ha0fJ6uoVZd9ktNj+bG7OQBQ6lx7mEDfOQ1jWsYAwpMfj
hr63Z1mkHosZeiJhXKytSb/nM97drTHiCFk5MHydwFllnW4oxF3DikiKu4YVkYw48MUjIesKDOaMlwxJ
sk75zDdIlBJZSdsbQsN2e7v2SVFeCnnmuRdk4Jd2kNCK4arECTLBgKYhIc9mY1rErETW+DaWElCLOJJa
oGldyDMFJpkeyRqXokxIreLINEIgNH0V8uCDiBzM4WSNy7FYUD6qEUeq0IL0ThXybDZmwVkLG+Q2ykRW
K47MIOmFD/4W8hokcH+/fgKbfombfpPgxwYLHFnj21hKSK0ij0dHDVSFuWOGWQwOx6Y5qBN9fVloCgh5
EOhwvGqqUOf1alG7/YWQd4VttztZtpzE4Nyd17BiMF+kfnBQNln4NTHxd7JAMB6zbpV1KqAQWcmSUaQV
caSZbsHlhKwcmCTiw50mrGkkrDhezmOK8kDIKkTI4RhBUX03KT98L+bzaWG3O5fFFMMsmlDxs6iWDtJA
pgYHdYj78sHvvyfkyMHrCJaALKplAzWCzOQZzeBij4WM0uB1BA7KTD3uYsrRLJQ8nmzE6ewQ5q2B1xGs
+FlUywauBzlztIGZ6xVmKwOvI7jcqaGh+vokNgR9jsta8cwVg9cRrPhR0KtcDqnBCsijJNbZqXJDWPa5
cuDuxj8dZlHNw9yMOJXkj2hrXmDyEMYYEBYou1urgXmYI+Kghj7a8XpVVl/mFTB2vHkFDCGkeQWMd8xK
GPhZRqJPEsJ4s1r/K2AZGMxZGiJVW4cLfKOv3lyi49l8h29sg2Tkuej2v8Fm+wNDbvcV8BObjwAAAABJ
RU5ErkJggg==
</value>
</data>
<data name="button3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAABGdBTUEAALGPC/xhBQAABnlJREFUWEfd
WGlzU1UYzoz6xe1PqOMyjqP/wE/OIDa5SanIUqUgZWQtlBaS3CzUQhfQERBwKcii7KvNvTdpKNDUBSGd
oePYQlu2tIAUbQtZAGl7fJ/Tc5tSa7m3gRF5Zs7Myb3nPe+Tc971Wh5Z2JzqK1muwDyHr+aQwxdqlTzB
6za3chsDczzDO6yxy4GXhdiDxVuLQ09JbrXA7gmen+CtScxcczJZtKWVeXd3sOWHOll5oIsPzH2729ni
zS3sw89OpLL9NQmHJ3jO6lIWZPmrnxTb3T/k5Ox+zObR5uNkpq36OSHvjLFKtYet1IyObibvvMggK8na
dUlW52FPsX1msC4NPm/3hJqmlEXiy/ZdGVRaFviTFW1tZbPXNbDpKyPsvZIaRor5mEhzPJu9LsqKaU05
rdXl/PsusylldXG7V/uN1j4n1IwNNqf2Nv3jeMGm5l5dQcn+K+yjz6Ms2xtkhRt+Ygfqz7HTsW7Wk7jN
env7+cAcz/ZHzrLC9T+yCb4QyTRwWeyB0y+oau4lU4lnudRxQp052DzKZIc3mPSSLWHTCqWLzd1wiivb
qDZzEkaBtZCB7LwvGvle2NOzK8aIZFJyK5OEWmOwugLj7UROv1L889yyY6x0W5Rd67kp1JpHZ3eKlWyJ
srzKCHck7O3fe5lIhlKGT/IdufoFutaEfnK+PZfIpsJsR20r6+8XmjIA9thOe00uPczJDTnJOOxd0BgZ
8Cy7N9S8aNNpbnM4OZCLNF4S298/1J26RCRrB0+S2yQ5zqjeLXnUgqnkYRCAnbxfXsdPzggoxt01jGB7
+Az7gK4buuA45N0JhDNB527k+I8+Lbm1GyX7B44dDgGbM3qtIAU5DKMEsTdscv5Xv3I5XLkkB68jIQha
aVBMKsz75HgCC3G18DgzDjEWggAcZ+KymsGrRjC3ydpCQSsNsr3zMFYsQpxDWDCDsRIEqgLNbM76Bi6L
LEVp8YKgNQCrS3ttgj8chx0gQ+D0zMQ5IBOC3fFbXCfyODggz6MYEfTo9NzKollroilsjvSFDGEWmRAE
FlHGWbKtjcvnr46mJFlZIOhZLNnekFpMVQleIrcifZlFpgSRFueQbsgXbWlhDm9NQNCzWBxkfwjIeIkk
jzxqFpkSbLrQxWasqufyvj0djOrJs4Ie5V05mCj7/hp/CY8ya39ApgRhh9AN+RXExS4H44IeEXSpvZXq
QAK3yxq709snxIwjU4J/3emjdKdxeQRum1u9I+j9HwjKavKhuuLqYVdMXnzRv/chchLqcYjTOUGPvNgX
1hD/8BJl+n8VZhDiIA8uDk9IEfToit3q4vy10Zt4iR4CZfpoOBxth41wIkPHUILDx47aFiE9MhauSwfq
matPpmyyks7Hkkt5XU91aHCMpLrQiRibQvXcxwd+HyQ2fCBcoBL/lsqq0dB14xbLGZrqfOH4eFfgVUFv
ABSs29PFQgOrUu5dLAR/ibHJy2tZ6YGrYyYHfB1oYrOpQIGcvKsdLUBM0EqDQs2SvE+PJ7FIL7dQCt0L
B384z6auOMJKRblkltzVrhTXVSJuAiWf5A4WC1ppjPOrz1IMjOut4dwNjbyYNFKwwqlAcvnBTlPksLd/
80k298tGrnMZ9czgYC0+9IygdTfAPLciwotWBMtpVI5vPzy6cevYdaSVSB6lNsEYOQDr8lbWc13QObU8
kkDhLOj8E2/6jz5OvXBr4Tdn+iCAKncSdV91Bpum7+jPGCV3bFjTRI1aH3V2LeAg6IwMfImitjOJYAlB
9AkgCeVG+5PRgD2wF5wLn0GgAx+aqBdJWGXtRUFjdBBJBxp33R7xL9FswyaNOM6/4SrJwuZwrfrJwe4o
giSz3IpNqDcGyanNoD5l8CRhJ+i+3qV8iR4CudMoEOeqlCburUM/feDkKGOkbE4lT6g1B5tbs+O6dZvU
TxMNDpShTEeKar7YxQmjCkJVgjly6766szxDYC3SmB5KMAo3nu7DtZo+ueGATVIZ1JZbUZ/QrxwDUR+p
iX9+oySPSgSlGgbmeIYSvnhrG1+ry+FK4a1wxixn9UtCTWbIz48+gUBOjX1iOgVzj/huY2YgSyERoIyi
P1F0T28dCxDMqUhwkd10IHfPWtNwCycETy+r/mOQDObocXDC+WsbbmKtw6N1SC7NiT3Edg8W1qXqG1an
WpztC4Wp0Y7BVvXKBXM8o8YnTL+LUIwIsUcNFsvfgCyVUQFWoEAAAAAASUVORK5CYII=
</value>
</data>
<data name="button1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAABGdBTUEAALGPC/xhBQAABrZJREFUWEfd
WGlPVFcYnqTtl25/om3amqZp/0E/NbGW2YAqLlXaCta44AI4M3cWKQhI2xjUVhPrgl0UxQaZuXcWEQW3
CJjaloIDQgWqVmVzZkBkZk7f5865MlSK9zKaJj7JSc5w7znn4T3v9lzdUwuDRZyTZnWvNjv9tWanr9No
944YbJ5xDMzxNzzDOybB/SZf9mTx/kbfC0abmGeye3syHP7w8srmSP6BTuao7mcltbdYmXtQHpg7q/vY
xv1B9tm2i6PpLn/YbPd2662etWmuuuf5do8PmZnVzxjs0hpYZtmX58PCoV62VRxmFZLaMcSEQ9cY1hoF
acQoiKuxJ98+Neg3eV812X1/LCptDG2uufHg0HLPICs8eJV9vrM1ml3RNDG/KBBPd0gMA/NlFY3RlTta
JwoPdslWVda5aq6zRaWnQyaH1EZEX+HHzA4Gi/QB/cehvL3tUeWALXW32cqdl6IZTi9bu+MMO9LQxX7r
HmCDd++xsfGoPDBv6xlgNaevsnU7zzK8u2JHS7To55vyHrB+3p72KLlKKM0qzuXHaYPB7llodngjDvIl
eVPPEFuz+/fYgiI/23W8jQ2MjDG1AOE97naWSURXfXs5ButjT/vhXkYkI0abJ4sfqw56q3seyClXCqtl
V5yNOfc3s78HR/mx2nFraJQVVbWwpVuboggk7O06el0mqdqSHwp1r9G1hhXLFR27wRaWnIxX+YMsHucn
pQDs8VN9kGWV1MdBLsmSIfg7pzE9EFkmh699/d4O2edgOZCrb+3n28+M7wNX2D6pg/+aGU2/XpdJKpaU
fZICZ8boNtrFvMUUYVgAn8O1wnJqAHIfl52SB+ZqcPhkJ1tW0RSFTyJwKLrDSGeczlRkuhpeNNqku0XH
EmZHQMDn1FwrCC0pbZAT9Jbjt2l+SpUlsXfxwVa26pvLMZyJKzcK3hEUBE5rEpSTNmR/dSGsXC2iVU1A
JJPDWnm9BpJ3hsdYhstLvp5IQUjmBkFax2lNgkrRNeFwIjCQ55BKHoXpyClDC8l93g6Wu71Z9nshETA9
nFYCeqv0doYrEIIfwB+QWB+V52Yipwy1JIfD4/KZpe4B2RdR59GMcHo6ncnmWZ9T2TKKTVG+UCFmwo8n
gowK/0NDITbdswNkpZmQv+scK6DGA+uXb2seNQqetZyeTpfu8InKQ9TWaipfWgESyQS1ovZMN1uxvWUC
6/MPBJnZ4XdzeuR/Dl+P88hf8ubZVORRR7UiVYLBviGqMKdlP3Qe6WfUT17l9KjuCt5wKfkLHs7/IhC/
o6HOKkiV4N3IOMt0+eT18F2T4A1xekTQKka3iokCjnYJHYlWpEowFoszgyDKQYJANdjECU5vKkGzXWL3
7v8/BKlb/w+CghhJvmItrZSCVAmGRu9TquFXTIViyhVTFF9zHU0Kkj8H+TL1SJVgsG+YLS3nQUIahzh1
c3oUxc6AlF+lpJmWKDphrUiVYN25HkozzYk0Q1zMdp+H06MrtokbcytbxvAQiRptulakSrBw93k5/2E9
qcUxg+CZrMdGq+cdpdRB4KDsoE3XglQIJvzPy8rqeKlzBkLzrO63OL0EKFn3obPFARA40BBakArBKv8V
llt5kTcLfWgWejmtSVCqKcz++kIEL0F9QeBAQ6jFbAkiYyTarYT+QctntHkLOK1JzHWJL5tIYiovQn1B
4KjVIbMlWPbDJWrvfpEb1s2kmcFBX1D7Eqc1FWC+pLxRblqRLKG+IHDUAKSShxrUNHYjtTyQoYvLGsNo
nDmdh/Geq+FZkpudG/Zdkf8j9HpZJSfiEDiPG+fbbrIFxSfixbyfJKEWI98LggOnMz3wJYpkZwTJEguh
ExYW18cPkcB5HLITgOWyiJzSQeFDE2mRsF6QXuc0ZgaRNJP8jCj+CEviuiFwoCFmCwQEfA7XqlgOfkcZ
JJJm8xj48epgtEifgqRiSfgJ1Bcibi+18CPUHqkF8hxSCdYiIBSfg+WoYowaLJ5sfqw2GGySCdet+CQG
1BeVJPnjEdp0dMJoNqErFIA8aivKFyoEWjjkOeVGMDZ81xHDtWq23L8BnzTZpa4l5U3h5AMgcCAT0Kaj
E/5ocyCuRDDmKPwrKpsnUFdRIZR1uFJEK4IxzVL3Bj8mNeTktDyHRE7CPvwJJXM7/26jZaBKoRCgjaJc
l//IaJ0NkMypsbCS3/SjdudWtt4rqOqSI7207s4DMpgjQvHxMmd76xjepUa432iVLNiDb/dkod8kvqu3
iAXpTl+ARH8vfFW5YszxNxI+Afqdj2aEL3vaoNP9AxkclDhe7/QIAAAAAElFTkSuQmCC
</value>
</data>
</root>

View File

@@ -0,0 +1,900 @@
namespace Project.ViewForm
{
partial class fManual
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.btStart = new arCtl.arLabel();
this.btRight = new arCtl.arLabel();
this.btBack = new arCtl.arLabel();
this.btForward = new arCtl.arLabel();
this.btLeft = new arCtl.arLabel();
this.btMarkStop = new System.Windows.Forms.Button();
this.btchargeOff = new System.Windows.Forms.Button();
this.btChargeOn = new System.Windows.Forms.Button();
this.btErrReset = new System.Windows.Forms.Button();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.panel2 = new System.Windows.Forms.Panel();
this.button1 = new System.Windows.Forms.Button();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.radpbs2 = new AGVControl.MyRadioButton();
this.panel9 = new System.Windows.Forms.Panel();
this.radpbs1 = new AGVControl.MyRadioButton();
this.panel3 = new System.Windows.Forms.Panel();
this.radpbs0 = new AGVControl.MyRadioButton();
this.grpSpeed = new System.Windows.Forms.GroupBox();
this.radspdh = new AGVControl.MyRadioButton();
this.panel8 = new System.Windows.Forms.Panel();
this.radspdm = new AGVControl.MyRadioButton();
this.panel4 = new System.Windows.Forms.Panel();
this.radspdl = new AGVControl.MyRadioButton();
this.grpBunki = new System.Windows.Forms.GroupBox();
this.radright = new AGVControl.MyRadioButton();
this.panel7 = new System.Windows.Forms.Panel();
this.radstrai = new AGVControl.MyRadioButton();
this.panel5 = new System.Windows.Forms.Panel();
this.radleft = new AGVControl.MyRadioButton();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.arLabel1 = new arCtl.arLabel();
this.panel12 = new System.Windows.Forms.Panel();
this.radbackward = new AGVControl.MyRadioButton();
this.panel6 = new System.Windows.Forms.Panel();
this.radforward = new AGVControl.MyRadioButton();
this.label1 = new System.Windows.Forms.Label();
this.guideSensor1 = new Narumi.UC.GuideSensor();
this.tableLayoutPanel1.SuspendLayout();
this.panel2.SuspendLayout();
this.groupBox1.SuspendLayout();
this.grpSpeed.SuspendLayout();
this.grpBunki.SuspendLayout();
this.groupBox2.SuspendLayout();
this.SuspendLayout();
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.ColumnCount = 3;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F));
this.tableLayoutPanel1.Controls.Add(this.btStart, 1, 1);
this.tableLayoutPanel1.Controls.Add(this.btRight, 2, 1);
this.tableLayoutPanel1.Controls.Add(this.btBack, 1, 0);
this.tableLayoutPanel1.Controls.Add(this.btForward, 1, 2);
this.tableLayoutPanel1.Controls.Add(this.btLeft, 0, 1);
this.tableLayoutPanel1.Controls.Add(this.btMarkStop, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.btchargeOff, 2, 2);
this.tableLayoutPanel1.Controls.Add(this.btChargeOn, 0, 2);
this.tableLayoutPanel1.Controls.Add(this.btErrReset, 2, 0);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Left;
this.tableLayoutPanel1.Location = new System.Drawing.Point(3, 21);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 3;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.33333F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.33333F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 33.33333F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(604, 555);
this.tableLayoutPanel1.TabIndex = 7;
//
// btStart
//
this.btStart.BackColor = System.Drawing.Color.Gray;
this.btStart.BackColor2 = System.Drawing.Color.Black;
this.btStart.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
this.btStart.BorderColor = System.Drawing.Color.Black;
this.btStart.BorderColorOver = System.Drawing.Color.DarkBlue;
this.btStart.BorderSize = new System.Windows.Forms.Padding(1);
this.btStart.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
this.btStart.Cursor = System.Windows.Forms.Cursors.Hand;
this.btStart.Dock = System.Windows.Forms.DockStyle.Fill;
this.btStart.Font = new System.Drawing.Font("맑은 고딕", 20F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.btStart.ForeColor = System.Drawing.Color.White;
this.btStart.GradientEnable = true;
this.btStart.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal;
this.btStart.GradientRepeatBG = false;
this.btStart.isButton = true;
this.btStart.Location = new System.Drawing.Point(204, 188);
this.btStart.MouseDownColor = System.Drawing.Color.Yellow;
this.btStart.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.btStart.msg = new string[] {
"커버",
"UP"};
this.btStart.Name = "btStart";
this.btStart.ProgressBorderColor = System.Drawing.Color.Black;
this.btStart.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
this.btStart.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
this.btStart.ProgressEnable = false;
this.btStart.ProgressFont = new System.Drawing.Font("Consolas", 10F);
this.btStart.ProgressForeColor = System.Drawing.Color.Black;
this.btStart.ProgressMax = 100F;
this.btStart.ProgressMin = 0F;
this.btStart.ProgressPadding = new System.Windows.Forms.Padding(0);
this.btStart.ProgressValue = 0F;
this.btStart.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
this.btStart.Sign = "";
this.btStart.SignAlign = System.Drawing.ContentAlignment.BottomRight;
this.btStart.SignColor = System.Drawing.Color.Yellow;
this.btStart.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
this.btStart.Size = new System.Drawing.Size(195, 179);
this.btStart.TabIndex = 6;
this.btStart.Text = "RUN";
this.btStart.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.btStart.TextShadow = true;
this.btStart.TextVisible = true;
this.btStart.Click += new System.EventHandler(this.arLabel11_Click);
//
// btRight
//
this.btRight.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(23)))), ((int)(((byte)(55)))), ((int)(((byte)(93)))));
this.btRight.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(12)))), ((int)(((byte)(36)))), ((int)(((byte)(64)))));
this.btRight.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
this.btRight.BorderColor = System.Drawing.Color.Black;
this.btRight.BorderColorOver = System.Drawing.Color.DarkBlue;
this.btRight.BorderSize = new System.Windows.Forms.Padding(1);
this.btRight.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
this.btRight.Cursor = System.Windows.Forms.Cursors.Hand;
this.btRight.Dock = System.Windows.Forms.DockStyle.Fill;
this.btRight.Font = new System.Drawing.Font("맑은 고딕", 20F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.btRight.ForeColor = System.Drawing.Color.White;
this.btRight.GradientEnable = true;
this.btRight.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal;
this.btRight.GradientRepeatBG = false;
this.btRight.isButton = true;
this.btRight.Location = new System.Drawing.Point(405, 188);
this.btRight.MouseDownColor = System.Drawing.Color.Yellow;
this.btRight.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.btRight.msg = null;
this.btRight.Name = "btRight";
this.btRight.ProgressBorderColor = System.Drawing.Color.Black;
this.btRight.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
this.btRight.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
this.btRight.ProgressEnable = false;
this.btRight.ProgressFont = new System.Drawing.Font("Consolas", 10F);
this.btRight.ProgressForeColor = System.Drawing.Color.Black;
this.btRight.ProgressMax = 100F;
this.btRight.ProgressMin = 0F;
this.btRight.ProgressPadding = new System.Windows.Forms.Padding(0);
this.btRight.ProgressValue = 0F;
this.btRight.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
this.btRight.Sign = "";
this.btRight.SignAlign = System.Drawing.ContentAlignment.BottomRight;
this.btRight.SignColor = System.Drawing.Color.Yellow;
this.btRight.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
this.btRight.Size = new System.Drawing.Size(196, 179);
this.btRight.TabIndex = 0;
this.btRight.Text = "좌회전";
this.btRight.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.btRight.TextShadow = true;
this.btRight.TextVisible = true;
this.btRight.Click += new System.EventHandler(this.arLabel4_Click);
//
// btBack
//
this.btBack.AccessibleDescription = "";
this.btBack.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(23)))), ((int)(((byte)(55)))), ((int)(((byte)(93)))));
this.btBack.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(12)))), ((int)(((byte)(36)))), ((int)(((byte)(64)))));
this.btBack.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
this.btBack.BorderColor = System.Drawing.Color.Black;
this.btBack.BorderColorOver = System.Drawing.Color.DarkBlue;
this.btBack.BorderSize = new System.Windows.Forms.Padding(1);
this.btBack.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
this.btBack.Cursor = System.Windows.Forms.Cursors.Hand;
this.btBack.Dock = System.Windows.Forms.DockStyle.Fill;
this.btBack.Font = new System.Drawing.Font("맑은 고딕", 20F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.btBack.ForeColor = System.Drawing.Color.White;
this.btBack.GradientEnable = true;
this.btBack.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal;
this.btBack.GradientRepeatBG = false;
this.btBack.isButton = true;
this.btBack.Location = new System.Drawing.Point(204, 3);
this.btBack.MouseDownColor = System.Drawing.Color.Yellow;
this.btBack.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.btBack.msg = null;
this.btBack.Name = "btBack";
this.btBack.ProgressBorderColor = System.Drawing.Color.Black;
this.btBack.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
this.btBack.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
this.btBack.ProgressEnable = false;
this.btBack.ProgressFont = new System.Drawing.Font("Consolas", 10F);
this.btBack.ProgressForeColor = System.Drawing.Color.Black;
this.btBack.ProgressMax = 100F;
this.btBack.ProgressMin = 0F;
this.btBack.ProgressPadding = new System.Windows.Forms.Padding(0);
this.btBack.ProgressValue = 0F;
this.btBack.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
this.btBack.Sign = "";
this.btBack.SignAlign = System.Drawing.ContentAlignment.BottomRight;
this.btBack.SignColor = System.Drawing.Color.Yellow;
this.btBack.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
this.btBack.Size = new System.Drawing.Size(195, 179);
this.btBack.TabIndex = 0;
this.btBack.Text = "후진";
this.btBack.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.btBack.TextShadow = true;
this.btBack.TextVisible = true;
this.btBack.Click += new System.EventHandler(this.arLabel1_Click);
//
// btForward
//
this.btForward.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(23)))), ((int)(((byte)(55)))), ((int)(((byte)(93)))));
this.btForward.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(12)))), ((int)(((byte)(36)))), ((int)(((byte)(64)))));
this.btForward.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
this.btForward.BorderColor = System.Drawing.Color.Black;
this.btForward.BorderColorOver = System.Drawing.Color.DarkBlue;
this.btForward.BorderSize = new System.Windows.Forms.Padding(1);
this.btForward.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
this.btForward.Cursor = System.Windows.Forms.Cursors.Hand;
this.btForward.Dock = System.Windows.Forms.DockStyle.Fill;
this.btForward.Font = new System.Drawing.Font("맑은 고딕", 20F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.btForward.ForeColor = System.Drawing.Color.White;
this.btForward.GradientEnable = true;
this.btForward.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal;
this.btForward.GradientRepeatBG = false;
this.btForward.isButton = true;
this.btForward.Location = new System.Drawing.Point(204, 373);
this.btForward.MouseDownColor = System.Drawing.Color.Yellow;
this.btForward.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.btForward.msg = null;
this.btForward.Name = "btForward";
this.btForward.ProgressBorderColor = System.Drawing.Color.Black;
this.btForward.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
this.btForward.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
this.btForward.ProgressEnable = false;
this.btForward.ProgressFont = new System.Drawing.Font("Consolas", 10F);
this.btForward.ProgressForeColor = System.Drawing.Color.Black;
this.btForward.ProgressMax = 100F;
this.btForward.ProgressMin = 0F;
this.btForward.ProgressPadding = new System.Windows.Forms.Padding(0);
this.btForward.ProgressValue = 0F;
this.btForward.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
this.btForward.Sign = "";
this.btForward.SignAlign = System.Drawing.ContentAlignment.BottomRight;
this.btForward.SignColor = System.Drawing.Color.Yellow;
this.btForward.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
this.btForward.Size = new System.Drawing.Size(195, 179);
this.btForward.TabIndex = 0;
this.btForward.Text = "전진";
this.btForward.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.btForward.TextShadow = true;
this.btForward.TextVisible = true;
this.btForward.Click += new System.EventHandler(this.arLabel2_Click);
//
// btLeft
//
this.btLeft.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(23)))), ((int)(((byte)(55)))), ((int)(((byte)(93)))));
this.btLeft.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(12)))), ((int)(((byte)(36)))), ((int)(((byte)(64)))));
this.btLeft.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
this.btLeft.BorderColor = System.Drawing.Color.Black;
this.btLeft.BorderColorOver = System.Drawing.Color.DarkBlue;
this.btLeft.BorderSize = new System.Windows.Forms.Padding(1);
this.btLeft.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
this.btLeft.Cursor = System.Windows.Forms.Cursors.Hand;
this.btLeft.Dock = System.Windows.Forms.DockStyle.Fill;
this.btLeft.Font = new System.Drawing.Font("맑은 고딕", 20F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.btLeft.ForeColor = System.Drawing.Color.White;
this.btLeft.GradientEnable = true;
this.btLeft.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal;
this.btLeft.GradientRepeatBG = false;
this.btLeft.isButton = true;
this.btLeft.Location = new System.Drawing.Point(3, 188);
this.btLeft.MouseDownColor = System.Drawing.Color.Yellow;
this.btLeft.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.btLeft.msg = null;
this.btLeft.Name = "btLeft";
this.btLeft.ProgressBorderColor = System.Drawing.Color.Black;
this.btLeft.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
this.btLeft.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
this.btLeft.ProgressEnable = false;
this.btLeft.ProgressFont = new System.Drawing.Font("Consolas", 10F);
this.btLeft.ProgressForeColor = System.Drawing.Color.Black;
this.btLeft.ProgressMax = 100F;
this.btLeft.ProgressMin = 0F;
this.btLeft.ProgressPadding = new System.Windows.Forms.Padding(0);
this.btLeft.ProgressValue = 0F;
this.btLeft.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
this.btLeft.Sign = "";
this.btLeft.SignAlign = System.Drawing.ContentAlignment.BottomRight;
this.btLeft.SignColor = System.Drawing.Color.Yellow;
this.btLeft.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
this.btLeft.Size = new System.Drawing.Size(195, 179);
this.btLeft.TabIndex = 0;
this.btLeft.Text = "우회전";
this.btLeft.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.btLeft.TextShadow = true;
this.btLeft.TextVisible = true;
this.btLeft.Click += new System.EventHandler(this.arLabel3_Click);
//
// btMarkStop
//
this.btMarkStop.Dock = System.Windows.Forms.DockStyle.Fill;
this.btMarkStop.Font = new System.Drawing.Font("맑은 고딕", 20F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.btMarkStop.Location = new System.Drawing.Point(3, 3);
this.btMarkStop.Name = "btMarkStop";
this.btMarkStop.Size = new System.Drawing.Size(195, 179);
this.btMarkStop.TabIndex = 7;
this.btMarkStop.Text = "마크정지";
this.btMarkStop.UseVisualStyleBackColor = true;
this.btMarkStop.Click += new System.EventHandler(this.button1_Click);
//
// btchargeOff
//
this.btchargeOff.Dock = System.Windows.Forms.DockStyle.Fill;
this.btchargeOff.Font = new System.Drawing.Font("맑은 고딕", 20F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.btchargeOff.Location = new System.Drawing.Point(405, 373);
this.btchargeOff.Name = "btchargeOff";
this.btchargeOff.Size = new System.Drawing.Size(196, 179);
this.btchargeOff.TabIndex = 8;
this.btchargeOff.Text = "충전해제";
this.btchargeOff.UseVisualStyleBackColor = true;
this.btchargeOff.Click += new System.EventHandler(this.btchargeOff_Click);
//
// btChargeOn
//
this.btChargeOn.Dock = System.Windows.Forms.DockStyle.Fill;
this.btChargeOn.Font = new System.Drawing.Font("맑은 고딕", 20F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.btChargeOn.Location = new System.Drawing.Point(3, 373);
this.btChargeOn.Name = "btChargeOn";
this.btChargeOn.Size = new System.Drawing.Size(195, 179);
this.btChargeOn.TabIndex = 9;
this.btChargeOn.Text = "충전";
this.btChargeOn.UseVisualStyleBackColor = true;
this.btChargeOn.Click += new System.EventHandler(this.btChargeOn_Click);
//
// btErrReset
//
this.btErrReset.Dock = System.Windows.Forms.DockStyle.Fill;
this.btErrReset.Font = new System.Drawing.Font("맑은 고딕", 20F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.btErrReset.Location = new System.Drawing.Point(405, 3);
this.btErrReset.Name = "btErrReset";
this.btErrReset.Size = new System.Drawing.Size(196, 179);
this.btErrReset.TabIndex = 10;
this.btErrReset.Text = "오류소거";
this.btErrReset.UseVisualStyleBackColor = true;
this.btErrReset.Click += new System.EventHandler(this.button3_Click);
//
// timer1
//
this.timer1.Interval = 250;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
//
// panel2
//
this.panel2.Controls.Add(this.button1);
this.panel2.Controls.Add(this.groupBox1);
this.panel2.Controls.Add(this.grpSpeed);
this.panel2.Controls.Add(this.grpBunki);
this.panel2.Controls.Add(this.groupBox2);
this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel2.Location = new System.Drawing.Point(607, 21);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(404, 517);
this.panel2.TabIndex = 9;
this.panel2.Paint += new System.Windows.Forms.PaintEventHandler(this.panel2_Paint);
//
// button1
//
this.button1.Dock = System.Windows.Forms.DockStyle.Fill;
this.button1.Font = new System.Drawing.Font("맑은 고딕", 20F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.button1.Location = new System.Drawing.Point(0, 380);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(404, 137);
this.button1.TabIndex = 10;
this.button1.Text = "설정 적용";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click_2);
//
// groupBox1
//
this.groupBox1.Controls.Add(this.radpbs2);
this.groupBox1.Controls.Add(this.panel9);
this.groupBox1.Controls.Add(this.radpbs1);
this.groupBox1.Controls.Add(this.panel3);
this.groupBox1.Controls.Add(this.radpbs0);
this.groupBox1.Dock = System.Windows.Forms.DockStyle.Top;
this.groupBox1.Location = new System.Drawing.Point(0, 285);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Padding = new System.Windows.Forms.Padding(10, 5, 5, 10);
this.groupBox1.Size = new System.Drawing.Size(404, 95);
this.groupBox1.TabIndex = 9;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "근접센서(PBS)";
//
// radpbs2
//
this.radpbs2.BackColor = System.Drawing.Color.WhiteSmoke;
this.radpbs2.Bordercolor = System.Drawing.Color.DimGray;
this.radpbs2.BorderRadius = 7;
this.radpbs2.BorderSize = 2;
this.radpbs2.CheckOffColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.radpbs2.CheckOnColor = System.Drawing.Color.LimeGreen;
this.radpbs2.CheckWidth = 30;
this.radpbs2.Dock = System.Windows.Forms.DockStyle.Left;
this.radpbs2.Font = new System.Drawing.Font("맑은 고딕", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.radpbs2.Location = new System.Drawing.Point(278, 19);
this.radpbs2.Name = "radpbs2";
this.radpbs2.Size = new System.Drawing.Size(119, 66);
this.radpbs2.TabIndex = 10;
this.radpbs2.Text = "On(2)";
this.radpbs2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.radpbs2.UseVisualStyleBackColor = false;
//
// panel9
//
this.panel9.Dock = System.Windows.Forms.DockStyle.Left;
this.panel9.Location = new System.Drawing.Point(263, 19);
this.panel9.Name = "panel9";
this.panel9.Size = new System.Drawing.Size(15, 66);
this.panel9.TabIndex = 12;
//
// radpbs1
//
this.radpbs1.BackColor = System.Drawing.Color.WhiteSmoke;
this.radpbs1.Bordercolor = System.Drawing.Color.DimGray;
this.radpbs1.BorderRadius = 7;
this.radpbs1.BorderSize = 2;
this.radpbs1.Checked = true;
this.radpbs1.CheckOffColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.radpbs1.CheckOnColor = System.Drawing.Color.LimeGreen;
this.radpbs1.CheckWidth = 30;
this.radpbs1.Dock = System.Windows.Forms.DockStyle.Left;
this.radpbs1.Font = new System.Drawing.Font("맑은 고딕", 16F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.radpbs1.ForeColor = System.Drawing.Color.Blue;
this.radpbs1.Location = new System.Drawing.Point(144, 19);
this.radpbs1.Name = "radpbs1";
this.radpbs1.Size = new System.Drawing.Size(119, 66);
this.radpbs1.TabIndex = 9;
this.radpbs1.TabStop = true;
this.radpbs1.Text = "On(1)";
this.radpbs1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.radpbs1.UseVisualStyleBackColor = false;
//
// panel3
//
this.panel3.Dock = System.Windows.Forms.DockStyle.Left;
this.panel3.Location = new System.Drawing.Point(129, 19);
this.panel3.Name = "panel3";
this.panel3.Size = new System.Drawing.Size(15, 66);
this.panel3.TabIndex = 11;
//
// radpbs0
//
this.radpbs0.BackColor = System.Drawing.Color.WhiteSmoke;
this.radpbs0.Bordercolor = System.Drawing.Color.DimGray;
this.radpbs0.BorderRadius = 7;
this.radpbs0.BorderSize = 2;
this.radpbs0.CheckOffColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.radpbs0.CheckOnColor = System.Drawing.Color.LimeGreen;
this.radpbs0.CheckWidth = 30;
this.radpbs0.Dock = System.Windows.Forms.DockStyle.Left;
this.radpbs0.Font = new System.Drawing.Font("맑은 고딕", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.radpbs0.Location = new System.Drawing.Point(10, 19);
this.radpbs0.Name = "radpbs0";
this.radpbs0.Size = new System.Drawing.Size(119, 66);
this.radpbs0.TabIndex = 8;
this.radpbs0.Text = "Off(0)";
this.radpbs0.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.radpbs0.UseVisualStyleBackColor = false;
//
// grpSpeed
//
this.grpSpeed.Controls.Add(this.radspdh);
this.grpSpeed.Controls.Add(this.panel8);
this.grpSpeed.Controls.Add(this.radspdm);
this.grpSpeed.Controls.Add(this.panel4);
this.grpSpeed.Controls.Add(this.radspdl);
this.grpSpeed.Dock = System.Windows.Forms.DockStyle.Top;
this.grpSpeed.Location = new System.Drawing.Point(0, 190);
this.grpSpeed.Name = "grpSpeed";
this.grpSpeed.Padding = new System.Windows.Forms.Padding(10, 5, 5, 10);
this.grpSpeed.Size = new System.Drawing.Size(404, 95);
this.grpSpeed.TabIndex = 0;
this.grpSpeed.TabStop = false;
this.grpSpeed.Text = "속도";
//
// radspdh
//
this.radspdh.BackColor = System.Drawing.Color.WhiteSmoke;
this.radspdh.Bordercolor = System.Drawing.Color.DimGray;
this.radspdh.BorderRadius = 7;
this.radspdh.BorderSize = 2;
this.radspdh.CheckOffColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.radspdh.CheckOnColor = System.Drawing.Color.LimeGreen;
this.radspdh.CheckWidth = 30;
this.radspdh.Dock = System.Windows.Forms.DockStyle.Left;
this.radspdh.Font = new System.Drawing.Font("맑은 고딕", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.radspdh.Location = new System.Drawing.Point(278, 19);
this.radspdh.Name = "radspdh";
this.radspdh.Size = new System.Drawing.Size(119, 66);
this.radspdh.TabIndex = 2;
this.radspdh.Text = "고속";
this.radspdh.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.radspdh.UseVisualStyleBackColor = false;
//
// panel8
//
this.panel8.Dock = System.Windows.Forms.DockStyle.Left;
this.panel8.Location = new System.Drawing.Point(263, 19);
this.panel8.Name = "panel8";
this.panel8.Size = new System.Drawing.Size(15, 66);
this.panel8.TabIndex = 13;
//
// radspdm
//
this.radspdm.BackColor = System.Drawing.Color.WhiteSmoke;
this.radspdm.Bordercolor = System.Drawing.Color.DimGray;
this.radspdm.BorderRadius = 7;
this.radspdm.BorderSize = 2;
this.radspdm.Checked = true;
this.radspdm.CheckOffColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.radspdm.CheckOnColor = System.Drawing.Color.LimeGreen;
this.radspdm.CheckWidth = 30;
this.radspdm.Dock = System.Windows.Forms.DockStyle.Left;
this.radspdm.Font = new System.Drawing.Font("맑은 고딕", 16F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.radspdm.ForeColor = System.Drawing.Color.Blue;
this.radspdm.Location = new System.Drawing.Point(144, 19);
this.radspdm.Name = "radspdm";
this.radspdm.Size = new System.Drawing.Size(119, 66);
this.radspdm.TabIndex = 1;
this.radspdm.TabStop = true;
this.radspdm.Text = "중속";
this.radspdm.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.radspdm.UseVisualStyleBackColor = false;
//
// panel4
//
this.panel4.Dock = System.Windows.Forms.DockStyle.Left;
this.panel4.Location = new System.Drawing.Point(129, 19);
this.panel4.Name = "panel4";
this.panel4.Size = new System.Drawing.Size(15, 66);
this.panel4.TabIndex = 12;
//
// radspdl
//
this.radspdl.BackColor = System.Drawing.Color.WhiteSmoke;
this.radspdl.Bordercolor = System.Drawing.Color.DimGray;
this.radspdl.BorderRadius = 7;
this.radspdl.BorderSize = 2;
this.radspdl.CheckOffColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.radspdl.CheckOnColor = System.Drawing.Color.LimeGreen;
this.radspdl.CheckWidth = 30;
this.radspdl.Dock = System.Windows.Forms.DockStyle.Left;
this.radspdl.Font = new System.Drawing.Font("맑은 고딕", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.radspdl.Location = new System.Drawing.Point(10, 19);
this.radspdl.Name = "radspdl";
this.radspdl.Size = new System.Drawing.Size(119, 66);
this.radspdl.TabIndex = 0;
this.radspdl.Text = "저속";
this.radspdl.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.radspdl.UseVisualStyleBackColor = false;
//
// grpBunki
//
this.grpBunki.Controls.Add(this.radright);
this.grpBunki.Controls.Add(this.panel7);
this.grpBunki.Controls.Add(this.radstrai);
this.grpBunki.Controls.Add(this.panel5);
this.grpBunki.Controls.Add(this.radleft);
this.grpBunki.Dock = System.Windows.Forms.DockStyle.Top;
this.grpBunki.Location = new System.Drawing.Point(0, 95);
this.grpBunki.Name = "grpBunki";
this.grpBunki.Padding = new System.Windows.Forms.Padding(10, 5, 5, 10);
this.grpBunki.Size = new System.Drawing.Size(404, 95);
this.grpBunki.TabIndex = 1;
this.grpBunki.TabStop = false;
this.grpBunki.Text = "분기";
//
// radright
//
this.radright.BackColor = System.Drawing.Color.WhiteSmoke;
this.radright.Bordercolor = System.Drawing.Color.DimGray;
this.radright.BorderRadius = 7;
this.radright.BorderSize = 2;
this.radright.CheckOffColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.radright.CheckOnColor = System.Drawing.Color.LimeGreen;
this.radright.CheckWidth = 30;
this.radright.Dock = System.Windows.Forms.DockStyle.Left;
this.radright.Font = new System.Drawing.Font("맑은 고딕", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.radright.Location = new System.Drawing.Point(278, 19);
this.radright.Name = "radright";
this.radright.Size = new System.Drawing.Size(119, 66);
this.radright.TabIndex = 4;
this.radright.Text = "우측";
this.radright.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.radright.UseVisualStyleBackColor = false;
//
// panel7
//
this.panel7.Dock = System.Windows.Forms.DockStyle.Left;
this.panel7.Location = new System.Drawing.Point(263, 19);
this.panel7.Name = "panel7";
this.panel7.Size = new System.Drawing.Size(15, 66);
this.panel7.TabIndex = 13;
//
// radstrai
//
this.radstrai.BackColor = System.Drawing.Color.WhiteSmoke;
this.radstrai.Bordercolor = System.Drawing.Color.DimGray;
this.radstrai.BorderRadius = 7;
this.radstrai.BorderSize = 2;
this.radstrai.Checked = true;
this.radstrai.CheckOffColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.radstrai.CheckOnColor = System.Drawing.Color.LimeGreen;
this.radstrai.CheckWidth = 30;
this.radstrai.Dock = System.Windows.Forms.DockStyle.Left;
this.radstrai.Font = new System.Drawing.Font("맑은 고딕", 16F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.radstrai.ForeColor = System.Drawing.Color.Blue;
this.radstrai.Location = new System.Drawing.Point(144, 19);
this.radstrai.Name = "radstrai";
this.radstrai.Size = new System.Drawing.Size(119, 66);
this.radstrai.TabIndex = 3;
this.radstrai.TabStop = true;
this.radstrai.Text = "직진";
this.radstrai.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.radstrai.UseVisualStyleBackColor = false;
//
// panel5
//
this.panel5.Dock = System.Windows.Forms.DockStyle.Left;
this.panel5.Location = new System.Drawing.Point(129, 19);
this.panel5.Name = "panel5";
this.panel5.Size = new System.Drawing.Size(15, 66);
this.panel5.TabIndex = 12;
//
// radleft
//
this.radleft.BackColor = System.Drawing.Color.WhiteSmoke;
this.radleft.Bordercolor = System.Drawing.Color.DimGray;
this.radleft.BorderRadius = 7;
this.radleft.BorderSize = 2;
this.radleft.CheckOffColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.radleft.CheckOnColor = System.Drawing.Color.LimeGreen;
this.radleft.CheckWidth = 30;
this.radleft.Dock = System.Windows.Forms.DockStyle.Left;
this.radleft.Font = new System.Drawing.Font("맑은 고딕", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.radleft.Location = new System.Drawing.Point(10, 19);
this.radleft.Name = "radleft";
this.radleft.Size = new System.Drawing.Size(119, 66);
this.radleft.TabIndex = 5;
this.radleft.Text = "좌측";
this.radleft.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.radleft.UseVisualStyleBackColor = false;
//
// groupBox2
//
this.groupBox2.Controls.Add(this.arLabel1);
this.groupBox2.Controls.Add(this.panel12);
this.groupBox2.Controls.Add(this.radbackward);
this.groupBox2.Controls.Add(this.panel6);
this.groupBox2.Controls.Add(this.radforward);
this.groupBox2.Dock = System.Windows.Forms.DockStyle.Top;
this.groupBox2.Location = new System.Drawing.Point(0, 0);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Padding = new System.Windows.Forms.Padding(10, 5, 5, 10);
this.groupBox2.Size = new System.Drawing.Size(404, 95);
this.groupBox2.TabIndex = 3;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "방향";
//
// arLabel1
//
this.arLabel1.BackColor = System.Drawing.Color.Pink;
this.arLabel1.BackColor2 = System.Drawing.Color.Tomato;
this.arLabel1.BackgroundImagePadding = new System.Windows.Forms.Padding(0);
this.arLabel1.BorderColor = System.Drawing.Color.Black;
this.arLabel1.BorderColorOver = System.Drawing.Color.DarkBlue;
this.arLabel1.BorderSize = new System.Windows.Forms.Padding(1);
this.arLabel1.ColorTheme = arCtl.arLabel.eColorTheme.Custom;
this.arLabel1.Cursor = System.Windows.Forms.Cursors.Hand;
this.arLabel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.arLabel1.Font = new System.Drawing.Font("맑은 고딕", 15F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.arLabel1.ForeColor = System.Drawing.Color.White;
this.arLabel1.GradientEnable = true;
this.arLabel1.GradientMode = System.Drawing.Drawing2D.LinearGradientMode.ForwardDiagonal;
this.arLabel1.GradientRepeatBG = false;
this.arLabel1.isButton = true;
this.arLabel1.Location = new System.Drawing.Point(278, 19);
this.arLabel1.MouseDownColor = System.Drawing.Color.Yellow;
this.arLabel1.MouseOverColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.arLabel1.msg = new string[] {
"커버",
"UP"};
this.arLabel1.Name = "arLabel1";
this.arLabel1.ProgressBorderColor = System.Drawing.Color.Black;
this.arLabel1.ProgressColor1 = System.Drawing.Color.LightSkyBlue;
this.arLabel1.ProgressColor2 = System.Drawing.Color.DeepSkyBlue;
this.arLabel1.ProgressEnable = false;
this.arLabel1.ProgressFont = new System.Drawing.Font("Consolas", 10F);
this.arLabel1.ProgressForeColor = System.Drawing.Color.Black;
this.arLabel1.ProgressMax = 100F;
this.arLabel1.ProgressMin = 0F;
this.arLabel1.ProgressPadding = new System.Windows.Forms.Padding(0);
this.arLabel1.ProgressValue = 0F;
this.arLabel1.ShadowColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
this.arLabel1.Sign = "";
this.arLabel1.SignAlign = System.Drawing.ContentAlignment.BottomRight;
this.arLabel1.SignColor = System.Drawing.Color.Yellow;
this.arLabel1.SignFont = new System.Drawing.Font("Consolas", 7F, System.Drawing.FontStyle.Italic);
this.arLabel1.Size = new System.Drawing.Size(121, 66);
this.arLabel1.TabIndex = 15;
this.arLabel1.Text = "주행속도";
this.arLabel1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.arLabel1.TextShadow = true;
this.arLabel1.TextVisible = true;
this.arLabel1.Click += new System.EventHandler(this.arLabel1_Click_1);
//
// panel12
//
this.panel12.Dock = System.Windows.Forms.DockStyle.Left;
this.panel12.Location = new System.Drawing.Point(263, 19);
this.panel12.Name = "panel12";
this.panel12.Size = new System.Drawing.Size(15, 66);
this.panel12.TabIndex = 14;
//
// radbackward
//
this.radbackward.BackColor = System.Drawing.Color.WhiteSmoke;
this.radbackward.Bordercolor = System.Drawing.Color.DimGray;
this.radbackward.BorderRadius = 7;
this.radbackward.BorderSize = 2;
this.radbackward.CheckOffColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.radbackward.CheckOnColor = System.Drawing.Color.LimeGreen;
this.radbackward.CheckWidth = 30;
this.radbackward.Dock = System.Windows.Forms.DockStyle.Left;
this.radbackward.Font = new System.Drawing.Font("맑은 고딕", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.radbackward.Location = new System.Drawing.Point(144, 19);
this.radbackward.Name = "radbackward";
this.radbackward.Size = new System.Drawing.Size(119, 66);
this.radbackward.TabIndex = 6;
this.radbackward.Text = "후진";
this.radbackward.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.radbackward.UseVisualStyleBackColor = false;
//
// panel6
//
this.panel6.Dock = System.Windows.Forms.DockStyle.Left;
this.panel6.Location = new System.Drawing.Point(129, 19);
this.panel6.Name = "panel6";
this.panel6.Size = new System.Drawing.Size(15, 66);
this.panel6.TabIndex = 12;
//
// radforward
//
this.radforward.BackColor = System.Drawing.Color.WhiteSmoke;
this.radforward.Bordercolor = System.Drawing.Color.DimGray;
this.radforward.BorderRadius = 7;
this.radforward.BorderSize = 2;
this.radforward.Checked = true;
this.radforward.CheckOffColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.radforward.CheckOnColor = System.Drawing.Color.LimeGreen;
this.radforward.CheckWidth = 30;
this.radforward.Dock = System.Windows.Forms.DockStyle.Left;
this.radforward.Font = new System.Drawing.Font("맑은 고딕", 16F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.radforward.ForeColor = System.Drawing.Color.Blue;
this.radforward.Location = new System.Drawing.Point(10, 19);
this.radforward.Name = "radforward";
this.radforward.Size = new System.Drawing.Size(119, 66);
this.radforward.TabIndex = 7;
this.radforward.TabStop = true;
this.radforward.Text = "전진";
this.radforward.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.radforward.UseVisualStyleBackColor = false;
//
// label1
//
this.label1.BackColor = System.Drawing.Color.Blue;
this.label1.Dock = System.Windows.Forms.DockStyle.Bottom;
this.label1.Font = new System.Drawing.Font("맑은 고딕", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.label1.ForeColor = System.Drawing.Color.White;
this.label1.Location = new System.Drawing.Point(607, 538);
this.label1.Name = "label1";
this.label1.Padding = new System.Windows.Forms.Padding(0, 3, 0, 3);
this.label1.Size = new System.Drawing.Size(404, 38);
this.label1.TabIndex = 9;
this.label1.Text = "----------";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// guideSensor1
//
this.guideSensor1.Dock = System.Windows.Forms.DockStyle.Top;
this.guideSensor1.LMark = false;
this.guideSensor1.Location = new System.Drawing.Point(3, 3);
this.guideSensor1.Name = "guideSensor1";
this.guideSensor1.RMark = false;
this.guideSensor1.SensorValue = 0;
this.guideSensor1.Size = new System.Drawing.Size(1008, 18);
this.guideSensor1.TabIndex = 8;
this.guideSensor1.Text = "guideSensor1";
//
// fManual
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.BackColor = System.Drawing.Color.SlateGray;
this.ClientSize = new System.Drawing.Size(1014, 579);
this.Controls.Add(this.panel2);
this.Controls.Add(this.label1);
this.Controls.Add(this.tableLayoutPanel1);
this.Controls.Add(this.guideSensor1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Name = "fManual";
this.Padding = new System.Windows.Forms.Padding(3);
this.Text = "fManual";
this.Load += new System.EventHandler(this.fManual_Load);
this.VisibleChanged += new System.EventHandler(this.fManual_VisibleChanged);
this.tableLayoutPanel1.ResumeLayout(false);
this.panel2.ResumeLayout(false);
this.groupBox1.ResumeLayout(false);
this.grpSpeed.ResumeLayout(false);
this.grpBunki.ResumeLayout(false);
this.groupBox2.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private arCtl.arLabel btBack;
private arCtl.arLabel btForward;
private arCtl.arLabel btLeft;
private arCtl.arLabel btRight;
private arCtl.arLabel btStart;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private System.Windows.Forms.Timer timer1;
private System.Windows.Forms.Button btMarkStop;
private System.Windows.Forms.Button btchargeOff;
private System.Windows.Forms.Button btChargeOn;
private Narumi.UC.GuideSensor guideSensor1;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.Button btErrReset;
private System.Windows.Forms.GroupBox grpSpeed;
private System.Windows.Forms.GroupBox grpBunki;
private System.Windows.Forms.GroupBox groupBox2;
private AGVControl.MyRadioButton radspdl;
private AGVControl.MyRadioButton radspdh;
private AGVControl.MyRadioButton radspdm;
private AGVControl.MyRadioButton radleft;
private AGVControl.MyRadioButton radright;
private AGVControl.MyRadioButton radstrai;
private AGVControl.MyRadioButton radbackward;
private AGVControl.MyRadioButton radforward;
private AGVControl.MyRadioButton radpbs0;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.GroupBox groupBox1;
private AGVControl.MyRadioButton radpbs1;
private AGVControl.MyRadioButton radpbs2;
private System.Windows.Forms.Panel panel3;
private System.Windows.Forms.Panel panel9;
private System.Windows.Forms.Panel panel8;
private System.Windows.Forms.Panel panel4;
private System.Windows.Forms.Panel panel7;
private System.Windows.Forms.Panel panel5;
private System.Windows.Forms.Panel panel6;
private System.Windows.Forms.Button button1;
private arCtl.arLabel arLabel1;
private System.Windows.Forms.Panel panel12;
}
}

View File

@@ -0,0 +1,372 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using arDev;
using COMM;
namespace Project.ViewForm
{
public partial class fManual : Form
{
public fManual()
{
InitializeComponent();
this.FormClosed += FIO_FormClosed;
}
private void fManual_Load(object sender, EventArgs e)
{
if (PUB.AGV.data.Direction == 'F') radforward.Checked = true;
else radbackward.Checked = false;
//if (PUB.AGV.data.Sts == 'L') radleft.Checked = true;
//else if (PUB.AGV.data.Sts == 'R') radright.Checked = true;
//else
radstrai.Checked = true;
if (PUB.AGV.data.Speed == 'H') radspdh.Checked = true;
else if (PUB.AGV.data.Speed == 'L') radspdl.Checked = true;
else radspdm.Checked = true;
this.timer1.Start();
}
private void FIO_FormClosed(object sender, FormClosedEventArgs e)
{
timer1.Stop();
}
#region "Z축 커버"
private void arLabel10_Click(object sender, EventArgs e)
{
}
private void arLabel8_Click(object sender, EventArgs e)
{
}
private void arLabel7_Click(object sender, EventArgs e)
{
}
#endregion
#region "AGV 수동 이동"
private void arLabel1_Click(object sender, EventArgs e)
{
//후진
if (VAR.BOOL[eVarBool.FLAG_CHARGEONA])
{
Util.MsgE("자동 충전 중입니다\n충전을 해제 하세요");
return;
}
else if (VAR.BOOL[eVarBool.FLAG_CHARGEONM])
{
Util.MsgE("수동 충전 중입니다\b충전을 해제 하세요");
return;
}
if (PUB.CheckManualChargeMode() == false) return;
arDev.Narumi.Speed spd = arDev.Narumi.Speed.Low;
if (radspdh.Checked) spd = arDev.Narumi.Speed.High;
else if (radspdl.Checked) spd = arDev.Narumi.Speed.Mid;
arDev.Narumi.Sensor ss = arDev.Narumi.Sensor.PBSOff;
if (radpbs0.Checked) ss = arDev.Narumi.Sensor.PBSOn;
PUB.AGV.AGVMoveManual(arDev.Narumi.ManulOpt.BS, spd, ss);
PUB.sm.SetNewStep(StateMachine.eSMStep.IDLE);
}
private void arLabel2_Click(object sender, EventArgs e)
{
//전진
if (VAR.BOOL[eVarBool.FLAG_CHARGEONA])
{
Util.MsgE("자동 충전 중입니다\n충전을 해제 하세요");
return;
}
else if (VAR.BOOL[eVarBool.FLAG_CHARGEONM])
{
Util.MsgE("수동 충전 중입니다\b충전을 해제 하세요");
return;
}
if (PUB.CheckManualChargeMode() == false) return;
arDev.Narumi.Speed spd = arDev.Narumi.Speed.Low;
if (radspdh.Checked) spd = arDev.Narumi.Speed.High;
else if (radspdl.Checked) spd = arDev.Narumi.Speed.Mid;
arDev.Narumi.Sensor ss = arDev.Narumi.Sensor.PBSOff;
if (radpbs0.Checked) ss = arDev.Narumi.Sensor.PBSOn;
PUB.AGV.AGVMoveManual(arDev.Narumi.ManulOpt.FS, spd, ss);
PUB.sm.SetNewStep(StateMachine.eSMStep.IDLE);
}
private void arLabel3_Click(object sender, EventArgs e)
{
//우회전
if (VAR.BOOL[eVarBool.FLAG_CHARGEONA])
{
Util.MsgE("자동 충전 중입니다\n충전을 해제 하세요");
return;
}
else if (VAR.BOOL[eVarBool.FLAG_CHARGEONM])
{
Util.MsgE("수동 충전 중입니다\b충전을 해제 하세요");
return;
}
if (PUB.CheckManualChargeMode() == false) return;
arDev.Narumi.Speed spd = arDev.Narumi.Speed.Low;
if (radspdh.Checked) spd = arDev.Narumi.Speed.High;
else if (radspdl.Checked) spd = arDev.Narumi.Speed.Mid;
arDev.Narumi.Sensor ss = arDev.Narumi.Sensor.PBSOff;
if (radpbs0.Checked) ss = arDev.Narumi.Sensor.PBSOn;
PUB.AGV.AGVMoveManual(arDev.Narumi.ManulOpt.RT, spd, ss);
PUB.sm.SetNewStep(StateMachine.eSMStep.IDLE);
}
private void arLabel4_Click(object sender, EventArgs e)
{
//좌회전
if (VAR.BOOL[eVarBool.FLAG_CHARGEONA])
{
Util.MsgE("자동 충전 중입니다\n충전을 해제 하세요");
return;
}
else if (VAR.BOOL[eVarBool.FLAG_CHARGEONM])
{
Util.MsgE("수동 충전 중입니다\b충전을 해제 하세요");
return;
}
if (PUB.CheckManualChargeMode() == false) return;
arDev.Narumi.Speed spd = arDev.Narumi.Speed.Low;
if (radspdh.Checked) spd = arDev.Narumi.Speed.High;
else if (radspdl.Checked) spd = arDev.Narumi.Speed.Mid;
arDev.Narumi.Sensor ss = arDev.Narumi.Sensor.PBSOff;
if (radpbs0.Checked) ss = arDev.Narumi.Sensor.PBSOn;
PUB.AGV.AGVMoveManual(arDev.Narumi.ManulOpt.LT, spd, ss);
PUB.sm.SetNewStep(StateMachine.eSMStep.IDLE);
}
private void arLabel11_Click(object sender, EventArgs e)
{
if (VAR.BOOL[eVarBool.FLAG_CHARGEONA])
{
Util.MsgE("자동 충전 중입니다\n충전을 해제 하세요");
return;
}
else if (VAR.BOOL[eVarBool.FLAG_CHARGEONM])
{
Util.MsgE("수동 충전 중입니다\b충전을 해제 하세요");
return;
}
if (PUB.CheckManualChargeMode() == false) return;
PUB.sm.SetNewStep(StateMachine.eSMStep.IDLE);
if (PUB.AGV.system1.agv_run == false && PUB.AGV.system1.agv_run_manual == false)
{
var dlg = Util.MsgQ("자동 진행을 시작할까요?\n우측 옵션을 확인 하세요");
if (dlg != DialogResult.Yes) return;
var opt = makeopt();
PUB.AGV.AGVMoveSet(opt);
PUB.AGV.AGVMoveRun();
}
else
{
PUB.AGV.AGVMoveStop("fmanual arlabel11_Clcik", arDev.Narumi.eStopOpt.Stop);
}
}
#endregion
bool tmrun = false;
private void timer1_Tick(object sender, EventArgs e)
{
if (this.Visible == false) return;
if (tmrun == true) return;
tmrun = true;
//충전중이면 수동버튼을 누를수없게한다
if (VAR.BOOL[eVarBool.FLAG_CHARGEONA] || VAR.BOOL[eVarBool.FLAG_CHARGEONM]) btLeft.Enabled = false;
else btLeft.Enabled = true;
btRight.Enabled = btLeft.Enabled;
btStart.Enabled = btLeft.Enabled;
btBack.Enabled = btLeft.Enabled;
btForward.Enabled = btLeft.Enabled;
//상태메세지
label1.Text = VAR.STR[eVarString.StatusMessage];
//마크정보
guideSensor1.SensorValue = PUB.AGV.data.guidesensor;
guideSensor1.LMark = PUB.AGV.signal.mark_sensor_1;
guideSensor1.RMark = PUB.AGV.signal.mark_sensor_2;
guideSensor1.Invalidate();
if (PUB.AGV.system1.agv_run || PUB.AGV.system1.agv_run_manual)
{
btStart.Text = "동작\n멈춤";
btStart.BackColor = Color.Tomato;
btStart.BackColor2 = Color.Orange;
}
else
{
btStart.Text = "자돟\n진행";
btStart.BackColor = Color.DimGray;
btStart.BackColor2 = Color.Gray;
}
//모터전원상태에따라서 배경색상을 변경해준다.
//var Mot_Dir_Backward = PUB.AGV.data.Direction == 'B';// PUB.flag.get(EFlag.FLAG_DIR_CW);// PUB.flag.get(EFlag.FLAG_DIR_CW);
//if (Mot_Dir_Backward == true)
//{
// btBack.BackColor = Color.Lime;
// btBack.BackColor2 = Color.Green;
// btForward.BackColor = Color.FromArgb(23, 55, 93);
// btForward.BackColor2 = Color.FromArgb(12, 36, 64);
//}
//else
//{
// btForward.BackColor = Color.Lime;
// btForward.BackColor2 = Color.Green;
// btBack.BackColor = Color.FromArgb(23, 55, 93);
// btBack.BackColor2 = Color.FromArgb(12, 36, 64);
//}
tmrun = false;
}
private void button1_Click(object sender, EventArgs e)
{
PUB.AGV.AGVMoveStop("fmanual button1_click", arDev.Narumi.eStopOpt.MarkStop);
//VAR.BOOL[eVarBool.FLAG_NEXTSTOP_MARK] = true;
}
private void fManual_VisibleChanged(object sender, EventArgs e)
{
this.timer1.Enabled = this.Visible;
if (timer1.Enabled) timer1.Start();
else timer1.Stop();
}
private void button3_Click(object sender, EventArgs e)
{
PUB.AGV.AGVErrorReset();
}
private void panel2_Paint(object sender, PaintEventArgs e)
{
}
arDev.Narumi.BunkiData makeopt()
{
var p = new arDev.Narumi.BunkiData();
if (radbackward.Checked) p.Direction = arDev.Narumi.eMoveDir.Backward;
else p.Direction = arDev.Narumi.eMoveDir.Forward;
if (radleft.Checked) p.Bunki = arDev.Narumi.eBunki.Left;
else if (radright.Checked) p.Bunki = arDev.Narumi.eBunki.Right;
else p.Bunki = arDev.Narumi.eBunki.Strate;
if (radspdh.Checked) p.Speed = arDev.Narumi.eMoveSpd.High;
else if (radspdl.Checked) p.Speed = arDev.Narumi.eMoveSpd.Low;
else p.Speed = arDev.Narumi.eMoveSpd.Middle;
if (radpbs1.Checked) p.PBSSensor = 2;
else if (radpbs2.Checked) p.PBSSensor = 2;
else p.PBSSensor = 0;
return p;
}
private void btchargeOff_Click(object sender, EventArgs e)
{
if (Util.MsgQ("충전 해제 명령을 전송 할까요?") == DialogResult.Yes)
PUB.AGV.AGVCharge(PUB.setting.ChargerID, false);
}
private void btChargeOn_Click(object sender, EventArgs e)
{
if (PUB.AGV.signal.mark_sensor == false)
{
Util.MsgE("마크센서가 확인되지 않아 충전을 시작할 수 없습니다");
return;
}
var dlg = Util.MsgQ("충전 시작 명령을 전송 할까요?");
if (dlg != DialogResult.Yes) return;
PUB.AGV.AGVCharge(PUB.setting.ChargerID, true);
}
arDev.Narumi.BunkiData bunkiopt = null;
private void button1_Click_2(object sender, EventArgs e)
{
bunkiopt = makeopt();
PUB.AGV.AGVMoveSet(bunkiopt);
PUB.log.Add($"사용자 설정 : {bunkiopt}");
if (PUB.DriveSpeed)
{
if (PUB.AGV.AGVCommand("SSH", PUB.setting.SPD_H.ToString("0000")) == true)
PUB.DriveSpeed = false;
}
}
private void button2_Click(object sender, EventArgs e)
{
PUB.AGV.AGVCommand("SCK", "0010");
}
private void button2_Click_1(object sender, EventArgs e)
{
PUB.PLC.ZMot(arDev.FakePLC.ZMotDirection.Stop);
}
private void button3_Click_1(object sender, EventArgs e)
{
PUB.PLC.ZMot(arDev.FakePLC.ZMotDirection.Up);
}
private void button4_Click_1(object sender, EventArgs e)
{
PUB.PLC.ZMot(arDev.FakePLC.ZMotDirection.Down);
}
private void arLabel1_Click_1(object sender, EventArgs e)
{
if (PUB.AGV.AGVCommand("SSH", PUB.setting.SPD_DRIVE.ToString("0000")) == false)
{
AR.UTIL.MsgE("고속속도에 주행속도 연결 실패\n잠시 후 다시 시도하세요");
return;
}
if (this.bunkiopt == null) bunkiopt = makeopt();
bunkiopt.Speed = arDev.Narumi.eMoveSpd.High;
PUB.AGV.AGVMoveSet(bunkiopt);
PUB.log.Add($"고속주행설정 : {bunkiopt}");
PUB.DriveSpeed = true;
AR.UTIL.MsgI($"주행속도({PUB.setting.SPD_DRIVE})가 '고속' 속도에 연결되었습니다.\n" +
$"창을 이동하거나 '설정적용'을 누르면 원래속도({PUB.setting.SPD_H})로 변경 됩니다");
}
}
}

View File

@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>