Add QRValidation project to repository

- Added QRValidation vision control system
- Includes CapCleaningControl UI components
- WebSocket-based barcode validation system
- Support for Crevis PLC integration
- Test projects for PLC emulator, motion, IO panel, and Modbus

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
atvstdla
2025-10-02 11:38:38 +09:00
parent 3eac3927f8
commit dc66158497
192 changed files with 27168 additions and 0 deletions

View File

@@ -0,0 +1,648 @@
namespace Project.Dialog
{
partial class fEmulator
{
/// <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();
arDev.AzinAxt.ColorListItem colorListItem5 = new arDev.AzinAxt.ColorListItem();
arDev.AzinAxt.ColorListItem colorListItem6 = new arDev.AzinAxt.ColorListItem();
arDev.AzinAxt.ColorListItem colorListItem7 = new arDev.AzinAxt.ColorListItem();
arDev.AzinAxt.ColorListItem colorListItem8 = new arDev.AzinAxt.ColorListItem();
this.panel1 = new System.Windows.Forms.Panel();
this.jogController5 = new arDev.AzinAxt.JogController();
this.jogController4 = new arDev.AzinAxt.JogController();
this.jogController3 = new arDev.AzinAxt.JogController();
this.jogController2 = new arDev.AzinAxt.JogController();
this.jogController1 = new arDev.AzinAxt.JogController();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.panel2 = new System.Windows.Forms.Panel();
this.tblDI = new arDev.AzinAxt.GridView();
this.lbTitle1 = new System.Windows.Forms.Label();
this.panel3 = new System.Windows.Forms.Panel();
this.tblDO = new arDev.AzinAxt.GridView();
this.lbtitle2 = new System.Windows.Forms.Label();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.button1 = new System.Windows.Forms.Button();
this.ctlSensor1 = new UIControl.CtlSensor();
this.m4 = new UIControl.CtlMotor();
this.m3 = new UIControl.CtlMotor();
this.m2 = new UIControl.CtlMotor();
this.m1 = new UIControl.CtlMotor();
this.mcv = new UIControl.CtlMotor();
this.panel1.SuspendLayout();
this.tableLayoutPanel1.SuspendLayout();
this.panel2.SuspendLayout();
this.panel3.SuspendLayout();
this.SuspendLayout();
//
// panel1
//
this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.panel1.Controls.Add(this.jogController5);
this.panel1.Controls.Add(this.jogController4);
this.panel1.Controls.Add(this.jogController3);
this.panel1.Controls.Add(this.jogController2);
this.panel1.Controls.Add(this.jogController1);
this.panel1.Dock = System.Windows.Forms.DockStyle.Right;
this.panel1.Location = new System.Drawing.Point(574, 0);
this.panel1.Name = "panel1";
this.panel1.Padding = new System.Windows.Forms.Padding(5);
this.panel1.Size = new System.Drawing.Size(226, 414);
this.panel1.TabIndex = 8;
//
// jogController5
//
this.jogController5.arAutoUpdate = false;
this.jogController5.arAxis = 4;
this.jogController5.arAxisName = "Z-R";
this.jogController5.arBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
this.jogController5.arBottomSensorCommand = new string[] {
"INP",
"ORG",
"LIM+",
"HOME",
"ALM",
"SVON",
"LIM-",
"POS"};
this.jogController5.arBottomSensorFont = new System.Drawing.Font("Consolas", 8F, System.Drawing.FontStyle.Bold);
this.jogController5.arBottomSensorHeight = 30;
this.jogController5.arBottomSensorListCount = new System.Drawing.Point(4, 2);
this.jogController5.arBottomSensorTitle = new string[] {
"INP",
"ORG",
"LIM+",
"HOME",
"ALM",
"SVON",
"LIM-",
"--"};
this.jogController5.arCellBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
this.jogController5.ardAct = 200D;
this.jogController5.arDebugMode = false;
this.jogController5.arIsAlm = false;
this.jogController5.arIsHSet = true;
this.jogController5.arIsInit = false;
this.jogController5.arIsInp = false;
this.jogController5.arIsLimM = false;
this.jogController5.arIsLimP = false;
this.jogController5.arIsOrg = false;
this.jogController5.arIsSvON = true;
this.jogController5.arMaxLength = 400;
this.jogController5.arMinLength = -10;
this.jogController5.arShowJogButton = true;
this.jogController5.arShowPositionBar = true;
this.jogController5.arShowSensor = true;
this.jogController5.arShowTitleBar = true;
this.jogController5.arTitlebarHeight = ((ushort)(20));
this.jogController5.arUpdateInterval = ((ushort)(100));
this.jogController5.arUsage = true;
this.jogController5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.jogController5.Dock = System.Windows.Forms.DockStyle.Top;
this.jogController5.Font = new System.Drawing.Font("Consolas", 8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.jogController5.Location = new System.Drawing.Point(5, 293);
this.jogController5.Name = "jogController5";
this.jogController5.Size = new System.Drawing.Size(216, 72);
this.jogController5.TabIndex = 11;
this.jogController5.Text = "156";
//
// jogController4
//
this.jogController4.arAutoUpdate = false;
this.jogController4.arAxis = 3;
this.jogController4.arAxisName = "Z-F";
this.jogController4.arBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
this.jogController4.arBottomSensorCommand = new string[] {
"INP",
"ORG",
"LIM+",
"HOME",
"ALM",
"SVON",
"LIM-",
"POS"};
this.jogController4.arBottomSensorFont = new System.Drawing.Font("Consolas", 8F, System.Drawing.FontStyle.Bold);
this.jogController4.arBottomSensorHeight = 30;
this.jogController4.arBottomSensorListCount = new System.Drawing.Point(4, 2);
this.jogController4.arBottomSensorTitle = new string[] {
"INP",
"ORG",
"LIM+",
"HOME",
"ALM",
"SVON",
"LIM-",
"--"};
this.jogController4.arCellBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
this.jogController4.ardAct = 200D;
this.jogController4.arDebugMode = false;
this.jogController4.arIsAlm = false;
this.jogController4.arIsHSet = true;
this.jogController4.arIsInit = false;
this.jogController4.arIsInp = false;
this.jogController4.arIsLimM = false;
this.jogController4.arIsLimP = false;
this.jogController4.arIsOrg = false;
this.jogController4.arIsSvON = true;
this.jogController4.arMaxLength = 400;
this.jogController4.arMinLength = -10;
this.jogController4.arShowJogButton = true;
this.jogController4.arShowPositionBar = true;
this.jogController4.arShowSensor = true;
this.jogController4.arShowTitleBar = true;
this.jogController4.arTitlebarHeight = ((ushort)(20));
this.jogController4.arUpdateInterval = ((ushort)(100));
this.jogController4.arUsage = true;
this.jogController4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.jogController4.Dock = System.Windows.Forms.DockStyle.Top;
this.jogController4.Font = new System.Drawing.Font("Consolas", 8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.jogController4.Location = new System.Drawing.Point(5, 221);
this.jogController4.Name = "jogController4";
this.jogController4.Size = new System.Drawing.Size(216, 72);
this.jogController4.TabIndex = 10;
this.jogController4.Text = "156";
//
// jogController3
//
this.jogController3.arAutoUpdate = false;
this.jogController3.arAxis = 2;
this.jogController3.arAxisName = "Y-P";
this.jogController3.arBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
this.jogController3.arBottomSensorCommand = new string[] {
"INP",
"ORG",
"LIM+",
"HOME",
"ALM",
"SVON",
"LIM-",
"POS"};
this.jogController3.arBottomSensorFont = new System.Drawing.Font("Consolas", 8F, System.Drawing.FontStyle.Bold);
this.jogController3.arBottomSensorHeight = 30;
this.jogController3.arBottomSensorListCount = new System.Drawing.Point(4, 2);
this.jogController3.arBottomSensorTitle = new string[] {
"INP",
"ORG",
"LIM+",
"HOME",
"ALM",
"SVON",
"LIM-",
"--"};
this.jogController3.arCellBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
this.jogController3.ardAct = 200D;
this.jogController3.arDebugMode = false;
this.jogController3.arIsAlm = false;
this.jogController3.arIsHSet = true;
this.jogController3.arIsInit = false;
this.jogController3.arIsInp = false;
this.jogController3.arIsLimM = false;
this.jogController3.arIsLimP = false;
this.jogController3.arIsOrg = false;
this.jogController3.arIsSvON = true;
this.jogController3.arMaxLength = 400;
this.jogController3.arMinLength = -10;
this.jogController3.arShowJogButton = true;
this.jogController3.arShowPositionBar = true;
this.jogController3.arShowSensor = true;
this.jogController3.arShowTitleBar = true;
this.jogController3.arTitlebarHeight = ((ushort)(20));
this.jogController3.arUpdateInterval = ((ushort)(100));
this.jogController3.arUsage = true;
this.jogController3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.jogController3.Dock = System.Windows.Forms.DockStyle.Top;
this.jogController3.Font = new System.Drawing.Font("Consolas", 8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.jogController3.Location = new System.Drawing.Point(5, 149);
this.jogController3.Name = "jogController3";
this.jogController3.Size = new System.Drawing.Size(216, 72);
this.jogController3.TabIndex = 9;
this.jogController3.Text = "156";
//
// jogController2
//
this.jogController2.arAutoUpdate = false;
this.jogController2.arAxis = 1;
this.jogController2.arAxisName = "X-R";
this.jogController2.arBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
this.jogController2.arBottomSensorCommand = new string[] {
"INP",
"ORG",
"LIM+",
"HOME",
"ALM",
"SVON",
"LIM-",
"POS"};
this.jogController2.arBottomSensorFont = new System.Drawing.Font("Consolas", 8F, System.Drawing.FontStyle.Bold);
this.jogController2.arBottomSensorHeight = 30;
this.jogController2.arBottomSensorListCount = new System.Drawing.Point(4, 2);
this.jogController2.arBottomSensorTitle = new string[] {
"INP",
"ORG",
"LIM+",
"HOME",
"ALM",
"SVON",
"LIM-",
"--"};
this.jogController2.arCellBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
this.jogController2.ardAct = 200D;
this.jogController2.arDebugMode = false;
this.jogController2.arIsAlm = false;
this.jogController2.arIsHSet = true;
this.jogController2.arIsInit = false;
this.jogController2.arIsInp = false;
this.jogController2.arIsLimM = false;
this.jogController2.arIsLimP = false;
this.jogController2.arIsOrg = false;
this.jogController2.arIsSvON = true;
this.jogController2.arMaxLength = 400;
this.jogController2.arMinLength = -10;
this.jogController2.arShowJogButton = true;
this.jogController2.arShowPositionBar = true;
this.jogController2.arShowSensor = true;
this.jogController2.arShowTitleBar = true;
this.jogController2.arTitlebarHeight = ((ushort)(20));
this.jogController2.arUpdateInterval = ((ushort)(100));
this.jogController2.arUsage = true;
this.jogController2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.jogController2.Dock = System.Windows.Forms.DockStyle.Top;
this.jogController2.Font = new System.Drawing.Font("Consolas", 8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.jogController2.Location = new System.Drawing.Point(5, 77);
this.jogController2.Name = "jogController2";
this.jogController2.Size = new System.Drawing.Size(216, 72);
this.jogController2.TabIndex = 8;
this.jogController2.Text = "156";
//
// jogController1
//
this.jogController1.arAutoUpdate = false;
this.jogController1.arAxis = 0;
this.jogController1.arAxisName = "X-F";
this.jogController1.arBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
this.jogController1.arBottomSensorCommand = new string[] {
"INP",
"ORG",
"LIM+",
"HOME",
"ALM",
"SVON",
"LIM-",
"POS"};
this.jogController1.arBottomSensorFont = new System.Drawing.Font("Consolas", 8F, System.Drawing.FontStyle.Bold);
this.jogController1.arBottomSensorHeight = 30;
this.jogController1.arBottomSensorListCount = new System.Drawing.Point(4, 2);
this.jogController1.arBottomSensorTitle = new string[] {
"INP",
"ORG",
"LIM+",
"HOME",
"ALM",
"SVON",
"LIM-",
"--"};
this.jogController1.arCellBorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(90)))), ((int)(((byte)(90)))), ((int)(((byte)(90)))));
this.jogController1.ardAct = 200D;
this.jogController1.arDebugMode = false;
this.jogController1.arIsAlm = false;
this.jogController1.arIsHSet = true;
this.jogController1.arIsInit = false;
this.jogController1.arIsInp = false;
this.jogController1.arIsLimM = false;
this.jogController1.arIsLimP = false;
this.jogController1.arIsOrg = false;
this.jogController1.arIsSvON = true;
this.jogController1.arMaxLength = 400;
this.jogController1.arMinLength = -10;
this.jogController1.arShowJogButton = true;
this.jogController1.arShowPositionBar = true;
this.jogController1.arShowSensor = true;
this.jogController1.arShowTitleBar = true;
this.jogController1.arTitlebarHeight = ((ushort)(20));
this.jogController1.arUpdateInterval = ((ushort)(100));
this.jogController1.arUsage = true;
this.jogController1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.jogController1.Dock = System.Windows.Forms.DockStyle.Top;
this.jogController1.Font = new System.Drawing.Font("Consolas", 8F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.jogController1.Location = new System.Drawing.Point(5, 5);
this.jogController1.Name = "jogController1";
this.jogController1.Size = new System.Drawing.Size(216, 72);
this.jogController1.TabIndex = 7;
this.jogController1.Text = "156";
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.ColumnCount = 1;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
this.tableLayoutPanel1.Controls.Add(this.panel2, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.panel3, 0, 1);
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Top;
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
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(574, 230);
this.tableLayoutPanel1.TabIndex = 137;
//
// panel2
//
this.panel2.Controls.Add(this.tblDI);
this.panel2.Controls.Add(this.lbTitle1);
this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel2.Location = new System.Drawing.Point(0, 0);
this.panel2.Margin = new System.Windows.Forms.Padding(0);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(574, 115);
this.panel2.TabIndex = 0;
//
// tblDI
//
this.tblDI.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
this.tblDI.BorderSize = 1;
colorListItem5.BackColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
colorListItem5.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
colorListItem5.Remark = "";
colorListItem6.BackColor1 = System.Drawing.Color.Green;
colorListItem6.BackColor2 = System.Drawing.Color.Green;
colorListItem6.Remark = "";
this.tblDI.ColorList = new arDev.AzinAxt.ColorListItem[] {
colorListItem5,
colorListItem6};
this.tblDI.Cursor = System.Windows.Forms.Cursors.Arrow;
this.tblDI.Dock = System.Windows.Forms.DockStyle.Fill;
this.tblDI.Font = new System.Drawing.Font("Consolas", 9F, System.Drawing.FontStyle.Bold);
this.tblDI.FontPin = new System.Drawing.Font("Consolas", 6.75F);
this.tblDI.ForeColor = System.Drawing.Color.WhiteSmoke;
this.tblDI.ForeColorPin = System.Drawing.Color.WhiteSmoke;
this.tblDI.Location = new System.Drawing.Point(0, 16);
this.tblDI.MatrixSize = new System.Drawing.Point(5, 4);
this.tblDI.MenuBorderSize = 1;
this.tblDI.MenuGap = 5;
this.tblDI.MinimumSize = new System.Drawing.Size(100, 50);
this.tblDI.Name = "tblDI";
this.tblDI.Names = null;
this.tblDI.ShadowColor = System.Drawing.Color.Black;
this.tblDI.showDebugInfo = false;
this.tblDI.ShowIndexString = true;
this.tblDI.Size = new System.Drawing.Size(574, 99);
this.tblDI.TabIndex = 3;
this.tblDI.Tags = null;
this.tblDI.Text = "gridView2";
this.tblDI.TextAttachToImage = true;
this.tblDI.Titles = null;
this.tblDI.Values = null;
//
// lbTitle1
//
this.lbTitle1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.lbTitle1.Cursor = System.Windows.Forms.Cursors.Arrow;
this.lbTitle1.Dock = System.Windows.Forms.DockStyle.Top;
this.lbTitle1.Font = new System.Drawing.Font("Consolas", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lbTitle1.ForeColor = System.Drawing.Color.White;
this.lbTitle1.Location = new System.Drawing.Point(0, 0);
this.lbTitle1.Name = "lbTitle1";
this.lbTitle1.Size = new System.Drawing.Size(574, 16);
this.lbTitle1.TabIndex = 0;
this.lbTitle1.Text = "INPUT";
this.lbTitle1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// panel3
//
this.panel3.Controls.Add(this.tblDO);
this.panel3.Controls.Add(this.lbtitle2);
this.panel3.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel3.Location = new System.Drawing.Point(0, 115);
this.panel3.Margin = new System.Windows.Forms.Padding(0);
this.panel3.Name = "panel3";
this.panel3.Size = new System.Drawing.Size(574, 115);
this.panel3.TabIndex = 0;
//
// tblDO
//
this.tblDO.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(100)))), ((int)(((byte)(100)))));
this.tblDO.BorderSize = 1;
colorListItem7.BackColor1 = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
colorListItem7.BackColor2 = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
colorListItem7.Remark = "";
colorListItem8.BackColor1 = System.Drawing.Color.Tomato;
colorListItem8.BackColor2 = System.Drawing.Color.Tomato;
colorListItem8.Remark = "";
this.tblDO.ColorList = new arDev.AzinAxt.ColorListItem[] {
colorListItem7,
colorListItem8};
this.tblDO.Cursor = System.Windows.Forms.Cursors.Arrow;
this.tblDO.Dock = System.Windows.Forms.DockStyle.Fill;
this.tblDO.Font = new System.Drawing.Font("Consolas", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.tblDO.FontPin = new System.Drawing.Font("Consolas", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.tblDO.ForeColor = System.Drawing.Color.WhiteSmoke;
this.tblDO.ForeColorPin = System.Drawing.Color.WhiteSmoke;
this.tblDO.Location = new System.Drawing.Point(0, 16);
this.tblDO.MatrixSize = new System.Drawing.Point(5, 4);
this.tblDO.MenuBorderSize = 1;
this.tblDO.MenuGap = 5;
this.tblDO.MinimumSize = new System.Drawing.Size(100, 50);
this.tblDO.Name = "tblDO";
this.tblDO.Names = null;
this.tblDO.ShadowColor = System.Drawing.Color.Black;
this.tblDO.showDebugInfo = false;
this.tblDO.ShowIndexString = true;
this.tblDO.Size = new System.Drawing.Size(574, 99);
this.tblDO.TabIndex = 3;
this.tblDO.Tags = null;
this.tblDO.Text = "gridView3";
this.tblDO.TextAttachToImage = true;
this.tblDO.Titles = null;
this.tblDO.Values = null;
//
// lbtitle2
//
this.lbtitle2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(60)))), ((int)(((byte)(60)))), ((int)(((byte)(60)))));
this.lbtitle2.Cursor = System.Windows.Forms.Cursors.Arrow;
this.lbtitle2.Dock = System.Windows.Forms.DockStyle.Top;
this.lbtitle2.Font = new System.Drawing.Font("Consolas", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lbtitle2.ForeColor = System.Drawing.Color.White;
this.lbtitle2.Location = new System.Drawing.Point(0, 0);
this.lbtitle2.Name = "lbtitle2";
this.lbtitle2.Size = new System.Drawing.Size(574, 16);
this.lbtitle2.TabIndex = 1;
this.lbtitle2.Text = "OUTPUT";
this.lbtitle2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// timer1
//
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
//
// button1
//
this.button1.Location = new System.Drawing.Point(11, 239);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(89, 28);
this.button1.TabIndex = 138;
this.button1.Text = "init IO/MOT";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// ctlSensor1
//
this.ctlSensor1.ColorOff = System.Drawing.Color.DimGray;
this.ctlSensor1.ColorOn = System.Drawing.Color.Lime;
this.ctlSensor1.Location = new System.Drawing.Point(468, 293);
this.ctlSensor1.MaximumSize = new System.Drawing.Size(80, 80);
this.ctlSensor1.MinimumSize = new System.Drawing.Size(40, 40);
this.ctlSensor1.Name = "ctlSensor1";
this.ctlSensor1.Size = new System.Drawing.Size(54, 48);
this.ctlSensor1.TabIndex = 142;
this.ctlSensor1.Value = true;
//
// m4
//
this.m4.Length = 100;
this.m4.Location = new System.Drawing.Point(277, 285);
this.m4.MaximumSize = new System.Drawing.Size(80, 80);
this.m4.MinimumSize = new System.Drawing.Size(40, 40);
this.m4.Name = "m4";
this.m4.Pin_DirCW = false;
this.m4.Pin_Max = false;
this.m4.Pin_Min = false;
this.m4.Pin_Run = false;
this.m4.Size = new System.Drawing.Size(80, 47);
this.m4.TabIndex = 141;
this.m4.TabStop = false;
//
// m3
//
this.m3.Length = 100;
this.m3.Location = new System.Drawing.Point(191, 285);
this.m3.MaximumSize = new System.Drawing.Size(80, 80);
this.m3.MinimumSize = new System.Drawing.Size(40, 40);
this.m3.Name = "m3";
this.m3.Pin_DirCW = false;
this.m3.Pin_Max = false;
this.m3.Pin_Min = false;
this.m3.Pin_Run = false;
this.m3.Size = new System.Drawing.Size(80, 47);
this.m3.TabIndex = 140;
this.m3.TabStop = false;
//
// m2
//
this.m2.Length = 100;
this.m2.Location = new System.Drawing.Point(105, 285);
this.m2.MaximumSize = new System.Drawing.Size(80, 80);
this.m2.MinimumSize = new System.Drawing.Size(40, 40);
this.m2.Name = "m2";
this.m2.Pin_DirCW = false;
this.m2.Pin_Max = false;
this.m2.Pin_Min = false;
this.m2.Pin_Run = false;
this.m2.Size = new System.Drawing.Size(80, 47);
this.m2.TabIndex = 140;
this.m2.TabStop = false;
//
// m1
//
this.m1.Length = 100;
this.m1.Location = new System.Drawing.Point(19, 285);
this.m1.MaximumSize = new System.Drawing.Size(80, 80);
this.m1.MinimumSize = new System.Drawing.Size(40, 40);
this.m1.Name = "m1";
this.m1.Pin_DirCW = false;
this.m1.Pin_Max = false;
this.m1.Pin_Min = false;
this.m1.Pin_Run = false;
this.m1.Size = new System.Drawing.Size(80, 47);
this.m1.TabIndex = 140;
this.m1.TabStop = false;
//
// mcv
//
this.mcv.Length = 100;
this.mcv.Location = new System.Drawing.Point(363, 285);
this.mcv.MaximumSize = new System.Drawing.Size(80, 80);
this.mcv.MinimumSize = new System.Drawing.Size(40, 40);
this.mcv.Name = "mcv";
this.mcv.Pin_DirCW = false;
this.mcv.Pin_Max = false;
this.mcv.Pin_Min = false;
this.mcv.Pin_Run = false;
this.mcv.Size = new System.Drawing.Size(80, 47);
this.mcv.TabIndex = 139;
this.mcv.TabStop = false;
//
// fEmulator
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(800, 414);
this.Controls.Add(this.ctlSensor1);
this.Controls.Add(this.m4);
this.Controls.Add(this.m3);
this.Controls.Add(this.m2);
this.Controls.Add(this.m1);
this.Controls.Add(this.mcv);
this.Controls.Add(this.button1);
this.Controls.Add(this.tableLayoutPanel1);
this.Controls.Add(this.panel1);
this.Name = "fEmulator";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "fEmulator";
this.Load += new System.EventHandler(this.fEmulator_Load);
this.panel1.ResumeLayout(false);
this.tableLayoutPanel1.ResumeLayout(false);
this.panel2.ResumeLayout(false);
this.panel3.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private arDev.AzinAxt.JogController jogController1;
private System.Windows.Forms.Panel panel1;
private arDev.AzinAxt.JogController jogController3;
private arDev.AzinAxt.JogController jogController2;
private arDev.AzinAxt.JogController jogController5;
private arDev.AzinAxt.JogController jogController4;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private System.Windows.Forms.Panel panel2;
private arDev.AzinAxt.GridView tblDI;
private System.Windows.Forms.Label lbTitle1;
private System.Windows.Forms.Panel panel3;
private arDev.AzinAxt.GridView tblDO;
private System.Windows.Forms.Label lbtitle2;
private System.Windows.Forms.Timer timer1;
private System.Windows.Forms.Button button1;
private UIControl.CtlMotor mcv;
private UIControl.CtlMotor m1;
private UIControl.CtlMotor m2;
private UIControl.CtlMotor m3;
private UIControl.CtlMotor m4;
private UIControl.CtlSensor ctlSensor1;
}
}

View File

@@ -0,0 +1,278 @@
using arDev.AzinAxt;
using arDev.AzinAxt.Emulator;
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.Dialog
{
public partial class fEmulator : Form
{
public CEmuleDIO devIO { get; private set; }
public CEmulMOT devM { get; private set; }
JogController[] jobCtl;
public fEmulator(int pCnt,int aCnt, MOT mot)
{
InitializeComponent();
//motion
devM = new CEmulMOT(aCnt);
this.jobCtl = new JogController[] {
jogController1,jogController2,
jogController3,jogController4,
jogController5
};
foreach (var item in jobCtl)
{
item.arDebugMode = false;
item.ItemClick += Item_ItemClick;
}
for (int i = 0; i < aCnt; i++)
{
Boolean enb = i < aCnt;
jobCtl[i].MotionObject = mot;
jobCtl[i].Enabled = enb;
jobCtl[i].arUsage = enb;
jobCtl[i].arAutoUpdate = false;
jobCtl[i].Invalidate();
if (enb)
{
devM.MaxPosition[i] = jobCtl[i].arMaxLength;
devM.MinPosition[i] = jobCtl[i].arMinLength;
}
}
//input
devIO = new CEmuleDIO(pCnt);
devIO.IOValueChagned += Dev_IOValueChagned;
this.tblDI.SuspendLayout();
this.tblDO.SuspendLayout();
var pinNameI = new string[pCnt];
var pinNameO = new string[pCnt];
var pinTitleI = new string[pCnt];
var pinTitleO = new string[pCnt];
for (int i = 0; i < pinNameI.Length; i++)
{
pinNameI[i] = "X" + i.ToString("X2").PadLeft(3, '0');// Enum.GetName(typeof(ePLCIPin), i); //Enum.GetNames(typeof(eDIName))[i];// i.ToString();
pinTitleI[i] = string.Empty;// i.ToString();// Enum.GetName(typeof(ePLCITitle), i); //Enum.GetNames(typeof(eDITitle))[i];
}
for (int i = 0; i < pinNameO.Length; i++)
{
pinNameO[i] = "Y" + i.ToString("X2").PadLeft(3, '0');// Enum.GetName(typeof(ePLCOPin), i); // Enum.GetNames(typeof(eDOName))[i];
pinTitleO[i] = string.Empty;//i.ToString();// Enum.GetName(typeof(ePLCOTitle), i); // Enum.GetNames(typeof(eDOTitle))[i];
}
tblDI.MatrixSize = new Point(8, 8);
tblDO.MatrixSize = new Point(8, 8);
tblDI.setTitle(pinTitleI);
tblDO.setTitle(pinTitleO);
tblDI.setNames(pinNameI);
tblDO.setNames(pinNameO);
tblDI.setItemTextAlign(ContentAlignment.BottomLeft);
tblDO.setItemTextAlign(ContentAlignment.BottomLeft);
tblDI.setValue(devIO.Input);
tblDO.setValue(devIO.Output);
//dio.IOValueChanged += dio_IOValueChanged;
this.tblDI.ItemClick += tblDI_ItemClick;
this.tblDO.ItemClick += tblDO_ItemClick;
this.tblDI.Invalidate();
this.tblDO.Invalidate();
}
private void fEmulator_Load(object sender, EventArgs e)
{
timer1.Start();
}
private void Item_ItemClick(object sender, JogController.ItemClickEventArgs e)
{
//조그컨트롤에서 버튼을 누르면 동작하는 기능
JogController jog = sender as JogController;
arDev.AzinAxt.MOT mot = jog.MotionObject;
if (e.Button == MouseButtons.Left)
{
if (e.IsDown == false)
{
//마우스 업
if (e.Command.StartsWith("JOG"))
{
devM.dCmd[jog.arAxis] = devM.dAct[jog.arAxis];
mot.MoveStop("", (short)jog.arAxis);
}
}
else
{
//마우스 다운
if (e.Command == "HSET")
{
mot.isHomeSet[jog.arAxis] = !mot.isHomeSet[jog.arAxis];
Console.WriteLine("homse change : " + devM.isHSet[jog.arAxis].ToString());
}
else if (e.Command == "ALM")
{
//알람상태를 직접 변경해야한다
devM.SetMech(jog.arAxis, CEmulMOT.eMach.MotAlarm, !devM.isAlm(jog.arAxis));
}
else if (e.Command == "SVON")
{
var cVal = mot.isSERVOON[jog.arAxis];
mot.SetSVON((short)jog.arAxis, !cVal);
}
else if (e.Command == "ORG")
{
mot.Move((short)jog.arAxis, 0);
}
else if (e.Command == "JOGR")
{
mot.JOG((short)jog.arAxis, eMotionDirection.Positive);
}
else if (e.Command == "JOGL")
{
mot.JOG((short)jog.arAxis, eMotionDirection.Negative);
}
}
}
}
void tblDO_ItemClick(object sender, GridView.ItemClickEventArgs e)
{
var nVal = !devIO.Output[e.idx];//.Get(e.idx);// doValue[e.idx];// == 1 ? (ushort)0 : (ushort)1;
devIO.SetOutput(e.idx, nVal);
}
void tblDI_ItemClick(object sender, GridView.ItemClickEventArgs e)
{
var nVal = !devIO.Input[e.idx];
devIO.SetInput(e.idx, nVal);
}
private void Dev_IOValueChagned(object sender, CEmuleDIO.IOValueChangedArgs e)
{
if (e.Dir == CEmuleDIO.eDirection.In)
{
//해당 아이템의 값을 변경하고 다시 그린다.
if (tblDI.setValue(e.ArrIDX, e.NewValue))
tblDI.Invalidate();//.drawItem(e.ArrIDX);
Console.WriteLine(string.Format("di change {0}:{1}", e.ArrIDX, e.NewValue.ToString()));
}
else
{
//해당 아이템의 값을 변경하고 다시 그린다.
if (tblDO.setValue(e.ArrIDX, e.NewValue))
tblDO.Invalidate();//.drawItem(e.ArrIDX);
Console.WriteLine(string.Format("do change {0}:{1}", e.ArrIDX, e.NewValue.ToString()));
}
}
private void timer1_Tick(object sender, EventArgs e)
{
for (int i = 0; i < this.devM.axisCount; i++)
{
//각 축별 데이터를 표시한다
this.jobCtl[i].arIsOrg = devM.isOrg(i);
this.jobCtl[i].arIsInp = devM.isINp(i);
this.jobCtl[i].arIsAlm = devM.isAlm(i);
this.jobCtl[i].arIsLimM = devM.isLimM(i);
this.jobCtl[i].arIsLimP = devM.isLimP(i);
this.jobCtl[i].arIsSvON = devM.isSvOn(i);
this.jobCtl[i].ardAct = devM.dAct[i];
this.jobCtl[i].arIsInit = true;// MotionObject.IsInit;
this.jobCtl[i].arIsHSet = true;
this.jobCtl[i].Invalidate();
}
//motor 표시
mcv.Pin_Run = devIO.Output[(int)eDOName.CONV_RUN];
mcv.Pin_DirCW = true;
mcv.Invalidate();
m1.Pin_Run = devIO.Output[(int)eDOName.PORT1_MOT_RUN];
m1.Pin_DirCW = devIO.Output[(int)eDOName.PORT1_MOT_DIR];
m1.Invalidate();
m2.Pin_Run = devIO.Output[(int)eDOName.PORT2_MOT_RUN];
m2.Pin_DirCW = devIO.Output[(int)eDOName.PORT2_MOT_DIR];
m2.Invalidate();
m3.Pin_Run = devIO.Output[(int)eDOName.PORT3_MOT_RUN];
m3.Pin_DirCW = devIO.Output[(int)eDOName.PORT3_MOT_DIR];
m3.Invalidate();
m4.Pin_Run = devIO.Output[(int)eDOName.PORT4_MOT_RUN];
m4.Pin_DirCW = devIO.Output[(int)eDOName.PORT4_MOT_DIR];
m4.Invalidate();
}
private void button1_Click(object sender, EventArgs e)
{
//모터 svon
Pub.mot.SetSVON(true);
//emg on
devIO.SetInput((int)eDIName.BUT_EMGF, true);
devIO.SetInput((int)eDIName.BUT_EMGR, true);
devIO.SetInput((int)eDIName.AREA_PORT11, true);
devIO.SetInput((int)eDIName.AREA_PORT12, true);
devIO.SetInput((int)eDIName.AREA_PORT21, true);
devIO.SetInput((int)eDIName.AREA_PORT22, true);
devIO.SetInput((int)eDIName.AREA_PORT31, true);
devIO.SetInput((int)eDIName.AREA_PORT32, true);
devIO.SetInput((int)eDIName.AREA_PORT41, true);
devIO.SetInput((int)eDIName.AREA_PORT42, true);
//각포트는 하단에 있는걸로 한다
devIO.SetInput((int)eDIName.PORT1_LIM_UP, true);
devIO.SetInput((int)eDIName.PORT1_LIM_DN, false); //false가 감지
devIO.SetInput((int)eDIName.PORT1_DET_UP, true);
devIO.SetInput((int)eDIName.PORT1_DET_DN, true);
devIO.SetInput((int)eDIName.PORT2_LIM_UP, true);
devIO.SetInput((int)eDIName.PORT2_LIM_DN, false); //false가 감지
devIO.SetInput((int)eDIName.PORT2_DET_UP, true);
devIO.SetInput((int)eDIName.PORT2_DET_DN, true);
devIO.SetInput((int)eDIName.PORT3_LIM_UP, true);
devIO.SetInput((int)eDIName.PORT3_LIM_DN, false); //false가 감지
devIO.SetInput((int)eDIName.PORT3_DET_UP, true);
devIO.SetInput((int)eDIName.PORT3_DET_DN, true);
devIO.SetInput((int)eDIName.PORT4_LIM_UP, true);
devIO.SetInput((int)eDIName.PORT4_LIM_DN, false); //false가 감지
devIO.SetInput((int)eDIName.PORT4_DET_UP, true);
devIO.SetInput((int)eDIName.PORT4_DET_DN, true);
}
}
}

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,205 @@
namespace Project
{
partial class fErrorException
{
/// <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()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fErrorException));
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.textBox1 = new System.Windows.Forms.TextBox();
this.panTitleBar = new System.Windows.Forms.Panel();
this.label3 = new System.Windows.Forms.Label();
this.lbTitle = new System.Windows.Forms.Label();
this.btTeach = new System.Windows.Forms.Label();
this.panel1 = new System.Windows.Forms.Panel();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.panTitleBar.SuspendLayout();
this.panel1.SuspendLayout();
this.SuspendLayout();
//
// pictureBox1
//
this.pictureBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
this.pictureBox1.Location = new System.Drawing.Point(269, 19);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(80, 80);
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
this.pictureBox1.TabIndex = 0;
this.pictureBox1.TabStop = false;
//
// label1
//
this.label1.AutoSize = true;
this.label1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.label1.Font = new System.Drawing.Font("맑은 고딕", 15.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.label1.ForeColor = System.Drawing.Color.White;
this.label1.Location = new System.Drawing.Point(10, 106);
this.label1.Name = "label1";
this.label1.Padding = new System.Windows.Forms.Padding(10);
this.label1.Size = new System.Drawing.Size(598, 50);
this.label1.TabIndex = 3;
this.label1.Text = "The program was terminated due to an unhandled error";
//
// label2
//
this.label2.AutoSize = true;
this.label2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.label2.Font = new System.Drawing.Font("맑은 고딕", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.label2.ForeColor = System.Drawing.Color.DodgerBlue;
this.label2.Location = new System.Drawing.Point(17, 159);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(507, 45);
this.label2.TabIndex = 4;
this.label2.Text = "Information for error reporting has been collected.\r\nThe collected information is" +
" shown below.\r\nPlease send to \"Chikyun.kim@amkor.co.kr\" including the situation " +
"before the error occurred.";
//
// textBox1
//
this.textBox1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50)))));
this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.textBox1.ForeColor = System.Drawing.Color.LightCoral;
this.textBox1.Location = new System.Drawing.Point(10, 218);
this.textBox1.Multiline = true;
this.textBox1.Name = "textBox1";
this.textBox1.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
this.textBox1.Size = new System.Drawing.Size(598, 346);
this.textBox1.TabIndex = 5;
this.textBox1.Text = "test";
//
// panTitleBar
//
this.panTitleBar.BackColor = System.Drawing.Color.Maroon;
this.panTitleBar.Controls.Add(this.label3);
this.panTitleBar.Controls.Add(this.lbTitle);
this.panTitleBar.Dock = System.Windows.Forms.DockStyle.Top;
this.panTitleBar.Location = new System.Drawing.Point(1, 1);
this.panTitleBar.Name = "panTitleBar";
this.panTitleBar.Size = new System.Drawing.Size(617, 32);
this.panTitleBar.TabIndex = 133;
//
// label3
//
this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.label3.AutoSize = true;
this.label3.Font = new System.Drawing.Font("맑은 고딕", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.label3.ForeColor = System.Drawing.Color.White;
this.label3.Location = new System.Drawing.Point(547, 6);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(61, 17);
this.label3.TabIndex = 61;
this.label3.Text = "[ Close ]";
this.label3.Click += new System.EventHandler(this.label3_Click);
//
// lbTitle
//
this.lbTitle.BackColor = System.Drawing.Color.Transparent;
this.lbTitle.Cursor = System.Windows.Forms.Cursors.Arrow;
this.lbTitle.Dock = System.Windows.Forms.DockStyle.Fill;
this.lbTitle.Font = new System.Drawing.Font("Cambria", 12F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lbTitle.ForeColor = System.Drawing.Color.LightSkyBlue;
this.lbTitle.Location = new System.Drawing.Point(0, 0);
this.lbTitle.Name = "lbTitle";
this.lbTitle.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0);
this.lbTitle.Size = new System.Drawing.Size(617, 32);
this.lbTitle.TabIndex = 60;
this.lbTitle.Text = "UnhandledException";
this.lbTitle.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// btTeach
//
this.btTeach.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.btTeach.Cursor = System.Windows.Forms.Cursors.Hand;
this.btTeach.Dock = System.Windows.Forms.DockStyle.Bottom;
this.btTeach.Font = new System.Drawing.Font("맑은 고딕", 20F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.btTeach.ForeColor = System.Drawing.Color.DeepPink;
this.btTeach.Location = new System.Drawing.Point(1, 610);
this.btTeach.Margin = new System.Windows.Forms.Padding(0, 0, 5, 0);
this.btTeach.Name = "btTeach";
this.btTeach.Size = new System.Drawing.Size(617, 61);
this.btTeach.TabIndex = 134;
this.btTeach.Text = "Close";
this.btTeach.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.btTeach.Click += new System.EventHandler(this.btTeach_Click);
//
// panel1
//
this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40)))));
this.panel1.Controls.Add(this.pictureBox1);
this.panel1.Controls.Add(this.textBox1);
this.panel1.Controls.Add(this.label1);
this.panel1.Controls.Add(this.label2);
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel1.Location = new System.Drawing.Point(1, 33);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(617, 577);
this.panel1.TabIndex = 135;
//
// fErrorException
//
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(619, 672);
this.Controls.Add(this.panel1);
this.Controls.Add(this.btTeach);
this.Controls.Add(this.panTitleBar);
this.Font = new System.Drawing.Font("맑은 고딕", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(129)));
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.KeyPreview = true;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "fErrorException";
this.Padding = new System.Windows.Forms.Padding(1);
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Error Report";
this.TopMost = true;
this.Load += new System.EventHandler(this.fErrorException_Load);
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.panTitleBar.ResumeLayout(false);
this.panTitleBar.PerformLayout();
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.PictureBox pictureBox1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.TextBox textBox1;
public System.Windows.Forms.Panel panTitleBar;
private System.Windows.Forms.Label lbTitle;
private System.Windows.Forms.Label btTeach;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Label label3;
}
}

View File

@@ -0,0 +1,79 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Project
{
public partial class fErrorException : Form
{
public fErrorException(string err)
{
InitializeComponent();
System.Text.StringBuilder sb = new StringBuilder();
sb.AppendLine("===============================");
sb.AppendLine("Amkor Technology Korea");
sb.AppendLine("K4 EEDP");
sb.AppendLine("===============================");
sb.AppendLine();
sb.AppendLine(err);
this.textBox1.Text = sb.ToString();
this.lbTitle.MouseMove += LbTitle_MouseMove;
this.lbTitle.MouseUp += LbTitle_MouseUp;
this.lbTitle.MouseDown += LbTitle_MouseDown;
this.lbTitle.DoubleClick += LbTitle_DoubleClick;
}
private void fErrorException_Load(object sender, EventArgs e)
{
}
#region "Mouse Form Move"
private Boolean fMove = false;
private Point MDownPos;
private void LbTitle_DoubleClick(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Maximized) this.WindowState = FormWindowState.Normal;
else this.WindowState = FormWindowState.Maximized;
}
private void LbTitle_MouseMove(object sender, MouseEventArgs e)
{
if (fMove)
{
Point offset = new Point(e.X - MDownPos.X, e.Y - MDownPos.Y);
this.Left += offset.X;
this.Top += offset.Y;
offset = new Point(0, 0);
}
}
private void LbTitle_MouseUp(object sender, MouseEventArgs e)
{
fMove = false;
}
private void LbTitle_MouseDown(object sender, MouseEventArgs e)
{
MDownPos = new Point(e.X, e.Y);
fMove = true;
}
#endregion
private void btTeach_Click(object sender, EventArgs e)
{
this.Close();
}
private void label3_Click(object sender, EventArgs e)
{
this.Close();
}
}
}

View File

@@ -0,0 +1,144 @@
<?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>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="pictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAb
rQAAG60BIeRSlQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAPnSURBVHhe7dzJ
TttQFAbgdNFKnZ6GFWKDfCNGsWRRddO+ATwBo5g2iNdopU7LqlXVFgUa2LDoE7TbQoEIFpVw72/5EOdw
INO919fx/aVfiuwTD58chcFyJSQkJJu4Urm3H0Uv95Wq7VWrx2jyOopeYF06FiLlcGbmkQZ7v6dULFav
w0w6HpINYGpKfQbUj/Hx+Pf8fHy2thafra8nr7EsQYyiT7Xh4Yfp20KQLF59cjI+XlqKL7e3W4plWBcQ
WXZHRp5qkF3AHE5NxScrKzfwqFiHmRRxF+9NN1POdINHDYhpesGjlh6xHzxqaRE53t/VVRGok5YO0SQe
tTSINvCoLYhKfR84RJt41IFFdIFHxbYHCtElHpUjfhkdfZIeTrGS4OkTcIlHLTxinnjUwiLiQPPGoxYO
0Sc8amEQTePxSDOd1ntEG1cejzTTTb1FbMGbnjaCh/JIM93WO0RbeCiPNNNLs4g1pb7lhmgTD+WRZnpt
7oi28VAeaaaf5oaIHWGHNvFQHmmm3yaI+hycIbrCQ3mkGRN1hugSD+WRZkzVOqJrPJRHmjFZa4h54KE8
0ozpGkfMCw/lkWZs1BhinngojzRjq30j5o2H8kgzNptF3Ffqa8eIPuChPNKM7XaN6AseyiPNuChHPBob
e5xytQZ3f2q81xg80L/inCwvixt0VR5pxlVhAZMEsVp9Jd4pq1c+xwBuZMwbD+WRZlwWJnSTZy2KnqVs
zegVyR8Hfs3NiRtwXR5pxnVhAyN8lFO2ZvSKc6w839gQ3+y6PNKM68IGRrpnKVszemEjAN5d3K99F2D4
CLdpu49w+BK5o22/RMKPMbcXFm1/jEEOh4bu68vzLQbrExPx8eKiuEEX5ZFmXBQGsICJ7hsYpVxyfEHk
kWZst2s8ik9XYl7tGY9SZsQsHgy6xqOUEdEYHqVMiMbxKGVAtIZHcYq4sxP/q9fjq9PTpHiNZeKsgVrH
o/ycnX3gAhFgPAmiMNtv/ywsuMGjuEC8ajRStmawTJrtp87xKEDUv/a9s4XoAjA3PIpNRNsfYY6Hc0lP
y22sIdKXyMVF0gTP0JeIN3gUjogDlA7ch3qHRykCYhYPx+oNHsVnRO/xKD4iFgaPggOkpw/ljVg4PIoP
iIXFo+SJWHg8Ch7PpE/iI07kAI90cvCPKuwD+8I+se/CPyLK5ZWYvfKwz8JeeTwuEAcWj2ITceDxKDYQ
S4NHMYlYOjyKCcTS4lESRKU+9IKI2etHgpYRj9ILYsBj6QYx4N2S8BBaA5Eeg9zY3IwbW1vhMcidBoj0
7SxWr8NMOh4iBXd/Xj8KXqlLNHkdHgUfEnIjlcp/1rPAKpMPkMkAAAAASUVORK5CYII=
</value>
</data>
</root>

View File

@@ -0,0 +1,242 @@
namespace Project
{
partial class fTeach
{
/// <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()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fTeach));
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
this.btOpen = new System.Windows.Forms.ToolStripButton();
this.btSave = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.btFindEvision = new System.Windows.Forms.ToolStripButton();
this.btTestEvision = new System.Windows.Forms.ToolStripButton();
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
this.panel1 = new System.Windows.Forms.Panel();
this.button1 = new System.Windows.Forms.Button();
this.tbGainOff = new System.Windows.Forms.TextBox();
this.tbErode = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.panel2 = new System.Windows.Forms.Panel();
this.tbBarcodeList = new System.Windows.Forms.TextBox();
this.toolStripButton13 = new System.Windows.Forms.ToolStripButton();
this.toolStrip1.SuspendLayout();
this.panel1.SuspendLayout();
this.SuspendLayout();
//
// toolStrip1
//
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.btOpen,
this.btSave,
this.toolStripSeparator2,
this.btFindEvision,
this.btTestEvision,
this.toolStripButton13});
this.toolStrip1.Location = new System.Drawing.Point(0, 0);
this.toolStrip1.Name = "toolStrip1";
this.toolStrip1.Size = new System.Drawing.Size(688, 25);
this.toolStrip1.TabIndex = 3;
this.toolStrip1.Text = "toolStrip1";
//
// btOpen
//
this.btOpen.Image = ((System.Drawing.Image)(resources.GetObject("btOpen.Image")));
this.btOpen.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btOpen.Name = "btOpen";
this.btOpen.Size = new System.Drawing.Size(56, 22);
this.btOpen.Text = "Open";
this.btOpen.Click += new System.EventHandler(this.toolStripButton1_Click);
//
// btSave
//
this.btSave.Image = ((System.Drawing.Image)(resources.GetObject("btSave.Image")));
this.btSave.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btSave.Name = "btSave";
this.btSave.Size = new System.Drawing.Size(52, 22);
this.btSave.Text = "Save";
this.btSave.Click += new System.EventHandler(this.toolStripButton4_Click);
//
// toolStripSeparator2
//
this.toolStripSeparator2.Name = "toolStripSeparator2";
this.toolStripSeparator2.Size = new System.Drawing.Size(6, 25);
//
// btFindEvision
//
this.btFindEvision.Image = ((System.Drawing.Image)(resources.GetObject("btFindEvision.Image")));
this.btFindEvision.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btFindEvision.Name = "btFindEvision";
this.btFindEvision.Size = new System.Drawing.Size(95, 22);
this.btFindEvision.Text = "Find(Evision)";
this.btFindEvision.Click += new System.EventHandler(this.btFineEvision_Click);
//
// btTestEvision
//
this.btTestEvision.Image = ((System.Drawing.Image)(resources.GetObject("btTestEvision.Image")));
this.btTestEvision.ImageTransparentColor = System.Drawing.Color.Magenta;
this.btTestEvision.Name = "btTestEvision";
this.btTestEvision.Size = new System.Drawing.Size(93, 22);
this.btTestEvision.Text = "Test(Evision)";
this.btTestEvision.Click += new System.EventHandler(this.toolStripButton3_Click);
//
// statusStrip1
//
this.statusStrip1.Location = new System.Drawing.Point(0, 606);
this.statusStrip1.Name = "statusStrip1";
this.statusStrip1.Size = new System.Drawing.Size(688, 22);
this.statusStrip1.TabIndex = 4;
this.statusStrip1.Text = "statusStrip1";
//
// panel1
//
this.panel1.Controls.Add(this.button1);
this.panel1.Controls.Add(this.tbGainOff);
this.panel1.Controls.Add(this.tbErode);
this.panel1.Controls.Add(this.label2);
this.panel1.Controls.Add(this.label1);
this.panel1.Dock = System.Windows.Forms.DockStyle.Bottom;
this.panel1.Location = new System.Drawing.Point(0, 495);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(688, 111);
this.panel1.TabIndex = 5;
//
// button1
//
this.button1.Location = new System.Drawing.Point(112, 70);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(564, 29);
this.button1.TabIndex = 2;
this.button1.Text = "Save Setting";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// tbGainOff
//
this.tbGainOff.Location = new System.Drawing.Point(112, 42);
this.tbGainOff.Name = "tbGainOff";
this.tbGainOff.Size = new System.Drawing.Size(564, 21);
this.tbGainOff.TabIndex = 1;
//
// tbErode
//
this.tbErode.Location = new System.Drawing.Point(112, 14);
this.tbErode.Name = "tbErode";
this.tbErode.Size = new System.Drawing.Size(564, 21);
this.tbErode.TabIndex = 1;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(15, 45);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(91, 12);
this.label2.TabIndex = 0;
this.label2.Text = "Gain Offset List";
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(44, 17);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(62, 12);
this.label1.TabIndex = 0;
this.label1.Text = "Erode List";
//
// panel2
//
this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel2.Location = new System.Drawing.Point(0, 25);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(688, 405);
this.panel2.TabIndex = 6;
//
// tbBarcodeList
//
this.tbBarcodeList.Dock = System.Windows.Forms.DockStyle.Bottom;
this.tbBarcodeList.Location = new System.Drawing.Point(0, 430);
this.tbBarcodeList.Multiline = true;
this.tbBarcodeList.Name = "tbBarcodeList";
this.tbBarcodeList.ReadOnly = true;
this.tbBarcodeList.Size = new System.Drawing.Size(688, 65);
this.tbBarcodeList.TabIndex = 7;
//
// toolStripButton13
//
this.toolStripButton13.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
this.toolStripButton13.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton13.Image")));
this.toolStripButton13.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolStripButton13.Name = "toolStripButton13";
this.toolStripButton13.Size = new System.Drawing.Size(61, 22);
this.toolStripButton13.Text = "debug";
this.toolStripButton13.Click += new System.EventHandler(this.toolStripButton13_Click);
//
// fTeach
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(688, 628);
this.Controls.Add(this.panel2);
this.Controls.Add(this.tbBarcodeList);
this.Controls.Add(this.panel1);
this.Controls.Add(this.statusStrip1);
this.Controls.Add(this.toolStrip1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "fTeach";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Vision Teach";
this.Load += new System.EventHandler(this.fTeach_Load);
this.toolStrip1.ResumeLayout(false);
this.toolStrip1.PerformLayout();
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.ToolStrip toolStrip1;
private System.Windows.Forms.StatusStrip statusStrip1;
private System.Windows.Forms.ToolStripButton btOpen;
private System.Windows.Forms.ToolStripButton btFindEvision;
private System.Windows.Forms.ToolStripButton btTestEvision;
private System.Windows.Forms.ToolStripButton btSave;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.TextBox tbErode;
private System.Windows.Forms.TextBox tbGainOff;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.TextBox tbBarcodeList;
private System.Windows.Forms.ToolStripButton toolStripButton13;
}
}

View File

@@ -0,0 +1,252 @@
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 AR;
#if V22
using Euresys.Open_eVision_22_12;
#else
using Euresys.Open_eVision_2_11;
#endif
namespace Project
{
public partial class fTeach : Form
{
EImageBW8 img = null;
private arCtl.ImageBoxEvision iv1;
public fTeach(EBaseROI img_ = null)
{
InitializeComponent();
this.iv1 = new arCtl.ImageBoxEvision();
this.iv1.BackColor = Color.Black;
this.iv1.Dock = DockStyle.Fill;
this.panel2.Controls.Add(iv1);
iv1.Dock = DockStyle.Fill;
if (img_ != null)
{
img = new EImageBW8();
img.SetSize(img_);
img_.CopyTo(this.img);
//EasyImage.Copy(img_, img);
this.iv1.Image = img;
this.iv1.Invalidate();
this.iv1.ZoomFit();
}
this.FormClosed += FTeach_FormClosed;
}
private void FTeach_FormClosed(object sender, FormClosedEventArgs e)
{
if (this.img != null) img.Dispose();
runtest = false;
}
private void fTeach_Load(object sender, EventArgs e)
{
this.tbErode.Text = PUB.setting.erodevaluestr;
this.tbGainOff.Text = PUB.setting.GainOffsetListStr;
}
private void toolStripButton1_Click(object sender, EventArgs e)
{
//open file
OpenFileDialog od = new OpenFileDialog();
if (od.ShowDialog() == DialogResult.OK)
{
if (this.img != null) this.img.Dispose();
img = new EImageBW8();
img.Load(od.FileName);
this.iv1.Image = img;
this.iv1.Invalidate();
this.iv1.ZoomFit();
}
}
private void btFineEvision_Click(object sender, EventArgs e)
{
string resultMessage;
iv1.Shapes.Clear();
//using (EImageBW8 img = new EImageBW8(this.img.Width, this.img.Height))
{
//img.SetImagePtr(this.img.Width, this.img.Height, this.img.MIplImage.ImageData);
var pccnt = 0;
var qrrlt = Util_Vision.DetectQR(img, this.iv1, pccnt++,
out resultMessage,
tbErode.Text,
tbGainOff.Text,
PUB.setting.blob_area_min,
PUB.setting.blob_area_max,
PUB.setting.blob_sigmaxy,
PUB.setting.blob_sigmayy,
PUB.setting.blob_sigmaxx,
PUB.setting.blob_minw,
PUB.setting.blob_maxw,
PUB.setting.blob_minh,
PUB.setting.blob_maxh);
var list = qrrlt.Item1;
//PUB.ProcessTime[ECalibrationMode]
this.tbBarcodeList.Text = string.Join(",", list.Select(t => t.data).ToArray());
//
foreach (var item in list.OrderByDescending(t => t.sid))
{
Console.WriteLine("sid:" + item.sid);
}
}
this.iv1.ZoomFit();
}
Boolean runtest = false;
int runcount = 0;
private void toolStripButton3_Click(object sender, EventArgs e)
{
if (runtest)
{
runtest = false;
PUB.log_[0].Add($"Test completed({runcount})");
}
else
{
string resultMessage;
iv1.Shapes.Clear();
runcount = 0;
runtest = true;
PUB.log_[0].Add("Test Evision Start");
Task.Run(() =>
{
while (runtest)
{
Util_Vision.DetectQR(img, this.iv1, runcount++,
out resultMessage,
tbErode.Text,
tbGainOff.Text,
PUB.setting.blob_area_min,
PUB.setting.blob_area_max,
PUB.setting.blob_sigmaxy,
PUB.setting.blob_sigmayy,
PUB.setting.blob_sigmaxx,
PUB.setting.blob_minw,
PUB.setting.blob_maxw,
PUB.setting.blob_minh,
PUB.setting.blob_maxh);
}
});
}
}
private void toolStripButton4_Click(object sender, EventArgs e)
{
if (this.iv1.Image == null)
{
UTIL.MsgE("No image");
return;
}
var sd = new SaveFileDialog();
sd.FileName = "saveimage.bmp";
if (sd.ShowDialog() == DialogResult.OK)
this.iv1.Image.Save(sd.FileName);
}
private void button1_Click(object sender, EventArgs e)
{
PUB.setting.erodevaluestr = tbErode.Text;
PUB.setting.GainOffsetListStr = tbGainOff.Text;
PUB.setting.Save();
}
private void toolStripButton13_Click(object sender, EventArgs e)
{
this.iv1.DebugMode = !this.iv1.DebugMode;
this.iv1.Invalidate();
}
//private void toolStripButton6_Click(object sender, EventArgs e)
//{
// string resultMessage;
// iv1.ClearShape();
// using (EImageBW8 img = new EImageBW8(this.img.Width, this.img.Height))
// {
// img.SetImagePtr(this.img.Width, this.img.Height, this.img.MIplImage.ImageData);
// var pccnt = 0;
// var list = Util_Vision.DetectQR(img, this.iv1, pccnt++,
// out resultMessage,
// tbErode.Text,
// tbGainOff.Text,
// Pub.setting.blob_area_min,
// Pub.setting.blob_area_max,
// Pub.setting.blob_sigmaxy,
// Pub.setting.blob_sigmayy,
// Pub.setting.blob_sigmaxx,
// Pub.setting.blob_minw,
// Pub.setting.blob_maxw,
// Pub.setting.blob_minh,
// Pub.setting.blob_maxh,
// true);
// //
// foreach (var item in list.OrderByDescending(t => t.sid))
// {
// Console.WriteLine("sid:" + item.sid);
// }
// }
// this.iv1.ZoomFit();
//}
//private void toolStripButton5_Click(object sender, EventArgs e)
//{
// if (runtest)
// {
// runtest = false;
// Pub.log.Add($"테스트 종료({runcount})");
// }
// else
// {
// Pub.log.Add("Test Evision+Softtek Start");
// string resultMessage;
// iv1.ClearShape();
// runcount = 0;
// runtest = true;
// Task.Run(() =>
// {
// using (EImageBW8 img = new EImageBW8(this.img.Width, this.img.Height))
// {
// img.SetImagePtr(this.img.Width, this.img.Height, this.img.MIplImage.ImageData);
// while (runtest)
// {
// Util_Vision.DetectQR(img, this.iv1, runcount++,
// out resultMessage,
// tbErode.Text,
// tbGainOff.Text,
// Pub.setting.blob_area_min,
// Pub.setting.blob_area_max,
// Pub.setting.blob_sigmaxy,
// Pub.setting.blob_sigmayy,
// Pub.setting.blob_sigmaxx,
// Pub.setting.blob_minw,
// Pub.setting.blob_maxw,
// Pub.setting.blob_minh,
// Pub.setting.blob_maxh,
// true);
// }
// }
// });
// }
//}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,97 @@
namespace Project
{
partial class fviewer
{
/// <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();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(fviewer));
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
this.sbConnState = new System.Windows.Forms.ToolStripStatusLabel();
this.piv = new System.Windows.Forms.Panel();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.statusStrip1.SuspendLayout();
this.SuspendLayout();
//
// statusStrip1
//
this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.sbConnState});
this.statusStrip1.Location = new System.Drawing.Point(0, 625);
this.statusStrip1.Name = "statusStrip1";
this.statusStrip1.Padding = new System.Windows.Forms.Padding(1, 0, 12, 0);
this.statusStrip1.Size = new System.Drawing.Size(854, 24);
this.statusStrip1.TabIndex = 4;
this.statusStrip1.Text = "statusStrip1";
//
// sbConnState
//
this.sbConnState.Font = new System.Drawing.Font("맑은 고딕", 10F);
this.sbConnState.Name = "sbConnState";
this.sbConnState.Size = new System.Drawing.Size(23, 19);
this.sbConnState.Text = "●";
//
// piv
//
this.piv.Dock = System.Windows.Forms.DockStyle.Fill;
this.piv.Location = new System.Drawing.Point(0, 0);
this.piv.Name = "piv";
this.piv.Size = new System.Drawing.Size(854, 625);
this.piv.TabIndex = 6;
this.piv.MouseClick += new System.Windows.Forms.MouseEventHandler(this.piv_MouseClick);
//
// timer1
//
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
//
// fviewer
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(854, 649);
this.Controls.Add(this.piv);
this.Controls.Add(this.statusStrip1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.KeyPreview = true;
this.Name = "fviewer";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Image viewer";
this.Load += new System.EventHandler(this.fTeach_Load);
this.statusStrip1.ResumeLayout(false);
this.statusStrip1.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.StatusStrip statusStrip1;
private System.Windows.Forms.Panel piv;
private System.Windows.Forms.Timer timer1;
private System.Windows.Forms.ToolStripStatusLabel sbConnState;
}
}

View File

@@ -0,0 +1,150 @@
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 AR;
#if V22
using Euresys.Open_eVision_22_12;
#else
using Euresys.Open_eVision_2_11;
#endif
namespace Project
{
public partial class fviewer : Form
{
int Camidx = 0;
EImageBW8 img = null;
private arCtl.ImageBoxEvision iv1;
public fviewer(int camidx)
{
InitializeComponent();
PUB.imgque.Push(this.Name);
this.Camidx = camidx;
//this.iv1 = new arCtl.ImageBoxEvision();
//this.iv1.BackColor = Color.Black;
//this.iv1.Dock = DockStyle.Fill;
//this.piv.Controls.Add(iv1);
//iv1.Dock = DockStyle.Fill;
//if (img_ != null)
//{
// img = new EImageBW8();
// img.SetSize(img_);
// img_.CopyTo(this.img);
// EasyImage.Copy(img_, img);
// this.iv1.Image = img;
// this.iv1.Invalidate();
// this.iv1.ZoomFit();
//}
this.KeyDown += (s1, e1) => {
if (e1.KeyCode == Keys.Escape) this.Close();
};
this.FormClosed += FTeach_FormClosed;
this.WindowState = FormWindowState.Maximized;
}
private void FTeach_FormClosed(object sender, FormClosedEventArgs e)
{
this.timer1.Stop();
PUB.imgque.Pop();
if (this.img != null) img.Dispose();
runtest = false;
}
private void fTeach_Load(object sender, EventArgs e)
{
this.timer1.Start();
}
private void toolStripButton1_Click(object sender, EventArgs e)
{
//open file
OpenFileDialog od = new OpenFileDialog();
if (od.ShowDialog() == DialogResult.OK)
{
if (this.img != null) this.img.Dispose();
img = new EImageBW8();
img.Load(od.FileName);
this.iv1.Image = img;
this.iv1.Invalidate();
this.iv1.ZoomFit();
}
}
Boolean runtest = false;
int runcount = 0;
private void toolStripButton4_Click(object sender, EventArgs e)
{
if (this.iv1.Image == null)
{
UTIL.MsgE("No image");
return;
}
var sd = new SaveFileDialog();
sd.FileName = "saveimage.bmp";
if (sd.ShowDialog() == DialogResult.OK)
this.iv1.Image.Save(sd.FileName);
}
private void toolStripButton13_Click(object sender, EventArgs e)
{
this.iv1.DebugMode = !this.iv1.DebugMode;
this.iv1.Invalidate();
}
private void timer1_Tick(object sender, EventArgs e)
{
if (this.IsDisposed == true || this.Disposing == true) return;
if (PUB.imgque.Peek().Equals(this.Name) == false) return;
//카메라가 연결되지 않았따면 처리하지 않는다.
if (PUB._isCrevisOpen[Camidx] == false || PUB.flag.get(eFlag.CAMERAINIT) == false)
{
}
else
{
//이미지수집후 데이터 처리
if (PUB.CrevisGrab(this.Camidx, true,this.piv))
{
//if (IsProcess[Camidx] || IsTrigger[Camidx])
PUB.CreavisProcess(Camidx, true, this.piv);// IsTrigger[Camidx]);
}
}
//heart beat
//this.BeginInvoke(new Action(() =>
//{
if (sbConnState.ForeColor == Color.Green)
sbConnState.ForeColor = Color.LimeGreen;
else
sbConnState.ForeColor = Color.Green;
//}));
}
private void piv_MouseClick(object sender, MouseEventArgs e)
{
this.Close();
}
}
}

File diff suppressed because it is too large Load Diff