版本-v1.0 测试AOI硬件基础调试完成

This commit is contained in:
CPL 2023-11-29 08:17:47 +08:00
parent e2470f1c0b
commit 75d0e508ca
200 changed files with 228965 additions and 722 deletions

File diff suppressed because one or more lines are too long

View File

@ -180,6 +180,12 @@
<Compile Include="SysUI\DefectPicShow\CamImageFrm.Designer.cs"> <Compile Include="SysUI\DefectPicShow\CamImageFrm.Designer.cs">
<DependentUpon>CamImageFrm.cs</DependentUpon> <DependentUpon>CamImageFrm.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="SysUI\DefectPicShow\DebugTestFrm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="SysUI\DefectPicShow\DebugTestFrm.Designer.cs">
<DependentUpon>DebugTestFrm.cs</DependentUpon>
</Compile>
<Compile Include="SysUI\DefectPicShow\ImageShowFrm.cs"> <Compile Include="SysUI\DefectPicShow\ImageShowFrm.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
@ -383,6 +389,9 @@
<EmbeddedResource Include="SysUI\DefectPicShow\CamImageFrm.resx"> <EmbeddedResource Include="SysUI\DefectPicShow\CamImageFrm.resx">
<DependentUpon>CamImageFrm.cs</DependentUpon> <DependentUpon>CamImageFrm.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="SysUI\DefectPicShow\DebugTestFrm.resx">
<DependentUpon>DebugTestFrm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="SysUI\DefectPicShow\ImageShowFrm.resx"> <EmbeddedResource Include="SysUI\DefectPicShow\ImageShowFrm.resx">
<DependentUpon>ImageShowFrm.cs</DependentUpon> <DependentUpon>ImageShowFrm.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>

View File

@ -28,13 +28,12 @@
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainFrm)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainFrm));
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle14 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle15 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle12 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle13 = new System.Windows.Forms.DataGridViewCellStyle();
this.menuStrip1 = new System.Windows.Forms.MenuStrip(); this.menuStrip1 = new System.Windows.Forms.MenuStrip();
this.tsmSysmgr = new System.Windows.Forms.ToolStripMenuItem(); this.tsmSysmgr = new System.Windows.Forms.ToolStripMenuItem();
this.tsmStepMgr = new System.Windows.Forms.ToolStripMenuItem(); this.tsmStepMgr = new System.Windows.Forms.ToolStripMenuItem();
@ -83,9 +82,9 @@
this.label7 = new System.Windows.Forms.Label(); this.label7 = new System.Windows.Forms.Label();
this.gpbProductInfo = new System.Windows.Forms.GroupBox(); this.gpbProductInfo = new System.Windows.Forms.GroupBox();
this.panel1 = new System.Windows.Forms.Panel(); this.panel1 = new System.Windows.Forms.Panel();
this.txtProductCode = new System.Windows.Forms.TextBox(); this.cbProductSN = new System.Windows.Forms.ComboBox();
this.cbProductCode = new System.Windows.Forms.ComboBox();
this.label3 = new System.Windows.Forms.Label(); this.label3 = new System.Windows.Forms.Label();
this.txtProductSN = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label();
this.splitContainer2 = new System.Windows.Forms.SplitContainer(); this.splitContainer2 = new System.Windows.Forms.SplitContainer();
this.picScanner1 = new System.Windows.Forms.PictureBox(); this.picScanner1 = new System.Windows.Forms.PictureBox();
@ -97,10 +96,9 @@
this.tsslLoginTime = new System.Windows.Forms.ToolStripStatusLabel(); this.tsslLoginTime = new System.Windows.Forms.ToolStripStatusLabel();
this.tsslLoginInfo = new System.Windows.Forms.ToolStripStatusLabel(); this.tsslLoginInfo = new System.Windows.Forms.ToolStripStatusLabel();
this.tslabelTime = new System.Windows.Forms.ToolStripStatusLabel(); this.tslabelTime = new System.Windows.Forms.ToolStripStatusLabel();
this.tslabelTestTime = new System.Windows.Forms.ToolStripStatusLabel();
this.lblTimeLen = new System.Windows.Forms.Label(); this.lblTimeLen = new System.Windows.Forms.Label();
this.uiTitel1 = new MaiMuControl.UIKits.MaiMuMenu.UITitel(); this.uiTitel1 = new MaiMuControl.UIKits.MaiMuMenu.UITitel();
this.timer1 = new System.Windows.Forms.Timer(this.components); this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker();
this.menuStrip1.SuspendLayout(); this.menuStrip1.SuspendLayout();
this.toolStrip1.SuspendLayout(); this.toolStrip1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
@ -460,11 +458,11 @@
this.gpbLog.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); this.gpbLog.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120)))));
this.gpbLog.Controls.Add(this.lstLog); this.gpbLog.Controls.Add(this.lstLog);
this.gpbLog.ForeColor = System.Drawing.SystemColors.Control; this.gpbLog.ForeColor = System.Drawing.SystemColors.Control;
this.gpbLog.Location = new System.Drawing.Point(6, 326); this.gpbLog.Location = new System.Drawing.Point(2, 342);
this.gpbLog.Margin = new System.Windows.Forms.Padding(2); this.gpbLog.Margin = new System.Windows.Forms.Padding(2);
this.gpbLog.Name = "gpbLog"; this.gpbLog.Name = "gpbLog";
this.gpbLog.Padding = new System.Windows.Forms.Padding(2); this.gpbLog.Padding = new System.Windows.Forms.Padding(2);
this.gpbLog.Size = new System.Drawing.Size(453, 98); this.gpbLog.Size = new System.Drawing.Size(453, 82);
this.gpbLog.TabIndex = 6; this.gpbLog.TabIndex = 6;
this.gpbLog.TabStop = false; this.gpbLog.TabStop = false;
this.gpbLog.Text = "日志信息"; this.gpbLog.Text = "日志信息";
@ -478,7 +476,7 @@
this.lstLog.ItemHeight = 16; this.lstLog.ItemHeight = 16;
this.lstLog.Location = new System.Drawing.Point(2, 16); this.lstLog.Location = new System.Drawing.Point(2, 16);
this.lstLog.Name = "lstLog"; this.lstLog.Name = "lstLog";
this.lstLog.Size = new System.Drawing.Size(449, 80); this.lstLog.Size = new System.Drawing.Size(449, 64);
this.lstLog.TabIndex = 27; this.lstLog.TabIndex = 27;
this.lstLog.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.lstLog_DrawItem); this.lstLog.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.lstLog_DrawItem);
// //
@ -490,11 +488,11 @@
this.gpbProcessList.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); this.gpbProcessList.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120)))));
this.gpbProcessList.Controls.Add(this.dgvProcess); this.gpbProcessList.Controls.Add(this.dgvProcess);
this.gpbProcessList.ForeColor = System.Drawing.SystemColors.Control; this.gpbProcessList.ForeColor = System.Drawing.SystemColors.Control;
this.gpbProcessList.Location = new System.Drawing.Point(4, 206); this.gpbProcessList.Location = new System.Drawing.Point(2, 269);
this.gpbProcessList.Margin = new System.Windows.Forms.Padding(2); this.gpbProcessList.Margin = new System.Windows.Forms.Padding(2);
this.gpbProcessList.Name = "gpbProcessList"; this.gpbProcessList.Name = "gpbProcessList";
this.gpbProcessList.Padding = new System.Windows.Forms.Padding(2); this.gpbProcessList.Padding = new System.Windows.Forms.Padding(2);
this.gpbProcessList.Size = new System.Drawing.Size(455, 116); this.gpbProcessList.Size = new System.Drawing.Size(455, 69);
this.gpbProcessList.TabIndex = 5; this.gpbProcessList.TabIndex = 5;
this.gpbProcessList.TabStop = false; this.gpbProcessList.TabStop = false;
this.gpbProcessList.Text = "工序列表"; this.gpbProcessList.Text = "工序列表";
@ -507,27 +505,27 @@
| System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.dgvProcess.BackgroundColor = System.Drawing.SystemColors.Control; this.dgvProcess.BackgroundColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; dataGridViewCellStyle11.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control; dataGridViewCellStyle11.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); dataGridViewCellStyle11.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(92)))), ((int)(((byte)(172))))); dataGridViewCellStyle11.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(92)))), ((int)(((byte)(172)))));
dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Control; dataGridViewCellStyle11.SelectionBackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle1.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(92)))), ((int)(((byte)(172))))); dataGridViewCellStyle11.SelectionForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(92)))), ((int)(((byte)(172)))));
dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True; dataGridViewCellStyle11.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dgvProcess.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1; this.dgvProcess.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle11;
this.dgvProcess.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.dgvProcess.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvProcess.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.dgvProcess.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.colCode, this.colCode,
this.colProcessName, this.colProcessName,
this.colValue}); this.colValue});
dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; dataGridViewCellStyle14.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Window; dataGridViewCellStyle14.BackColor = System.Drawing.SystemColors.Window;
dataGridViewCellStyle4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); dataGridViewCellStyle14.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.Control; dataGridViewCellStyle14.ForeColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; dataGridViewCellStyle14.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle4.SelectionForeColor = System.Drawing.Color.Black; dataGridViewCellStyle14.SelectionForeColor = System.Drawing.Color.Black;
dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False; dataGridViewCellStyle14.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.dgvProcess.DefaultCellStyle = dataGridViewCellStyle4; this.dgvProcess.DefaultCellStyle = dataGridViewCellStyle14;
this.dgvProcess.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(92)))), ((int)(((byte)(172))))); this.dgvProcess.GridColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(92)))), ((int)(((byte)(172)))));
this.dgvProcess.Location = new System.Drawing.Point(2, 16); this.dgvProcess.Location = new System.Drawing.Point(2, 16);
this.dgvProcess.Margin = new System.Windows.Forms.Padding(2); this.dgvProcess.Margin = new System.Windows.Forms.Padding(2);
@ -536,11 +534,11 @@
this.dgvProcess.ReadOnly = true; this.dgvProcess.ReadOnly = true;
this.dgvProcess.RowHeadersVisible = false; this.dgvProcess.RowHeadersVisible = false;
this.dgvProcess.RowHeadersWidth = 62; this.dgvProcess.RowHeadersWidth = 62;
dataGridViewCellStyle5.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); dataGridViewCellStyle15.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.dgvProcess.RowsDefaultCellStyle = dataGridViewCellStyle5; this.dgvProcess.RowsDefaultCellStyle = dataGridViewCellStyle15;
this.dgvProcess.RowTemplate.Height = 30; this.dgvProcess.RowTemplate.Height = 30;
this.dgvProcess.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; this.dgvProcess.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.dgvProcess.Size = new System.Drawing.Size(449, 98); this.dgvProcess.Size = new System.Drawing.Size(449, 51);
this.dgvProcess.TabIndex = 3; this.dgvProcess.TabIndex = 3;
// //
// colCode // colCode
@ -556,9 +554,9 @@
// colProcessName // colProcessName
// //
this.colProcessName.DataPropertyName = "ProcessName"; this.colProcessName.DataPropertyName = "ProcessName";
dataGridViewCellStyle2.BackColor = System.Drawing.Color.White; dataGridViewCellStyle12.BackColor = System.Drawing.Color.White;
dataGridViewCellStyle2.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134))); dataGridViewCellStyle12.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.colProcessName.DefaultCellStyle = dataGridViewCellStyle2; this.colProcessName.DefaultCellStyle = dataGridViewCellStyle12;
this.colProcessName.HeaderText = "工序名称"; this.colProcessName.HeaderText = "工序名称";
this.colProcessName.MinimumWidth = 8; this.colProcessName.MinimumWidth = 8;
this.colProcessName.Name = "colProcessName"; this.colProcessName.Name = "colProcessName";
@ -569,8 +567,8 @@
// colValue // colValue
// //
this.colValue.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill; this.colValue.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
dataGridViewCellStyle3.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold); dataGridViewCellStyle13.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Bold);
this.colValue.DefaultCellStyle = dataGridViewCellStyle3; this.colValue.DefaultCellStyle = dataGridViewCellStyle13;
this.colValue.HeaderText = "内容"; this.colValue.HeaderText = "内容";
this.colValue.MinimumWidth = 8; this.colValue.MinimumWidth = 8;
this.colValue.Name = "colValue"; this.colValue.Name = "colValue";
@ -585,7 +583,7 @@
this.groupBox1.Controls.Add(this.splitContainer3); this.groupBox1.Controls.Add(this.splitContainer3);
this.groupBox1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.groupBox1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.groupBox1.ForeColor = System.Drawing.SystemColors.Control; this.groupBox1.ForeColor = System.Drawing.SystemColors.Control;
this.groupBox1.Location = new System.Drawing.Point(2, 104); this.groupBox1.Location = new System.Drawing.Point(2, 168);
this.groupBox1.Margin = new System.Windows.Forms.Padding(2); this.groupBox1.Margin = new System.Windows.Forms.Padding(2);
this.groupBox1.Name = "groupBox1"; this.groupBox1.Name = "groupBox1";
this.groupBox1.Padding = new System.Windows.Forms.Padding(2); this.groupBox1.Padding = new System.Windows.Forms.Padding(2);
@ -677,7 +675,7 @@
this.gpbProductInfo.Margin = new System.Windows.Forms.Padding(2); this.gpbProductInfo.Margin = new System.Windows.Forms.Padding(2);
this.gpbProductInfo.Name = "gpbProductInfo"; this.gpbProductInfo.Name = "gpbProductInfo";
this.gpbProductInfo.Padding = new System.Windows.Forms.Padding(2); this.gpbProductInfo.Padding = new System.Windows.Forms.Padding(2);
this.gpbProductInfo.Size = new System.Drawing.Size(457, 98); this.gpbProductInfo.Size = new System.Drawing.Size(457, 162);
this.gpbProductInfo.TabIndex = 3; this.gpbProductInfo.TabIndex = 3;
this.gpbProductInfo.TabStop = false; this.gpbProductInfo.TabStop = false;
this.gpbProductInfo.Text = "产品信息"; this.gpbProductInfo.Text = "产品信息";
@ -685,60 +683,72 @@
// panel1 // panel1
// //
this.panel1.BackColor = System.Drawing.Color.White; this.panel1.BackColor = System.Drawing.Color.White;
this.panel1.Controls.Add(this.txtProductCode); this.panel1.Controls.Add(this.cbProductSN);
this.panel1.Controls.Add(this.cbProductCode);
this.panel1.Controls.Add(this.label3); this.panel1.Controls.Add(this.label3);
this.panel1.Controls.Add(this.txtProductSN);
this.panel1.Controls.Add(this.label2); this.panel1.Controls.Add(this.label2);
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel1.Location = new System.Drawing.Point(2, 16); this.panel1.Location = new System.Drawing.Point(2, 16);
this.panel1.Margin = new System.Windows.Forms.Padding(2); this.panel1.Margin = new System.Windows.Forms.Padding(2);
this.panel1.Name = "panel1"; this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(453, 80); this.panel1.Size = new System.Drawing.Size(453, 144);
this.panel1.TabIndex = 0; this.panel1.TabIndex = 0;
// //
// txtProductCode // cbProductSN
// //
this.txtProductCode.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) this.cbProductSN.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.txtProductCode.Location = new System.Drawing.Point(71, 17); this.cbProductSN.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.txtProductCode.Margin = new System.Windows.Forms.Padding(2); this.cbProductSN.FormattingEnabled = true;
this.txtProductCode.Name = "txtProductCode"; this.cbProductSN.Items.AddRange(new object[] {
this.txtProductCode.ReadOnly = true; "1",
this.txtProductCode.Size = new System.Drawing.Size(357, 21); "2",
this.txtProductCode.TabIndex = 8; "3",
this.txtProductCode.TextChanged += new System.EventHandler(this.txtProductCode_TextChanged); "4",
this.txtProductCode.DoubleClick += new System.EventHandler(this.txtProductCode_DoubleClick); "5"});
this.cbProductSN.Location = new System.Drawing.Point(90, 83);
this.cbProductSN.Name = "cbProductSN";
this.cbProductSN.Size = new System.Drawing.Size(338, 28);
this.cbProductSN.TabIndex = 11;
//
// cbProductCode
//
this.cbProductCode.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.cbProductCode.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.cbProductCode.FormattingEnabled = true;
this.cbProductCode.Items.AddRange(new object[] {
"1",
"2",
"3",
"4",
"5"});
this.cbProductCode.Location = new System.Drawing.Point(90, 30);
this.cbProductCode.Name = "cbProductCode";
this.cbProductCode.Size = new System.Drawing.Size(338, 28);
this.cbProductCode.TabIndex = 10;
// //
// label3 // label3
// //
this.label3.AutoSize = true; this.label3.AutoSize = true;
this.label3.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(92)))), ((int)(((byte)(172))))); this.label3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(92)))), ((int)(((byte)(172)))));
this.label3.Location = new System.Drawing.Point(7, 20); this.label3.Location = new System.Drawing.Point(7, 33);
this.label3.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label3.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label3.Name = "label3"; this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(41, 12); this.label3.Size = new System.Drawing.Size(51, 20);
this.label3.TabIndex = 6; this.label3.TabIndex = 6;
this.label3.Text = "料号:"; this.label3.Text = "料号:";
// //
// txtProductSN
//
this.txtProductSN.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.txtProductSN.Location = new System.Drawing.Point(71, 42);
this.txtProductSN.Margin = new System.Windows.Forms.Padding(2);
this.txtProductSN.Name = "txtProductSN";
this.txtProductSN.ReadOnly = true;
this.txtProductSN.Size = new System.Drawing.Size(357, 21);
this.txtProductSN.TabIndex = 9;
//
// label2 // label2
// //
this.label2.AutoSize = true; this.label2.AutoSize = true;
this.label2.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(92)))), ((int)(((byte)(172))))); this.label2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(72)))), ((int)(((byte)(92)))), ((int)(((byte)(172)))));
this.label2.Location = new System.Drawing.Point(7, 45); this.label2.Location = new System.Drawing.Point(7, 86);
this.label2.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.label2.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label2.Name = "label2"; this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(65, 12); this.label2.Size = new System.Drawing.Size(79, 20);
this.label2.TabIndex = 7; this.label2.TabIndex = 7;
this.label2.Text = "网版编码:"; this.label2.Text = "网版编码:";
// //
@ -826,8 +836,7 @@
this.tsAxisState, this.tsAxisState,
this.tsslLoginTime, this.tsslLoginTime,
this.tsslLoginInfo, this.tsslLoginInfo,
this.tslabelTime, this.tslabelTime});
this.tslabelTestTime});
this.statusStrip1.Location = new System.Drawing.Point(0, 573); this.statusStrip1.Location = new System.Drawing.Point(0, 573);
this.statusStrip1.Name = "statusStrip1"; this.statusStrip1.Name = "statusStrip1";
this.statusStrip1.Padding = new System.Windows.Forms.Padding(1, 0, 9, 0); this.statusStrip1.Padding = new System.Windows.Forms.Padding(1, 0, 9, 0);
@ -866,14 +875,6 @@
this.tslabelTime.Size = new System.Drawing.Size(103, 17); this.tslabelTime.Size = new System.Drawing.Size(103, 17);
this.tslabelTime.Text = "实时测试:360.00s"; this.tslabelTime.Text = "实时测试:360.00s";
// //
// tslabelTestTime
//
this.tslabelTestTime.ForeColor = System.Drawing.Color.White;
this.tslabelTestTime.Name = "tslabelTestTime";
this.tslabelTestTime.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.tslabelTestTime.Size = new System.Drawing.Size(103, 17);
this.tslabelTestTime.Text = "测试时间:360.00s";
//
// lblTimeLen // lblTimeLen
// //
this.lblTimeLen.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.lblTimeLen.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
@ -887,7 +888,6 @@
this.lblTimeLen.Size = new System.Drawing.Size(128, 16); this.lblTimeLen.Size = new System.Drawing.Size(128, 16);
this.lblTimeLen.TabIndex = 23; this.lblTimeLen.TabIndex = 23;
this.lblTimeLen.Text = "检测时长: 0 秒"; this.lblTimeLen.Text = "检测时长: 0 秒";
this.lblTimeLen.Visible = false;
// //
// uiTitel1 // uiTitel1
// //
@ -898,9 +898,9 @@
this.uiTitel1.Size = new System.Drawing.Size(1031, 46); this.uiTitel1.Size = new System.Drawing.Size(1031, 46);
this.uiTitel1.TabIndex = 0; this.uiTitel1.TabIndex = 0;
// //
// timer1 // backgroundWorker1
// //
this.timer1.Tick += new System.EventHandler(this.timer1_Tick); this.backgroundWorker1.DoWork += new System.ComponentModel.DoWorkEventHandler(this.backgroundWorker1_DoWork);
// //
// MainFrm // MainFrm
// //
@ -922,6 +922,7 @@
this.Text = "迈沐智能"; this.Text = "迈沐智能";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainFrm_FormClosing); this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainFrm_FormClosing);
this.Load += new System.EventHandler(this.MainFrm_Load); this.Load += new System.EventHandler(this.MainFrm_Load);
this.SizeChanged += new System.EventHandler(this.MainFrm_SizeChanged);
this.menuStrip1.ResumeLayout(false); this.menuStrip1.ResumeLayout(false);
this.menuStrip1.PerformLayout(); this.menuStrip1.PerformLayout();
this.toolStrip1.ResumeLayout(false); this.toolStrip1.ResumeLayout(false);
@ -981,9 +982,7 @@
private System.Windows.Forms.SplitContainer splitContainer1; private System.Windows.Forms.SplitContainer splitContainer1;
private System.Windows.Forms.GroupBox gpbProductInfo; private System.Windows.Forms.GroupBox gpbProductInfo;
private System.Windows.Forms.Panel panel1; private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.TextBox txtProductCode;
private System.Windows.Forms.Label label3; private System.Windows.Forms.Label label3;
private System.Windows.Forms.TextBox txtProductSN;
private System.Windows.Forms.Label label2; private System.Windows.Forms.Label label2;
private System.Windows.Forms.GroupBox groupBox1; private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.GroupBox gpbProcessList; private System.Windows.Forms.GroupBox gpbProcessList;
@ -1010,10 +1009,8 @@
private System.Windows.Forms.ToolStripMenuItem tsmHelpInfo; private System.Windows.Forms.ToolStripMenuItem tsmHelpInfo;
private System.Windows.Forms.ToolStripMenuItem tsmInfoUS; private System.Windows.Forms.ToolStripMenuItem tsmInfoUS;
private System.Windows.Forms.Label lblTimeLen; private System.Windows.Forms.Label lblTimeLen;
private System.Windows.Forms.ToolStripStatusLabel tslabelTestTime;
private System.Windows.Forms.ToolStripMenuItem tsmSysPoints; private System.Windows.Forms.ToolStripMenuItem tsmSysPoints;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator5; private System.Windows.Forms.ToolStripSeparator toolStripSeparator5;
private System.Windows.Forms.Timer timer1;
private System.Windows.Forms.SplitContainer splitContainer3; private System.Windows.Forms.SplitContainer splitContainer3;
private System.Windows.Forms.Label label5; private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label lblCompareResult; private System.Windows.Forms.Label lblCompareResult;
@ -1025,6 +1022,9 @@
private System.Windows.Forms.ToolStripMenuItem tsmReadLog; private System.Windows.Forms.ToolStripMenuItem tsmReadLog;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator6; private System.Windows.Forms.ToolStripSeparator toolStripSeparator6;
private System.Windows.Forms.ToolStripStatusLabel tslabelTime; private System.Windows.Forms.ToolStripStatusLabel tslabelTime;
private System.Windows.Forms.ComboBox cbProductCode;
private System.Windows.Forms.ComboBox cbProductSN;
private System.ComponentModel.BackgroundWorker backgroundWorker1;
} }
} }

View File

@ -10,6 +10,7 @@ using MaiMuAOI.SysUI.Web;
using MaiMuAOI.UI.SysSet; using MaiMuAOI.UI.SysSet;
using MaiMuControl.Device; using MaiMuControl.Device;
using MaiMuControl.Device.CamDev; using MaiMuControl.Device.CamDev;
using MaiMuControl.Device.IOCardDev;
using MaiMuControl.SysStatusMgr.StatusMgr; using MaiMuControl.SysStatusMgr.StatusMgr;
using Models; using Models;
using ProductionControl; using ProductionControl;
@ -31,6 +32,8 @@ namespace MaiMuAOI
{ {
private Service.ProductService svcProduct = new Service.ProductService(); private Service.ProductService svcProduct = new Service.ProductService();
object AddTextLock = new object(); object AddTextLock = new object();
object AddPicLock = new object();
bool backgroundWorkerDo;
private Stopwatch RunStartTime = new Stopwatch(); private Stopwatch RunStartTime = new Stopwatch();
@ -61,6 +64,9 @@ namespace MaiMuAOI
}; };
dgvProcess.DefaultCellStyle.ForeColor = System.Drawing.Color.Black; dgvProcess.DefaultCellStyle.ForeColor = System.Drawing.Color.Black;
this.lblTimeLen.Top = toolStrip1.Top + 20;
this.lblTimeLen.Left = toolStrip1.Width - 300;
} }
#region #region
@ -109,12 +115,13 @@ namespace MaiMuAOI
this.lblDefectAddTag.Text = ""; this.lblDefectAddTag.Text = "";
this.lblDefectAddTag.Tag = 0; this.lblDefectAddTag.Tag = 0;
} }
private void ResetUI() private void ResetUI(bool clearSN)
{ {
//保持产品名称和料号 //保持产品名称和料号
//txtProductName.Text = txtProductCode.Text = txtProductSN.Text = ""; //txtProductName.Text = txtProductCode.Text = txtProductSN.Text = "";
txtProductSN.Text = ""; if(clearSN)
cbProductSN.Text = "";
this.lblCompareResult.Text = this.lblDefectResult.Text = "无"; this.lblCompareResult.Text = this.lblDefectResult.Text = "无";
@ -132,7 +139,7 @@ namespace MaiMuAOI
this.splitContainer3.SplitterDistance = this.splitContainer3.Width / 2 - 30; this.splitContainer3.SplitterDistance = this.splitContainer3.Width / 2 - 30;
tslabelTestTime.Text = "测试时间:0.00s"; lblTimeLen.Text = "检测时长: 0 秒";
tslabelTime.Text = "实时测试:0.00s"; tslabelTime.Text = "实时测试:0.00s";
this.Refresh(); this.Refresh();
} }
@ -182,21 +189,26 @@ namespace MaiMuAOI
this.tsslLoginInfo.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right; this.tsslLoginInfo.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
this.tsAxisState.Text = ""; this.tsAxisState.Text = "";
ResetUI(); ResetUI(true);
//更新数据库格式 //更新数据库格式
Service.InitDB.initDB(); Service.InitDB.initDB();
//权限判断 //权限判断
UserRightCheck(); UserRightCheck();
//开启后台 //开启后台
timer1.Enabled = true; //timer1.Enabled = true;
backgroundWorkerDo = true;
backgroundWorker1.RunWorkerAsync();
//s_BackWorker = true; //s_BackWorker = true;
//backgroundWorker.RunWorkerAsync(); //backgroundWorker.RunWorkerAsync();
//开启web服务器 //开启web服务器
SysMgr.Instance.InitWebServer(); SysMgr.Instance.InitWebServer();
//开启处理事件反馈
SysMgr.Instance.InitDefectEvent();
//加载产品料号 //加载产品料号
SysMgr.Instance.LoadProductCodeList(); SysMgr.Instance.LoadProductCodeList();
//加载产品选择
LoadPdtList(SysMgr.Instance.ProductCodeList);
LoadSNList(SysMgr.Instance.ProductSNList);
this.Cursor = Cursors.Default; this.Cursor = Cursors.Default;
} }
else else
@ -221,6 +233,7 @@ namespace MaiMuAOI
private void MainFrm_FormClosing(object sender, FormClosingEventArgs e) private void MainFrm_FormClosing(object sender, FormClosingEventArgs e)
{ {
backgroundWorkerDo = false;
if (SystemIsRun()) if (SystemIsRun())
{ {
DialogResult dr = DialogResult.Cancel; DialogResult dr = DialogResult.Cancel;
@ -236,7 +249,6 @@ namespace MaiMuAOI
} }
else else
{ {
//s_BackWorker = false;
Thread.Sleep(300); Thread.Sleep(300);
if (SysMgr.Instance.IsInit) if (SysMgr.Instance.IsInit)
SysMgr.Instance.Close(); SysMgr.Instance.Close();
@ -405,13 +417,14 @@ namespace MaiMuAOI
} }
else else
{ {
try
{
if (e.Cmd == 0) //显示SN和流程 if (e.Cmd == 0) //显示SN和流程
{ {
this.txtProductSN.Text = e.SN; this.cbProductSN.Text = e.SN;
this.dgvProcess.DataSource = new BindingSource(e.StepProcessesList, null); this.dgvProcess.DataSource = new BindingSource(e.StepProcessesList, null);
} }
else if(e.Cmd == 1) //显示当前运行步骤 else if (e.Cmd == 1) //显示当前运行步骤
{ {
this.dgvProcess.Rows[e.StepIndex].Selected = true; this.dgvProcess.Rows[e.StepIndex].Selected = true;
dgvProcess.CurrentCell = dgvProcess.Rows[e.StepIndex].Cells[1]; dgvProcess.CurrentCell = dgvProcess.Rows[e.StepIndex].Cells[1];
@ -422,7 +435,7 @@ namespace MaiMuAOI
} }
else if (e.Cmd == 3) //图纸比对结果 else if (e.Cmd == 3) //图纸比对结果
{ {
this.lblCompareResult.Text = (e.CompareResult ? "通过" : "未通过"); this.lblCompareResult.Text = (e.CompareResult ? "通过" : $"未通过({e.Cnt})");
if (!e.CompareResult) if (!e.CompareResult)
{ {
this.lblCompareResult.ForeColor = Color.Red; this.lblCompareResult.ForeColor = Color.Red;
@ -454,14 +467,16 @@ namespace MaiMuAOI
} }
else if (e.Cmd == 7) //显示测试时间 else if (e.Cmd == 7) //显示测试时间
{ {
tslabelTestTime.Text = "测试时间:" + e.Time.ToString("0.000") + "s"; lblTimeLen.Text = "检测时长: " + e.Time.ToString("0.000") + " 秒";
//tslabelTestTime.Text = "测试时间:" + e.Time.ToString("0.000") + "s";
} }
else if (e.Cmd == 10) //测试结束 else if (e.Cmd == 10) //测试结束
{ {
this.tsbtnStart.Enabled = true; this.tsbtnStart.Enabled = true;
this.tsbtnStop.Enabled = false; this.tsbtnStop.Enabled = false;
} }
}
catch { }
} }
} }
@ -484,6 +499,10 @@ namespace MaiMuAOI
this.BeginInvoke(smd, e); this.BeginInvoke(smd, e);
} }
else else
{
//Task<int> tt = new Task<int>(() =>
//{
//lock (AddPicLock)
{ {
//加载缺陷小图 //加载缺陷小图
int imgHeight = this.pnlBmpList.Height - 50; int imgHeight = this.pnlBmpList.Height - 50;
@ -494,11 +513,13 @@ namespace MaiMuAOI
int index = (int)this.gboxDefectList.Tag; int index = (int)this.gboxDefectList.Tag;
int len = e.Info.Count(); int len = e.Info.Count();
for (int x = 0; x < len / 100 + 1; x++) int range = 100;
int uselen = len > 100 ? 100 : len;
for (int x = 0; x < uselen / range + 1; x++)
{ {
for (int i = 0; i < (x < (len / 100) ? 100 : len % 100); i++) for (int i = 0; i < (x < (uselen / range) ? range : uselen % range); i++)
{ {
foreach (var item in e.Info[(x * 100 + i)]) //单个info[x] = {"1":[["92.7542","80.85799","99.54083","86.05363","dk","0.52"]]} foreach (var item in e.Info[(x * range + i)]) //单个info[x] = {"1":[["92.7542","80.85799","99.54083","86.05363","dk","0.52"]]}
{ {
//统计缺陷类型 //统计缺陷类型
SysMgr.Instance.countDefectClass(item.Value);//[["92.7542","80.85799","99.54083","86.05363","dk","0.52"]] SysMgr.Instance.countDefectClass(item.Value);//[["92.7542","80.85799","99.54083","86.05363","dk","0.52"]]
@ -508,7 +529,7 @@ namespace MaiMuAOI
picbox.Width = imgWidth; picbox.Width = imgWidth;
picbox.Height = imgHeight; picbox.Height = imgHeight;
picbox.Image = (Bitmap)e.Bitmaps[(x * 100 + i)].Clone(); picbox.Image = (Bitmap)e.Bitmaps[(x * range + i)].Clone();
picbox.Name = "imgDefect_" + index; picbox.Name = "imgDefect_" + index;
picbox.Tag = item.Key + "," + e.X + "," + e.Y; picbox.Tag = item.Key + "," + e.X + "," + e.Y;
@ -518,18 +539,43 @@ namespace MaiMuAOI
picbox.Margin = new Padding((pnlWidth - picbox.Height) / 2, splitWidth, 0, 0); picbox.Margin = new Padding((pnlWidth - picbox.Height) / 2, splitWidth, 0, 0);
picbox.MouseHover += simpleTip_MouseHover; picbox.MouseHover += simpleTip_MouseHover;
picbox.Visible = true; picbox.Visible = true;
//this.Invoke(new MethodInvoker(() =>
// {
this.pnlBmpList.Controls.Add(picbox); this.pnlBmpList.Controls.Add(picbox);
//this.Refresh();
//this.dgvProcess.Refresh();
//this.lstLog.Refresh();
//this.statusStrip1.Refresh();
// }));
break; break;
} }
// //
index++; index++;
//Thread.Sleep(10);
//Application.DoEvents();
} }
//Application.DoEvents();
//this.Invoke(new MethodInvoker(() =>
//{
//this.Refresh();
pnlBmpList.HorizontalScroll.Value = pnlBmpList.HorizontalScroll.Maximum; pnlBmpList.HorizontalScroll.Value = pnlBmpList.HorizontalScroll.Maximum;
//}));
//Thread.Sleep(10);
} }
//this.Invoke(new MethodInvoker(() =>
//{
//this.gboxDefectList.Tag = len + (int)this.gboxDefectList.Tag;
this.gboxDefectList.Tag = index; this.gboxDefectList.Tag = index;
this.gboxDefectList.Text = $"缺陷图像:{index} 张"; this.gboxDefectList.Text = $"缺陷图像:{index} 张";
}
//}));
//return 0;
// });
// tt.Start();
// await tt;
} }
} }
#endregion #endregion
@ -537,6 +583,7 @@ namespace MaiMuAOI
#region #region
private void tsbtnImpStop_Click(object sender, EventArgs e) private void tsbtnImpStop_Click(object sender, EventArgs e)
{ {
SysMgr.Instance.LedPause();
AddTextEvent("急停", "手动急停", WarningEnum.High); AddTextEvent("急停", "手动急停", WarningEnum.High);
SysMgr.Instance.StatusMgr.GotoWarning( WarningEnum.High, "急停", "手动急停"); SysMgr.Instance.StatusMgr.GotoWarning( WarningEnum.High, "急停", "手动急停");
SysMgr.Instance.EmergencyStop(); SysMgr.Instance.EmergencyStop();
@ -563,8 +610,11 @@ namespace MaiMuAOI
if(SysMgr.Instance.StatusMgr.Status == SystemStsEnum.Warning) if(SysMgr.Instance.StatusMgr.Status == SystemStsEnum.Warning)
{ {
if (SysMgr.Instance.StatusMgr.Warning == WarningEnum.Low) if (SysMgr.Instance.StatusMgr.Warning == WarningEnum.Low)
{
SysMgr.Instance.StatusMgr.ClearWarning();
SysMgr.Instance.StatusMgr.GotoNormalStandby(); SysMgr.Instance.StatusMgr.GotoNormalStandby();
} }
}
//提示正在报警中 //提示正在报警中
if (SysMgr.Instance.StatusMgr.Status == SystemStsEnum.Warning) if (SysMgr.Instance.StatusMgr.Status == SystemStsEnum.Warning)
{ {
@ -573,8 +623,10 @@ namespace MaiMuAOI
} }
if (SysMgr.Instance.StatusMgr.Status != SystemStsEnum.Pause) if (SysMgr.Instance.StatusMgr.Status != SystemStsEnum.Pause)
{ {
ResetUI(); ResetUI(false);
if (SysMgr.Instance.StartRun(this.txtProductCode.Text)) AddTextEvent("运行", $"启动自动检测流程");
this.lstLog.Refresh();
if (SysMgr.Instance.StartRun(this, this.cbProductCode.Text, this.cbProductSN.Text))
{ {
this.tsbtnStop.Enabled = true; this.tsbtnStop.Enabled = true;
this.tsbtnStart.Enabled = false; this.tsbtnStart.Enabled = false;
@ -596,8 +648,10 @@ namespace MaiMuAOI
private void tsbtnStop_Click(object sender, EventArgs e) private void tsbtnStop_Click(object sender, EventArgs e)
{ {
AddTextEvent("暂停", "手动暂停"); AddTextEvent("暂停", "手动暂停");
SysMgr.Instance.StatusMgr.GotoPause();
this.tsbtnStart.Enabled = true; this.tsbtnStart.Enabled = true;
SysMgr.Instance.StatusMgr.GotoPause();
SysMgr.Instance.LedPause();
//this.tsbtnStart.Enabled = true;
} }
private void tsbtnReset_Click(object sender, EventArgs e) private void tsbtnReset_Click(object sender, EventArgs e)
{ {
@ -608,10 +662,17 @@ namespace MaiMuAOI
dr = FrmDialog.ShowDialog(this, "确定要复位当前系统?", "警告", true); dr = FrmDialog.ShowDialog(this, "确定要复位当前系统?", "警告", true);
if (dr == DialogResult.OK) if (dr == DialogResult.OK)
{ {
if(SysMgr.Instance.GotoReadyPosAndIO()) this.tsbtnStart.Enabled = true;
ResetUI(); this.tsbtnStop.Enabled = false;
else Task.Factory.StartNew(() =>
FrmDialog.ShowDialog(this, "复位当前系统失败!", "警告", false); {
SysMgr.Instance.LedRset(true);
SysMgr.Instance.GotoReadyPosAndIO();
SysMgr.Instance.LedRset(false);
});
ResetUI(true);
AddTextEvent("复位", "复位完成");
} }
} }
} }
@ -621,6 +682,7 @@ namespace MaiMuAOI
{ {
AddTextEvent("清除", "手动清除报警"); AddTextEvent("清除", "手动清除报警");
SysMgr.Instance.StatusMgr.ClearWarning(); SysMgr.Instance.StatusMgr.ClearWarning();
SysMgr.Instance.LedReady();
if (SysMgr.Instance.IsAuto) if (SysMgr.Instance.IsAuto)
SysMgr.Instance.StatusMgr.GotoPause(); SysMgr.Instance.StatusMgr.GotoPause();
else else
@ -636,8 +698,15 @@ namespace MaiMuAOI
dr = FrmDialog.ShowDialog(this, "确定要复位当前系统所有硬件位置?", "警告", true); dr = FrmDialog.ShowDialog(this, "确定要复位当前系统所有硬件位置?", "警告", true);
if (dr == DialogResult.OK) if (dr == DialogResult.OK)
{ {
this.tsbtnStart.Enabled = true;
this.tsbtnStop.Enabled = false;
this.Cursor = Cursors.WaitCursor; this.Cursor = Cursors.WaitCursor;
Task.Factory.StartNew(() =>
{
SysMgr.Instance.LedRset(true);
SysMgr.Instance.AllResetAndGoHome(); SysMgr.Instance.AllResetAndGoHome();
SysMgr.Instance.LedRset(false);
});
this.Cursor = Cursors.Default; this.Cursor = Cursors.Default;
} }
} }
@ -656,7 +725,7 @@ namespace MaiMuAOI
} }
else//完成 else//完成
{ {
ImageShowFrm frm = new ImageShowFrm(this.pnlBmpList.Controls, Convert.ToInt32(picbox.Name.Split(new char[] { '_' })[1]), true); ImageShowFrm frm = new ImageShowFrm(this.pnlBmpList.Controls, Convert.ToInt32(picbox.Name.Split(new char[] { '_' })[1]));
frm.ShowDialog(this); frm.ShowDialog(this);
} }
@ -680,27 +749,58 @@ namespace MaiMuAOI
#region #region
GetPN pn = new GetPN(); GetPN pn = new GetPN();
private void timer1_Tick(object sender, EventArgs e) private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
while (backgroundWorkerDo)
{
this.Invoke(new MethodInvoker(() =>
{ {
this.tsslLoginTime.Text = $" 当前时间:{DateTime.Now.ToString("yyyy年MM月dd日 HH:mm:ss")}"; this.tsslLoginTime.Text = $" 当前时间:{DateTime.Now.ToString("yyyy年MM月dd日 HH:mm:ss")}";
}));
//检测按钮和实时状态 //检测按钮和实时状态
if (SysMgr.Instance.IsInit) if (SysMgr.Instance.IsInit)
{ {
bool sts = SysMgr.Instance.WarningShowLed(); bool sts = SysMgr.Instance.WarningShowLed();
if(sts) if (sts)
{
this.Invoke(new MethodInvoker(() =>
{ {
this.tsbtnStart.Enabled = true; this.tsbtnStart.Enabled = true;
this.tsbtnStop.Enabled = false; this.tsbtnStop.Enabled = false;
}));
} }
sts = SysMgr.Instance.ButtonIOTrg(); int stsno = 0;
if(sts) stsno = SysMgr.Instance.ButtonIOTrg();
if (stsno == 1)
{
this.Invoke(new MethodInvoker(() =>
{ {
tsbtnStart_Click(null, null); tsbtnStart_Click(null, null);
}));
}
else if (stsno == 2)
{
this.Invoke(new MethodInvoker(() =>
{
this.tsbtnStart.Enabled = true;
}));
SysMgr.Instance.LedPause();
}
else if (stsno == 3)
{
this.Invoke(new MethodInvoker(() =>
{
tsbtnReset_Click(null, null);
}));
} }
//显示实际位置 //显示实际位置
this.Invoke(new MethodInvoker(() =>
{
tsAxisState.Text = SysMgr.Instance.GetAxisPos(); tsAxisState.Text = SysMgr.Instance.GetAxisPos();
}));
} }
if(pn.P(SysMgr.Instance.IsRuning)) if (pn.P(SysMgr.Instance.IsRuning))
{ {
//继续计时 //继续计时
RunStartTime.Start(); RunStartTime.Start();
@ -710,13 +810,19 @@ namespace MaiMuAOI
//停止计时 //停止计时
RunStartTime.Stop(); RunStartTime.Stop();
} }
if(SysMgr.Instance.IsRuning) if (SysMgr.Instance.IsRuning)
{ {
//实时显示 //实时显示
RunStartTime.Stop(); RunStartTime.Stop();
this.Invoke(new MethodInvoker(() =>
{
tslabelTime.Text = "实时测试:" + ((double)RunStartTime.ElapsedMilliseconds / 1000.0).ToString("0.000") + "s"; tslabelTime.Text = "实时测试:" + ((double)RunStartTime.ElapsedMilliseconds / 1000.0).ToString("0.000") + "s";
//this.Refresh();
}));
RunStartTime.Start(); RunStartTime.Start();
} }
Thread.Sleep(100);
}
} }
/// <summary> /// <summary>
/// 信号上升沿下降沿捕获 /// 信号上升沿下降沿捕获
@ -763,11 +869,12 @@ namespace MaiMuAOI
} }
#endregion #endregion
#region
private void txtProductCode_DoubleClick(object sender, EventArgs e) private void txtProductCode_DoubleClick(object sender, EventArgs e)
{ {
string pdtName = SysMgr.Instance.SelectProduct(); string pdtName = SysMgr.Instance.SelectProduct();
if (!string.IsNullOrWhiteSpace(pdtName)) if (!string.IsNullOrWhiteSpace(pdtName))
this.txtProductCode.Text = pdtName; this.cbProductCode.Text = pdtName;
} }
private void txtProductCode_TextChanged(object sender, EventArgs e) private void txtProductCode_TextChanged(object sender, EventArgs e)
@ -775,6 +882,99 @@ namespace MaiMuAOI
} }
private void txtProductSN_DoubleClick(object sender, EventArgs e)
{
InputFrm frm = new InputFrm(null, "请输入网版编码:");
if (frm.ShowDialog() == DialogResult.OK && !string.IsNullOrWhiteSpace(frm.inputData))
{
this.cbProductSN.Text = frm.inputData;
}
else
{
this.cbProductSN.Text = "";
}
}
private string[] pdtlistData;
private string[] snlistData;
private void LoadPdtList(List<string> list)
{
this.cbProductCode.Items.Clear();
this.pdtlistData = list.ToArray();
cbProductCode.Items.AddRange(pdtlistData);//比使用DataSource速度要快一些
cbProductCode.TextUpdate += cobList_TextUpdate;//重新绑定事件
cbProductCode.KeyDown += CobList_KeyDown;
this.cbProductCode.Text = "";
cbProductCode.Focus();
cbProductCode.SelectAll();
}
private void LoadSNList(List<string> list)
{
this.cbProductSN.Items.Clear();
this.snlistData = list.ToArray();
cbProductSN.Items.AddRange(snlistData);//比使用DataSource速度要快一些
//cbProductSN.TextUpdate += cobList_TextUpdate;//重新绑定事件
cbProductSN.KeyDown += CobList_KeyDown;
this.cbProductSN.Text = "";
cbProductSN.Focus();
cbProductSN.SelectAll();
}
private void CobList_KeyDown(object sender, KeyEventArgs e)
{
ComboBox ctrl = sender as ComboBox;
if (e.KeyCode == Keys.Enter)
{
if (ctrl.Items.Count == 1)
ctrl.Text = ctrl.Items[0].ToString();
}
}
private void cobList_TextUpdate(object sender, EventArgs e)
{
ComboBox ctrl = sender as ComboBox;
if (ctrl.Text != null)
{
string str = ctrl.Text; //获取cb_material控件输入内
//清空combobox
ctrl.DataSource = null;
ctrl.Items.Clear();
string[] workOrderFiltered;
if (ctrl.Name == "cbProductCode")
workOrderFiltered = pdtlistData.Where(x => x.IndexOf(str, StringComparison.CurrentCultureIgnoreCase) != -1).ToArray();//忽略大小写
else
workOrderFiltered = snlistData.Where(x => x.IndexOf(str, StringComparison.CurrentCultureIgnoreCase) != -1).ToArray();//忽略大小写
ctrl.Items.AddRange(workOrderFiltered);//比使用DataSource速度要快一些
// 不存在符合条件时
//设置光标位置,若不设置:光标位置始终保持在第一列,造成输入关键词的倒序排列
ctrl.Cursor = Cursors.Default; //保持鼠标指针原来状态,有时候鼠标指针会被下拉框覆盖,所以要进行一次设置
if (workOrderFiltered.Length > 0)
{
if (!ctrl.DroppedDown)
ctrl.DroppedDown = true; // 自动弹出下拉框
}
ctrl.SelectionStart = str.Length; // 设置光标位置,若不设置:光标位置始终保持在第一列,造成输入关键词的倒序排列
}
}
#endregion
private void MainFrm_SizeChanged(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Maximized)
{
this.WindowState = FormWindowState.Normal;
this.Top = 0;
this.Left = 0;
this.Width = SystemInformation.WorkingArea.Width;
this.Height = SystemInformation.WorkingArea.Height;
}
}
} }
} }

View File

@ -417,7 +417,7 @@
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>305, 17</value> <value>305, 17</value>
</metadata> </metadata>
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="backgroundWorker1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>428, 17</value> <value>428, 17</value>
</metadata> </metadata>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">

View File

@ -110,7 +110,21 @@ namespace MaiMuAOI.SysCtrl
[Description("断栅")] [Description("断栅")]
ds, ds,
} }
public enum DefectNameEnum
{
,
,
,
,
,
,
,
,
线,
,
线,
}
public enum ValType public enum ValType
{ {
, ,

View File

@ -41,6 +41,7 @@ using ToolKits.EnumTool;
using ToolKits.mAPI; using ToolKits.mAPI;
using static MaiMuAOI.ImageProcessing.DefectLib; using static MaiMuAOI.ImageProcessing.DefectLib;
using static MaiMuAOI.ImageProcessing.SizeLib; using static MaiMuAOI.ImageProcessing.SizeLib;
using static System.Net.Mime.MediaTypeNames;
namespace MaiMuAOI.SysCtrl namespace MaiMuAOI.SysCtrl
{ {
@ -71,9 +72,9 @@ namespace MaiMuAOI.SysCtrl
} }
#endregion #endregion
//系统信息 //系统信息
public string Info = "软件版本V1.2.0\r\n公司迈沐智能科技有限公司\r\n地址"; public string Info = "软件名称AOI\r\n软件版本V1.0.0\r\n公司迈沐智能科技有限公司\r\n地址";
public CameraEnumType SysUseCam = CameraEnumType.MVSCamera_GENTL; public CameraEnumType SysUseCam = CameraEnumType.MVSCamera_CC;
public LightDevNameEnum SysUseLight = LightDevNameEnum.CST; public LightDevNameEnum SysUseLight = LightDevNameEnum.CST;
//主流程 //主流程
private Thread _mainThread; private Thread _mainThread;
@ -102,7 +103,14 @@ namespace MaiMuAOI.SysCtrl
//web服务器 //web服务器
private WebService webService; private WebService webService;
//产品列表
private List<string> productCodeList = new List<string>(); private List<string> productCodeList = new List<string>();
public List<string> ProductCodeList { get { return productCodeList; } }
//近期SN列表
private List<string> productSNList = new List<string>();
public List<string> ProductSNList { get { return productSNList; } }
Service.ProductService PdtService; Service.ProductService PdtService;
Service.OrderService OrderService; Service.OrderService OrderService;
@ -114,6 +122,7 @@ namespace MaiMuAOI.SysCtrl
public DefectLib DefectLib { get { return defectLib; } } public DefectLib DefectLib { get { return defectLib; } }
private SizeLib sizeLib; private SizeLib sizeLib;
public SizeLib SizeLib { get { return sizeLib; } } public SizeLib SizeLib { get { return sizeLib; } }
private int SizeNGCnt;
//流程处理 //流程处理
private ForLib forLib; private ForLib forLib;
@ -277,7 +286,7 @@ namespace MaiMuAOI.SysCtrl
axisDev = new AdvantechMotion(); axisDev = new AdvantechMotion();
ioCardDev = new AdvantechIO(); ioCardDev = new AdvantechIO();
if(SysUseLight == LightDevNameEnum.CST) if(SysUseLight == LightDevNameEnum.CST)
lightDev = new CSTLight(LightName, 6); lightDev = new CSTLight(LightName, LightChCount);
else else
lightDev = new RseeLight(SysUseLight, LightName); lightDev = new RseeLight(SysUseLight, LightName);
@ -355,12 +364,17 @@ namespace MaiMuAOI.SysCtrl
} }
InitLog("初始化光源控制器成功!"); InitLog("初始化光源控制器成功!");
//关闭光源 //关闭光源
lightDev.CloseLight((int)LightChannelEnum.CH1); //关闭光源
lightDev.CloseLight((int)LightChannelEnum.CH2); for (int i = 0; i < LightChCount; i++)
lightDev.CloseLight((int)LightChannelEnum.CH3); {
lightDev.CloseLight((int)LightChannelEnum.CH4); lightDev.CloseLight(i + 1);
lightDev.CloseLight((int)LightChannelEnum.CH5); }
lightDev.CloseLight((int)LightChannelEnum.CH6); //lightDev.CloseLight((int)LightChannelEnum.CH1);
//lightDev.CloseLight((int)LightChannelEnum.CH2);
//lightDev.CloseLight((int)LightChannelEnum.CH3);
//lightDev.CloseLight((int)LightChannelEnum.CH4);
//lightDev.CloseLight((int)LightChannelEnum.CH5);
//lightDev.CloseLight((int)LightChannelEnum.CH6);
//相机初始化 //相机初始化
InitLog("相机初始化..."); InitLog("相机初始化...");
@ -392,7 +406,7 @@ namespace MaiMuAOI.SysCtrl
homeParamsZ = axisDev.ReadAxisCfg(confMgr.DevConfigPath, (int)AxisName.Axis2); homeParamsZ = axisDev.ReadAxisCfg(confMgr.DevConfigPath, (int)AxisName.Axis2);
LightParams lightParams = new LightParams(LightName, LightChCount); LightParams lightParams = new LightParams(LightName, LightChCount);
LightChCount = 6; //LightChCount = 6;
//lightParams.DevName = LightName; //lightParams.DevName = LightName;
lightParams.ComName = confMgr.SysConfigParams.LightCom; lightParams.ComName = confMgr.SysConfigParams.LightCom;
lightParams.Buad = confMgr.SysConfigParams.LightComBaud; lightParams.Buad = confMgr.SysConfigParams.LightComBaud;
@ -490,7 +504,7 @@ namespace MaiMuAOI.SysCtrl
{ {
foreach (int i in axisList) foreach (int i in axisList)
{ {
if (axisDev.CheckDone(i, 60) < 0) if (axisDev.CheckDone(i, 60) != 0)
{ {
return false; return false;
} }
@ -561,7 +575,7 @@ namespace MaiMuAOI.SysCtrl
bool ret = false; bool ret = false;
string err = ""; string err = "";
InitLog("系统开始初始化..."); InitLog("系统开始初始化...");
Thread.Sleep(200); //Thread.Sleep(200);
// 加载系统配置 // 加载系统配置
InitLog("加载系统参数..."); InitLog("加载系统参数...");
@ -575,7 +589,7 @@ namespace MaiMuAOI.SysCtrl
//根据llog路径开始记录日志 //根据llog路径开始记录日志
statusMgr.StartLog(confMgr.SysConfigParams.LogPath); statusMgr.StartLog(confMgr.SysConfigParams.LogPath);
statusMgr.GotoInitial(); statusMgr.GotoInitial();
Thread.Sleep(200); //Thread.Sleep(200);
// 硬件初始化 // 硬件初始化
if(!InitAllDev()) if(!InitAllDev())
@ -591,10 +605,11 @@ namespace MaiMuAOI.SysCtrl
throw new Exception("加载硬件驱动参数失败..."); throw new Exception("加载硬件驱动参数失败...");
} }
InitLog("加载硬件驱动参数完成!"); InitLog("加载硬件驱动参数完成!");
Thread.Sleep(200); //Thread.Sleep(200);
// 处理运行 // 处理运行
InitLog("AI算法核心初始化..."); InitLog("AI算法核心初始化...");
if (!defectLib.start()) if (!defectLib.start())
throw new Exception("外观检测核心初始化失败..."); throw new Exception("外观检测核心初始化失败...");
if (!sizeLib.start(confMgr.SysConfigParams.ImageProcessPath)) if (!sizeLib.start(confMgr.SysConfigParams.ImageProcessPath))
@ -614,26 +629,23 @@ namespace MaiMuAOI.SysCtrl
InitLog("Y轴开始回原点..."); InitLog("Y轴开始回原点...");
//axisDev.BackHome((int)AxisName.Axis1, homeParamsY); //axisDev.BackHome((int)AxisName.Axis1, homeParamsY);
//y轴使用io回原 //y轴使用io回原
AxisYGoHome(); if(!AxisYGoHome())
throw new Exception("Y轴回原报警");
} }
Thread.Sleep(1000);
//判断轴是否回原成功 //判断轴是否回原成功
if (axisDev.CheckHomeDone((int)AxisName.Axis0, 60) < 0)
{
AxisAllImmediateStop();
throw new Exception("X轴回原失败");
}
//if (axisDev.CheckHomeDone((int)AxisName.Axis1, 60) < 0)
//{
// AxisAllImmediateStop();
// InitLog("Y轴回原失败", "初始化", WarningEnum.High);
// return ret;
//}
if (!AxisYGoHomeDone(60)) if (!AxisYGoHomeDone(60))
{ {
AxisAllImmediateStop(); AxisAllImmediateStop();
throw new Exception("Y轴回原失败"); throw new Exception("Y轴回原失败");
} }
if (axisDev.CheckHomeDone((int)AxisName.Axis2, 60) < 0)
if (axisDev.CheckHomeDone((int)AxisName.Axis0, 60) != 0)
{
AxisAllImmediateStop();
throw new Exception("X轴回原失败");
}
if (axisDev.CheckHomeDone((int)AxisName.Axis2, 60) != 0)
{ {
AxisAllImmediateStop(); AxisAllImmediateStop();
throw new Exception("Z轴回原失败"); throw new Exception("Z轴回原失败");
@ -647,7 +659,7 @@ namespace MaiMuAOI.SysCtrl
LedReady(); LedReady();
InitLog("移动到上料..."); InitLog("移动到上料...");
Thread.Sleep(500); //Thread.Sleep(500);
if (!GotoLoadPos()) if (!GotoLoadPos())
{ {
throw new Exception("移动到上料失败!"); throw new Exception("移动到上料失败!");
@ -673,6 +685,19 @@ namespace MaiMuAOI.SysCtrl
} }
} }
public bool InitDefectEvent()
{
defectLib.WarningEvent = (warning, msg) =>
{
Log("缺陷处理", msg, warning);
};
sizeLib.WarningEvent = (warning, msg) =>
{
Log("尺寸检测", msg, warning);
};
return true;
}
public bool InitWebServer() public bool InitWebServer()
{ {
//InitLog("开启数据服务器..."); //InitLog("开启数据服务器...");
@ -721,12 +746,30 @@ namespace MaiMuAOI.SysCtrl
webService.stop(); webService.stop();
AxisDStop(); AxisDStop();
axisDev.SetServo((int)AxisName.Axis0, 0);
axisDev.SetServo((int)AxisName.Axis1, 0);
axisDev.SetServo((int)AxisName.Axis2, 0);
axisDev.CloseBoard(); axisDev.CloseBoard();
camDev.CloseCamera(); camDev.CloseCamera();
//关闭光源
//关闭光源
for (int i = 0; i < LightChCount; i++)
{
lightDev.CloseLight(i + 1);
}
//lightDev.CloseLight((int)LightChannelEnum.CH1);
//lightDev.CloseLight((int)LightChannelEnum.CH2);
//lightDev.CloseLight((int)LightChannelEnum.CH3);
//lightDev.CloseLight((int)LightChannelEnum.CH4);
//lightDev.CloseLight((int)LightChannelEnum.CH5);
//lightDev.CloseLight((int)LightChannelEnum.CH6);
lightDev.CloseDev(); lightDev.CloseDev();
ioCardDev.ResetAllDO();
ioCardDev.CloseBoard(); ioCardDev.CloseBoard();
} }
@ -903,6 +946,13 @@ namespace MaiMuAOI.SysCtrl
try try
{ {
productCodeList = PdtService.GetList().Select(m => m.Code).OrderBy(m => m).ToList(); productCodeList = PdtService.GetList().Select(m => m.Code).OrderBy(m => m).ToList();
string[] array = ReadSNText();
if (array != null && array.Length > 0)
{
for (int i = 0; i < array.Length; i++)
productSNList.Add(array[i]);
}
} }
catch (Exception ex) catch (Exception ex)
{ {
@ -911,6 +961,52 @@ namespace MaiMuAOI.SysCtrl
statusMgr.GotoWarning(WarningEnum.High, "启动", "加载产品料号失败:" + ex.Message); statusMgr.GotoWarning(WarningEnum.High, "启动", "加载产品料号失败:" + ex.Message);
} }
} }
/// <summary>
/// 记录使用的sn
/// </summary>
/// <param name="str"></param>
public void Remind(string str)
{
string workPath = Directory.GetCurrentDirectory();
string textPath = Path.Combine(workPath, "TextRemind.txt");
try
{
if (productSNList.Count == 0 || !productSNList.Contains(str))
{
if (productSNList.Count > 20)
productSNList.RemoveAt(0);
productSNList.Add(str);
//File.AppendAllLines(textPath, new string[] { str });
}
if(productSNList.Count > 0)
{
File.WriteAllLines(textPath, productSNList);
}
}
catch
{
}
}
/// <summary>
/// 读取近期sn
/// </summary>
/// <returns></returns>
private string[] ReadSNText()
{
string workPath = Directory.GetCurrentDirectory();
string textPath = Path.Combine(workPath, "TextRemind.txt");
try
{
if (!File.Exists(textPath))
return null;
return File.ReadAllLines(textPath);
}
catch
{
return null;
}
}
#endregion #endregion
#region #region
@ -957,18 +1053,20 @@ namespace MaiMuAOI.SysCtrl
{ {
bool ret = true; bool ret = true;
//关闭光源 //关闭光源
lightDev.CloseLight((int)LightChannelEnum.CH1); for (int i = 0; i < LightChCount; i++)
lightDev.CloseLight((int)LightChannelEnum.CH2); {
lightDev.CloseLight((int)LightChannelEnum.CH3); lightDev.CloseLight(i + 1);
lightDev.CloseLight((int)LightChannelEnum.CH4); }
lightDev.CloseLight((int)LightChannelEnum.CH5); //lightDev.CloseLight((int)LightChannelEnum.CH1);
lightDev.CloseLight((int)LightChannelEnum.CH6); //lightDev.CloseLight((int)LightChannelEnum.CH2);
//lightDev.CloseLight((int)LightChannelEnum.CH3);
//lightDev.CloseLight((int)LightChannelEnum.CH4);
//lightDev.CloseLight((int)LightChannelEnum.CH5);
//lightDev.CloseLight((int)LightChannelEnum.CH6);
VelocityCurveParams vel_z = new VelocityCurveParams(DefaultSpeed / 2, DefaultSpeed / 2, 0, DefaultSpeed / 2, 1, GetMMtoPlus(AxisName.Axis2)); VelocityCurveParams vel_z = new VelocityCurveParams(DefaultSpeed / 2, DefaultSpeed / 2, 0, DefaultSpeed / 2, 1, GetMMtoPlus(AxisName.Axis2));
axisDev.MoveAbsValue((int)AxisName.Axis2, vel_z, confMgr.LoadPoint_Z); axisDev.MoveAbsValue((int)AxisName.Axis2, vel_z, confMgr.LoadPoint_Z);
if (axisDev.CheckDone((int)AxisName.Axis2, 30) < 0) if (axisDev.CheckDone((int)AxisName.Axis2, 30) != 0)
return false; return false;
VelocityCurveParams vel_x = new VelocityCurveParams(DefaultSpeed, DefaultSpeed, 0, DefaultSpeed, 1, GetMMtoPlus(AxisName.Axis0)); VelocityCurveParams vel_x = new VelocityCurveParams(DefaultSpeed, DefaultSpeed, 0, DefaultSpeed, 1, GetMMtoPlus(AxisName.Axis0));
axisDev.MoveAbsValue((int)AxisName.Axis0, vel_x, confMgr.LoadPoint_X); axisDev.MoveAbsValue((int)AxisName.Axis0, vel_x, confMgr.LoadPoint_X);
@ -976,9 +1074,9 @@ namespace MaiMuAOI.SysCtrl
VelocityCurveParams vel_y = new VelocityCurveParams(DefaultSpeed, DefaultSpeed, 0, DefaultSpeed, 1, GetMMtoPlus(AxisName.Axis1)); VelocityCurveParams vel_y = new VelocityCurveParams(DefaultSpeed, DefaultSpeed, 0, DefaultSpeed, 1, GetMMtoPlus(AxisName.Axis1));
axisDev.MoveAbsValue((int)AxisName.Axis1, vel_y, confMgr.LoadPoint_Y); axisDev.MoveAbsValue((int)AxisName.Axis1, vel_y, confMgr.LoadPoint_Y);
if (axisDev.CheckDone((int)AxisName.Axis0, 30) < 0) if (axisDev.CheckDone((int)AxisName.Axis0, 30) != 0)
return false; return false;
if (axisDev.CheckDone((int)AxisName.Axis1, 30) < 0) if (axisDev.CheckDone((int)AxisName.Axis1, 30) != 0)
return false; return false;
return ret; return ret;
} }
@ -1008,19 +1106,26 @@ namespace MaiMuAOI.SysCtrl
{ {
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), open); ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), open);
} }
public bool RunQG(bool ack)
{
bool ret = false;
ret = ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), ack);
Thread.Sleep(500);
//ret = ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.加紧气缸), GetIOBitIndex((int)DOName.加紧气缸), ack);
return ret;
}
/// <summary> /// <summary>
/// 三色灯初始化 /// 三色灯初始化
/// </summary> /// </summary>
public void LedReady() public void LedReady()
{ {
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.绿), GetIOBitIndex((int)DOName.绿), true); ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.绿), GetIOBitIndex((int)DOName.绿), false);
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), true); ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), false);
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), false); ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), false);
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), false); ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), false);
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.绿), GetIOBitIndex((int)DOName.绿), true); ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.绿), GetIOBitIndex((int)DOName.绿), false);
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), true); ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), false);
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), false); ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), false);
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.绿), GetIOBitIndex((int)DOName.绿), false); ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.绿), GetIOBitIndex((int)DOName.绿), false);
} }
@ -1034,12 +1139,51 @@ namespace MaiMuAOI.SysCtrl
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.绿), GetIOBitIndex((int)DOName.绿), true); ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.绿), GetIOBitIndex((int)DOName.绿), true);
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), false); ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), false);
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), true); ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), false);
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.绿), GetIOBitIndex((int)DOName.绿), true); ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.绿), GetIOBitIndex((int)DOName.绿), false);
} }
private void AxisYGoHome()
public void LedPause()
{
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.绿), GetIOBitIndex((int)DOName.绿), false);
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), false);
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), true);
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), false);
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.绿), GetIOBitIndex((int)DOName.绿), false);
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), false);
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), true);
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.绿), GetIOBitIndex((int)DOName.绿), false);
}
//控制黄灯闪烁
private bool Blink;
private int BlinkCnt = 0;
//控制蜂鸣间隔
private int BuzzCnt = 0;
public void LedRset(bool val)
{
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.绿), GetIOBitIndex((int)DOName.绿), false);
//ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.三色灯黄灯), GetIOBitIndex((int)DOName.三色灯黄灯), val);
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), false);
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), false);
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.绿), GetIOBitIndex((int)DOName.绿), false);
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), val);
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), false);
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.绿), GetIOBitIndex((int)DOName.绿), false);
Blink = val;
BlinkCnt = 0;
}
private bool AxisYGoHome()
{
//加入读取急停信号
AxisSignalState axisSignalState = axisDev.GetAxisState((int)AxisName.Axis1);
if(axisSignalState.EMG != GeneralElectricalLevelMode.High)
{ {
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.Y轴回原点), GetIOBitIndex((int)DOName.Y轴回原点), true); ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.Y轴回原点), GetIOBitIndex((int)DOName.Y轴回原点), true);
return true;
}
return false;
} }
private bool AxisYGoHomeDone(double timeout) private bool AxisYGoHomeDone(double timeout)
{ {
@ -1047,6 +1191,13 @@ namespace MaiMuAOI.SysCtrl
strtime.Start(); strtime.Start();
do do
{ {
//加入读取急停信号
AxisSignalState axisSignalState = axisDev.GetAxisState((int)AxisName.Axis1);
if (axisSignalState.EMG == GeneralElectricalLevelMode.High)
{
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.Y轴回原点), GetIOBitIndex((int)DOName.Y轴回原点), false);
return false;
}
//判断是否正常停止 //判断是否正常停止
bool sts; bool sts;
ioCardDev.GetDIBitState(GetIOPortIndex((int)DIName.Y轴回原点完成), GetIOBitIndex((int)DIName.Y轴回原点完成), out sts); ioCardDev.GetDIBitState(GetIOPortIndex((int)DIName.Y轴回原点完成), GetIOBitIndex((int)DIName.Y轴回原点完成), out sts);
@ -1082,7 +1233,7 @@ namespace MaiMuAOI.SysCtrl
return false; return false;
} }
if (IOCardDev.ResetAllDO() < 0) if (!RunQG(false))
{ {
Log("复位", "系统IO复位失败", WarningEnum.High); Log("复位", "系统IO复位失败", WarningEnum.High);
return false; return false;
@ -1094,13 +1245,80 @@ namespace MaiMuAOI.SysCtrl
return ret; return ret;
} }
/// <summary> /// <summary>
/// 确认当前位置为上料位置
/// </summary>
/// <returns></returns>
private bool CheckPosIsLoadPos()
{
bool ret = false;
double x = GetAxisPosValueMM((int)AxisName.Axis0);
double y = GetAxisPosValueMM((int)AxisName.Axis1);
double z = GetAxisPosValueMM((int)AxisName.Axis2);
ret = Math.Abs(x - confMgr.LoadPoint_X) < 1;
ret = ret&Math.Abs(y - confMgr.LoadPoint_Y) < 1;
ret = ret&Math.Abs(z - confMgr.LoadPoint_Z) < 1;
return ret;
}
/// <summary>
/// 删除修复台重复sn图片
/// </summary>
private void DeleteRepairImage(string sn)
{
//删除文件
Task.Factory.StartNew(() =>
{
string dirPath = Util.CreateSubDir(confMgr.SysConfigParams.SizeRepairImag.SavePath,
new List<string> { DateTime.Now.ToString("yyyyMMdd"), sn });
if (!Directory.Exists(dirPath))
{
return;
}
string[] array = Directory.GetFiles(dirPath);
foreach (string text in array)
{
try
{
API.OutputDebugString("清除文件:" + text + "...");
File.Delete(text);
}
catch (Exception ex)
{
API.OutputDebugString("Ex1:" + ex.Message);
}
}
dirPath = Util.CreateSubDir(confMgr.SysConfigParams.DefectRepairImag.SavePath,
new List<string> { DateTime.Now.ToString("yyyyMMdd"), sn });
if (!Directory.Exists(dirPath))
{
return;
}
array = Directory.GetFiles(dirPath);
foreach (string text in array)
{
try
{
API.OutputDebugString("清除文件:" + text + "...");
File.Delete(text);
}
catch (Exception ex)
{
API.OutputDebugString("Ex1:" + ex.Message);
}
}
});
}
/// <summary>
/// 自动运行 /// 自动运行
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public bool StartRun(string productCode) public bool StartRun(Form fatherFrm, string productCode, string sn)
{ {
bool ret = true; bool ret = true;
//Log("运行", $"启动自动检测流程---料号:{productCode},网版编码:{sn}");
//运行前清除过期图片文件 //运行前清除过期图片文件
//DateTime st = DateTime.Now;
DelectPictureFile(); DelectPictureFile();
if(CurrProcessIndex < -1) if(CurrProcessIndex < -1)
{ {
@ -1112,10 +1330,15 @@ namespace MaiMuAOI.SysCtrl
Log("运行", "系统非可运行状态", WarningEnum.Low); Log("运行", "系统非可运行状态", WarningEnum.Low);
return false; return false;
} }
Log("启动", "移动至上料位..."); //Log("启动", "移动至上料位...");
GotoLoadPos(); //GotoLoadPos();
if(!CheckPosIsLoadPos())
if(string.IsNullOrEmpty(productCode)) {
Log("运行", "载具不在上料位!请复位到上料位在启动!", WarningEnum.Low);
FrmDialog.ShowDialog(fatherFrm, $"载具不在上料位!请复位到上料位在启动!", "警告", false);
return false;
}
if (string.IsNullOrEmpty(productCode))
{ {
Log("运行", "产品料号未选择!", WarningEnum.Low); Log("运行", "产品料号未选择!", WarningEnum.Low);
return false; return false;
@ -1127,7 +1350,8 @@ namespace MaiMuAOI.SysCtrl
lstCompareFailZoomImage.Clear(); lstCompareFailZoomImage.Clear();
contoursAffineTrans1_Out = null; contoursAffineTrans1_Out = null;
//Log("调试", $"time1:{(DateTime.Now - st).Milliseconds}");
//st = DateTime.Now;
int errStep = 0; int errStep = 0;
try try
{ {
@ -1145,26 +1369,46 @@ namespace MaiMuAOI.SysCtrl
//输入SN //输入SN
errStep = 2; errStep = 2;
string sn = ""; //InputFrm frm = new InputFrm(null, "请输入网版编码:");
//if (frm.ShowDialog() == DialogResult.OK && !string.IsNullOrWhiteSpace(frm.inputData))
InputFrm frm = new InputFrm(null, "请输入网版编码:"); // sn = frm.inputData;
if (frm.ShowDialog() == DialogResult.OK && !string.IsNullOrWhiteSpace(frm.inputData)) //else
sn = frm.inputData; //{
else // Log("运行", "输入产品编码取消,停止流程!", WarningEnum.Low);
{ // return false;
Log("运行", "输入产品编码取消,停止流程!", WarningEnum.Low); //}
return false; //Log("调试", $"time2:{(DateTime.Now - st).Milliseconds}");
} //st = DateTime.Now;
errStep = 3; errStep = 3;
if (string.IsNullOrWhiteSpace(sn)) if (string.IsNullOrWhiteSpace(sn))
{ {
Log("运行", "产品编码为空!", WarningEnum.Low); Log("运行", "网版编码为空!", WarningEnum.Low);
return false; return false;
} }
Log("运行", $"料号:{code},网版编码:{sn}"); Log("运行", $"料号:{code},网版编码:{sn}");
//记忆
Remind(sn);
//查询SN是否重复
var findSN = OrderService.GetModelNav(sn);
if (findSN != null)
{
Log("运行", $"网版编码:{sn}, 已经存在检测数据!");
if(FrmDialog.ShowDialog(fatherFrm, $"网版编码:{sn}, 已经存在检测数据!", "提示", true) != DialogResult.OK)
{
Log("运行", "网版编码重复测试终止运行!", WarningEnum.Low);
return false;
}
else
Log("运行", "网版编码重复测试");
//删除已有sn的修复图片
DeleteRepairImage(sn);
}
//Log("调试", $"time3:{(DateTime.Now - st).Milliseconds}");
//st = DateTime.Now;
//判断SN数量是否达到批次上限 //判断SN数量是否达到批次上限
//创建表达式 //创建表达式
if (!string.IsNullOrWhiteSpace(model.BatchId) && model.TargetCount > 0) if (!string.IsNullOrWhiteSpace(model.BatchId) && model.TargetCount > 0)
@ -1183,7 +1427,8 @@ namespace MaiMuAOI.SysCtrl
errStep = 7; errStep = 7;
} }
//Log("调试", $"time4:{(DateTime.Now - st).Milliseconds}");
//st = DateTime.Now;
//界面显示SN //界面显示SN
model.HeightBaseDec = ""; model.HeightBaseDec = "";
CurrProductModel = model; CurrProductModel = model;
@ -1204,6 +1449,9 @@ namespace MaiMuAOI.SysCtrl
order.BatchId = CurrProductModel.BatchId; order.BatchId = CurrProductModel.BatchId;
errStep = 9; errStep = 9;
AllDefectCount = 0; AllDefectCount = 0;
SizeNGCnt = 0;
RunQG(true);
CurrProcessIndex = 0; CurrProcessIndex = 0;
LedRun(); LedRun();
@ -1212,6 +1460,9 @@ namespace MaiMuAOI.SysCtrl
_isAuto = true; _isAuto = true;
statusMgr.GotoAuto(); statusMgr.GotoAuto();
errStep = 10; errStep = 10;
//Log("调试", $"time5:{(DateTime.Now - st).Milliseconds}");
//st = DateTime.Now;
} }
else else
Log("运行", model != null ? $"料号{code}不存在!" : $"产品({model.Name})未配置检测流程!", WarningEnum.Low); Log("运行", model != null ? $"料号{code}不存在!" : $"产品({model.Name})未配置检测流程!", WarningEnum.Low);
@ -1227,7 +1478,7 @@ namespace MaiMuAOI.SysCtrl
public bool ReStartRun() public bool ReStartRun()
{ {
bool ret = false; bool ret = false;
if (CurrProcessIndex >= 0 ) if (CurrProcessIndex >= 1 )
{ {
Log("启动", $"暂停 -> 继续 当前工序索引:{CurrProcessIndex + 1}"); Log("启动", $"暂停 -> 继续 当前工序索引:{CurrProcessIndex + 1}");
LedRun(); LedRun();
@ -1244,29 +1495,61 @@ namespace MaiMuAOI.SysCtrl
if (statusMgr.Warning == WarningEnum.Normal) if (statusMgr.Warning == WarningEnum.Normal)
{ {
if(statusMgr.Status == SystemStsEnum.Auto) if(statusMgr.Status == SystemStsEnum.Auto)
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), false); ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.绿), GetIOBitIndex((int)DOName.绿), true);
else
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.绿), GetIOBitIndex((int)DOName.绿), false);
if (statusMgr.Status == SystemStsEnum.Pause)
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), true);
else else
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), true);
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), false); ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), false);
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), false); ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), false);
BuzzCnt = 0;
//判断黄灯是否需要闪烁调用200ms一次
if (Blink)
{
if(BlinkCnt < 3)
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), true);
else if(BlinkCnt < 6)
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), false);
BlinkCnt++;
if (BlinkCnt == 6)
BlinkCnt = 0;
}
else
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), false);
} }
if (statusMgr.Warning == WarningEnum.Low) if (statusMgr.Warning == WarningEnum.Low)
{ {
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), true); //ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.启动按钮绿灯), GetIOBitIndex((int)DOName.启动按钮绿灯), false);
sts = true; //ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.停止按钮红灯), GetIOBitIndex((int)DOName.停止按钮红灯), true);
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), true);
//ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.三色灯绿灯), GetIOBitIndex((int)DOName.三色灯绿灯), false);
//sts = true;
} }
if (statusMgr.Warning == WarningEnum.High) if (statusMgr.Warning == WarningEnum.High)
{ {
sts = true; sts = true;
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.绿), GetIOBitIndex((int)DOName.绿), false);
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), true);
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), true); ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), true);
if(confMgr.SysConfigParams.OpenBuzzer) ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.绿), GetIOBitIndex((int)DOName.绿), false);
if (confMgr.SysConfigParams.OpenBuzzer)
{
if(BuzzCnt < 3)
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), true); ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), true);
else if (BuzzCnt < 6)
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), false);
BuzzCnt++;
if (BuzzCnt == 6)
BuzzCnt = 0;
}
} }
return sts; return sts;
} }
public bool ButtonIOTrg() public int ButtonIOTrg()
{ {
int ret = 0;
bool sts; bool sts;
if(confMgr.SysConfigParams.OpenDoor) if(confMgr.SysConfigParams.OpenDoor)
{ {
@ -1275,6 +1558,7 @@ namespace MaiMuAOI.SysCtrl
{ {
Log("暂停", "门磁报警-门打开", WarningEnum.Low ); Log("暂停", "门磁报警-门打开", WarningEnum.Low );
statusMgr.GotoPause(); statusMgr.GotoPause();
ret = 2;
} }
} }
ioCardDev.GetDIBitState(GetIOPortIndex((int)DIName.), GetIOBitIndex((int)DIName.), out sts); ioCardDev.GetDIBitState(GetIOPortIndex((int)DIName.), GetIOBitIndex((int)DIName.), out sts);
@ -1282,32 +1566,111 @@ namespace MaiMuAOI.SysCtrl
{ {
Log("暂停", "手动暂停"); Log("暂停", "手动暂停");
statusMgr.GotoPause(); statusMgr.GotoPause();
ret = 2;
} }
ioCardDev.GetDIBitState(GetIOPortIndex((int)DIName.), GetIOBitIndex((int)DIName.), out sts); ioCardDev.GetDIBitState(GetIOPortIndex((int)DIName.), GetIOBitIndex((int)DIName.), out sts);
if (sts) if (sts)
{ {
if (SysMgr.Instance.StatusMgr.Status == SystemStsEnum.Warning) ret = 3;
{ //if (SysMgr.Instance.StatusMgr.Status == SystemStsEnum.Warning)
Log("清除", "手动清除报警"); //{
if (SysMgr.Instance.IsAuto) // Log("清除", "手动清除报警");
SysMgr.Instance.StatusMgr.GotoPause(); // if (SysMgr.Instance.IsAuto)
else // SysMgr.Instance.StatusMgr.GotoPause();
SysMgr.Instance.StatusMgr.GotoNormalStandby(); // else
} // SysMgr.Instance.StatusMgr.GotoNormalStandby();
//}
} }
ioCardDev.GetDIBitState(GetIOPortIndex((int)DIName.), GetIOBitIndex((int)DIName.), out sts); ioCardDev.GetDIBitState(GetIOPortIndex((int)DIName.), GetIOBitIndex((int)DIName.), out sts);
return sts; if (sts)
ret = 1;
return ret ;
} }
/// <summary>
/// 设备硬件重新加载
/// </summary>
public void AllResetAndGoHome() public void AllResetAndGoHome()
{ {
Log("复位", "系统硬件重置"); Log("复位", "系统硬件重置");
_isAuto = false; _isAuto = false;
if (IOCardDev.ResetAllDO() < 0) _isRuning = false;
statusMgr.ClearWarning();
AxisDStop();
axisDev.CloseBoard();
ioCardDev.ResetAllDO();
ioCardDev.CloseBoard();
lightDev.CloseDev();
camDev.CloseCamera();
camDev = new CamDev(SysUseCam, confMgr.SysConfigParams.CamName, confMgr.SysConfigParams.CamCfgPath);
if (ioCardDev.InitBoard(MaiMuControl.Device.IOBordType.Advantech) < 0)
{ {
Log("复位", "系统IO复位失败", WarningEnum.High); Log("IO板卡初始化失败", "初始化", WarningEnum.High);
return; return;
} }
if (ioCardDev.OpenBoard(confMgr.SysConfigParams.IODevName, confMgr.SysConfigParams.IOCfgPath) < 0)
{
Log("打开IO板卡失败", "初始化", WarningEnum.High);
return;
}
if (ioCardDev.ResetAllDO() < 0)
{
Log("IO Reset失败", "初始化", WarningEnum.High);
return;
}
statusMgr.GotoInitial();
statusMgr.ClearWarning();
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), true);
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), true);
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.绿), GetIOBitIndex((int)DOName.绿), false);
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), false);
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), false);
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.绿), GetIOBitIndex((int)DOName.绿), false);
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.), GetIOBitIndex((int)DOName.), false);
ioCardDev.WriteBitState(GetIOPortIndex((int)DOName.绿), GetIOBitIndex((int)DOName.绿), false);
//电机初始化
if (axisDev.InitBoard() < 0)
{
Log("运动控制板卡初始化失败!", "初始化", WarningEnum.High);
return ;
}
if (axisDev.OpenBoard(0, confMgr.SysConfigParams.MotionCfgPath) < 0)
{
Log("打开运动控制板卡失败!", "初始化", WarningEnum.High);
return;
}
if (axisDev.LoadBoardParams(0, boardCfgParams) < 0)
{
Log("载入运动控制板卡参数失败1", "初始化", WarningEnum.High);
return;
}
//光源初始化
int com_num = int.Parse(confMgr.SysConfigParams.LightCom.Remove(0, 3));
if (lightDev.InitDev(com_num, confMgr.SysConfigParams.LightComBaud) < 0)
{
Log("光源控制器初始化失败!", "初始化", WarningEnum.High);
return;
}
//相机初始化
if (!camDev.InitCamera())
{
Log("相机初始化失败!", "初始化", WarningEnum.High);
return;
}
if (!camDev.OpenCamera())
{
Log("相机打开失败!", "初始化", WarningEnum.High);
return;
}
//多轴回原 //多轴回原
if ((homeParamsZ != null) && (homeParamsX != null) && (homeParamsY != null)) if ((homeParamsZ != null) && (homeParamsX != null) && (homeParamsY != null))
{ {
@ -1323,26 +1686,22 @@ namespace MaiMuAOI.SysCtrl
//y轴使用io回原 //y轴使用io回原
AxisYGoHome(); AxisYGoHome();
} }
Thread.Sleep(1000);
//判断轴是否回原成功 //判断轴是否回原成功
if (axisDev.CheckHomeDone((int)AxisName.Axis0, 60) < 0)
{
AxisAllImmediateStop();
Log("复位", "X轴回原失败", WarningEnum.High);
return;
}
//if (axisDev.CheckHomeDone((int)AxisName.Axis1, 60) < 0)
//{
// AxisAllImmediateStop();
// InitLog("Y轴回原失败", "初始化", WarningEnum.High);
// return ret;
//}
if (!AxisYGoHomeDone(60)) if (!AxisYGoHomeDone(60))
{ {
AxisAllImmediateStop(); AxisAllImmediateStop();
Log("复位", "Y轴回原失败", WarningEnum.High); Log("复位", "Y轴回原失败", WarningEnum.High);
return; return;
} }
if (axisDev.CheckHomeDone((int)AxisName.Axis2, 60) < 0) if (axisDev.CheckHomeDone((int)AxisName.Axis0, 60) != 0)
{
AxisAllImmediateStop();
Log("复位", "X轴回原失败", WarningEnum.High);
return;
}
if (axisDev.CheckHomeDone((int)AxisName.Axis2, 60) != 0)
{ {
AxisAllImmediateStop(); AxisAllImmediateStop();
Log("复位", "Z轴回原失败", WarningEnum.High); Log("复位", "Z轴回原失败", WarningEnum.High);
@ -1350,9 +1709,13 @@ namespace MaiMuAOI.SysCtrl
} }
Log("复位", "所有轴回原成功!"); Log("复位", "所有轴回原成功!");
//清空y轴发送命令和反馈位置
axisDev.SetCommandPos((int)AxisName.Axis1, 0);
axisDev.SetFeedbackPos((int)AxisName.Axis1, 0);
Log("复位", "移动到上料..."); Log("复位", "移动到上料...");
LedReady(); LedReady();
//GotoLoadPos(); GotoLoadPos();
//初始化成功 //初始化成功
_isInit = true; _isInit = true;
@ -1641,7 +2004,7 @@ namespace MaiMuAOI.SysCtrl
Log($"{stepIndex + 1}-{processName}", Log($"{stepIndex + 1}-{processName}",
$"轴{AxisIndex}准备({(MoveMode == AxMoveMode.绝对位置 ? "" : "")})运动至{PPUValue}..."); $"轴{AxisIndex}准备({(MoveMode == AxMoveMode.绝对位置 ? "" : "")})运动至{PPUValue}...");
if(axisDev.CheckDone(AxisIndex, 60)<0) if(axisDev.CheckDone(AxisIndex, 60) != 0)
{ {
Log($"{stepIndex + 1}-{processName}", $"轴{AxisIndex}到位失败!", WarningEnum.High); Log($"{stepIndex + 1}-{processName}", $"轴{AxisIndex}到位失败!", WarningEnum.High);
return stepIndex; return stepIndex;
@ -1652,7 +2015,7 @@ namespace MaiMuAOI.SysCtrl
iret = axisDev.MoveAbsValue(AxisIndex, vel, PPUValue); iret = axisDev.MoveAbsValue(AxisIndex, vel, PPUValue);
else else
iret = axisDev.MoveRelValue(AxisIndex, vel, PPUValue); iret = axisDev.MoveRelValue(AxisIndex, vel, PPUValue);
if (iret < 0) if (iret != 0)
{ {
Log($"{stepIndex + 1}-{processName}", $"轴{AxisIndex}运动失败!", WarningEnum.High); Log($"{stepIndex + 1}-{processName}", $"轴{AxisIndex}运动失败!", WarningEnum.High);
return stepIndex; return stepIndex;
@ -1714,7 +2077,7 @@ namespace MaiMuAOI.SysCtrl
for (int i = 0; i < AxisIndexList.Count && i < TagPPUValue.Length; i++) for (int i = 0; i < AxisIndexList.Count && i < TagPPUValue.Length; i++)
{ {
if (axisDev.CheckDone(AxisIndexList[i], 60) < 0) if (axisDev.CheckDone(AxisIndexList[i], 60) != 0)
{ {
Log($"{stepIndex + 1}-{processName}", $"轴{AxisIndexList[i]}到位失败!", WarningEnum.High); Log($"{stepIndex + 1}-{processName}", $"轴{AxisIndexList[i]}到位失败!", WarningEnum.High);
return stepIndex; return stepIndex;
@ -1725,7 +2088,7 @@ namespace MaiMuAOI.SysCtrl
iret = axisDev.MoveAbsValue(AxisIndexList[i], vel, TagPPUValue[i]); iret = axisDev.MoveAbsValue(AxisIndexList[i], vel, TagPPUValue[i]);
else else
iret = axisDev.MoveRelValue(AxisIndexList[i], vel, TagPPUValue[i]); iret = axisDev.MoveRelValue(AxisIndexList[i], vel, TagPPUValue[i]);
if (iret < 0) if (iret != 0)
{ {
Log($"{stepIndex + 1}-{processName}", $"轴{AxisIndexList[i]}运动失败!", WarningEnum.High); Log($"{stepIndex + 1}-{processName}", $"轴{AxisIndexList[i]}运动失败!", WarningEnum.High);
return stepIndex; return stepIndex;
@ -1941,7 +2304,12 @@ namespace MaiMuAOI.SysCtrl
order.Qualified = false; order.Qualified = false;
} }
//更新比对看板 对比置零3 //更新比对看板 对比置零3
OnAutoRuning(new RunEventArgs(3, res.CompResult)); if (!res.CompResult)
SizeNGCnt++;
if (SizeNGCnt>0)
OnAutoRuning(new RunEventArgs(3, false, SizeNGCnt));
else
OnAutoRuning(new RunEventArgs(3, true, SizeNGCnt));
if (!res.CompResult) if (!res.CompResult)
{ {
Log($"{res.stepIndex + 1}-{res.processName}", $"图像比对,未通过结果:{JsonConvert.SerializeObject(res.defectInfor2RestorationDesk)}"); Log($"{res.stepIndex + 1}-{res.processName}", $"图像比对,未通过结果:{JsonConvert.SerializeObject(res.defectInfor2RestorationDesk)}");
@ -1993,7 +2361,8 @@ namespace MaiMuAOI.SysCtrl
} }
else else
{ {
OnAutoRuning(new RunEventArgs(3, false)); SizeNGCnt++;
OnAutoRuning(new RunEventArgs(3, false, SizeNGCnt));
OnAutoRuning(new RunEventArgs(liStatocStepIndex, $"index:{res.index},图像比对失败!")); OnAutoRuning(new RunEventArgs(liStatocStepIndex, $"index:{res.index},图像比对失败!"));
Log($"{res.stepIndex + 1}-{res.processName}", $"图像比对失败index:{res.index}-{compBmpIndex}.", WarningEnum.Low); Log($"{res.stepIndex + 1}-{res.processName}", $"图像比对失败index:{res.index}-{compBmpIndex}.", WarningEnum.Low);
} }
@ -2395,8 +2764,19 @@ namespace MaiMuAOI.SysCtrl
//============结束,判断是否自动下料 //============结束,判断是否自动下料
if (stepIndex == processList.Count - 1) if (stepIndex == processList.Count - 1)
{ {
Log("下料", "产品测试完成,移动到下料位");
bool ret = GotoLoadPos();
if (!ret)
{
Log("下料", "系统电机复位失败", WarningEnum.High);
}
if (!RunQG(false))
{
Log("下料", "系统IO复位失败", WarningEnum.High);
}
Log("结果", "产品测试完成,等待测试结果...");
//等待缺陷图显示完成 //等待缺陷图显示完成
while (defectBmpNum != defectBmpNumResult) while (defectBmpNum != defectBmpNumResult)
Thread.Sleep(100); Thread.Sleep(100);
@ -2418,10 +2798,24 @@ namespace MaiMuAOI.SysCtrl
} }
} }
} }
else
{
Log("结果", "默认判断");
int itemDefectCount;
for(int enumcnt = 0; enumcnt < 12; enumcnt++)
{
itemDefectCount = getDefectCountFromCode(order, (DefectCodeEnum)enumcnt);
if ( itemDefectCount >0)
{
order.Qualified = false;
defectNames += $"{EnumExtension.GetEnumDescription((DefectCodeEnum)enumcnt)}({itemDefectCount}),";
}
}
}
stopWatch.Stop(); stopWatch.Stop();
long timeLen = stopWatch.ElapsedMilliseconds / 1000; long timeLen = stopWatch.ElapsedMilliseconds / 1000;
OnAutoRuning(new RunEventArgs(4, defectNames != "")); OnAutoRuning(new RunEventArgs(4, defectNames == "",0));
OnAutoRuning(new RunEventArgs(timeLen)); OnAutoRuning(new RunEventArgs(timeLen));
//界面显示 //界面显示
@ -2454,10 +2848,13 @@ namespace MaiMuAOI.SysCtrl
//以主键为条件更新CompleteCount单列值 //以主键为条件更新CompleteCount单列值
PdtService.Update(it => new Product() { CompleteCount = CurrProductModel.CompleteCount }, it => it.Id == CurrProductModel.Id); PdtService.Update(it => new Product() { CompleteCount = CurrProductModel.CompleteCount }, it => it.Id == CurrProductModel.Id);
Log("完成", $"用时 {order.TimeLen} 秒,进行下料..."); Log("完成", $"用时 {order.TimeLen} 秒");
_isAuto = false; _isAuto = false;
OnAutoRuning(new RunEventArgs(_isAuto)); OnAutoRuning(new RunEventArgs(_isAuto));
GotoReadyPosAndIO(); //GotoReadyPosAndIO();
statusMgr.ClearWarning();
LedReady();
statusMgr.GotoNormalStandby();
CurrProcessIndex = -1; CurrProcessIndex = -1;
return -1; return -1;
@ -2717,6 +3114,8 @@ namespace MaiMuAOI.SysCtrl
private long _time; private long _time;
public long Time { get { return _time; } } public long Time { get { return _time; } }
private long _cnt;
public long Cnt { get { return _cnt; } }
public RunEventArgs(string sn, List<StepProcess> list) public RunEventArgs(string sn, List<StepProcess> list)
{ {
this._cmd = 0; this._cmd = 0;
@ -2734,10 +3133,11 @@ namespace MaiMuAOI.SysCtrl
this._stepIndex = stepIndex; this._stepIndex = stepIndex;
_mesg = mesg; _mesg = mesg;
} }
public RunEventArgs(int cmd, bool rel) public RunEventArgs(int cmd, bool rel, int cnt)
{ {
this._cmd = cmd; this._cmd = cmd;
this._compareResult = rel; this._compareResult = rel;
this._cnt = cnt;
} }
public RunEventArgs(long time ) public RunEventArgs(long time )
{ {

View File

@ -0,0 +1,865 @@
namespace MaiMuAOI.SysUI.DefectPicShow
{
partial class DebugTestFrm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.uiTitel1 = new MaiMuControl.UIKits.MaiMuMenu.UITitel();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.label17 = new System.Windows.Forms.Label();
this.cbCH = new System.Windows.Forms.ComboBox();
this.button1 = new System.Windows.Forms.Button();
this.button3 = new System.Windows.Forms.Button();
this.button4 = new System.Windows.Forms.Button();
this.label16 = new System.Windows.Forms.Label();
this.numericUpDown3 = new System.Windows.Forms.NumericUpDown();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.btnTrg = new System.Windows.Forms.Button();
this.btnGrab = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.label12 = new System.Windows.Forms.Label();
this.numGain = new System.Windows.Forms.NumericUpDown();
this.numExposure = new System.Windows.Forms.NumericUpDown();
this.label1 = new System.Windows.Forms.Label();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.numericUpDown1 = new System.Windows.Forms.NumericUpDown();
this.label15 = new System.Windows.Forms.Label();
this.numDist = new System.Windows.Forms.NumericUpDown();
this.btnMove = new System.Windows.Forms.Button();
this.label13 = new System.Windows.Forms.Label();
this.cbDir = new System.Windows.Forms.ComboBox();
this.label14 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.cbAxisName = new System.Windows.Forms.ComboBox();
this.label11 = new System.Windows.Forms.Label();
this.label10 = new System.Windows.Forms.Label();
this.label9 = new System.Windows.Forms.Label();
this.label8 = new System.Windows.Forms.Label();
this.cbTS = new System.Windows.Forms.ComboBox();
this.numDec = new System.Windows.Forms.NumericUpDown();
this.numAcc = new System.Windows.Forms.NumericUpDown();
this.numET = new System.Windows.Forms.NumericUpDown();
this.numST = new System.Windows.Forms.NumericUpDown();
this.label7 = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.stslog = new System.Windows.Forms.Label();
this.imageBox1 = new ImageToolKits.ImageBox();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.timer2 = new System.Windows.Forms.Timer(this.components);
this.button5 = new System.Windows.Forms.Button();
this.button6 = new System.Windows.Forms.Button();
this.btnJogP = new System.Windows.Forms.Button();
this.btnJogN = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
this.groupBox3.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown3)).BeginInit();
this.groupBox2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numGain)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numExposure)).BeginInit();
this.groupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numDist)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numDec)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numAcc)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numET)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numST)).BeginInit();
this.SuspendLayout();
//
// uiTitel1
//
this.uiTitel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120)))));
this.uiTitel1.Dock = System.Windows.Forms.DockStyle.Top;
this.uiTitel1.Location = new System.Drawing.Point(0, 0);
this.uiTitel1.Name = "uiTitel1";
this.uiTitel1.Size = new System.Drawing.Size(1247, 46);
this.uiTitel1.TabIndex = 33;
//
// splitContainer1
//
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.splitContainer1.Location = new System.Drawing.Point(0, 46);
this.splitContainer1.Name = "splitContainer1";
//
// splitContainer1.Panel1
//
this.splitContainer1.Panel1.Controls.Add(this.groupBox3);
this.splitContainer1.Panel1.Controls.Add(this.groupBox2);
this.splitContainer1.Panel1.Controls.Add(this.groupBox1);
this.splitContainer1.Panel1.Controls.Add(this.stslog);
//
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.imageBox1);
this.splitContainer1.Size = new System.Drawing.Size(1247, 599);
this.splitContainer1.SplitterDistance = 474;
this.splitContainer1.TabIndex = 34;
//
// groupBox3
//
this.groupBox3.Controls.Add(this.label17);
this.groupBox3.Controls.Add(this.cbCH);
this.groupBox3.Controls.Add(this.button1);
this.groupBox3.Controls.Add(this.button3);
this.groupBox3.Controls.Add(this.button4);
this.groupBox3.Controls.Add(this.label16);
this.groupBox3.Controls.Add(this.numericUpDown3);
this.groupBox3.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.groupBox3.Location = new System.Drawing.Point(12, 6);
this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(457, 115);
this.groupBox3.TabIndex = 64;
this.groupBox3.TabStop = false;
this.groupBox3.Text = "光源控制";
//
// label17
//
this.label17.AutoSize = true;
this.label17.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label17.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.label17.Location = new System.Drawing.Point(52, 27);
this.label17.Name = "label17";
this.label17.Size = new System.Drawing.Size(46, 21);
this.label17.TabIndex = 63;
this.label17.Text = "通道:";
//
// cbCH
//
this.cbCH.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbCH.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.cbCH.ForeColor = System.Drawing.SystemColors.ControlText;
this.cbCH.FormattingEnabled = true;
this.cbCH.Location = new System.Drawing.Point(104, 27);
this.cbCH.Name = "cbCH";
this.cbCH.Size = new System.Drawing.Size(79, 29);
this.cbCH.TabIndex = 62;
//
// button1
//
this.button1.ForeColor = System.Drawing.SystemColors.ControlText;
this.button1.Location = new System.Drawing.Point(239, 20);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(89, 36);
this.button1.TabIndex = 0;
this.button1.Text = "开启";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// button3
//
this.button3.ForeColor = System.Drawing.SystemColors.ControlText;
this.button3.Location = new System.Drawing.Point(352, 20);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(89, 36);
this.button3.TabIndex = 1;
this.button3.Text = "关闭";
this.button3.UseVisualStyleBackColor = true;
this.button3.Click += new System.EventHandler(this.button3_Click);
//
// button4
//
this.button4.ForeColor = System.Drawing.SystemColors.ControlText;
this.button4.Location = new System.Drawing.Point(239, 64);
this.button4.Name = "button4";
this.button4.Size = new System.Drawing.Size(89, 37);
this.button4.TabIndex = 61;
this.button4.Text = "设置";
this.button4.UseVisualStyleBackColor = true;
this.button4.Click += new System.EventHandler(this.button4_Click);
//
// label16
//
this.label16.AutoSize = true;
this.label16.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label16.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.label16.Location = new System.Drawing.Point(52, 74);
this.label16.Name = "label16";
this.label16.Size = new System.Drawing.Size(46, 21);
this.label16.TabIndex = 57;
this.label16.Text = "亮度:";
//
// numericUpDown3
//
this.numericUpDown3.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.numericUpDown3.Location = new System.Drawing.Point(104, 74);
this.numericUpDown3.Maximum = new decimal(new int[] {
300,
0,
0,
0});
this.numericUpDown3.Name = "numericUpDown3";
this.numericUpDown3.Size = new System.Drawing.Size(88, 21);
this.numericUpDown3.TabIndex = 58;
this.numericUpDown3.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// groupBox2
//
this.groupBox2.Controls.Add(this.button6);
this.groupBox2.Controls.Add(this.btnTrg);
this.groupBox2.Controls.Add(this.btnGrab);
this.groupBox2.Controls.Add(this.button2);
this.groupBox2.Controls.Add(this.label12);
this.groupBox2.Controls.Add(this.numGain);
this.groupBox2.Controls.Add(this.numExposure);
this.groupBox2.Controls.Add(this.label1);
this.groupBox2.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.groupBox2.Location = new System.Drawing.Point(12, 127);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(457, 128);
this.groupBox2.TabIndex = 63;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "相机控制";
//
// btnTrg
//
this.btnTrg.ForeColor = System.Drawing.SystemColors.ControlText;
this.btnTrg.Location = new System.Drawing.Point(87, 20);
this.btnTrg.Name = "btnTrg";
this.btnTrg.Size = new System.Drawing.Size(89, 36);
this.btnTrg.TabIndex = 0;
this.btnTrg.Text = "拍照";
this.btnTrg.UseVisualStyleBackColor = true;
this.btnTrg.Click += new System.EventHandler(this.btnTrg_Click);
//
// btnGrab
//
this.btnGrab.ForeColor = System.Drawing.SystemColors.ControlText;
this.btnGrab.Location = new System.Drawing.Point(200, 20);
this.btnGrab.Name = "btnGrab";
this.btnGrab.Size = new System.Drawing.Size(89, 36);
this.btnGrab.TabIndex = 1;
this.btnGrab.Text = "连续拍照";
this.btnGrab.UseVisualStyleBackColor = true;
this.btnGrab.Click += new System.EventHandler(this.btnGrab_Click);
//
// button2
//
this.button2.ForeColor = System.Drawing.SystemColors.ControlText;
this.button2.Location = new System.Drawing.Point(147, 98);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(79, 20);
this.button2.TabIndex = 61;
this.button2.Text = "设置";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// label12
//
this.label12.AutoSize = true;
this.label12.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label12.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.label12.Location = new System.Drawing.Point(43, 71);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(46, 21);
this.label12.TabIndex = 57;
this.label12.Text = "曝光:";
//
// numGain
//
this.numGain.DecimalPlaces = 2;
this.numGain.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.numGain.Location = new System.Drawing.Point(248, 71);
this.numGain.Maximum = new decimal(new int[] {
1000000,
0,
0,
0});
this.numGain.Name = "numGain";
this.numGain.Size = new System.Drawing.Size(88, 21);
this.numGain.TabIndex = 60;
this.numGain.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// numExposure
//
this.numExposure.DecimalPlaces = 2;
this.numExposure.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.numExposure.Location = new System.Drawing.Point(95, 71);
this.numExposure.Maximum = new decimal(new int[] {
1000000,
0,
0,
0});
this.numExposure.Name = "numExposure";
this.numExposure.Size = new System.Drawing.Size(88, 21);
this.numExposure.TabIndex = 58;
this.numExposure.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label1.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.label1.Location = new System.Drawing.Point(196, 71);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(46, 21);
this.label1.TabIndex = 59;
this.label1.Text = "增益:";
//
// groupBox1
//
this.groupBox1.Controls.Add(this.btnJogN);
this.groupBox1.Controls.Add(this.btnJogP);
this.groupBox1.Controls.Add(this.button5);
this.groupBox1.Controls.Add(this.numericUpDown1);
this.groupBox1.Controls.Add(this.label15);
this.groupBox1.Controls.Add(this.numDist);
this.groupBox1.Controls.Add(this.btnMove);
this.groupBox1.Controls.Add(this.label13);
this.groupBox1.Controls.Add(this.cbDir);
this.groupBox1.Controls.Add(this.label14);
this.groupBox1.Controls.Add(this.label2);
this.groupBox1.Controls.Add(this.cbAxisName);
this.groupBox1.Controls.Add(this.label11);
this.groupBox1.Controls.Add(this.label10);
this.groupBox1.Controls.Add(this.label9);
this.groupBox1.Controls.Add(this.label8);
this.groupBox1.Controls.Add(this.cbTS);
this.groupBox1.Controls.Add(this.numDec);
this.groupBox1.Controls.Add(this.numAcc);
this.groupBox1.Controls.Add(this.numET);
this.groupBox1.Controls.Add(this.numST);
this.groupBox1.Controls.Add(this.label7);
this.groupBox1.Controls.Add(this.label6);
this.groupBox1.Controls.Add(this.label5);
this.groupBox1.Controls.Add(this.label4);
this.groupBox1.Controls.Add(this.label3);
this.groupBox1.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.groupBox1.Location = new System.Drawing.Point(12, 261);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(457, 310);
this.groupBox1.TabIndex = 62;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "轴控制";
//
// numericUpDown1
//
this.numericUpDown1.DecimalPlaces = 3;
this.numericUpDown1.Location = new System.Drawing.Point(334, 233);
this.numericUpDown1.Maximum = new decimal(new int[] {
10000,
0,
0,
0});
this.numericUpDown1.Minimum = new decimal(new int[] {
10000,
0,
0,
-2147483648});
this.numericUpDown1.Name = "numericUpDown1";
this.numericUpDown1.Size = new System.Drawing.Size(109, 21);
this.numericUpDown1.TabIndex = 64;
this.numericUpDown1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// label15
//
this.label15.AutoSize = true;
this.label15.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label15.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.label15.Location = new System.Drawing.Point(220, 233);
this.label15.Name = "label15";
this.label15.Size = new System.Drawing.Size(108, 21);
this.label15.TabIndex = 63;
this.label15.Text = "实际位置mm:";
//
// numDist
//
this.numDist.DecimalPlaces = 3;
this.numDist.Location = new System.Drawing.Point(87, 233);
this.numDist.Maximum = new decimal(new int[] {
10000,
0,
0,
0});
this.numDist.Minimum = new decimal(new int[] {
10000,
0,
0,
-2147483648});
this.numDist.Name = "numDist";
this.numDist.Size = new System.Drawing.Size(109, 21);
this.numDist.TabIndex = 62;
this.numDist.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// btnMove
//
this.btnMove.BackColor = System.Drawing.SystemColors.GradientActiveCaption;
this.btnMove.FlatAppearance.BorderColor = System.Drawing.Color.Cyan;
this.btnMove.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Blue;
this.btnMove.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Cyan;
this.btnMove.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnMove.ForeColor = System.Drawing.Color.Black;
this.btnMove.Location = new System.Drawing.Point(87, 269);
this.btnMove.Name = "btnMove";
this.btnMove.Size = new System.Drawing.Size(114, 35);
this.btnMove.TabIndex = 58;
this.btnMove.Text = "移动";
this.btnMove.UseVisualStyleBackColor = false;
this.btnMove.Click += new System.EventHandler(this.btnMove_Click);
//
// label13
//
this.label13.AutoSize = true;
this.label13.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label13.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.label13.Location = new System.Drawing.Point(4, 233);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(76, 21);
this.label13.TabIndex = 61;
this.label13.Text = "位置mm:";
//
// cbDir
//
this.cbDir.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbDir.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.cbDir.ForeColor = System.Drawing.SystemColors.ControlText;
this.cbDir.FormattingEnabled = true;
this.cbDir.Items.AddRange(new object[] {
"相对运动",
"绝对运动"});
this.cbDir.Location = new System.Drawing.Point(339, 114);
this.cbDir.Name = "cbDir";
this.cbDir.Size = new System.Drawing.Size(107, 29);
this.cbDir.TabIndex = 60;
//
// label14
//
this.label14.AutoSize = true;
this.label14.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label14.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.label14.Location = new System.Drawing.Point(262, 115);
this.label14.Name = "label14";
this.label14.Size = new System.Drawing.Size(78, 21);
this.label14.TabIndex = 59;
this.label14.Text = "移动方式:";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label2.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.label2.Location = new System.Drawing.Point(3, 32);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(46, 21);
this.label2.TabIndex = 57;
this.label2.Text = "轴号:";
//
// cbAxisName
//
this.cbAxisName.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbAxisName.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.cbAxisName.ForeColor = System.Drawing.SystemColors.ControlText;
this.cbAxisName.FormattingEnabled = true;
this.cbAxisName.Location = new System.Drawing.Point(87, 31);
this.cbAxisName.Name = "cbAxisName";
this.cbAxisName.Size = new System.Drawing.Size(79, 29);
this.cbAxisName.TabIndex = 56;
//
// label11
//
this.label11.AutoSize = true;
this.label11.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label11.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.label11.Location = new System.Drawing.Point(202, 194);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(60, 21);
this.label11.TabIndex = 55;
this.label11.Text = "mm/s²";
//
// label10
//
this.label10.AutoSize = true;
this.label10.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label10.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.label10.Location = new System.Drawing.Point(202, 154);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(60, 21);
this.label10.TabIndex = 54;
this.label10.Text = "mm/s²";
//
// label9
//
this.label9.AutoSize = true;
this.label9.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label9.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.label9.Location = new System.Drawing.Point(202, 115);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(54, 21);
this.label9.TabIndex = 53;
this.label9.Text = "mm/s";
//
// label8
//
this.label8.AutoSize = true;
this.label8.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label8.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.label8.Location = new System.Drawing.Point(202, 74);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(54, 21);
this.label8.TabIndex = 52;
this.label8.Text = "mm/s";
//
// cbTS
//
this.cbTS.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbTS.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.cbTS.ForeColor = System.Drawing.SystemColors.ControlText;
this.cbTS.FormattingEnabled = true;
this.cbTS.Location = new System.Drawing.Point(339, 71);
this.cbTS.Name = "cbTS";
this.cbTS.Size = new System.Drawing.Size(109, 29);
this.cbTS.TabIndex = 51;
//
// numDec
//
this.numDec.DecimalPlaces = 3;
this.numDec.Increment = new decimal(new int[] {
100,
0,
0,
0});
this.numDec.Location = new System.Drawing.Point(87, 194);
this.numDec.Maximum = new decimal(new int[] {
20000,
0,
0,
0});
this.numDec.Name = "numDec";
this.numDec.Size = new System.Drawing.Size(109, 21);
this.numDec.TabIndex = 50;
this.numDec.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
this.numDec.Value = new decimal(new int[] {
200,
0,
0,
0});
//
// numAcc
//
this.numAcc.DecimalPlaces = 3;
this.numAcc.Increment = new decimal(new int[] {
100,
0,
0,
0});
this.numAcc.Location = new System.Drawing.Point(87, 154);
this.numAcc.Maximum = new decimal(new int[] {
20000,
0,
0,
0});
this.numAcc.Name = "numAcc";
this.numAcc.Size = new System.Drawing.Size(109, 21);
this.numAcc.TabIndex = 49;
this.numAcc.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
this.numAcc.Value = new decimal(new int[] {
200,
0,
0,
0});
//
// numET
//
this.numET.DecimalPlaces = 3;
this.numET.Increment = new decimal(new int[] {
100,
0,
0,
0});
this.numET.Location = new System.Drawing.Point(87, 114);
this.numET.Maximum = new decimal(new int[] {
10000,
0,
0,
0});
this.numET.Name = "numET";
this.numET.Size = new System.Drawing.Size(109, 21);
this.numET.TabIndex = 48;
this.numET.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
this.numET.Value = new decimal(new int[] {
200,
0,
0,
0});
//
// numST
//
this.numST.DecimalPlaces = 3;
this.numST.Increment = new decimal(new int[] {
100,
0,
0,
0});
this.numST.Location = new System.Drawing.Point(87, 74);
this.numST.Maximum = new decimal(new int[] {
10000,
0,
0,
0});
this.numST.Name = "numST";
this.numST.Size = new System.Drawing.Size(109, 21);
this.numST.TabIndex = 47;
this.numST.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// label7
//
this.label7.AutoSize = true;
this.label7.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label7.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.label7.Location = new System.Drawing.Point(262, 74);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(71, 21);
this.label7.TabIndex = 46;
this.label7.Text = "T/S曲线:";
//
// label6
//
this.label6.AutoSize = true;
this.label6.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label6.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.label6.Location = new System.Drawing.Point(3, 191);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(62, 21);
this.label6.TabIndex = 45;
this.label6.Text = "减速度:";
//
// label5
//
this.label5.AutoSize = true;
this.label5.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label5.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.label5.Location = new System.Drawing.Point(3, 152);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(62, 21);
this.label5.TabIndex = 44;
this.label5.Text = "加速度:";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label4.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.label4.Location = new System.Drawing.Point(3, 113);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(78, 21);
this.label4.TabIndex = 43;
this.label4.Text = "运行速度:";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label3.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.label3.Location = new System.Drawing.Point(3, 74);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(78, 21);
this.label3.TabIndex = 42;
this.label3.Text = "初始速度:";
//
// stslog
//
this.stslog.AutoSize = true;
this.stslog.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.stslog.Location = new System.Drawing.Point(18, 574);
this.stslog.Name = "stslog";
this.stslog.Size = new System.Drawing.Size(0, 12);
this.stslog.TabIndex = 42;
//
// imageBox1
//
this.imageBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.imageBox1.ColorName = System.Drawing.Color.LimeGreen;
this.imageBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.imageBox1.DrawParam = null;
this.imageBox1.ForeColor = System.Drawing.SystemColors.ControlLightLight;
this.imageBox1.Image = null;
this.imageBox1.Location = new System.Drawing.Point(0, 0);
this.imageBox1.Margin = new System.Windows.Forms.Padding(0);
this.imageBox1.Name = "imageBox1";
this.imageBox1.Size = new System.Drawing.Size(769, 599);
this.imageBox1.TabIndex = 1;
//
// timer1
//
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
//
// timer2
//
this.timer2.Interval = 200;
this.timer2.Tick += new System.EventHandler(this.timer2_Tick);
//
// button5
//
this.button5.ForeColor = System.Drawing.SystemColors.ControlText;
this.button5.Location = new System.Drawing.Point(244, 27);
this.button5.Name = "button5";
this.button5.Size = new System.Drawing.Size(89, 36);
this.button5.TabIndex = 65;
this.button5.Text = "气缸加紧";
this.button5.UseVisualStyleBackColor = true;
this.button5.Click += new System.EventHandler(this.button5_Click);
//
// button6
//
this.button6.ForeColor = System.Drawing.SystemColors.ControlText;
this.button6.Location = new System.Drawing.Point(339, 20);
this.button6.Name = "button6";
this.button6.Size = new System.Drawing.Size(89, 36);
this.button6.TabIndex = 62;
this.button6.Text = "解除相机";
this.button6.UseVisualStyleBackColor = true;
this.button6.Click += new System.EventHandler(this.button6_Click);
//
// btnJogP
//
this.btnJogP.BackColor = System.Drawing.SystemColors.GradientActiveCaption;
this.btnJogP.FlatAppearance.BorderColor = System.Drawing.Color.Cyan;
this.btnJogP.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Blue;
this.btnJogP.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Cyan;
this.btnJogP.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnJogP.ForeColor = System.Drawing.Color.Black;
this.btnJogP.Location = new System.Drawing.Point(236, 269);
this.btnJogP.Name = "btnJogP";
this.btnJogP.Size = new System.Drawing.Size(92, 35);
this.btnJogP.TabIndex = 66;
this.btnJogP.Text = "Jog+";
this.btnJogP.UseVisualStyleBackColor = false;
this.btnJogP.Click += new System.EventHandler(this.btnJogP_Click);
this.btnJogP.MouseDown += new System.Windows.Forms.MouseEventHandler(this.btnJogP_MouseDown);
this.btnJogP.MouseUp += new System.Windows.Forms.MouseEventHandler(this.btnJogP_MouseUp);
//
// btnJogN
//
this.btnJogN.BackColor = System.Drawing.SystemColors.GradientActiveCaption;
this.btnJogN.FlatAppearance.BorderColor = System.Drawing.Color.Cyan;
this.btnJogN.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Blue;
this.btnJogN.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Cyan;
this.btnJogN.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnJogN.ForeColor = System.Drawing.Color.Black;
this.btnJogN.Location = new System.Drawing.Point(352, 269);
this.btnJogN.Name = "btnJogN";
this.btnJogN.Size = new System.Drawing.Size(92, 35);
this.btnJogN.TabIndex = 67;
this.btnJogN.Text = "Jog-";
this.btnJogN.UseVisualStyleBackColor = false;
this.btnJogN.MouseDown += new System.Windows.Forms.MouseEventHandler(this.btnJogP_MouseDown);
this.btnJogN.MouseUp += new System.Windows.Forms.MouseEventHandler(this.btnJogP_MouseUp);
//
// DebugTestFrm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1247, 645);
this.Controls.Add(this.splitContainer1);
this.Controls.Add(this.uiTitel1);
this.Name = "DebugTestFrm";
this.Text = "DebugTestFrm";
this.Load += new System.EventHandler(this.DebugTestFrm_Load);
this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel1.PerformLayout();
this.splitContainer1.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false);
this.groupBox3.ResumeLayout(false);
this.groupBox3.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown3)).EndInit();
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.numGain)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numExposure)).EndInit();
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numDist)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numDec)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numAcc)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numET)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numST)).EndInit();
this.ResumeLayout(false);
}
#endregion
private MaiMuControl.UIKits.MaiMuMenu.UITitel uiTitel1;
private System.Windows.Forms.SplitContainer splitContainer1;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.NumericUpDown numGain;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.NumericUpDown numExposure;
private System.Windows.Forms.Label label12;
private System.Windows.Forms.Label stslog;
private System.Windows.Forms.Button btnGrab;
private System.Windows.Forms.Button btnTrg;
private ImageToolKits.ImageBox imageBox1;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.NumericUpDown numDist;
private System.Windows.Forms.Button btnMove;
private System.Windows.Forms.Label label13;
private System.Windows.Forms.ComboBox cbDir;
private System.Windows.Forms.Label label14;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.ComboBox cbAxisName;
private System.Windows.Forms.Label label11;
private System.Windows.Forms.Label label10;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.ComboBox cbTS;
private System.Windows.Forms.NumericUpDown numDec;
private System.Windows.Forms.NumericUpDown numAcc;
private System.Windows.Forms.NumericUpDown numET;
private System.Windows.Forms.NumericUpDown numST;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.NumericUpDown numericUpDown1;
private System.Windows.Forms.Label label15;
private System.Windows.Forms.GroupBox groupBox3;
private System.Windows.Forms.Label label17;
private System.Windows.Forms.ComboBox cbCH;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.Button button4;
private System.Windows.Forms.Label label16;
private System.Windows.Forms.NumericUpDown numericUpDown3;
private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.Timer timer1;
private System.Windows.Forms.Timer timer2;
private System.Windows.Forms.Button button5;
private System.Windows.Forms.Button button6;
private System.Windows.Forms.Button btnJogN;
private System.Windows.Forms.Button btnJogP;
}
}

View File

@ -0,0 +1,240 @@
using HalconDotNet;
using ImageToolKits;
using MaiMuAOI.SysCtrl;
using MaiMuControl.Device;
using MaiMuControl.Device.AxisDev;
using MaiMuControl.Device.CamDev;
using OpenCvSharp;
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 ToolKits.EnumTool;
namespace MaiMuAOI.SysUI.DefectPicShow
{
public partial class DebugTestFrm : Form
{
public DebugTestFrm()
{
InitializeComponent();
UIStyle.SetUIStyle(this);
this.uiTitel1.FatherForm = this;
}
private void DebugTestFrm_Load(object sender, EventArgs e)
{
this.Left = 600;
//显示tS曲线
cbTS.Items.Clear();
Type VelType = typeof(VelocityCurveType);
foreach (object s in Enum.GetValues(VelType))
{
string st = EnumExtension.GetEnumDescription((VelocityCurveType)s);
cbTS.Items.Add(st);
}
cbTS.Text = cbTS.Items[0].ToString();
cbTS.SelectedIndex = 0;
cbDir.Items.Clear();
cbDir.Items.Add("相对运动");
cbDir.Items.Add("绝对运动");
cbDir.Text = cbDir.Items[0].ToString();
cbDir.SelectedIndex = 0;
cbAxisName.Items.Clear();
cbAxisName.Items.Add("X轴");
cbAxisName.Items.Add("Y轴");
cbAxisName.Items.Add("Z轴");
cbAxisName.Text = cbAxisName.Items[0].ToString();
cbAxisName.SelectedIndex = 0;
cbCH.Items.Clear();
Type lightenum = typeof(LightChannelEnum);
foreach (object s in Enum.GetValues(lightenum))
{
string st = EnumExtension.GetEnumDescription((LightChannelEnum)s);
cbCH.Items.Add(st);
}
cbCH.Text = cbCH.Items[0].ToString();
cbCH.SelectedIndex = 0;
timer2.Enabled = true;
}
private void btnTrg_Click(object sender, EventArgs e)
{
Acquisition acq = SysMgr.Instance.CamDev.Snap(1, 5000);
if (acq.GrabStatus != "GrabPass")
{
;
}
//ShowImage(acq.Image.CopyObj(1, -1));
ShowImage(acq.Image);
}
private void ShowImage(HObject image)
{
lock (this)
{
Mat img = CamDev.HImageToMat(image);
//imageBox1.ColorName = "red";
imageBox1.SetInteractive(false);
if (imageBox1.Image == null)
imageBox1.RefreshWindow(img, ImageBox.ImageModeEnum.Zoom);//可以不显示区域
else
imageBox1.RefreshWindow(img, ImageBox.ImageModeEnum.Part);//可以不显示区域
imageBox1.SetInteractive(true);
//imageBox1.ColorName = "green";
}
}
private void btnGrab_Click(object sender, EventArgs e)
{
if (this.btnGrab.Text == "连续拍照")
{
this.btnTrg.Enabled = false;
this.btnGrab.Text = "停止拍照";
timer1.Enabled = true;
}
else
{
this.btnTrg.Enabled = true;
this.btnGrab.Text = "连续拍照";
timer1.Enabled = false;
}
}
private void timer1_Tick(object sender, EventArgs e)
{
Acquisition acq = SysMgr.Instance.CamDev.Snap(1, 100);
if (acq.GrabStatus != "GrabPass")
{
return;
//MessageBox.Show( "获取图片失败!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
//ShowImage(acq.Image.CopyObj(1, -1));
ShowImage(acq.Image);
}
private void button2_Click(object sender, EventArgs e)
{
if (!SysMgr.Instance.CamDev.SetExposure((double)numExposure.Value))
{
stslog.Text = "曝光设置失败!";
return;
}
if (!SysMgr.Instance.CamDev.SetGain((double)numGain.Value))
{
stslog.Text = "增益设置失败!";
return;
}
stslog.Text = "曝光-增益-帧率设置成功";
}
private void btnMove_Click(object sender, EventArgs e)
{
if (SysMgr.Instance.AxisDev != null)
{
VelocityCurveParams _VelParams = new VelocityCurveParams();
int axisNo = cbAxisName.SelectedIndex + 1;
_VelParams.Acc = (double)numAcc.Value;
_VelParams.Dec = (double)numDec.Value;
_VelParams.StartVel = (double)numST.Value;
_VelParams.RunVel = (double)numET.Value;
_VelParams.JerkT_S = cbTS.SelectedIndex;
_VelParams.MM2PulseNum = SysMgr.Instance.GetMMtoPlus((AxisName)axisNo);
if (cbDir.Text == "绝对运动")
{
stslog.Text = "绝对运动:" + numDist.Value.ToString();
SysMgr.Instance.AxisDev.MoveAbsValue(axisNo, _VelParams, (double)numDist.Value);
}
else if (cbDir.Text == "相对运动")
{
stslog.Text = "相对运动:" + numDist.Value.ToString();
SysMgr.Instance.AxisDev.MoveRelValue(axisNo, _VelParams, (double)numDist.Value);
}
}
}
private void button4_Click(object sender, EventArgs e)
{
int ch = cbCH.SelectedIndex + 1;
SysMgr.Instance.LightDev.SetLightDigitalValue(ch, (int)numericUpDown3.Value);
}
private void button1_Click(object sender, EventArgs e)
{
int ch = cbCH.SelectedIndex + 1;
SysMgr.Instance.LightDev.OpenLight(ch);
}
private void button3_Click(object sender, EventArgs e)
{
int ch = cbCH.SelectedIndex + 1;
SysMgr.Instance.LightDev.CloseLight(ch);
}
private void timer2_Tick(object sender, EventArgs e)
{
int axisNo = cbAxisName.SelectedIndex + 1;
try
{
numericUpDown1.Value = (decimal)SysMgr.Instance.AxisDev.GetFeedbackPos(axisNo) / SysMgr.Instance.GetMMtoPlus((AxisName)axisNo);
}
catch {
numericUpDown1.Value = 0;
}
}
private void button5_Click(object sender, EventArgs e)
{
if(button5.Text == "气缸加紧")
{
button5.Text = "气缸松开";
SysMgr.Instance.RunQG(true);
}
else
{
button5.Text = "气缸加紧";
SysMgr.Instance.RunQG(false);
}
}
private void button6_Click(object sender, EventArgs e)
{
SysMgr.Instance.CamDev.CloseCamera();
button2.Enabled = false;
btnTrg.Enabled = false;
btnGrab.Enabled = false;
}
private void btnJogP_Click(object sender, EventArgs e)
{
}
private void btnJogP_MouseDown(object sender, MouseEventArgs e)
{
Button btn = sender as Button;
int axisNo = cbAxisName.SelectedIndex + 1;
double val = 50;
VelocityCurveParams velocityCurveParams = new VelocityCurveParams(100,100,0,100,1,SysMgr.Instance.GetMMtoPlus((AxisName)axisNo));
if (btn.Name == "btnJogP")
val = 50;
else
val = -50;
SysMgr.Instance.AxisDev.MoveRelValue(axisNo, velocityCurveParams, val);
}
private void btnJogP_MouseUp(object sender, MouseEventArgs e)
{
int axisNo = cbAxisName.SelectedIndex + 1;
SysMgr.Instance.AxisDev.DecelStop(axisNo);
}
}
}

View File

@ -0,0 +1,126 @@
<?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>
<metadata name="timer2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>109, 17</value>
</metadata>
</root>

View File

@ -237,6 +237,7 @@
this.tbtnGetPos.Size = new System.Drawing.Size(60, 53); this.tbtnGetPos.Size = new System.Drawing.Size(60, 53);
this.tbtnGetPos.Text = "点位抓取"; this.tbtnGetPos.Text = "点位抓取";
this.tbtnGetPos.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText; this.tbtnGetPos.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
this.tbtnGetPos.Visible = false;
this.tbtnGetPos.Click += new System.EventHandler(this.tbtnGetPos_Click); this.tbtnGetPos.Click += new System.EventHandler(this.tbtnGetPos_Click);
// //
// toolStripSeparator5 // toolStripSeparator5

View File

@ -96,6 +96,19 @@ namespace MaiMuAOI.SysUI.ProductAndStep
InitDataView(); InitDataView();
this.Cursor = Cursors.Default; this.Cursor = Cursors.Default;
} }
ArrayList GetArrayList<T>()
{
ArrayList list = new ArrayList();
Type type = typeof(T);
//list.Add(new DictionaryEntry("start", "启动按钮"));
foreach (int value in Enum.GetValues(type))
{
string strName = Enum.GetName(type, value);//获取名称
list.Add(new DictionaryEntry(value, strName));
}
return list;
}
private void InitDataView() private void InitDataView()
{ {
@ -110,13 +123,33 @@ namespace MaiMuAOI.SysUI.ProductAndStep
this.cmbClasses.SelectedValue = model.ClassesId; this.cmbClasses.SelectedValue = model.ClassesId;
//缺陷项 //缺陷项
ArrayList lstDefect = new ArrayList(); //ArrayList lstDefect = new ArrayList();
List<string> DefectNames = new List<string>(); //List<string> DefectNames = new List<string>();
foreach (var item in Enum.GetValues(typeof(DefectCodeEnum))) //foreach (var item in Enum.GetValues(typeof(DefectCodeEnum)))
//{
// DefectCountOfSizeControl userCon = new DefectCountOfSizeControl();
// userCon.Code = item.ToString();
// userCon.Title = EnumExtension.GetEnumDescription((DefectCodeEnum)item);
// if (model != null && model.QualifiedCriterionList != null)
// {
// var qalifiedItem = model.QualifiedCriterionList.FirstOrDefault(m => m.DefectCode == userCon.Code);
// if (qalifiedItem != null)
// {
// userCon.Checked = true;
// userCon.SizeValue = (decimal)qalifiedItem.Size;
// userCon.MaxDefectCount = qalifiedItem.MaxDefectCount;
// }
// }
// this.flpQualifiedPannel.Controls.Add(userCon);
//}
var lstDefect = GetArrayList<DefectCodeEnum>();
foreach (DictionaryEntry item in lstDefect)
{ {
DefectCountOfSizeControl userCon = new DefectCountOfSizeControl(); DefectCountOfSizeControl userCon = new DefectCountOfSizeControl();
userCon.Code = item.ToString(); userCon.Code = item.Value.ToString();
userCon.Title = EnumExtension.GetEnumDescription((DefectCodeEnum)item); userCon.Title = ((DefectNameEnum)(int)item.Key).ToString();
if (model != null && model.QualifiedCriterionList != null) if (model != null && model.QualifiedCriterionList != null)
{ {
var qalifiedItem = model.QualifiedCriterionList.FirstOrDefault(m => m.DefectCode == userCon.Code); var qalifiedItem = model.QualifiedCriterionList.FirstOrDefault(m => m.DefectCode == userCon.Code);
@ -131,6 +164,7 @@ namespace MaiMuAOI.SysUI.ProductAndStep
this.flpQualifiedPannel.Controls.Add(userCon); this.flpQualifiedPannel.Controls.Add(userCon);
} }
//模型文件 //模型文件
string strDefectModelFile = ConfMgr.Instance.SysConfigParams.AIModelPath; string strDefectModelFile = ConfMgr.Instance.SysConfigParams.AIModelPath;
string[] onnxFiles = Directory.GetFiles(strDefectModelFile, "*.onnx"); string[] onnxFiles = Directory.GetFiles(strDefectModelFile, "*.onnx");

View File

@ -278,7 +278,7 @@
dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Window; dataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Window;
dataGridViewCellStyle3.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); dataGridViewCellStyle3.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
dataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.ControlLightLight; dataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.ActiveCaptionText;
dataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight; dataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.ControlText; dataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.ControlText;
dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.False; dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.False;

View File

@ -178,6 +178,8 @@ namespace MaiMuAOI.SysUI.ProductAndStep
{ {
try try
{ {
this.Top = 440;
this.Left = 40;
InitData(); InitData();
} }
catch (Exception ex) catch (Exception ex)

View File

@ -15,7 +15,7 @@ namespace ProductionControl.UI
//[TypeConverter(typeof(PropertySorter))] //此属性使类无法序列化和反序列化 //[TypeConverter(typeof(PropertySorter))] //此属性使类无法序列化和反序列化
public class AxisDevProp public class AxisDevProp
{ {
[PropertyOrder(1), Browsable(true), Category("1 设备"), DisplayName("1.0 轴索引"), Description("Axis0-X0轴; Axis1-X1轴; Axis2-Y轴; Axis3-Z轴")] [PropertyOrder(1), Browsable(true), Category("1 设备"), DisplayName("1.0 轴索引"), Description("Axis0-X轴; Axis1-Y轴; Axis2-Z轴; Axis3-空")]
public AxisName AxisIndex { get; set; } public AxisName AxisIndex { get; set; }
[PropertyOrder(1), Browsable(true), Category("1 设备"), DisplayName("1.1 保存此轴设置"), Description("保存此轴设置供流程使用(True-是False-否)")]//JsonIgnore 不好加,切换时不好判断 [PropertyOrder(1), Browsable(true), Category("1 设备"), DisplayName("1.1 保存此轴设置"), Description("保存此轴设置供流程使用(True-是False-否)")]//JsonIgnore 不好加,切换时不好判断
public bool Enable { get; set; }//后加,有可能为空 public bool Enable { get; set; }//后加,有可能为空

View File

@ -33,6 +33,8 @@
this.tsbtnOpenDev = new System.Windows.Forms.ToolStripButton(); this.tsbtnOpenDev = new System.Windows.Forms.ToolStripButton();
this.tbtnSave = new System.Windows.Forms.ToolStripButton(); this.tbtnSave = new System.Windows.Forms.ToolStripButton();
this.tssSave = new System.Windows.Forms.ToolStripSeparator(); this.tssSave = new System.Windows.Forms.ToolStripSeparator();
this.tbtnRun = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.tbtnExport = new System.Windows.Forms.ToolStripButton(); this.tbtnExport = new System.Windows.Forms.ToolStripButton();
this.tbtnImport = new System.Windows.Forms.ToolStripButton(); this.tbtnImport = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
@ -40,8 +42,6 @@
this.propertyGrid1 = new System.Windows.Forms.PropertyGrid(); this.propertyGrid1 = new System.Windows.Forms.PropertyGrid();
this.statusStrip1 = new System.Windows.Forms.StatusStrip(); this.statusStrip1 = new System.Windows.Forms.StatusStrip();
this.txtLog = new System.Windows.Forms.ToolStripStatusLabel(); this.txtLog = new System.Windows.Forms.ToolStripStatusLabel();
this.tbtnRun = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.toolStrip1.SuspendLayout(); this.toolStrip1.SuspendLayout();
this.statusStrip1.SuspendLayout(); this.statusStrip1.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
@ -89,6 +89,20 @@
this.tssSave.Name = "tssSave"; this.tssSave.Name = "tssSave";
this.tssSave.Size = new System.Drawing.Size(6, 31); this.tssSave.Size = new System.Drawing.Size(6, 31);
// //
// tbtnRun
//
this.tbtnRun.Image = ((System.Drawing.Image)(resources.GetObject("tbtnRun.Image")));
this.tbtnRun.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tbtnRun.Name = "tbtnRun";
this.tbtnRun.Size = new System.Drawing.Size(60, 28);
this.tbtnRun.Text = "执行";
this.tbtnRun.Click += new System.EventHandler(this.tbtnRun_Click);
//
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator1.Size = new System.Drawing.Size(6, 31);
//
// tbtnExport // tbtnExport
// //
this.tbtnExport.Image = ((System.Drawing.Image)(resources.GetObject("tbtnExport.Image"))); this.tbtnExport.Image = ((System.Drawing.Image)(resources.GetObject("tbtnExport.Image")));
@ -150,20 +164,6 @@
this.txtLog.Name = "txtLog"; this.txtLog.Name = "txtLog";
this.txtLog.Size = new System.Drawing.Size(0, 17); this.txtLog.Size = new System.Drawing.Size(0, 17);
// //
// tbtnRun
//
this.tbtnRun.Image = ((System.Drawing.Image)(resources.GetObject("tbtnRun.Image")));
this.tbtnRun.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tbtnRun.Name = "tbtnRun";
this.tbtnRun.Size = new System.Drawing.Size(60, 28);
this.tbtnRun.Text = "执行";
this.tbtnRun.Click += new System.EventHandler(this.tbtnRun_Click);
//
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator1.Size = new System.Drawing.Size(6, 31);
//
// UIAxisDev // UIAxisDev
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);

View File

@ -1,4 +1,5 @@
using MaiMuAOI.SysCtrl; using MaiMuAOI.SysCtrl;
using MaiMuAOI.SysUI.DefectPicShow;
using MaiMuAOI.SysUI.SysSet; using MaiMuAOI.SysUI.SysSet;
using MaiMuControl.Device.AxisDev; using MaiMuControl.Device.AxisDev;
using MaiMuControl.Device.AxisDev.Advantech; using MaiMuControl.Device.AxisDev.Advantech;
@ -118,10 +119,10 @@ namespace ProductionControl.UI
//tbtnLeft.Enabled = tbtnRight.Enabled = (prop.AxState == AxisState.STA_AX_EXT_JOG); //tbtnLeft.Enabled = tbtnRight.Enabled = (prop.AxState == AxisState.STA_AX_EXT_JOG);
}, "异步操作完成结果"); }, "异步操作完成结果");
} }
private int GetMM2Pulse() private int GetMM2Pulse(int axisIndex)
{ {
int MM2PulseNum = 1; int MM2PulseNum = 1;
switch (prop.AxisIndex) switch ((AxisName)axisIndex)
{ {
case AxisName.Axis0: case AxisName.Axis0:
MM2PulseNum = SysMgr.Instance.HomeParamsX.MM2PulseNum; MM2PulseNum = SysMgr.Instance.HomeParamsX.MM2PulseNum;
@ -146,10 +147,13 @@ namespace ProductionControl.UI
AdvantechMotion tempDev = _dev as AdvantechMotion; AdvantechMotion tempDev = _dev as AdvantechMotion;
var values = tempDev.GetAxisVelocity(axisIndex); var values = tempDev.GetAxisVelocity(axisIndex);
prop.VelLow = values[0]/ GetMM2Pulse(); prop.VelLow = values[0] / GetMM2Pulse(axisIndex);
prop.VelHigh = values[1] / GetMM2Pulse(); prop.VelHigh = values[1] / GetMM2Pulse(axisIndex);
prop.Acc = values[2] / GetMM2Pulse(); prop.Acc = values[2] / GetMM2Pulse(axisIndex);
prop.Dec = values[3] / GetMM2Pulse(); prop.Dec = values[3] / GetMM2Pulse(axisIndex);
prop.ActualPos = SysMgr.Instance.AxisDev.GetFeedbackPos(axisIndex) / GetMM2Pulse(axisIndex);
prop.CmdPos = SysMgr.Instance.AxisDev.GetCommandPos(axisIndex) / GetMM2Pulse(axisIndex);
} }
private void closeDev() private void closeDev()
{ {
@ -172,6 +176,8 @@ namespace ProductionControl.UI
base.OnHandleDestroyed(e); base.OnHandleDestroyed(e);
// 在此添加需要手动释放资源的代码 // 在此添加需要手动释放资源的代码
this.closeDev(); this.closeDev();
if(frm != null)
frm.Close();
} }
@ -269,19 +275,20 @@ namespace ProductionControl.UI
{ {
this.init(); this.init();
} }
DebugTestFrm frm;
private void tsbDebug_Click(object sender, EventArgs e) private void tsbDebug_Click(object sender, EventArgs e)
{ {
SysMgr.Instance.StatusMgr.GotoDebug(); if ((frm == null)||(frm.IsDisposed))
SysDebugFrm frm = new SysDebugFrm(); frm = new DebugTestFrm();
frm.ShowDialog(); frm.TopMost = true;
frm.Show();
} }
private void tbtnRun_Click(object sender, EventArgs e) private void tbtnRun_Click(object sender, EventArgs e)
{ {
try try
{ {
VelocityCurveParams vel = new VelocityCurveParams(prop.Acc, prop.Dec, prop.VelLow, prop.VelHigh,1, GetMM2Pulse()); VelocityCurveParams vel = new VelocityCurveParams(prop.Acc, prop.Dec, prop.VelLow, prop.VelHigh,1, GetMM2Pulse((int)prop.AxisIndex));
if(prop.MoveMode == AxMoveMode.) if(prop.MoveMode == AxMoveMode.)
SysMgr.Instance.AxisDev.MoveAbsValue((int)prop.AxisIndex, vel, prop.Value ); SysMgr.Instance.AxisDev.MoveAbsValue((int)prop.AxisIndex, vel, prop.Value );
else else
@ -293,5 +300,11 @@ namespace ProductionControl.UI
MessageBox.Show(ex.Message, "失败", MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(ex.Message, "失败", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
} }
private void timer1_Tick(object sender, EventArgs e)
{
prop.ActualPos = SysMgr.Instance.AxisDev.GetFeedbackPos((int)prop.AxisIndex) / GetMM2Pulse((int)prop.AxisIndex);
prop.CmdPos = SysMgr.Instance.AxisDev.GetCommandPos((int)prop.AxisIndex) / GetMM2Pulse((int)prop.AxisIndex);
}
} }
} }

View File

@ -158,16 +158,16 @@
<data name="tbtnSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="tbtnSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIfSURBVFhH7ZdPS9xAGMZfKUiFiuAXKFXqRfBmi8U/F1Hr YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIgSURBVFhH7ZdPaxNBGMbfIBQFpeAXEBV7KfTWFsU/FzER
wdseRGxqZiaZN60H8Rt4K+2l0g/QVrEFwS/gTfRoFTz02Jt4rhQrpdV3htlspju7m8kGQfCBH9mdmffJ es2hlHabnZndeVc9BL+BN2kvLX4Aa4sWCn4Bb9Ieq4Ueeuyt9NwiUcQ/7wyTzY6ZJDubRQj0gR+bzMz7
s5M32V24k0MdECXjxExhuJwGngwaPw9VKp3A4l0QeFUKHNeMc04JHK4zaZ9J455DXI6lhQx/0Cf4DCLe 7JPZdzcJXMihCkTJQ6JWGC6rwJNJ4+ehen0MWPwJBP4pBY6vjHNOCZzuMhmex8Y9h7h8kBYyPKZP8A5E
8Ed+ghC/a5+XeApR1GPO0EJRMpoG4PjRjBYTl29SLyG3zWgLZQMIuWVGi0nI9ZqX9gvMTBNlAzD8Ykbz vOmP3IAQj7TPMp5AFI2bMwxQlNxPA3B8a0aLicvXqZeQO2Z0gLIBhHxvRotJyPWOl/YLzEwfZQMw/GBG
i+ES7VykX3N8bwWYx18QJg/1XEO1E2BlpYvq/ulaJY7vUq8qYXxAMx163ql2AoRhN9X9JC70ey7fpl4W 84thg3Yu0q85rlkB5vEbhMkNPddTwwRoNq9Q3W9dq8RxNfVqE8Z7NFPR804NEyAMr1HdGdHS77lcSb0s
clXPO2X1AG6a0XxKkgcwO/dX1ypZTWixo+edsgM0WdhA+rY1zSvwQ8arRtOdtQOo7XxmZvzEcIhqzzJe 5Es975TVA7hlRvMpSa5Cbe6XrlWymtDio553yg7QZ2EP6dvWNK/ANxmvDn131g6gtvOemfETwymqPc14
NTwCKFRTnRDf6AFz1Bpax/EYguCPqa/HM0D53M4AQXBeiOpdkcUrgDIR8jkw1luIOH5MPvuWp98OUGO1 dfAIoFBNdUh8oQfM18HQOo4HEAQ/TX03ngHKZzQDBMF5Idp3RRavAMpEyKfA2PVCxPEd8tm1PP12gBpr
K4GJ5el5CS6pq5dBJE+9YfET8ptJv5ar3M4mLBPPABd0CV4AfzWgG0od86LWR9EIMHloed58E0q0PL13 WAlMLE/PS/CDuvoFiGTWGxbPkF8t/VpuM5pNWCaeAVp0CZaAP5vQDaWOeVHro+guMLlvef7/JpRoeXrv
QMhFEKIflrBPH/9Hjbvgrx9RPf3I1Y/onAGyP0pt1HeCH66HkEZ+NWdzSN06zqIyaRYgCO7Tor36opJY gJCLIMRtaOAtffwXNe6CP79J9fQjVz+icwbI/ii1Ud8JfrgeQhq5bc7mkLp1nEVl0i9AEFymRZ+7i0pi
WPhNuzxtztZAlco9WjxB/eD+21UUgVO6L+5kCeAaOZxlqQnAQFgAAAAASUVORK5CYII= YeE77XLVnK2H6vVLtPgR9YP7b1dRBD7RfXEhSwB/AekDZZ13nHnPAAAAAElFTkSuQmCC
</value> </value>
</data> </data>
<data name="tbtnRun.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="tbtnRun.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@ -188,8 +188,8 @@
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAMlSURBVFhH5VZJaBRREC1cQD15cD8oCnoQRBFEEHG5iCCK YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAMlSURBVFhH5VZJaBRREC1cQD15cD8oCnoQRBFEEHG5iCCK
Ry9uGBDBqLh7kEbNzK/OGAIiSgwaMKbn/z8JgdxEJQqexB1URHE7KCi4gRuKWtX/d8/0dHcW08nFB4/p Ry9uGBDBqLh7kFbMzK/OGAIiSgwaMKbn/z8JgdxEJQqexB1URHE7KCi4gRuKWtX/d8/0dHcW08nFB4/p
rnpVv/pP/QUyh3KXgkQJGg9BtzPCWocIUiyBo85vGvyP5Q1od2da7xBA5k9VDG5YFB9Aumutog/Q9ZNA rnpVv/pP/QUyh3KXgkQJGg9BtzPCWocIUiyBI85vGvyP5Q1od2da7xBA5k9VDG5YFB9Aumutog/Q9ZNA
iZ3+NEq8AlpcpUSt0C5mWEU6FJ6IFRBQijqr6gFa1JD4fSyYqcQ5q4qjozCB/HOoAJ0YG1DhRV+bCIU7 iZ3+NEq8AlpcpUSt0C5mWEU6FJ6IFRBQijqr6gFa1JD4fSyYqcQ5q4qjozCB/HOoAJ0YG1DhRV+bCIU7
EoMCKrHPKg2kmEu2Roq7DZ7zOTEmma/oL1lus1honErN86tK+NF0s9gDKr/SKqnQwnTyeVXa/tFvVFFr EoMCKrHPKg2kmEu2Roq7DZ7zOTEmma/oL1lus1honErN86tK+NF0s9gDKr/SKqnQwnTyeVXa/tFvVFFr
MxKUcKtEXdBRN9l6y+Bm0vipSvvvlKLBJOblUnY8Bq2HG0cFFG6p0GRHfzBPPAsNCnfbIcuQYnUkKEtC MxKUcKtEXdBRN9l6y+Bm0vipSvvvlKLBJOblUnY8Bq2HG0cFFG6p0GRHfzBPPAsNCnfbIcuQYnUkKEtC
@ -199,29 +199,29 @@
OO/bewOfKRfq3lDMTSjhImuNgnMr0UF/WU16ASWxLLTxkdwfdDlj7FMyuGGD3OkzQMcrv7fhF/ByE31b OO/bewOfKRfq3lDMTSjhImuNgnMr0UF/WU16ASWxLLTxkdwfdDlj7FMyuGGD3OkzQMcrv7fhF/ByE31b
VvDwgZ+72fkaLyDYB7izT+IPmtLD/nuWKObuhx+XOgMMhc2Zfz1D4qNoAXxJCAsQq6wMoO34OPuUHXj5 VvDwgZ+72fkaLyDYB7izT+IPmtLD/nuWKObuhx+XOgMMhc2Zfz1D4qNoAXxJCAsQq6wMoO34OPuUHXj5
anxeLsBxhoHOPw0L0LjLSgcHfM9odb77Y/E+40Nhd0UBd41xkMBXu2AsKV5YY2zPP5t+eRwAlLuecn8L anxeLsBxhoHOPw0L0LjLSgcHfM9odb77Y/E+40Nhd0UBd41xkMBXu2AsKV5YY2zPP5t+eRwAlLuecn8L
xwkvurzttuLb0GFIdwDRSQ1zhH5r6X0zzdRGet7UJ7JWiW0Ud5B4mp7v2byGfAct5meZAhh8U+VlVyka xwkvurzttuLb0GFIdwDRSQ1zlH5r6X0zzdRGet7UJ7JWiW0Ud5B4mp7v2byGfAct5meZAhh8U+VlVyka
VNLBFUMpv5Cc1+PiDMmbkHLX2BFTwIcK3w01IjVKgW5J9elEw1Iv1LifPnBF4in6HwPgLxMRdglDY4KZ VNLBFUMpv5Cc1+PiDMmbkHLX2BFTwIcK3w01IjVKgW5J9elEw1Iv1LifPnBF4in6HwPgL6yEdf+aF/SC
AAAAAElFTkSuQmCC AAAAAElFTkSuQmCC
</value> </value>
</data> </data>
<data name="tbtnImport.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="tbtnImport.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAMySURBVFhH7VfPaxNREE5FVFQUq2m7u9mkra0pgYg/QMFL YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAMxSURBVFhH7VfNaxNREE9FVFQUq2m7u9mkn6YEIn6Agpd6
vbR4U6QI/gMeBFGotbtvd7uYNmrFiyD0JHoQUajgVQ/ai4heLIJURL1IlUKtP9qSpsnO873NvDZpN9m0 afFmD0XwH/AgiEKt3bzd7WLaqBUvgtCT6EFEoYJXPWgvInqxCAUR9SJVCrV+tCVNk53ne5t5bdJudtMm
CQWhHwzZfG9m3rfzZmeTQD4Ugx6XiPNC6c18bdAyn4qZpGU+KyTzQdFhP4ZWDkmDTpmkfyiE0nJNJtCD FIT+YMjm92bm/Xbe7GwSKISi01MSsV8q/dmvDVr2UymTtOxnhWQnlAQcwtDKIWnQJZPMD4VQWq7JBPow
4ZVBNiEq9aS/Y+L7CnH6Fd0ZkImTLGZsPSH10jCmqAxsw+e5O3KSSK0tlNNjDhcQMiGOlCeaE9AaMZyb vDLIBkSlvsx3TPxAIfagkrCHZGKnShlbT0r9NIwpKgPb8EX+juwUUhsLpXvC5gJCBsSRckVzEtoiun2r
LTbsQGoZ9iVpW5MFHcynM56AuG3TDbhUHFh6VgF6AClPqIYz7PqazlOkXMRsqI2YTr+qZT6GjFyuEDd2 1YI9SK3CwRRtbzKhk/l0xZMQtyy6BZdKA0vPKkAPI+UKVbdHHV/DfoaUg5gFtRHDHlS17MeQns8V4sau
zRuWrQ3GbpQ4LiFAInAIKU+wo3omfBsNuMC5vTY9JRkL/bOwef53burlmemIBZfcREshnPwEqFb29ULS ecOyteHYTY/jEgIkAkeRcgU7qufCt1GHi5xrsWi3pC/1z9Lmhd+5qVfmZiMmXHYSrYRw8hOgmrk3S0mv
K7N/woYzJO7Yz1h13U9WjeETt2EzpsxBOPkJCBnZd8J3pcaFisqEDToSsOlGTFu+gAaSHRW+lRrrp7vt zv8J6/aIuGM/Y9V1Plk1Rk/fge2YMg/h5CcgpOfeC9+1GhcqKhPW6VjAolsxbfkCGkhuXPhWaqyf7nUI
QoQgfY+ANVl+knKszkhNqST7NqRlX0l69n3ImJ4Rayo7DjexIEoJ4Oe2kknJkr9ssqErfp3uwhQumpJQ EYL0PQLWZIVJyrE6PT2jkty7kJZ7LSVyH0L67JxYU9lxOIkF4SWAn9taJiVL/qrJgp74DboPUzhoSkF9
39wHZ8Om8yhs0XMuKYJKCZBsulXR0xP5m3hZrTE51ygSlwsRXKmA4PmJdLQfjmFI+RAJfI4gGDYXz8/T 8wCcCxv247BJzzukCPISIFl0p5LITBVu4ma1+vRCo0hcLkRwpQKCF6Yy0UE4iSHlQyTwOYJg2Fg+P1dj
2ERlE9D7WQ/QGrxYDpGglID2W3TPzou/Un7PPV+PDcARDMuBjWOZNSIbZHeQKYQILiUgQGkN6+ZRMVBK E5VNQPdnPUBr8GI1RAIvAR236YG9l36l/Z57vh4bguMYlgcbxzJrRDbI7iJTDBHsJSBAaQ3r5nExULyM
GX9a2u/RLRgZCNp0O+f5U4BUIURgSQEM0QREVct5IhuZL5IxPi/ivKzRcgYwzBXA+4NXAalCiCA/AQL8 Py0d9+kOjAwELbqb8/wpQKoYItBTAEM0CVHVtJ/KevaLpE8uijg3azTtIQxzBPD+4FVAqhgiyE+AAH/D
DRezaZi/9SImdLPx+oBXRzVm/y5OO+cxuldfQDG0XYPdrRYc3WvDmZYkBJFeOwHFsC5gXcD/I0DuhYNI xSwa5m+9iAG9bLw+5NVR9fm/y9POfoLu1RdQCu3XYX+bCSdaLDjbmoIg0hsnoBQ2BWwK+H8EyP1wBKmq
VRX13bCtlkzOlRAwBlyA38/y1YINrU0SGZ+XtOwbpArB5vuIWwUdCFJVhaRDRy6/8xCpQkgaPRzUUj/R or4XdtWS6QUPARPABfj9LF8v2NDaJpHJRUnLvUWqGGy+jzlVSABBqqqQEtCZz28/QqoYkkaPBbX0T3Qa
aUjWwWTWV7ERsNgbcFAi9DfPzf9/4pbLwRrwZB1JTbkiqmy8/EzIVdyqONgRdNWR+W9eSVZr7t3rVMMt kRNgMBuo2AiY7A04LBH6m+fm/z9xy9VgDXimjqRnHBFVNl5+JuQablUa7Ah66sjiN7ck6zXn7hNUwy1W
liAQ+AcMVzP9OEgYoAAAAABJRU5ErkJggg== IBD4B6voM/NKBjT9AAAAAElFTkSuQmCC
</value> </value>
</data> </data>
<data name="tsbDebug.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="tsbDebug.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">

View File

@ -1,5 +1,6 @@
using MaiMuAOI.ImageProcessing; using MaiMuAOI.ImageProcessing;
using MaiMuAOI.SysCtrl; using MaiMuAOI.SysCtrl;
using MaiMuAOI.SysUI.DefectPicShow;
using MaiMuAOI.SysUI.SysSet; using MaiMuAOI.SysUI.SysSet;
using MaiMuControl.Utils; using MaiMuControl.Utils;
using Newtonsoft.Json; using Newtonsoft.Json;
@ -107,17 +108,17 @@ namespace ProductionControl.UI
private void closeDev() private void closeDev()
{ {
try //try
{ //{
if (_dev == null) // if (_dev == null)
return; // return;
_dev.stop(); // _dev.stop();
} //}
catch (Exception ex) //catch (Exception ex)
{ //{
refreshUIState(); // refreshUIState();
MessageBox.Show(ex.Message, "失败", MessageBoxButtons.OK, MessageBoxIcon.Error); // MessageBox.Show(ex.Message, "失败", MessageBoxButtons.OK, MessageBoxIcon.Error);
} //}
} }
protected override void OnHandleDestroyed(EventArgs e) protected override void OnHandleDestroyed(EventArgs e)
@ -125,6 +126,8 @@ namespace ProductionControl.UI
base.OnHandleDestroyed(e); base.OnHandleDestroyed(e);
// 在此添加需要手动释放资源的代码 // 在此添加需要手动释放资源的代码
this.closeDev(); this.closeDev();
if(frm !=null)
frm.Close();
} }
private void tbtnRun_Click(object sender, EventArgs e) private void tbtnRun_Click(object sender, EventArgs e)
@ -246,11 +249,13 @@ namespace ProductionControl.UI
} }
DebugTestFrm frm;
private void tsbDebug_Click(object sender, EventArgs e) private void tsbDebug_Click(object sender, EventArgs e)
{ {
SysMgr.Instance.StatusMgr.GotoDebug(); if ((frm == null) || (frm.IsDisposed))
SysDebugFrm frm = new SysDebugFrm(); frm = new DebugTestFrm();
frm.ShowDialog(); frm.TopMost = true;
frm.Show();
} }
} }
} }

View File

@ -1,4 +1,5 @@
using MaiMuAOI.SysCtrl; using MaiMuAOI.SysCtrl;
using MaiMuAOI.SysUI.DefectPicShow;
using MaiMuAOI.SysUI.SysSet; using MaiMuAOI.SysUI.SysSet;
using MaiMuControl.Device.IOCardDev; using MaiMuControl.Device.IOCardDev;
using MaiMuControl.Utils; using MaiMuControl.Utils;
@ -55,6 +56,11 @@ namespace ProductionControl.UI
this.tbtnSave.Visible = tssSave.Visible = (GetParamsEvent != null); this.tbtnSave.Visible = tssSave.Visible = (GetParamsEvent != null);
this.propertyGrid1.SelectedObject = prop; this.propertyGrid1.SelectedObject = prop;
//prop.IN = new byte[_dev.GetDIPortCount()];
//prop.OUT = new byte[_dev.GetDOPortCount()];
prop.IN = new byte[4];
prop.OUT = new byte[4];
this.refreshUI(); this.refreshUI();
refreshUIState(); refreshUIState();
} }
@ -101,6 +107,8 @@ namespace ProductionControl.UI
base.OnHandleDestroyed(e); base.OnHandleDestroyed(e);
// 在此添加需要手动释放资源的代码 // 在此添加需要手动释放资源的代码
this.closeDev(); this.closeDev();
if(frm!=null)
frm.Close();
} }
private void tbtnExport_Click(object sender, EventArgs e) private void tbtnExport_Click(object sender, EventArgs e)
@ -162,12 +170,13 @@ namespace ProductionControl.UI
{ {
this.propertyGrid1.Refresh(); this.propertyGrid1.Refresh();
} }
DebugTestFrm frm;
private void tsbDebug_Click(object sender, EventArgs e) private void tsbDebug_Click(object sender, EventArgs e)
{ {
SysMgr.Instance.StatusMgr.GotoDebug(); if ((frm == null) || (frm.IsDisposed))
SysDebugFrm frm = new SysDebugFrm(); frm = new DebugTestFrm();
frm.ShowDialog(); frm.TopMost = true;
frm.Show();
} }
private void tbtnRun_Click(object sender, EventArgs e) private void tbtnRun_Click(object sender, EventArgs e)

View File

@ -1,4 +1,5 @@
using MaiMuAOI.SysCtrl; using MaiMuAOI.SysCtrl;
using MaiMuAOI.SysUI.DefectPicShow;
using MaiMuAOI.SysUI.SysSet; using MaiMuAOI.SysUI.SysSet;
using MaiMuControl.Device.LightDev; using MaiMuControl.Device.LightDev;
using Newtonsoft.Json; using Newtonsoft.Json;
@ -84,6 +85,8 @@ namespace ProductionControl.UI
{ {
base.OnHandleDestroyed(e); base.OnHandleDestroyed(e);
// 在此添加需要手动释放资源的代码 // 在此添加需要手动释放资源的代码
if(frm != null)
frm.Close();
} }
private void tbtnExport_Click(object sender, EventArgs e) private void tbtnExport_Click(object sender, EventArgs e)
@ -153,12 +156,13 @@ namespace ProductionControl.UI
{ {
this.init(); this.init();
} }
DebugTestFrm frm;
private void tsbDebug_Click(object sender, EventArgs e) private void tsbDebug_Click(object sender, EventArgs e)
{ {
SysMgr.Instance.StatusMgr.GotoDebug(); if ((frm == null) || (frm.IsDisposed))
SysDebugFrm frm = new SysDebugFrm(); frm = new DebugTestFrm();
frm.ShowDialog(); frm.TopMost = true;
frm.Show();
} }
private void tbtnRun_Click(object sender, EventArgs e) private void tbtnRun_Click(object sender, EventArgs e)

View File

@ -83,6 +83,8 @@ namespace ProductionControl.UI
{ {
base.OnHandleDestroyed(e); base.OnHandleDestroyed(e);
// 在此添加需要手动释放资源的代码 // 在此添加需要手动释放资源的代码
if(frm != null)
frm.Close();
} }
@ -142,12 +144,13 @@ namespace ProductionControl.UI
{ {
GetParamsEvent?.Invoke(prop.serialize()); GetParamsEvent?.Invoke(prop.serialize());
} }
DebugTestFrm frm;
private void tsbDebug_Click(object sender, EventArgs e) private void tsbDebug_Click(object sender, EventArgs e)
{ {
SysMgr.Instance.StatusMgr.GotoDebug(); if ((frm == null) || (frm.IsDisposed))
SysDebugFrm frm = new SysDebugFrm(); frm = new DebugTestFrm();
frm.ShowDialog(); frm.TopMost = true;
frm.Show();
} }
private void tbtnRun_Click(object sender, EventArgs e) private void tbtnRun_Click(object sender, EventArgs e)

View File

@ -1,5 +1,6 @@
using MaiMuAOI.ImageProcessing; using MaiMuAOI.ImageProcessing;
using MaiMuAOI.SysCtrl; using MaiMuAOI.SysCtrl;
using MaiMuAOI.SysUI.DefectPicShow;
using MaiMuAOI.SysUI.SysSet; using MaiMuAOI.SysUI.SysSet;
using Newtonsoft.Json; using Newtonsoft.Json;
using System; using System;
@ -105,17 +106,17 @@ namespace ProductionControl.UI
private void closeDev() private void closeDev()
{ {
try //try
{ //{
if (_dev == null) // if (_dev == null)
return; // return;
_dev.stop(); // _dev.stop();
} //}
catch (Exception ex) //catch (Exception ex)
{ //{
refreshUIState(); // refreshUIState();
MessageBox.Show(ex.Message, "失败", MessageBoxButtons.OK, MessageBoxIcon.Error); // MessageBox.Show(ex.Message, "失败", MessageBoxButtons.OK, MessageBoxIcon.Error);
} //}
} }
protected override void OnHandleDestroyed(EventArgs e) protected override void OnHandleDestroyed(EventArgs e)
@ -123,6 +124,8 @@ namespace ProductionControl.UI
base.OnHandleDestroyed(e); base.OnHandleDestroyed(e);
// 在此添加需要手动释放资源的代码 // 在此添加需要手动释放资源的代码
this.closeDev(); this.closeDev();
if(frm!=null)
frm.Close();
} }
private void tbtnRun_Click(object sender, EventArgs e) private void tbtnRun_Click(object sender, EventArgs e)
@ -232,12 +235,13 @@ namespace ProductionControl.UI
//FrmGetPosByPic frm = new FrmGetPosByPic(prop); //FrmGetPosByPic frm = new FrmGetPosByPic(prop);
//frm.ShowDialog(); //frm.ShowDialog();
} }
DebugTestFrm frm;
private void tsbDebug_Click(object sender, EventArgs e) private void tsbDebug_Click(object sender, EventArgs e)
{ {
SysMgr.Instance.StatusMgr.GotoDebug(); if ((frm == null) || (frm.IsDisposed))
SysDebugFrm frm = new SysDebugFrm(); frm = new DebugTestFrm();
frm.ShowDialog(); frm.TopMost = true;
frm.Show();
} }
} }
} }

View File

@ -28,14 +28,38 @@
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SysDebugFrm)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SysDebugFrm));
this.skinTabControl1 = new CCWin.SkinControl.SkinTabControl(); this.skinTabControl1 = new CCWin.SkinControl.SkinTabControl();
this.skinTabPage1 = new CCWin.SkinControl.SkinTabPage(); this.skinTabPage1 = new CCWin.SkinControl.SkinTabPage();
this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.btnRingLight = new System.Windows.Forms.Button();
this.btnBackLight = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button(); this.button2 = new System.Windows.Forms.Button();
this.btnCylinder = new System.Windows.Forms.Button(); this.numGain = new System.Windows.Forms.NumericUpDown();
this.label1 = new System.Windows.Forms.Label();
this.numExposure = new System.Windows.Forms.NumericUpDown();
this.label12 = new System.Windows.Forms.Label();
this.stslog = new System.Windows.Forms.Label();
this.numDist = new System.Windows.Forms.NumericUpDown();
this.btnMove = new System.Windows.Forms.Button();
this.label13 = new System.Windows.Forms.Label();
this.cbDir = new System.Windows.Forms.ComboBox();
this.label14 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.cbAxisName = new System.Windows.Forms.ComboBox();
this.label11 = new System.Windows.Forms.Label();
this.label10 = new System.Windows.Forms.Label();
this.label9 = new System.Windows.Forms.Label();
this.label8 = new System.Windows.Forms.Label();
this.cbTS = new System.Windows.Forms.ComboBox();
this.numDec = new System.Windows.Forms.NumericUpDown();
this.numAcc = new System.Windows.Forms.NumericUpDown();
this.numET = new System.Windows.Forms.NumericUpDown();
this.numST = new System.Windows.Forms.NumericUpDown();
this.label7 = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.btnGrab = new System.Windows.Forms.Button(); this.btnGrab = new System.Windows.Forms.Button();
this.btnTrg = new System.Windows.Forms.Button(); this.btnTrg = new System.Windows.Forms.Button();
this.imageBox1 = new ImageToolKits.ImageBox(); this.imageBox1 = new ImageToolKits.ImageBox();
@ -50,6 +74,7 @@
this.skinTabPage6 = new CCWin.SkinControl.SkinTabPage(); this.skinTabPage6 = new CCWin.SkinControl.SkinTabPage();
this.tbCodeUsb = new System.Windows.Forms.TextBox(); this.tbCodeUsb = new System.Windows.Forms.TextBox();
this.button1 = new System.Windows.Forms.Button(); this.button1 = new System.Windows.Forms.Button();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.uiTitel1 = new MaiMuControl.UIKits.MaiMuMenu.UITitel(); this.uiTitel1 = new MaiMuControl.UIKits.MaiMuMenu.UITitel();
this.skinTabControl1.SuspendLayout(); this.skinTabControl1.SuspendLayout();
this.skinTabPage1.SuspendLayout(); this.skinTabPage1.SuspendLayout();
@ -57,6 +82,13 @@
this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout(); this.splitContainer1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numGain)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numExposure)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numDist)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numDec)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numAcc)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numET)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numST)).BeginInit();
this.skinTabPage2.SuspendLayout(); this.skinTabPage2.SuspendLayout();
this.skinTabPage3.SuspendLayout(); this.skinTabPage3.SuspendLayout();
this.skinTabPage4.SuspendLayout(); this.skinTabPage4.SuspendLayout();
@ -77,7 +109,7 @@
this.skinTabControl1.Dock = System.Windows.Forms.DockStyle.Fill; this.skinTabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
this.skinTabControl1.HeadBack = null; this.skinTabControl1.HeadBack = null;
this.skinTabControl1.ImgTxtOffset = new System.Drawing.Point(0, 0); this.skinTabControl1.ImgTxtOffset = new System.Drawing.Point(0, 0);
this.skinTabControl1.ItemSize = new System.Drawing.Size(142, 36); this.skinTabControl1.ItemSize = new System.Drawing.Size(143, 36);
this.skinTabControl1.ItemStretch = true; this.skinTabControl1.ItemStretch = true;
this.skinTabControl1.Location = new System.Drawing.Point(0, 46); this.skinTabControl1.Location = new System.Drawing.Point(0, 46);
this.skinTabControl1.Name = "skinTabControl1"; this.skinTabControl1.Name = "skinTabControl1";
@ -93,7 +125,7 @@
this.skinTabControl1.PageNorml = null; this.skinTabControl1.PageNorml = null;
this.skinTabControl1.PageNormlTxtColor = System.Drawing.Color.White; this.skinTabControl1.PageNormlTxtColor = System.Drawing.Color.White;
this.skinTabControl1.SelectedIndex = 1; this.skinTabControl1.SelectedIndex = 1;
this.skinTabControl1.Size = new System.Drawing.Size(856, 540); this.skinTabControl1.Size = new System.Drawing.Size(861, 540);
this.skinTabControl1.SizeMode = System.Windows.Forms.TabSizeMode.Fixed; this.skinTabControl1.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
this.skinTabControl1.TabIndex = 24; this.skinTabControl1.TabIndex = 24;
// //
@ -118,10 +150,33 @@
// //
// splitContainer1.Panel1 // splitContainer1.Panel1
// //
this.splitContainer1.Panel1.Controls.Add(this.btnRingLight);
this.splitContainer1.Panel1.Controls.Add(this.btnBackLight);
this.splitContainer1.Panel1.Controls.Add(this.button2); this.splitContainer1.Panel1.Controls.Add(this.button2);
this.splitContainer1.Panel1.Controls.Add(this.btnCylinder); this.splitContainer1.Panel1.Controls.Add(this.numGain);
this.splitContainer1.Panel1.Controls.Add(this.label1);
this.splitContainer1.Panel1.Controls.Add(this.numExposure);
this.splitContainer1.Panel1.Controls.Add(this.label12);
this.splitContainer1.Panel1.Controls.Add(this.stslog);
this.splitContainer1.Panel1.Controls.Add(this.numDist);
this.splitContainer1.Panel1.Controls.Add(this.btnMove);
this.splitContainer1.Panel1.Controls.Add(this.label13);
this.splitContainer1.Panel1.Controls.Add(this.cbDir);
this.splitContainer1.Panel1.Controls.Add(this.label14);
this.splitContainer1.Panel1.Controls.Add(this.label2);
this.splitContainer1.Panel1.Controls.Add(this.cbAxisName);
this.splitContainer1.Panel1.Controls.Add(this.label11);
this.splitContainer1.Panel1.Controls.Add(this.label10);
this.splitContainer1.Panel1.Controls.Add(this.label9);
this.splitContainer1.Panel1.Controls.Add(this.label8);
this.splitContainer1.Panel1.Controls.Add(this.cbTS);
this.splitContainer1.Panel1.Controls.Add(this.numDec);
this.splitContainer1.Panel1.Controls.Add(this.numAcc);
this.splitContainer1.Panel1.Controls.Add(this.numET);
this.splitContainer1.Panel1.Controls.Add(this.numST);
this.splitContainer1.Panel1.Controls.Add(this.label7);
this.splitContainer1.Panel1.Controls.Add(this.label6);
this.splitContainer1.Panel1.Controls.Add(this.label5);
this.splitContainer1.Panel1.Controls.Add(this.label4);
this.splitContainer1.Panel1.Controls.Add(this.label3);
this.splitContainer1.Panel1.Controls.Add(this.btnGrab); this.splitContainer1.Panel1.Controls.Add(this.btnGrab);
this.splitContainer1.Panel1.Controls.Add(this.btnTrg); this.splitContainer1.Panel1.Controls.Add(this.btnTrg);
// //
@ -129,62 +184,378 @@
// //
this.splitContainer1.Panel2.Controls.Add(this.imageBox1); this.splitContainer1.Panel2.Controls.Add(this.imageBox1);
this.splitContainer1.Size = new System.Drawing.Size(856, 504); this.splitContainer1.Size = new System.Drawing.Size(856, 504);
this.splitContainer1.SplitterDistance = 353; this.splitContainer1.SplitterDistance = 326;
this.splitContainer1.TabIndex = 0; this.splitContainer1.TabIndex = 0;
// //
// btnRingLight
//
this.btnRingLight.Location = new System.Drawing.Point(177, 168);
this.btnRingLight.Name = "btnRingLight";
this.btnRingLight.Size = new System.Drawing.Size(75, 23);
this.btnRingLight.TabIndex = 5;
this.btnRingLight.Text = "环形光";
this.btnRingLight.UseVisualStyleBackColor = true;
//
// btnBackLight
//
this.btnBackLight.Location = new System.Drawing.Point(64, 168);
this.btnBackLight.Name = "btnBackLight";
this.btnBackLight.Size = new System.Drawing.Size(75, 23);
this.btnBackLight.TabIndex = 4;
this.btnBackLight.Text = "背光";
this.btnBackLight.UseVisualStyleBackColor = true;
//
// button2 // button2
// //
this.button2.Location = new System.Drawing.Point(177, 97); this.button2.Location = new System.Drawing.Point(124, 90);
this.button2.Name = "button2"; this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(75, 23); this.button2.Size = new System.Drawing.Size(79, 20);
this.button2.TabIndex = 3; this.button2.TabIndex = 61;
this.button2.Text = "气缸2推进"; this.button2.Text = "设置";
this.button2.UseVisualStyleBackColor = true; this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
// //
// btnCylinder // numGain
// //
this.btnCylinder.Location = new System.Drawing.Point(64, 97); this.numGain.DecimalPlaces = 2;
this.btnCylinder.Name = "btnCylinder"; this.numGain.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnCylinder.Size = new System.Drawing.Size(75, 23); this.numGain.Location = new System.Drawing.Point(225, 63);
this.btnCylinder.TabIndex = 2; this.numGain.Maximum = new decimal(new int[] {
this.btnCylinder.Text = "气缸1推进"; 1000000,
this.btnCylinder.UseVisualStyleBackColor = true; 0,
0,
0});
this.numGain.Name = "numGain";
this.numGain.Size = new System.Drawing.Size(88, 21);
this.numGain.TabIndex = 60;
this.numGain.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label1.ForeColor = System.Drawing.SystemColors.ActiveCaptionText;
this.label1.Location = new System.Drawing.Point(173, 63);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(46, 21);
this.label1.TabIndex = 59;
this.label1.Text = "增益:";
//
// numExposure
//
this.numExposure.DecimalPlaces = 2;
this.numExposure.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.numExposure.Location = new System.Drawing.Point(72, 63);
this.numExposure.Maximum = new decimal(new int[] {
1000000,
0,
0,
0});
this.numExposure.Name = "numExposure";
this.numExposure.Size = new System.Drawing.Size(88, 21);
this.numExposure.TabIndex = 58;
this.numExposure.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// label12
//
this.label12.AutoSize = true;
this.label12.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label12.ForeColor = System.Drawing.SystemColors.ActiveCaptionText;
this.label12.Location = new System.Drawing.Point(20, 63);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(46, 21);
this.label12.TabIndex = 57;
this.label12.Text = "曝光:";
//
// stslog
//
this.stslog.AutoSize = true;
this.stslog.Location = new System.Drawing.Point(12, 483);
this.stslog.Name = "stslog";
this.stslog.Size = new System.Drawing.Size(0, 12);
this.stslog.TabIndex = 42;
//
// numDist
//
this.numDist.DecimalPlaces = 3;
this.numDist.Location = new System.Drawing.Point(126, 402);
this.numDist.Maximum = new decimal(new int[] {
10000,
0,
0,
0});
this.numDist.Minimum = new decimal(new int[] {
10000,
0,
0,
-2147483648});
this.numDist.Name = "numDist";
this.numDist.Size = new System.Drawing.Size(155, 21);
this.numDist.TabIndex = 41;
this.numDist.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// btnMove
//
this.btnMove.BackColor = System.Drawing.SystemColors.GradientActiveCaption;
this.btnMove.FlatAppearance.BorderColor = System.Drawing.Color.Cyan;
this.btnMove.FlatAppearance.MouseDownBackColor = System.Drawing.Color.Blue;
this.btnMove.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Cyan;
this.btnMove.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnMove.ForeColor = System.Drawing.Color.Black;
this.btnMove.Location = new System.Drawing.Point(124, 432);
this.btnMove.Name = "btnMove";
this.btnMove.Size = new System.Drawing.Size(114, 35);
this.btnMove.TabIndex = 37;
this.btnMove.Text = "移动";
this.btnMove.UseVisualStyleBackColor = false;
this.btnMove.Click += new System.EventHandler(this.btnMove_Click);
//
// label13
//
this.label13.AutoSize = true;
this.label13.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label13.Location = new System.Drawing.Point(20, 404);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(76, 21);
this.label13.TabIndex = 40;
this.label13.Text = "位置mm:";
//
// cbDir
//
this.cbDir.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbDir.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.cbDir.FormattingEnabled = true;
this.cbDir.Items.AddRange(new object[] {
"相对运动",
"绝对运动"});
this.cbDir.Location = new System.Drawing.Point(126, 360);
this.cbDir.Name = "cbDir";
this.cbDir.Size = new System.Drawing.Size(107, 29);
this.cbDir.TabIndex = 39;
//
// label14
//
this.label14.AutoSize = true;
this.label14.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label14.Location = new System.Drawing.Point(20, 363);
this.label14.Name = "label14";
this.label14.Size = new System.Drawing.Size(78, 21);
this.label14.TabIndex = 38;
this.label14.Text = "移动方式:";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label2.ForeColor = System.Drawing.Color.Black;
this.label2.Location = new System.Drawing.Point(16, 122);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(46, 21);
this.label2.TabIndex = 36;
this.label2.Text = "轴号:";
//
// cbAxisName
//
this.cbAxisName.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbAxisName.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.cbAxisName.FormattingEnabled = true;
this.cbAxisName.Location = new System.Drawing.Point(124, 119);
this.cbAxisName.Name = "cbAxisName";
this.cbAxisName.Size = new System.Drawing.Size(79, 29);
this.cbAxisName.TabIndex = 35;
//
// label11
//
this.label11.AutoSize = true;
this.label11.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label11.Location = new System.Drawing.Point(260, 282);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(60, 21);
this.label11.TabIndex = 34;
this.label11.Text = "mm/s²";
//
// label10
//
this.label10.AutoSize = true;
this.label10.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label10.Location = new System.Drawing.Point(260, 242);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(60, 21);
this.label10.TabIndex = 33;
this.label10.Text = "mm/s²";
//
// label9
//
this.label9.AutoSize = true;
this.label9.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label9.Location = new System.Drawing.Point(260, 203);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(54, 21);
this.label9.TabIndex = 32;
this.label9.Text = "mm/s";
//
// label8
//
this.label8.AutoSize = true;
this.label8.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label8.Location = new System.Drawing.Point(260, 162);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(54, 21);
this.label8.TabIndex = 31;
this.label8.Text = "mm/s";
//
// cbTS
//
this.cbTS.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbTS.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.cbTS.FormattingEnabled = true;
this.cbTS.Location = new System.Drawing.Point(124, 319);
this.cbTS.Name = "cbTS";
this.cbTS.Size = new System.Drawing.Size(155, 29);
this.cbTS.TabIndex = 30;
//
// numDec
//
this.numDec.DecimalPlaces = 3;
this.numDec.Increment = new decimal(new int[] {
100,
0,
0,
0});
this.numDec.Location = new System.Drawing.Point(124, 282);
this.numDec.Maximum = new decimal(new int[] {
20000,
0,
0,
0});
this.numDec.Name = "numDec";
this.numDec.Size = new System.Drawing.Size(130, 21);
this.numDec.TabIndex = 29;
this.numDec.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
this.numDec.Value = new decimal(new int[] {
200,
0,
0,
0});
//
// numAcc
//
this.numAcc.DecimalPlaces = 3;
this.numAcc.Increment = new decimal(new int[] {
100,
0,
0,
0});
this.numAcc.Location = new System.Drawing.Point(124, 242);
this.numAcc.Maximum = new decimal(new int[] {
20000,
0,
0,
0});
this.numAcc.Name = "numAcc";
this.numAcc.Size = new System.Drawing.Size(130, 21);
this.numAcc.TabIndex = 28;
this.numAcc.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
this.numAcc.Value = new decimal(new int[] {
200,
0,
0,
0});
//
// numET
//
this.numET.DecimalPlaces = 3;
this.numET.Increment = new decimal(new int[] {
100,
0,
0,
0});
this.numET.Location = new System.Drawing.Point(124, 202);
this.numET.Maximum = new decimal(new int[] {
10000,
0,
0,
0});
this.numET.Name = "numET";
this.numET.Size = new System.Drawing.Size(130, 21);
this.numET.TabIndex = 27;
this.numET.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
this.numET.Value = new decimal(new int[] {
200,
0,
0,
0});
//
// numST
//
this.numST.DecimalPlaces = 3;
this.numST.Increment = new decimal(new int[] {
100,
0,
0,
0});
this.numST.Location = new System.Drawing.Point(124, 162);
this.numST.Maximum = new decimal(new int[] {
10000,
0,
0,
0});
this.numST.Name = "numST";
this.numST.Size = new System.Drawing.Size(130, 21);
this.numST.TabIndex = 26;
this.numST.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// label7
//
this.label7.AutoSize = true;
this.label7.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label7.Location = new System.Drawing.Point(16, 322);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(71, 21);
this.label7.TabIndex = 25;
this.label7.Text = "T/S曲线:";
//
// label6
//
this.label6.AutoSize = true;
this.label6.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label6.Location = new System.Drawing.Point(16, 281);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(62, 21);
this.label6.TabIndex = 24;
this.label6.Text = "减速度:";
//
// label5
//
this.label5.AutoSize = true;
this.label5.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label5.Location = new System.Drawing.Point(16, 242);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(62, 21);
this.label5.TabIndex = 23;
this.label5.Text = "加速度:";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label4.Location = new System.Drawing.Point(16, 203);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(78, 21);
this.label4.TabIndex = 22;
this.label4.Text = "运行速度:";
//
// label3
//
this.label3.AutoSize = true;
this.label3.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label3.Location = new System.Drawing.Point(16, 164);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(78, 21);
this.label3.TabIndex = 21;
this.label3.Text = "初始速度:";
// //
// btnGrab // btnGrab
// //
this.btnGrab.Location = new System.Drawing.Point(177, 30); this.btnGrab.Location = new System.Drawing.Point(177, 12);
this.btnGrab.Name = "btnGrab"; this.btnGrab.Name = "btnGrab";
this.btnGrab.Size = new System.Drawing.Size(75, 23); this.btnGrab.Size = new System.Drawing.Size(89, 36);
this.btnGrab.TabIndex = 1; this.btnGrab.TabIndex = 1;
this.btnGrab.Text = "连续拍照"; this.btnGrab.Text = "连续拍照";
this.btnGrab.UseVisualStyleBackColor = true; this.btnGrab.UseVisualStyleBackColor = true;
this.btnGrab.Click += new System.EventHandler(this.btnGrab_Click);
// //
// btnTrg // btnTrg
// //
this.btnTrg.Location = new System.Drawing.Point(64, 30); this.btnTrg.Location = new System.Drawing.Point(64, 12);
this.btnTrg.Name = "btnTrg"; this.btnTrg.Name = "btnTrg";
this.btnTrg.Size = new System.Drawing.Size(75, 23); this.btnTrg.Size = new System.Drawing.Size(89, 36);
this.btnTrg.TabIndex = 0; this.btnTrg.TabIndex = 0;
this.btnTrg.Text = "拍照"; this.btnTrg.Text = "拍照";
this.btnTrg.UseVisualStyleBackColor = true; this.btnTrg.UseVisualStyleBackColor = true;
this.btnTrg.Click += new System.EventHandler(this.btnTrg_Click);
// //
// imageBox1 // imageBox1
// //
@ -196,7 +567,7 @@
this.imageBox1.Location = new System.Drawing.Point(0, 0); this.imageBox1.Location = new System.Drawing.Point(0, 0);
this.imageBox1.Margin = new System.Windows.Forms.Padding(0); this.imageBox1.Margin = new System.Windows.Forms.Padding(0);
this.imageBox1.Name = "imageBox1"; this.imageBox1.Name = "imageBox1";
this.imageBox1.Size = new System.Drawing.Size(499, 504); this.imageBox1.Size = new System.Drawing.Size(526, 504);
this.imageBox1.TabIndex = 1; this.imageBox1.TabIndex = 1;
// //
// skinTabPage2 // skinTabPage2
@ -207,7 +578,7 @@
this.skinTabPage2.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.skinTabPage2.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.skinTabPage2.Location = new System.Drawing.Point(0, 36); this.skinTabPage2.Location = new System.Drawing.Point(0, 36);
this.skinTabPage2.Name = "skinTabPage2"; this.skinTabPage2.Name = "skinTabPage2";
this.skinTabPage2.Size = new System.Drawing.Size(856, 504); this.skinTabPage2.Size = new System.Drawing.Size(861, 504);
this.skinTabPage2.TabIndex = 1; this.skinTabPage2.TabIndex = 1;
this.skinTabPage2.TabItemImage = null; this.skinTabPage2.TabItemImage = null;
this.skinTabPage2.Text = "电机调试"; this.skinTabPage2.Text = "电机调试";
@ -218,7 +589,7 @@
this.uiAxisDev1.Dock = System.Windows.Forms.DockStyle.Fill; this.uiAxisDev1.Dock = System.Windows.Forms.DockStyle.Fill;
this.uiAxisDev1.Location = new System.Drawing.Point(0, 0); this.uiAxisDev1.Location = new System.Drawing.Point(0, 0);
this.uiAxisDev1.Name = "uiAxisDev1"; this.uiAxisDev1.Name = "uiAxisDev1";
this.uiAxisDev1.Size = new System.Drawing.Size(856, 504); this.uiAxisDev1.Size = new System.Drawing.Size(861, 504);
this.uiAxisDev1.TabIndex = 0; this.uiAxisDev1.TabIndex = 0;
// //
// skinTabPage3 // skinTabPage3
@ -325,20 +696,24 @@
this.button1.UseVisualStyleBackColor = true; this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click); this.button1.Click += new System.EventHandler(this.button1_Click);
// //
// timer1
//
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
//
// uiTitel1 // uiTitel1
// //
this.uiTitel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120))))); this.uiTitel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120)))));
this.uiTitel1.Dock = System.Windows.Forms.DockStyle.Top; this.uiTitel1.Dock = System.Windows.Forms.DockStyle.Top;
this.uiTitel1.Location = new System.Drawing.Point(0, 0); this.uiTitel1.Location = new System.Drawing.Point(0, 0);
this.uiTitel1.Name = "uiTitel1"; this.uiTitel1.Name = "uiTitel1";
this.uiTitel1.Size = new System.Drawing.Size(856, 46); this.uiTitel1.Size = new System.Drawing.Size(861, 46);
this.uiTitel1.TabIndex = 23; this.uiTitel1.TabIndex = 23;
// //
// SysDebugFrm // SysDebugFrm
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(856, 586); this.ClientSize = new System.Drawing.Size(861, 586);
this.Controls.Add(this.skinTabControl1); this.Controls.Add(this.skinTabControl1);
this.Controls.Add(this.uiTitel1); this.Controls.Add(this.uiTitel1);
this.Name = "SysDebugFrm"; this.Name = "SysDebugFrm";
@ -347,9 +722,17 @@
this.skinTabControl1.ResumeLayout(false); this.skinTabControl1.ResumeLayout(false);
this.skinTabPage1.ResumeLayout(false); this.skinTabPage1.ResumeLayout(false);
this.splitContainer1.Panel1.ResumeLayout(false); this.splitContainer1.Panel1.ResumeLayout(false);
this.splitContainer1.Panel1.PerformLayout();
this.splitContainer1.Panel2.ResumeLayout(false); this.splitContainer1.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
this.splitContainer1.ResumeLayout(false); this.splitContainer1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.numGain)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numExposure)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numDist)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numDec)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numAcc)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numET)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.numST)).EndInit();
this.skinTabPage2.ResumeLayout(false); this.skinTabPage2.ResumeLayout(false);
this.skinTabPage3.ResumeLayout(false); this.skinTabPage3.ResumeLayout(false);
this.skinTabPage4.ResumeLayout(false); this.skinTabPage4.ResumeLayout(false);
@ -380,9 +763,33 @@
private System.Windows.Forms.Button btnTrg; private System.Windows.Forms.Button btnTrg;
private ImageToolKits.ImageBox imageBox1; private ImageToolKits.ImageBox imageBox1;
private System.Windows.Forms.TextBox tbCodeUsb; private System.Windows.Forms.TextBox tbCodeUsb;
private System.Windows.Forms.NumericUpDown numDist;
private System.Windows.Forms.Button btnMove;
private System.Windows.Forms.Label label13;
private System.Windows.Forms.ComboBox cbDir;
private System.Windows.Forms.Label label14;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.ComboBox cbAxisName;
private System.Windows.Forms.Label label11;
private System.Windows.Forms.Label label10;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.ComboBox cbTS;
private System.Windows.Forms.NumericUpDown numDec;
private System.Windows.Forms.NumericUpDown numAcc;
private System.Windows.Forms.NumericUpDown numET;
private System.Windows.Forms.NumericUpDown numST;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Timer timer1;
private System.Windows.Forms.Label stslog;
private System.Windows.Forms.Button button2; private System.Windows.Forms.Button button2;
private System.Windows.Forms.Button btnCylinder; private System.Windows.Forms.NumericUpDown numGain;
private System.Windows.Forms.Button btnRingLight; private System.Windows.Forms.Label label1;
private System.Windows.Forms.Button btnBackLight; private System.Windows.Forms.NumericUpDown numExposure;
private System.Windows.Forms.Label label12;
} }
} }

View File

@ -1,4 +1,10 @@
using MaiMuAOI.SysCtrl; using HalconDotNet;
using ImageToolKits;
using MaiMuAOI.SysCtrl;
using MaiMuControl.Device;
using MaiMuControl.Device.AxisDev;
using MaiMuControl.Device.CamDev;
using OpenCvSharp;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
@ -8,6 +14,7 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows.Forms; using System.Windows.Forms;
using ToolKits.EnumTool;
namespace MaiMuAOI.SysUI.SysSet namespace MaiMuAOI.SysUI.SysSet
{ {
@ -24,10 +31,34 @@ namespace MaiMuAOI.SysUI.SysSet
{ {
//暂时不启用综合调试 //暂时不启用综合调试
this.skinTabControl1.TabPages.Remove(skinTabPage1); this.skinTabControl1.TabPages.Remove(skinTabPage1);
//this.skinTabPage1.Select();
this.skinTabPage2.Select(); this.skinTabPage2.Select();
//显示tS曲线
cbTS.Items.Clear();
Type VelType = typeof(VelocityCurveType);
foreach (object s in Enum.GetValues(VelType))
{
string st = EnumExtension.GetEnumDescription((VelocityCurveType)s);
cbTS.Items.Add(st);
}
cbTS.Text = cbTS.Items[0].ToString();
cbTS.SelectedIndex = 0;
cbDir.Items.Clear();
cbDir.Items.Add("相对运动");
cbDir.Items.Add("绝对运动");
cbDir.Text = cbDir.Items[0].ToString();
cbDir.SelectedIndex = 0;
cbAxisName.Items.Clear();
cbAxisName.Items.Add("X轴");
cbAxisName.Items.Add("Y轴");
cbAxisName.Items.Add("Z轴");
cbAxisName.Text = cbAxisName.Items[0].ToString();
cbAxisName.SelectedIndex = 0;
//axis //axis
this.uiAxisDev1.InitUI(MaiMuControl.Device.AxisBordType.Advantech, SysMgr.Instance.AxisDev, ConfMgr.Instance.DevConfigPath); this.uiAxisDev1.InitUI(MaiMuControl.Device.AxisBordType.Advantech, SysMgr.Instance.AxisDev, ConfMgr.Instance.DevConfigPath, new bool[4] {false,true,true,true});
this.uiLightDev1.InitUI(SysMgr.Instance.SysUseLight, SysMgr.Instance.LightDev, SysMgr.Instance.LightName, ConfMgr.Instance.DevConfigPath,SysMgr.Instance.LightChCount); this.uiLightDev1.InitUI(SysMgr.Instance.SysUseLight, SysMgr.Instance.LightDev, SysMgr.Instance.LightName, ConfMgr.Instance.DevConfigPath,SysMgr.Instance.LightChCount);
this.uiCamDev1.InitUI(SysMgr.Instance.SysUseCam, SysMgr.Instance.CamDev); this.uiCamDev1.InitUI(SysMgr.Instance.SysUseCam, SysMgr.Instance.CamDev);
this.uiioCardDev1.InitUI(MaiMuControl.Device.IOBordType.Advantech, SysMgr.Instance.IOCardDev); this.uiioCardDev1.InitUI(MaiMuControl.Device.IOBordType.Advantech, SysMgr.Instance.IOCardDev);
@ -42,5 +73,102 @@ namespace MaiMuAOI.SysUI.SysSet
{ {
} }
#region
private void btnTrg_Click(object sender, EventArgs e)
{
Acquisition acq = SysMgr.Instance.CamDev.Snap(1, 5000);
if (acq.GrabStatus != "GrabPass")
{
;
//MessageBox.Show( "获取图片失败!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
ShowImage(acq.Image.CopyObj(1, -1));
}
private void ShowImage(HObject image)
{
lock (this)
{
Mat img = CamDev.HImageToMat(image);
//imageBox1.ColorName = "red";
imageBox1.SetInteractive(false);
if (imageBox1.Image == null)
imageBox1.RefreshWindow(img, ImageBox.ImageModeEnum.Zoom);//可以不显示区域
else
imageBox1.RefreshWindow(img, ImageBox.ImageModeEnum.Part);//可以不显示区域
imageBox1.SetInteractive(true);
//imageBox1.ColorName = "green";
}
}
private void btnGrab_Click(object sender, EventArgs e)
{
if (this.btnGrab.Text == "连续拍照")
{
this.btnTrg.Enabled = false;
this.btnGrab.Text = "停止拍照";
timer1.Enabled = true;
}
else
{
this.btnTrg.Enabled = true;
this.btnGrab.Text = "连续拍照";
timer1.Enabled = false;
}
}
private void timer1_Tick(object sender, EventArgs e)
{
Acquisition acq = SysMgr.Instance.CamDev.Snap(1, 100);
if (acq.GrabStatus != "GrabPass")
{
return;
//MessageBox.Show( "获取图片失败!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
ShowImage(acq.Image.CopyObj(1, -1));
}
private void btnMove_Click(object sender, EventArgs e)
{
if (SysMgr.Instance.AxisDev != null)
{
VelocityCurveParams _VelParams = new VelocityCurveParams();
int axisNo = cbAxisName.SelectedIndex + 1;
_VelParams.Acc = (double)numAcc.Value;
_VelParams.Dec = (double)numDec.Value;
_VelParams.StartVel = (double)numST.Value;
_VelParams.RunVel = (double)numET.Value;
_VelParams.JerkT_S = cbTS.SelectedIndex;
_VelParams.MM2PulseNum = SysMgr.Instance.GetMMtoPlus((AxisName)axisNo);
if (cbDir.Text == "绝对运动")
{
stslog.Text = "绝对运动:" + numDist.Value.ToString();
SysMgr.Instance.AxisDev.MoveAbsValue(axisNo, _VelParams, (double)numDist.Value);
}
else if (cbDir.Text == "相对运动")
{
stslog.Text = "相对运动:" + numDist.Value.ToString();
SysMgr.Instance.AxisDev.MoveRelValue(axisNo, _VelParams, (double)numDist.Value);
}
}
}
private void button2_Click(object sender, EventArgs e)
{
if (!SysMgr.Instance.CamDev.SetExposure((double)numExposure.Value))
{
stslog.Text = "曝光设置失败!";
return;
}
if (!SysMgr.Instance.CamDev.SetGain((double)numGain.Value))
{
stslog.Text = "增益设置失败!";
return;
}
stslog.Text = "曝光-增益-帧率设置成功";
}
#endregion
} }
} }

View File

@ -177,4 +177,7 @@
b1AAAAAASUVORK5CYII= b1AAAAAASUVORK5CYII=
</value> </value>
</data> </data>
<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> </root>

View File

@ -3,6 +3,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Data; using System.Data;
using System.Diagnostics;
using System.Drawing; using System.Drawing;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
@ -92,10 +93,52 @@ namespace MaiMuAOI.SysUI.SysSet
return; return;
this.Cursor = Cursors.WaitCursor; this.Cursor = Cursors.WaitCursor;
//读取文件内容 //读取文件内容
string text = System.IO.File.ReadAllText(path); //string text = System.IO.File.ReadAllText(path);
string text = ReadTxtFile(path);
tbLog.Text = text; tbLog.Text = text;
this.Cursor = Cursors.Default; this.Cursor = Cursors.Default;
} }
private string ReadTxtFile(string fileName)
{
string txt = "";
// var fileDir = this.txtFileFolder.Text.Trim();
var fileDir = fileName;
byte[] allBytes = null;
byte[] buffer = new byte[1024];//一个1K的缓冲字节容器
Stopwatch stopwatch = new Stopwatch();
stopwatch.Restart();
using (MemoryStream ms = new MemoryStream())
{
using (FileStream fs = new FileStream(fileDir, FileMode.Open, FileAccess.Read))
{
int positon = 0;
while ((positon = fs.Read(buffer, 0, buffer.Length)) > 0)
{
ms.Write(buffer, 0, positon);
}
allBytes = ms.ToArray();
}
}
stopwatch.Stop();
// MessageBox.Show($"StreamReader StreamWriter 程序运行花费的时间:{(double)stopwatch.ElapsedMilliseconds / 1000:0.000} secs");
if (null != allBytes)
{
//尝试将字节转成字符串
txt = System.Text.Encoding.UTF8.GetString(allBytes);
// this.richTextBox_Result.Text = txt;
}
string[] txtToArray = txt.Split('\r');
// ReadData_List.Add(txtToArray);
return txt;
}
} }
} }

View File

@ -118,8 +118,16 @@
this.panel7 = new System.Windows.Forms.Panel(); this.panel7 = new System.Windows.Forms.Panel();
this.tbCamSN = new System.Windows.Forms.TextBox(); this.tbCamSN = new System.Windows.Forms.TextBox();
this.label10 = new System.Windows.Forms.Label(); this.label10 = new System.Windows.Forms.Label();
this.tbCamCfgPath = new System.Windows.Forms.TextBox();
this.label7 = new System.Windows.Forms.Label();
this.groupBox5 = new System.Windows.Forms.GroupBox();
this.panel5 = new System.Windows.Forms.Panel();
this.tbMotionCfgPath = new System.Windows.Forms.TextBox();
this.label6 = new System.Windows.Forms.Label();
this.groupBox3 = new System.Windows.Forms.GroupBox(); this.groupBox3 = new System.Windows.Forms.GroupBox();
this.panel3 = new System.Windows.Forms.Panel(); this.panel3 = new System.Windows.Forms.Panel();
this.tbIOCfgPath = new System.Windows.Forms.TextBox();
this.label8 = new System.Windows.Forms.Label();
this.tbIODevNum = new System.Windows.Forms.TextBox(); this.tbIODevNum = new System.Windows.Forms.TextBox();
this.label4 = new System.Windows.Forms.Label(); this.label4 = new System.Windows.Forms.Label();
this.groupBox4 = new System.Windows.Forms.GroupBox(); this.groupBox4 = new System.Windows.Forms.GroupBox();
@ -134,14 +142,6 @@
this.chkBuzzer = new System.Windows.Forms.CheckBox(); this.chkBuzzer = new System.Windows.Forms.CheckBox();
this.ckSkipSizeFailed = new System.Windows.Forms.CheckBox(); this.ckSkipSizeFailed = new System.Windows.Forms.CheckBox();
this.skinTabControl1 = new CCWin.SkinControl.SkinTabControl(); this.skinTabControl1 = new CCWin.SkinControl.SkinTabControl();
this.label7 = new System.Windows.Forms.Label();
this.tbCamCfgPath = new System.Windows.Forms.TextBox();
this.panel5 = new System.Windows.Forms.Panel();
this.groupBox5 = new System.Windows.Forms.GroupBox();
this.tbMotionCfgPath = new System.Windows.Forms.TextBox();
this.label6 = new System.Windows.Forms.Label();
this.label8 = new System.Windows.Forms.Label();
this.tbIOCfgPath = new System.Windows.Forms.TextBox();
this.toolStrip1.SuspendLayout(); this.toolStrip1.SuspendLayout();
this.skinTabPage6.SuspendLayout(); this.skinTabPage6.SuspendLayout();
this.groupBox8.SuspendLayout(); this.groupBox8.SuspendLayout();
@ -183,6 +183,8 @@
this.skinTabPage2.SuspendLayout(); this.skinTabPage2.SuspendLayout();
this.groupBox7.SuspendLayout(); this.groupBox7.SuspendLayout();
this.panel7.SuspendLayout(); this.panel7.SuspendLayout();
this.groupBox5.SuspendLayout();
this.panel5.SuspendLayout();
this.groupBox3.SuspendLayout(); this.groupBox3.SuspendLayout();
this.panel3.SuspendLayout(); this.panel3.SuspendLayout();
this.groupBox4.SuspendLayout(); this.groupBox4.SuspendLayout();
@ -190,8 +192,6 @@
((System.ComponentModel.ISupportInitialize)(this.numCamBaud)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numCamBaud)).BeginInit();
this.skinTabPage1.SuspendLayout(); this.skinTabPage1.SuspendLayout();
this.skinTabControl1.SuspendLayout(); this.skinTabControl1.SuspendLayout();
this.panel5.SuspendLayout();
this.groupBox5.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// uiTitel1 // uiTitel1
@ -587,9 +587,9 @@
this.chkSkipScannerGL.Location = new System.Drawing.Point(64, 105); this.chkSkipScannerGL.Location = new System.Drawing.Point(64, 105);
this.chkSkipScannerGL.Margin = new System.Windows.Forms.Padding(2); this.chkSkipScannerGL.Margin = new System.Windows.Forms.Padding(2);
this.chkSkipScannerGL.Name = "chkSkipScannerGL"; this.chkSkipScannerGL.Name = "chkSkipScannerGL";
this.chkSkipScannerGL.Size = new System.Drawing.Size(170, 25); this.chkSkipScannerGL.Size = new System.Drawing.Size(109, 25);
this.chkSkipScannerGL.TabIndex = 17; this.chkSkipScannerGL.TabIndex = 17;
this.chkSkipScannerGL.Text = "停用主相机(GENTL)"; this.chkSkipScannerGL.Text = "停用主相机";
this.chkSkipScannerGL.UseVisualStyleBackColor = true; this.chkSkipScannerGL.UseVisualStyleBackColor = true;
// //
// chkSkipLight // chkSkipLight
@ -1379,6 +1379,81 @@
this.label10.TabIndex = 6; this.label10.TabIndex = 6;
this.label10.Text = "相机名称:"; this.label10.Text = "相机名称:";
// //
// tbCamCfgPath
//
this.tbCamCfgPath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tbCamCfgPath.Location = new System.Drawing.Point(103, 57);
this.tbCamCfgPath.Margin = new System.Windows.Forms.Padding(2);
this.tbCamCfgPath.Name = "tbCamCfgPath";
this.tbCamCfgPath.Size = new System.Drawing.Size(604, 21);
this.tbCamCfgPath.TabIndex = 5;
this.tbCamCfgPath.DoubleClick += new System.EventHandler(this.tbPathFile_Click);
//
// label7
//
this.label7.AutoSize = true;
this.label7.BackColor = System.Drawing.Color.Transparent;
this.label7.ForeColor = System.Drawing.Color.Black;
this.label7.Location = new System.Drawing.Point(10, 60);
this.label7.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(89, 12);
this.label7.TabIndex = 4;
this.label7.Text = "配置文件路径:";
//
// groupBox5
//
this.groupBox5.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.groupBox5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120)))));
this.groupBox5.Controls.Add(this.panel5);
this.groupBox5.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.groupBox5.ForeColor = System.Drawing.Color.White;
this.groupBox5.Location = new System.Drawing.Point(1, 201);
this.groupBox5.Margin = new System.Windows.Forms.Padding(2);
this.groupBox5.Name = "groupBox5";
this.groupBox5.Padding = new System.Windows.Forms.Padding(2);
this.groupBox5.Size = new System.Drawing.Size(719, 68);
this.groupBox5.TabIndex = 28;
this.groupBox5.TabStop = false;
this.groupBox5.Text = "电机配置";
//
// panel5
//
this.panel5.BackColor = System.Drawing.Color.White;
this.panel5.Controls.Add(this.tbMotionCfgPath);
this.panel5.Controls.Add(this.label6);
this.panel5.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel5.Location = new System.Drawing.Point(2, 16);
this.panel5.Margin = new System.Windows.Forms.Padding(2);
this.panel5.Name = "panel5";
this.panel5.Size = new System.Drawing.Size(715, 50);
this.panel5.TabIndex = 0;
//
// tbMotionCfgPath
//
this.tbMotionCfgPath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tbMotionCfgPath.Location = new System.Drawing.Point(103, 18);
this.tbMotionCfgPath.Margin = new System.Windows.Forms.Padding(2);
this.tbMotionCfgPath.Name = "tbMotionCfgPath";
this.tbMotionCfgPath.Size = new System.Drawing.Size(604, 21);
this.tbMotionCfgPath.TabIndex = 5;
this.tbMotionCfgPath.DoubleClick += new System.EventHandler(this.tbPathFile_Click);
//
// label6
//
this.label6.AutoSize = true;
this.label6.BackColor = System.Drawing.Color.Transparent;
this.label6.ForeColor = System.Drawing.Color.Black;
this.label6.Location = new System.Drawing.Point(10, 21);
this.label6.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(89, 12);
this.label6.TabIndex = 4;
this.label6.Text = "配置文件路径:";
//
// groupBox3 // groupBox3
// //
this.groupBox3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) this.groupBox3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
@ -1410,6 +1485,29 @@
this.panel3.Size = new System.Drawing.Size(715, 90); this.panel3.Size = new System.Drawing.Size(715, 90);
this.panel3.TabIndex = 0; this.panel3.TabIndex = 0;
// //
// tbIOCfgPath
//
this.tbIOCfgPath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tbIOCfgPath.Location = new System.Drawing.Point(103, 57);
this.tbIOCfgPath.Margin = new System.Windows.Forms.Padding(2);
this.tbIOCfgPath.Name = "tbIOCfgPath";
this.tbIOCfgPath.Size = new System.Drawing.Size(604, 21);
this.tbIOCfgPath.TabIndex = 7;
this.tbIOCfgPath.DoubleClick += new System.EventHandler(this.tbPathFile_Click);
//
// label8
//
this.label8.AutoSize = true;
this.label8.BackColor = System.Drawing.Color.Transparent;
this.label8.ForeColor = System.Drawing.Color.Black;
this.label8.Location = new System.Drawing.Point(10, 60);
this.label8.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(89, 12);
this.label8.TabIndex = 6;
this.label8.Text = "配置文件路径:";
//
// tbIODevNum // tbIODevNum
// //
this.tbIODevNum.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) this.tbIODevNum.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
@ -1613,109 +1711,11 @@
this.skinTabControl1.PageImagePosition = CCWin.SkinControl.SkinTabControl.ePageImagePosition.Left; this.skinTabControl1.PageImagePosition = CCWin.SkinControl.SkinTabControl.ePageImagePosition.Left;
this.skinTabControl1.PageNorml = null; this.skinTabControl1.PageNorml = null;
this.skinTabControl1.PageNormlTxtColor = System.Drawing.Color.White; this.skinTabControl1.PageNormlTxtColor = System.Drawing.Color.White;
this.skinTabControl1.SelectedIndex = 1; this.skinTabControl1.SelectedIndex = 3;
this.skinTabControl1.Size = new System.Drawing.Size(723, 517); this.skinTabControl1.Size = new System.Drawing.Size(723, 517);
this.skinTabControl1.SizeMode = System.Windows.Forms.TabSizeMode.Fixed; this.skinTabControl1.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
this.skinTabControl1.TabIndex = 22; this.skinTabControl1.TabIndex = 22;
// //
// label7
//
this.label7.AutoSize = true;
this.label7.BackColor = System.Drawing.Color.Transparent;
this.label7.ForeColor = System.Drawing.Color.Black;
this.label7.Location = new System.Drawing.Point(10, 60);
this.label7.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(89, 12);
this.label7.TabIndex = 4;
this.label7.Text = "配置文件路径:";
//
// tbCamCfgPath
//
this.tbCamCfgPath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tbCamCfgPath.Location = new System.Drawing.Point(103, 57);
this.tbCamCfgPath.Margin = new System.Windows.Forms.Padding(2);
this.tbCamCfgPath.Name = "tbCamCfgPath";
this.tbCamCfgPath.Size = new System.Drawing.Size(604, 21);
this.tbCamCfgPath.TabIndex = 5;
this.tbCamCfgPath.DoubleClick += new System.EventHandler(this.tbPathFile_Click);
//
// panel5
//
this.panel5.BackColor = System.Drawing.Color.White;
this.panel5.Controls.Add(this.tbMotionCfgPath);
this.panel5.Controls.Add(this.label6);
this.panel5.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel5.Location = new System.Drawing.Point(2, 16);
this.panel5.Margin = new System.Windows.Forms.Padding(2);
this.panel5.Name = "panel5";
this.panel5.Size = new System.Drawing.Size(715, 50);
this.panel5.TabIndex = 0;
//
// groupBox5
//
this.groupBox5.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.groupBox5.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(8)))), ((int)(((byte)(31)))), ((int)(((byte)(120)))));
this.groupBox5.Controls.Add(this.panel5);
this.groupBox5.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.groupBox5.ForeColor = System.Drawing.Color.White;
this.groupBox5.Location = new System.Drawing.Point(1, 201);
this.groupBox5.Margin = new System.Windows.Forms.Padding(2);
this.groupBox5.Name = "groupBox5";
this.groupBox5.Padding = new System.Windows.Forms.Padding(2);
this.groupBox5.Size = new System.Drawing.Size(719, 68);
this.groupBox5.TabIndex = 28;
this.groupBox5.TabStop = false;
this.groupBox5.Text = "电机配置";
//
// tbMotionCfgPath
//
this.tbMotionCfgPath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tbMotionCfgPath.Location = new System.Drawing.Point(103, 18);
this.tbMotionCfgPath.Margin = new System.Windows.Forms.Padding(2);
this.tbMotionCfgPath.Name = "tbMotionCfgPath";
this.tbMotionCfgPath.Size = new System.Drawing.Size(604, 21);
this.tbMotionCfgPath.TabIndex = 5;
this.tbMotionCfgPath.DoubleClick += new System.EventHandler(this.tbPathFile_Click);
//
// label6
//
this.label6.AutoSize = true;
this.label6.BackColor = System.Drawing.Color.Transparent;
this.label6.ForeColor = System.Drawing.Color.Black;
this.label6.Location = new System.Drawing.Point(10, 21);
this.label6.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(89, 12);
this.label6.TabIndex = 4;
this.label6.Text = "配置文件路径:";
//
// label8
//
this.label8.AutoSize = true;
this.label8.BackColor = System.Drawing.Color.Transparent;
this.label8.ForeColor = System.Drawing.Color.Black;
this.label8.Location = new System.Drawing.Point(10, 60);
this.label8.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(89, 12);
this.label8.TabIndex = 6;
this.label8.Text = "配置文件路径:";
//
// tbIOCfgPath
//
this.tbIOCfgPath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tbIOCfgPath.Location = new System.Drawing.Point(103, 57);
this.tbIOCfgPath.Margin = new System.Windows.Forms.Padding(2);
this.tbIOCfgPath.Name = "tbIOCfgPath";
this.tbIOCfgPath.Size = new System.Drawing.Size(604, 21);
this.tbIOCfgPath.TabIndex = 7;
this.tbIOCfgPath.DoubleClick += new System.EventHandler(this.tbPathFile_Click);
//
// SysSetFrm // SysSetFrm
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
@ -1781,6 +1781,9 @@
this.groupBox7.ResumeLayout(false); this.groupBox7.ResumeLayout(false);
this.panel7.ResumeLayout(false); this.panel7.ResumeLayout(false);
this.panel7.PerformLayout(); this.panel7.PerformLayout();
this.groupBox5.ResumeLayout(false);
this.panel5.ResumeLayout(false);
this.panel5.PerformLayout();
this.groupBox3.ResumeLayout(false); this.groupBox3.ResumeLayout(false);
this.panel3.ResumeLayout(false); this.panel3.ResumeLayout(false);
this.panel3.PerformLayout(); this.panel3.PerformLayout();
@ -1791,9 +1794,6 @@
this.skinTabPage1.ResumeLayout(false); this.skinTabPage1.ResumeLayout(false);
this.skinTabPage1.PerformLayout(); this.skinTabPage1.PerformLayout();
this.skinTabControl1.ResumeLayout(false); this.skinTabControl1.ResumeLayout(false);
this.panel5.ResumeLayout(false);
this.panel5.PerformLayout();
this.groupBox5.ResumeLayout(false);
this.ResumeLayout(false); this.ResumeLayout(false);
this.PerformLayout(); this.PerformLayout();

View File

@ -134,11 +134,12 @@
<data name="tsbtnDataSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="tsbtnDataSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAD9SURBVFhH7ZZRDoIwEER7FI/iJaC/3MSDAOEDEo/hUTyK YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAD+SURBVFhH7ZZRDoIwEER7FI/iIZT+chMPAoQPmngMj+JR
MktpqoLudmtIlUlegoQOw3YwmF1ZaLBN1Rf1VcPZdgdnJxcMBtveVBTtxdnJ1dv6GMNQNqfoABjZkikX lFlKUxV0t1tDUCZ5CRI6DNvBYDatQs7WZXeorhrOtt15O7lg4GxzU3FsLt5Ors5W+xRcUZ+SA2BkU6Zc
Z2NwY3EAGPjksbgb+imIApRt92IoBL2BV1QAPzYl5KUNME2jqfikDhAUiqPwlcXvHwgwGmIbuMzrAHll vI3BjcUBYBCSp+JvGKYgClA07YuhEPQGXkkBwtiUkJc2wDCNuuSTO0BUKI7iVxa/fyBAb4ht4DKuA+S1
X0IN5KXeAhrrUtvXSB3g798CHD83/R1+3Qh5ZV9CDeSl7gDGChMubh0gr/lcdIBEJcSD0AUcfSMA/iPo +hJqIC/1FtBYp9o+R+4Af/8W4Pi56e8I63rIa/Ul1EBe6g5grDDh4tcB8hrPJQfIVEI8CF3A0TcC4D+C
Ao7CADgOW/4Jv24EXvi0E38RPwRQ4Ozk2jwA9l0TYuqBYM93bSdj7r/ZSUgYh3T1AAAAAElFTkSuQmCC LuAoDoDjuOWfCOt64IVPO/EX8UMABd5OrsUDYN81IYYeCPZ803Iy5g6LvEkuDOf1/gAAAABJRU5ErkJg
gg==
</value> </value>
</data> </data>
<data name="tsbtnExit.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="tsbtnExit.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">

View File

@ -1,5 +1,5 @@
#PointsConfig.ini #PointsConfig.ini
[LoadPoint] [LoadPoint]
X=0 X=0
Y=40 Y=0
Z=0 Z=-17.738

View File

@ -0,0 +1,9 @@
08
1 1270
1 8379
1 1270
1 8379
1 1269
1 1269
1 8377
1 8377

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 MiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 MiB

View File

@ -0,0 +1,9 @@
08
1 1270
1 8379
1 1270
1 8379
1 1269
1 1269
1 8377
1 8377

View File

@ -0,0 +1,5 @@
04
2 1.0000000000000000e+00
2 0.0000000000000000e+00
2 5.0000000000000000e-01
2 0.0000000000000000e+00

View File

@ -0,0 +1,9 @@
08
2 2.2383394495412845e+03
2 7.2284604651162790e+03
2 2.2383548387096776e+03
2 7.2285000000000000e+03
2 2.1778577981651374e+03
2 2.1779906976744187e+03
2 7.2856451612903229e+03
2 7.2856000000000004e+03

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 MiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 MiB

View File

@ -0,0 +1,5 @@
04
2 2.0000000000000000e+00
2 3.0000000000000000e+00
2 5.0000000000000000e-01
2 1.0000000000000000e+00

View File

@ -2,52 +2,52 @@
[SaveAllImg] [SaveAllImg]
SaveAllImg=False SaveAllImg=False
[DefectBigImag] [DefectBigImag]
SavePath=D:\AllImageSave\DefectBigImag SavePath=D:\Image\缺陷图
AutoSave=True AutoSave=True
AutoDelete=True AutoDelete=True
AutoDeleteDays=3 AutoDeleteDays=3
[DefectSmallImag] [DefectSmallImag]
SavePath=D:\AllImageSave\DefectSmallImag SavePath=D:\Image\缺陷小图
AutoSave=True AutoSave=True
AutoDelete=True AutoDelete=True
AutoDeleteDays=3 AutoDeleteDays=3
[DefectRepairImag] [DefectRepairImag]
SavePath=D:\AllImageSave\DefectRepairImag SavePath=D:\Image\修复台复现图片
AutoSave=True AutoSave=True
AutoDelete=True AutoDelete=True
AutoDeleteDays=3 AutoDeleteDays=3
[SizeBigImag] [SizeBigImag]
SavePath=D:\AllImageSave\SizeBigImag SavePath=D:\Image\尺寸图
AutoSave=True AutoSave=True
AutoDelete=True AutoDelete=True
AutoDeleteDays=3 AutoDeleteDays=3
[SizeNGImag] [SizeNGImag]
SavePath=D:\AllImageSave\SizeNGImag SavePath=D:\Image\未通过图片
AutoSave=True AutoSave=True
AutoDelete=True AutoDelete=True
AutoDeleteDays=3 AutoDeleteDays=3
[SizeRepairImag] [SizeRepairImag]
SavePath=D:\AllImageSave\SizeRepairImag SavePath=D:\Image\打标未通过图片
AutoSave=True AutoSave=True
AutoDelete=True AutoDelete=True
AutoDeleteDays=3 AutoDeleteDays=3
[Log] [Log]
SavePath=D:\경꺽却\AOI\MaiMuAOI\MaiMuAOI\bin\x64\Debug\LogFiles SavePath=D:\AOI\Debug\LogFiles
AutoDelete=False AutoDelete=False
AutoDeleteDays=0 AutoDeleteDays=0
[SysFunction] [SysFunction]
OpenMarkErrorStop=True OpenMarkErrorStop=True
OpenBuzzer=True OpenBuzzer=True
OpenDoor=True OpenDoor=False
OpenHttpLog=False OpenHttpLog=False
[Dev] [Dev]
LightCom=COM2 LightCom=COM2
LightComBaud=9600 LightComBaud=9600
IODevName=PCI-1730,BID#0 IODevName=PCI-1730,BID#0
IOCfgPath=D:\경꺽却\AOI\MaiMuAOI\MaiMuAOI\bin\x64\Debug\ConfigFiles\IOCard_default.xml IOCfgPath=D:\AOI\Debug\ConfigFiles\IOCard_default.xml
MotionCfgPath=D:\경꺽却\AOI\MaiMuAOI\MaiMuAOI\bin\x64\Debug\ConfigFiles\Axis_default.cfg MotionCfgPath=D:\AOI\Debug\ConfigFiles\Axis_default.cfg
CamCfgPath=C:\Program Files (x86)\Common Files\MVS\Runtime\Win64_x64\MvFGProducerCXP.cti CamCfgPath=C:\Program Files (x86)\Common Files\MVS\Runtime\Win64_x64\MvFGProducerCXP.cti
CamName=DA1185031 CamName=DA1215700
[Disable] [Disable]
DisableX=False DisableX=False
DisableY=False DisableY=False
@ -55,7 +55,7 @@ DisableZ=False
DisableCam=False DisableCam=False
DisableLight=False DisableLight=False
[Sys] [Sys]
ImageProcessPath=C:\Users\admin\AppData\Local\Programs\MVTec\HALCON-21.05-Progress\procedures\general ImageProcessPath=C:\Users\user\AppData\Local\Programs\MVTec\HALCON-21.05-Progress\procedures\general
AIModelPath=D:\경꺽却\AOI\MaiMuAOI\MaiMuAOI\bin\x64\Debug\ConfigFiles\onnxFiles AIModelPath=D:\AOI\Debug\ConfigFiles\onnxFiles
HttpServerIP=192.168.123.101 HttpServerIP=127.0.0.1
HttpServerPort=18082 HttpServerPort=18082

View File

@ -47,3 +47,62 @@ Global捕获到未处理异常System.OverflowException
在 System.Windows.Forms.Control.Invoke(Delegate method, Object[] args) 在 System.Windows.Forms.Control.Invoke(Delegate method, Object[] args)
在 MaiMuAOI.MainFrm.ShowUIEvent(RunEventArgs e) 位置 D:\版博士\AOI\MaiMuAOI\MaiMuAOI\MainFrm.cs:行号 393 在 MaiMuAOI.MainFrm.ShowUIEvent(RunEventArgs e) 位置 D:\版博士\AOI\MaiMuAOI\MaiMuAOI\MainFrm.cs:行号 393
2023-11-23 11:17:46
Global捕获到未处理异常System.ArgumentOutOfRangeException
异常信息InvalidArgument=“0”的值对于“index”无效。
参数名: index
异常堆栈: 在 System.Windows.Forms.ComboBox.ObjectCollection.get_Item(Int32 index)
在 System.Windows.Forms.ComboBox.get_Text()
在 System.Windows.Forms.ComboBox.WmReflectCommand(Message& m)
在 System.Windows.Forms.ComboBox.WndProc(Message& m)
在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
2023-11-23 11:18:12
Global捕获到未处理异常System.ArgumentOutOfRangeException
异常信息InvalidArgument=“0”的值对于“index”无效。
参数名: index
异常堆栈: 在 System.Windows.Forms.ComboBox.ObjectCollection.get_Item(Int32 index)
在 System.Windows.Forms.ComboBox.get_Text()
在 MaiMuAOI.MainFrm.cobList_TextUpdate(Object sender, EventArgs e) 位置 E:\CPL\迈沐智能项目\2023\AOI 版博士\程序\MaiMuAOI\MaiMuAOI\MainFrm.cs:行号 852
在 System.Windows.Forms.ComboBox.OnTextUpdate(EventArgs e)
在 System.Windows.Forms.ComboBox.WmReflectCommand(Message& m)
在 System.Windows.Forms.ComboBox.WndProc(Message& m)
在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
2023-11-23 13:27:40
Global捕获到未处理异常System.ArgumentOutOfRangeException
异常信息InvalidArgument=“0”的值对于“index”无效。
参数名: index
异常堆栈: 在 System.Windows.Forms.ComboBox.ObjectCollection.get_Item(Int32 index)
在 System.Windows.Forms.ComboBox.get_Text()
在 System.Windows.Forms.ComboBox.WmReflectCommand(Message& m)
在 System.Windows.Forms.ComboBox.WndProc(Message& m)
在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
2023-11-23 13:28:14
Global捕获到未处理异常System.ArgumentOutOfRangeException
异常信息InvalidArgument=“0”的值对于“index”无效。
参数名: index
异常堆栈: 在 System.Windows.Forms.ComboBox.ObjectCollection.get_Item(Int32 index)
在 System.Windows.Forms.ComboBox.get_Text()
在 MaiMuAOI.MainFrm.tsbtnStart_Click(Object sender, EventArgs e) 位置 E:\CPL\迈沐智能项目\2023\AOI 版博士\程序\MaiMuAOI\MaiMuAOI\MainFrm.cs:行号 586
在 System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
在 System.Windows.Forms.ToolStripButton.OnClick(EventArgs e)
在 System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
在 System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
在 System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
在 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
在 System.Windows.Forms.Control.WndProc(Message& m)
在 System.Windows.Forms.ToolStrip.WndProc(Message& m)
在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
2023-11-23 13:31:08
Global捕获到未处理异常System.ArgumentOutOfRangeException
异常信息InvalidArgument=“0”的值对于“index”无效。
参数名: index
异常堆栈: 在 System.Windows.Forms.ComboBox.ObjectCollection.get_Item(Int32 index)
在 System.Windows.Forms.ComboBox.get_Text()
在 System.Windows.Forms.ComboBox.WmReflectCommand(Message& m)
在 System.Windows.Forms.ComboBox.WndProc(Message& m)
在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +1,3 @@
2023/11/15-10:57:39.897 2c94 Reusing MANIFEST E:\MaiMu\MaiMuAOI\MaiMuAOI\bin\x64\Debug\MaiMuAOI.exe.WebView2\EBWebView\Default\Extension Rules/MANIFEST-000001 2023/11/24-12:35:15.109 4f5c Reusing MANIFEST E:\MaiMuAOI\MaiMuAOI\bin\x64\Debug\MaiMuAOI.exe.WebView2\EBWebView\Default\Extension Rules/MANIFEST-000001
2023/11/15-10:57:39.906 2c94 Recovering log #3 2023/11/24-12:35:15.125 4f5c Recovering log #3
2023/11/15-10:57:39.962 2c94 Reusing old log E:\MaiMu\MaiMuAOI\MaiMuAOI\bin\x64\Debug\MaiMuAOI.exe.WebView2\EBWebView\Default\Extension Rules/000003.log 2023/11/24-12:35:15.148 4f5c Reusing old log E:\MaiMuAOI\MaiMuAOI\bin\x64\Debug\MaiMuAOI.exe.WebView2\EBWebView\Default\Extension Rules/000003.log

View File

@ -1,3 +1,3 @@
2023/11/15-08:36:17.030 222c Reusing MANIFEST E:\CPL\迈沐智能项目\2023\AOI 版博士\程序\MaiMuAOI\MaiMuAOI\bin\x64\Debug\MaiMuAOI.exe.WebView2\EBWebView\Default\Extension Rules/MANIFEST-000001 2023/11/23-15:57:12.849 ca30 Reusing MANIFEST E:\CPL\迈沐智能项目\2023\AOI 版博士\程序\MaiMuAOI\MaiMuAOI\bin\x64\Debug\MaiMuAOI.exe.WebView2\EBWebView\Default\Extension Rules/MANIFEST-000001
2023/11/15-08:36:17.031 222c Recovering log #3 2023/11/23-15:57:12.849 ca30 Recovering log #3
2023/11/15-08:36:17.031 222c Reusing old log E:\CPL\迈沐智能项目\2023\AOI 版博士\程序\MaiMuAOI\MaiMuAOI\bin\x64\Debug\MaiMuAOI.exe.WebView2\EBWebView\Default\Extension Rules/000003.log 2023/11/23-15:57:12.849 ca30 Reusing old log E:\CPL\迈沐智能项目\2023\AOI 版博士\程序\MaiMuAOI\MaiMuAOI\bin\x64\Debug\MaiMuAOI.exe.WebView2\EBWebView\Default\Extension Rules/000003.log

View File

@ -1,3 +1,3 @@
2023/11/15-10:57:40.238 2c94 Reusing MANIFEST E:\MaiMu\MaiMuAOI\MaiMuAOI\bin\x64\Debug\MaiMuAOI.exe.WebView2\EBWebView\Default\Extension Scripts/MANIFEST-000001 2023/11/24-12:35:15.225 4f5c Reusing MANIFEST E:\MaiMuAOI\MaiMuAOI\bin\x64\Debug\MaiMuAOI.exe.WebView2\EBWebView\Default\Extension Scripts/MANIFEST-000001
2023/11/15-10:57:40.250 2c94 Recovering log #3 2023/11/24-12:35:15.226 4f5c Recovering log #3
2023/11/15-10:57:51.954 2c94 Reusing old log E:\MaiMu\MaiMuAOI\MaiMuAOI\bin\x64\Debug\MaiMuAOI.exe.WebView2\EBWebView\Default\Extension Scripts/000003.log 2023/11/24-12:35:15.256 4f5c Reusing old log E:\MaiMuAOI\MaiMuAOI\bin\x64\Debug\MaiMuAOI.exe.WebView2\EBWebView\Default\Extension Scripts/000003.log

View File

@ -1,3 +1,3 @@
2023/11/15-08:36:17.129 222c Reusing MANIFEST E:\CPL\迈沐智能项目\2023\AOI 版博士\程序\MaiMuAOI\MaiMuAOI\bin\x64\Debug\MaiMuAOI.exe.WebView2\EBWebView\Default\Extension Scripts/MANIFEST-000001 2023/11/23-15:57:12.903 ca30 Reusing MANIFEST E:\CPL\迈沐智能项目\2023\AOI 版博士\程序\MaiMuAOI\MaiMuAOI\bin\x64\Debug\MaiMuAOI.exe.WebView2\EBWebView\Default\Extension Scripts/MANIFEST-000001
2023/11/15-08:36:17.130 222c Recovering log #3 2023/11/23-15:57:12.904 ca30 Recovering log #3
2023/11/15-08:36:17.130 222c Reusing old log E:\CPL\迈沐智能项目\2023\AOI 版博士\程序\MaiMuAOI\MaiMuAOI\bin\x64\Debug\MaiMuAOI.exe.WebView2\EBWebView\Default\Extension Scripts/000003.log 2023/11/23-15:57:12.904 ca30 Reusing old log E:\CPL\迈沐智能项目\2023\AOI 版博士\程序\MaiMuAOI\MaiMuAOI\bin\x64\Debug\MaiMuAOI.exe.WebView2\EBWebView\Default\Extension Scripts/000003.log

View File

@ -1,3 +1,3 @@
2023/11/15-10:58:00.238 2c94 Reusing MANIFEST E:\MaiMu\MaiMuAOI\MaiMuAOI\bin\x64\Debug\MaiMuAOI.exe.WebView2\EBWebView\Default\Extension State/MANIFEST-000001 2023/11/24-12:35:15.379 4f5c Reusing MANIFEST E:\MaiMuAOI\MaiMuAOI\bin\x64\Debug\MaiMuAOI.exe.WebView2\EBWebView\Default\Extension State/MANIFEST-000001
2023/11/15-10:58:00.238 2c94 Recovering log #3 2023/11/24-12:35:15.380 4f5c Recovering log #3
2023/11/15-10:58:00.244 2c94 Reusing old log E:\MaiMu\MaiMuAOI\MaiMuAOI\bin\x64\Debug\MaiMuAOI.exe.WebView2\EBWebView\Default\Extension State/000003.log 2023/11/24-12:35:15.399 4f5c Reusing old log E:\MaiMuAOI\MaiMuAOI\bin\x64\Debug\MaiMuAOI.exe.WebView2\EBWebView\Default\Extension State/000003.log

View File

@ -1,3 +1,3 @@
2023/11/15-08:36:17.159 222c Reusing MANIFEST E:\CPL\迈沐智能项目\2023\AOI 版博士\程序\MaiMuAOI\MaiMuAOI\bin\x64\Debug\MaiMuAOI.exe.WebView2\EBWebView\Default\Extension State/MANIFEST-000001 2023/11/23-15:57:13.118 2450 Reusing MANIFEST E:\CPL\迈沐智能项目\2023\AOI 版博士\程序\MaiMuAOI\MaiMuAOI\bin\x64\Debug\MaiMuAOI.exe.WebView2\EBWebView\Default\Extension State/MANIFEST-000001
2023/11/15-08:36:17.159 222c Recovering log #3 2023/11/23-15:57:13.118 2450 Recovering log #3
2023/11/15-08:36:17.159 222c Reusing old log E:\CPL\迈沐智能项目\2023\AOI 版博士\程序\MaiMuAOI\MaiMuAOI\bin\x64\Debug\MaiMuAOI.exe.WebView2\EBWebView\Default\Extension State/000003.log 2023/11/23-15:57:13.119 2450 Reusing old log E:\CPL\迈沐智能项目\2023\AOI 版博士\程序\MaiMuAOI\MaiMuAOI\bin\x64\Debug\MaiMuAOI.exe.WebView2\EBWebView\Default\Extension State/000003.log

View File

@ -1,3 +1,3 @@
2023/11/15-10:57:40.251 3584 Reusing MANIFEST E:\MaiMu\MaiMuAOI\MaiMuAOI\bin\x64\Debug\MaiMuAOI.exe.WebView2\EBWebView\Default\Local Storage\leveldb/MANIFEST-000001 2023/11/24-12:35:15.154 4ac Reusing MANIFEST E:\MaiMuAOI\MaiMuAOI\bin\x64\Debug\MaiMuAOI.exe.WebView2\EBWebView\Default\Local Storage\leveldb/MANIFEST-000001
2023/11/15-10:57:53.971 3584 Recovering log #3 2023/11/24-12:35:15.162 4ac Recovering log #3
2023/11/15-10:57:58.027 3584 Reusing old log E:\MaiMu\MaiMuAOI\MaiMuAOI\bin\x64\Debug\MaiMuAOI.exe.WebView2\EBWebView\Default\Local Storage\leveldb/000003.log 2023/11/24-12:35:15.187 4ac Reusing old log E:\MaiMuAOI\MaiMuAOI\bin\x64\Debug\MaiMuAOI.exe.WebView2\EBWebView\Default\Local Storage\leveldb/000003.log

View File

@ -1,3 +1,3 @@
2023/11/15-08:36:17.135 7fc8 Reusing MANIFEST E:\CPL\迈沐智能项目\2023\AOI 版博士\程序\MaiMuAOI\MaiMuAOI\bin\x64\Debug\MaiMuAOI.exe.WebView2\EBWebView\Default\Local Storage\leveldb/MANIFEST-000001 2023/11/23-15:57:13.232 4d8c Reusing MANIFEST E:\CPL\迈沐智能项目\2023\AOI 版博士\程序\MaiMuAOI\MaiMuAOI\bin\x64\Debug\MaiMuAOI.exe.WebView2\EBWebView\Default\Local Storage\leveldb/MANIFEST-000001
2023/11/15-08:36:17.138 7fc8 Recovering log #3 2023/11/23-15:57:13.235 4d8c Recovering log #3
2023/11/15-08:36:17.141 7fc8 Reusing old log E:\CPL\迈沐智能项目\2023\AOI 版博士\程序\MaiMuAOI\MaiMuAOI\bin\x64\Debug\MaiMuAOI.exe.WebView2\EBWebView\Default\Local Storage\leveldb/000003.log 2023/11/23-15:57:13.237 4d8c Reusing old log E:\CPL\迈沐智能项目\2023\AOI 版博士\程序\MaiMuAOI\MaiMuAOI\bin\x64\Debug\MaiMuAOI.exe.WebView2\EBWebView\Default\Local Storage\leveldb/000003.log

View File

@ -1 +1 @@
{"net":{"http_server_properties":{"servers":[{"anonymization":["HAAAABUAAABodHRwczovL21pY3Jvc29mdC5jb20AAAA=",false],"server":"https://edge.microsoft.com","supports_spdy":true}],"version":5},"network_qualities":{"CAESABiAgICA+P////8B":"4G"}}} {"net":{"http_server_properties":{"servers":[{"anonymization":["HAAAABUAAABodHRwczovL21pY3Jvc29mdC5jb20AAAA=",false],"server":"https://edge.microsoft.com","supports_spdy":true}],"version":5},"network_qualities":{"CAASABiAgICA+P////8B":"4G","CAESABiAgICA+P////8B":"4G"}}}

View File

@ -1 +1 @@
{"sts":[{"expiry":1731543738.245661,"host":"a1ZTYlNSUSrj8xKbRz2eU2pqvpuOBdbHFtk7jbKGSQI=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1700007738.245663}],"version":2} {"sts":[{"expiry":1732336516.360725,"host":"a1ZTYlNSUSrj8xKbRz2eU2pqvpuOBdbHFtk7jbKGSQI=","mode":"force-https","sts_include_subdomains":true,"sts_observed":1700800516.360729}],"version":2}

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More