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:
648
QRValidation/Project/Dialog/fEmulator.Designer.cs
generated
Normal file
648
QRValidation/Project/Dialog/fEmulator.Designer.cs
generated
Normal 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;
|
||||
}
|
||||
}
|
||||
278
QRValidation/Project/Dialog/fEmulator.cs
Normal file
278
QRValidation/Project/Dialog/fEmulator.cs
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
123
QRValidation/Project/Dialog/fEmulator.resx
Normal file
123
QRValidation/Project/Dialog/fEmulator.resx
Normal 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>
|
||||
205
QRValidation/Project/Dialog/fErrorException.Designer.cs
generated
Normal file
205
QRValidation/Project/Dialog/fErrorException.Designer.cs
generated
Normal 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;
|
||||
}
|
||||
}
|
||||
79
QRValidation/Project/Dialog/fErrorException.cs
Normal file
79
QRValidation/Project/Dialog/fErrorException.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
144
QRValidation/Project/Dialog/fErrorException.resx
Normal file
144
QRValidation/Project/Dialog/fErrorException.resx
Normal 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>
|
||||
242
QRValidation/Project/Dialog/fTeach.Designer.cs
generated
Normal file
242
QRValidation/Project/Dialog/fTeach.Designer.cs
generated
Normal 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;
|
||||
}
|
||||
}
|
||||
252
QRValidation/Project/Dialog/fTeach.cs
Normal file
252
QRValidation/Project/Dialog/fTeach.cs
Normal 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);
|
||||
// }
|
||||
// }
|
||||
|
||||
// });
|
||||
|
||||
// }
|
||||
|
||||
//}
|
||||
}
|
||||
}
|
||||
1890
QRValidation/Project/Dialog/fTeach.resx
Normal file
1890
QRValidation/Project/Dialog/fTeach.resx
Normal file
File diff suppressed because it is too large
Load Diff
97
QRValidation/Project/Dialog/fviewer.Designer.cs
generated
Normal file
97
QRValidation/Project/Dialog/fviewer.Designer.cs
generated
Normal 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;
|
||||
}
|
||||
}
|
||||
150
QRValidation/Project/Dialog/fviewer.cs
Normal file
150
QRValidation/Project/Dialog/fviewer.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
1818
QRValidation/Project/Dialog/fviewer.resx
Normal file
1818
QRValidation/Project/Dialog/fviewer.resx
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user