初始化提交
仓库转移到Gitea,初始化提交,可能丢失以前的git版本日志
This commit is contained in:
446
SQLliteReading/AUTS_Package/ZQ/Mars(备份)/P2-称重/ZQ_Mars_P2_FrmStationPlan.Designer.vb
generated
Normal file
446
SQLliteReading/AUTS_Package/ZQ/Mars(备份)/P2-称重/ZQ_Mars_P2_FrmStationPlan.Designer.vb
generated
Normal file
@@ -0,0 +1,446 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class ZQ_Mars_T2_FrmStationPlan
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Form 重写 Dispose,以清理组件列表。
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Windows 窗体设计器所必需的
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'注意: 以下过程是 Windows 窗体设计器所必需的
|
||||
'可以使用 Windows 窗体设计器修改它。
|
||||
'不要使用代码编辑器修改它。
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Me.components = New System.ComponentModel.Container()
|
||||
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(ZQ_Mars_T2_FrmStationPlan))
|
||||
Me.MsiCopyNode = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.MsiNodePaste = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.ToolStripSeparator5 = New System.Windows.Forms.ToolStripSeparator()
|
||||
Me.MsiUndo = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.MsiRedo = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.ToolStripSeparator6 = New System.Windows.Forms.ToolStripSeparator()
|
||||
Me.MsiSaveNodeFile = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.MsiLoadNodeFile = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.TsmiDebugStart = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.GroupBox1 = New System.Windows.Forms.GroupBox()
|
||||
Me.TsBtnOpen = New System.Windows.Forms.ToolStripButton()
|
||||
Me.TsBtnSave = New System.Windows.Forms.ToolStripButton()
|
||||
Me.ToolStripSeparator4 = New System.Windows.Forms.ToolStripSeparator()
|
||||
Me.TsBtnLoad = New System.Windows.Forms.ToolStripButton()
|
||||
Me.TsBtnSaveAs = New System.Windows.Forms.ToolStripButton()
|
||||
Me.ToolStripSeparator3 = New System.Windows.Forms.ToolStripSeparator()
|
||||
Me.MsiCutNode = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.ToolStrip1 = New System.Windows.Forms.ToolStrip()
|
||||
Me.CmsPlanGrid = New System.Windows.Forms.ContextMenuStrip(Me.components)
|
||||
Me.ToolStripSeparator7 = New System.Windows.Forms.ToolStripSeparator()
|
||||
Me.TsmiDebugEnd = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.TsmiDebugStep = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.TsmiDebugContinue = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.ToolStripSeparator8 = New System.Windows.Forms.ToolStripSeparator()
|
||||
Me.TsmiDebugSetup = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.TsmiDebugMain = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.TsmiDebugPass = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.TsmiDebugFail = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.TsmiDebugCleanup = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.ToolStripSeparator9 = New System.Windows.Forms.ToolStripSeparator()
|
||||
Me.TsmiDebugNode = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.TsmiDebugNodeBegin = New System.Windows.Forms.ToolStripMenuItem()
|
||||
Me.StuMain = New System.Windows.Forms.StatusStrip()
|
||||
Me.DlgOpenFile = New System.Windows.Forms.OpenFileDialog()
|
||||
Me.SplitContainer1 = New System.Windows.Forms.SplitContainer()
|
||||
Me.GroupBox2 = New System.Windows.Forms.GroupBox()
|
||||
Me.LblDesc = New System.Windows.Forms.Label()
|
||||
Me.GrdStationPlan = New FlexCell.Grid()
|
||||
Me.Grid1 = New FlexCell.Grid()
|
||||
Me.ToolStrip1.SuspendLayout()
|
||||
Me.CmsPlanGrid.SuspendLayout()
|
||||
CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.SplitContainer1.Panel1.SuspendLayout()
|
||||
Me.SplitContainer1.Panel2.SuspendLayout()
|
||||
Me.SplitContainer1.SuspendLayout()
|
||||
Me.GroupBox2.SuspendLayout()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'MsiCopyNode
|
||||
'
|
||||
Me.MsiCopyNode.Enabled = False
|
||||
Me.MsiCopyNode.Name = "MsiCopyNode"
|
||||
Me.MsiCopyNode.Size = New System.Drawing.Size(192, 22)
|
||||
Me.MsiCopyNode.Text = "复制"
|
||||
'
|
||||
'MsiNodePaste
|
||||
'
|
||||
Me.MsiNodePaste.Enabled = False
|
||||
Me.MsiNodePaste.Name = "MsiNodePaste"
|
||||
Me.MsiNodePaste.Size = New System.Drawing.Size(192, 22)
|
||||
Me.MsiNodePaste.Text = "粘贴"
|
||||
'
|
||||
'ToolStripSeparator5
|
||||
'
|
||||
Me.ToolStripSeparator5.Name = "ToolStripSeparator5"
|
||||
Me.ToolStripSeparator5.Size = New System.Drawing.Size(189, 6)
|
||||
'
|
||||
'MsiUndo
|
||||
'
|
||||
Me.MsiUndo.Enabled = False
|
||||
Me.MsiUndo.Name = "MsiUndo"
|
||||
Me.MsiUndo.Size = New System.Drawing.Size(192, 22)
|
||||
Me.MsiUndo.Text = "撤销"
|
||||
'
|
||||
'MsiRedo
|
||||
'
|
||||
Me.MsiRedo.Enabled = False
|
||||
Me.MsiRedo.Name = "MsiRedo"
|
||||
Me.MsiRedo.Size = New System.Drawing.Size(192, 22)
|
||||
Me.MsiRedo.Text = "重做"
|
||||
'
|
||||
'ToolStripSeparator6
|
||||
'
|
||||
Me.ToolStripSeparator6.Name = "ToolStripSeparator6"
|
||||
Me.ToolStripSeparator6.Size = New System.Drawing.Size(189, 6)
|
||||
'
|
||||
'MsiSaveNodeFile
|
||||
'
|
||||
Me.MsiSaveNodeFile.Name = "MsiSaveNodeFile"
|
||||
Me.MsiSaveNodeFile.Size = New System.Drawing.Size(192, 22)
|
||||
Me.MsiSaveNodeFile.Text = "另存为节点文件"
|
||||
'
|
||||
'MsiLoadNodeFile
|
||||
'
|
||||
Me.MsiLoadNodeFile.Name = "MsiLoadNodeFile"
|
||||
Me.MsiLoadNodeFile.Size = New System.Drawing.Size(192, 22)
|
||||
Me.MsiLoadNodeFile.Text = "加载节点文件"
|
||||
'
|
||||
'TsmiDebugStart
|
||||
'
|
||||
Me.TsmiDebugStart.Name = "TsmiDebugStart"
|
||||
Me.TsmiDebugStart.ShortcutKeys = System.Windows.Forms.Keys.F1
|
||||
Me.TsmiDebugStart.Size = New System.Drawing.Size(192, 22)
|
||||
Me.TsmiDebugStart.Text = "开始执行"
|
||||
'
|
||||
'GroupBox1
|
||||
'
|
||||
Me.GroupBox1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.GroupBox1.Font = New System.Drawing.Font("微软雅黑", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(134, Byte))
|
||||
Me.GroupBox1.Location = New System.Drawing.Point(0, 0)
|
||||
Me.GroupBox1.Name = "GroupBox1"
|
||||
Me.GroupBox1.Size = New System.Drawing.Size(536, 561)
|
||||
Me.GroupBox1.TabIndex = 0
|
||||
Me.GroupBox1.TabStop = False
|
||||
Me.GroupBox1.Text = "常规预览"
|
||||
'
|
||||
'TsBtnOpen
|
||||
'
|
||||
Me.TsBtnOpen.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte))
|
||||
Me.TsBtnOpen.Image = CType(resources.GetObject("TsBtnOpen.Image"), System.Drawing.Image)
|
||||
Me.TsBtnOpen.ImageTransparentColor = System.Drawing.Color.Magenta
|
||||
Me.TsBtnOpen.Name = "TsBtnOpen"
|
||||
Me.TsBtnOpen.Size = New System.Drawing.Size(35, 33)
|
||||
Me.TsBtnOpen.Text = "打开"
|
||||
Me.TsBtnOpen.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText
|
||||
'
|
||||
'TsBtnSave
|
||||
'
|
||||
Me.TsBtnSave.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte))
|
||||
Me.TsBtnSave.Image = CType(resources.GetObject("TsBtnSave.Image"), System.Drawing.Image)
|
||||
Me.TsBtnSave.ImageTransparentColor = System.Drawing.Color.Magenta
|
||||
Me.TsBtnSave.Name = "TsBtnSave"
|
||||
Me.TsBtnSave.Size = New System.Drawing.Size(35, 33)
|
||||
Me.TsBtnSave.Text = "保存"
|
||||
Me.TsBtnSave.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText
|
||||
'
|
||||
'ToolStripSeparator4
|
||||
'
|
||||
Me.ToolStripSeparator4.Name = "ToolStripSeparator4"
|
||||
Me.ToolStripSeparator4.Size = New System.Drawing.Size(6, 36)
|
||||
'
|
||||
'TsBtnLoad
|
||||
'
|
||||
Me.TsBtnLoad.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte))
|
||||
Me.TsBtnLoad.Image = CType(resources.GetObject("TsBtnLoad.Image"), System.Drawing.Image)
|
||||
Me.TsBtnLoad.ImageTransparentColor = System.Drawing.Color.Magenta
|
||||
Me.TsBtnLoad.Name = "TsBtnLoad"
|
||||
Me.TsBtnLoad.Size = New System.Drawing.Size(35, 33)
|
||||
Me.TsBtnLoad.Text = "重载"
|
||||
Me.TsBtnLoad.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText
|
||||
'
|
||||
'TsBtnSaveAs
|
||||
'
|
||||
Me.TsBtnSaveAs.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte))
|
||||
Me.TsBtnSaveAs.Image = CType(resources.GetObject("TsBtnSaveAs.Image"), System.Drawing.Image)
|
||||
Me.TsBtnSaveAs.ImageTransparentColor = System.Drawing.Color.Magenta
|
||||
Me.TsBtnSaveAs.Name = "TsBtnSaveAs"
|
||||
Me.TsBtnSaveAs.Size = New System.Drawing.Size(35, 33)
|
||||
Me.TsBtnSaveAs.Text = "导出"
|
||||
Me.TsBtnSaveAs.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText
|
||||
'
|
||||
'ToolStripSeparator3
|
||||
'
|
||||
Me.ToolStripSeparator3.Name = "ToolStripSeparator3"
|
||||
Me.ToolStripSeparator3.Size = New System.Drawing.Size(6, 36)
|
||||
'
|
||||
'MsiCutNode
|
||||
'
|
||||
Me.MsiCutNode.Enabled = False
|
||||
Me.MsiCutNode.Name = "MsiCutNode"
|
||||
Me.MsiCutNode.Size = New System.Drawing.Size(192, 22)
|
||||
Me.MsiCutNode.Text = "剪切"
|
||||
'
|
||||
'ToolStrip1
|
||||
'
|
||||
Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.TsBtnOpen, Me.TsBtnSave, Me.ToolStripSeparator4, Me.TsBtnLoad, Me.TsBtnSaveAs, Me.ToolStripSeparator3})
|
||||
Me.ToolStrip1.Location = New System.Drawing.Point(0, 0)
|
||||
Me.ToolStrip1.Name = "ToolStrip1"
|
||||
Me.ToolStrip1.Size = New System.Drawing.Size(984, 36)
|
||||
Me.ToolStrip1.TabIndex = 7
|
||||
Me.ToolStrip1.Text = "ToolStrip1"
|
||||
'
|
||||
'CmsPlanGrid
|
||||
'
|
||||
Me.CmsPlanGrid.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.MsiCopyNode, Me.MsiCutNode, Me.MsiNodePaste, Me.ToolStripSeparator5, Me.MsiUndo, Me.MsiRedo, Me.ToolStripSeparator6, Me.MsiSaveNodeFile, Me.MsiLoadNodeFile, Me.ToolStripSeparator7, Me.TsmiDebugStart, Me.TsmiDebugEnd, Me.TsmiDebugStep, Me.TsmiDebugContinue, Me.ToolStripSeparator8, Me.TsmiDebugSetup, Me.TsmiDebugMain, Me.TsmiDebugPass, Me.TsmiDebugFail, Me.TsmiDebugCleanup, Me.ToolStripSeparator9, Me.TsmiDebugNode, Me.TsmiDebugNodeBegin})
|
||||
Me.CmsPlanGrid.Name = "CmsMain"
|
||||
Me.CmsPlanGrid.Size = New System.Drawing.Size(193, 430)
|
||||
'
|
||||
'ToolStripSeparator7
|
||||
'
|
||||
Me.ToolStripSeparator7.Name = "ToolStripSeparator7"
|
||||
Me.ToolStripSeparator7.Size = New System.Drawing.Size(189, 6)
|
||||
'
|
||||
'TsmiDebugEnd
|
||||
'
|
||||
Me.TsmiDebugEnd.Name = "TsmiDebugEnd"
|
||||
Me.TsmiDebugEnd.ShortcutKeys = System.Windows.Forms.Keys.F2
|
||||
Me.TsmiDebugEnd.Size = New System.Drawing.Size(192, 22)
|
||||
Me.TsmiDebugEnd.Text = "退出执行"
|
||||
'
|
||||
'TsmiDebugStep
|
||||
'
|
||||
Me.TsmiDebugStep.Name = "TsmiDebugStep"
|
||||
Me.TsmiDebugStep.ShortcutKeys = System.Windows.Forms.Keys.F3
|
||||
Me.TsmiDebugStep.Size = New System.Drawing.Size(192, 22)
|
||||
Me.TsmiDebugStep.Text = "单步执行"
|
||||
'
|
||||
'TsmiDebugContinue
|
||||
'
|
||||
Me.TsmiDebugContinue.Name = "TsmiDebugContinue"
|
||||
Me.TsmiDebugContinue.ShortcutKeys = System.Windows.Forms.Keys.F4
|
||||
Me.TsmiDebugContinue.Size = New System.Drawing.Size(192, 22)
|
||||
Me.TsmiDebugContinue.Text = "继续执行"
|
||||
'
|
||||
'ToolStripSeparator8
|
||||
'
|
||||
Me.ToolStripSeparator8.Name = "ToolStripSeparator8"
|
||||
Me.ToolStripSeparator8.Size = New System.Drawing.Size(189, 6)
|
||||
'
|
||||
'TsmiDebugSetup
|
||||
'
|
||||
Me.TsmiDebugSetup.Name = "TsmiDebugSetup"
|
||||
Me.TsmiDebugSetup.ShortcutKeys = System.Windows.Forms.Keys.F5
|
||||
Me.TsmiDebugSetup.Size = New System.Drawing.Size(192, 22)
|
||||
Me.TsmiDebugSetup.Text = "Setup模块执行"
|
||||
'
|
||||
'TsmiDebugMain
|
||||
'
|
||||
Me.TsmiDebugMain.Name = "TsmiDebugMain"
|
||||
Me.TsmiDebugMain.ShortcutKeys = System.Windows.Forms.Keys.F6
|
||||
Me.TsmiDebugMain.Size = New System.Drawing.Size(192, 22)
|
||||
Me.TsmiDebugMain.Text = "Main模块执行"
|
||||
'
|
||||
'TsmiDebugPass
|
||||
'
|
||||
Me.TsmiDebugPass.Name = "TsmiDebugPass"
|
||||
Me.TsmiDebugPass.ShortcutKeys = System.Windows.Forms.Keys.F7
|
||||
Me.TsmiDebugPass.Size = New System.Drawing.Size(192, 22)
|
||||
Me.TsmiDebugPass.Text = "Pass模块执行"
|
||||
'
|
||||
'TsmiDebugFail
|
||||
'
|
||||
Me.TsmiDebugFail.Name = "TsmiDebugFail"
|
||||
Me.TsmiDebugFail.ShortcutKeys = System.Windows.Forms.Keys.F8
|
||||
Me.TsmiDebugFail.Size = New System.Drawing.Size(192, 22)
|
||||
Me.TsmiDebugFail.Text = "Fail模块执行"
|
||||
'
|
||||
'TsmiDebugCleanup
|
||||
'
|
||||
Me.TsmiDebugCleanup.Name = "TsmiDebugCleanup"
|
||||
Me.TsmiDebugCleanup.ShortcutKeys = System.Windows.Forms.Keys.F9
|
||||
Me.TsmiDebugCleanup.Size = New System.Drawing.Size(192, 22)
|
||||
Me.TsmiDebugCleanup.Text = "Cleanup模块执行"
|
||||
'
|
||||
'ToolStripSeparator9
|
||||
'
|
||||
Me.ToolStripSeparator9.Name = "ToolStripSeparator9"
|
||||
Me.ToolStripSeparator9.Size = New System.Drawing.Size(189, 6)
|
||||
'
|
||||
'TsmiDebugNode
|
||||
'
|
||||
Me.TsmiDebugNode.Name = "TsmiDebugNode"
|
||||
Me.TsmiDebugNode.ShortcutKeys = System.Windows.Forms.Keys.F10
|
||||
Me.TsmiDebugNode.Size = New System.Drawing.Size(192, 22)
|
||||
Me.TsmiDebugNode.Text = "节点测试"
|
||||
'
|
||||
'TsmiDebugNodeBegin
|
||||
'
|
||||
Me.TsmiDebugNodeBegin.Name = "TsmiDebugNodeBegin"
|
||||
Me.TsmiDebugNodeBegin.ShortcutKeys = System.Windows.Forms.Keys.F11
|
||||
Me.TsmiDebugNodeBegin.Size = New System.Drawing.Size(192, 22)
|
||||
Me.TsmiDebugNodeBegin.Text = "节点开始测试"
|
||||
'
|
||||
'StuMain
|
||||
'
|
||||
Me.StuMain.Location = New System.Drawing.Point(0, 539)
|
||||
Me.StuMain.Name = "StuMain"
|
||||
Me.StuMain.Size = New System.Drawing.Size(984, 22)
|
||||
Me.StuMain.TabIndex = 8
|
||||
Me.StuMain.Text = "StatusStrip1"
|
||||
'
|
||||
'DlgOpenFile
|
||||
'
|
||||
Me.DlgOpenFile.FileName = "OpenFileDialog1"
|
||||
'
|
||||
'SplitContainer1
|
||||
'
|
||||
Me.SplitContainer1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.SplitContainer1.Location = New System.Drawing.Point(0, 0)
|
||||
Me.SplitContainer1.Name = "SplitContainer1"
|
||||
'
|
||||
'SplitContainer1.Panel1
|
||||
'
|
||||
Me.SplitContainer1.Panel1.Controls.Add(Me.GroupBox2)
|
||||
'
|
||||
'SplitContainer1.Panel2
|
||||
'
|
||||
Me.SplitContainer1.Panel2.Controls.Add(Me.GroupBox1)
|
||||
Me.SplitContainer1.Size = New System.Drawing.Size(984, 561)
|
||||
Me.SplitContainer1.SplitterDistance = 444
|
||||
Me.SplitContainer1.TabIndex = 9
|
||||
'
|
||||
'GroupBox2
|
||||
'
|
||||
Me.GroupBox2.Controls.Add(Me.LblDesc)
|
||||
Me.GroupBox2.Controls.Add(Me.GrdStationPlan)
|
||||
Me.GroupBox2.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.GroupBox2.Font = New System.Drawing.Font("微软雅黑", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(134, Byte))
|
||||
Me.GroupBox2.Location = New System.Drawing.Point(0, 0)
|
||||
Me.GroupBox2.Name = "GroupBox2"
|
||||
Me.GroupBox2.Size = New System.Drawing.Size(444, 561)
|
||||
Me.GroupBox2.TabIndex = 0
|
||||
Me.GroupBox2.TabStop = False
|
||||
Me.GroupBox2.Text = "流程参数"
|
||||
'
|
||||
'LblDesc
|
||||
'
|
||||
Me.LblDesc.Dock = System.Windows.Forms.DockStyle.Bottom
|
||||
Me.LblDesc.Font = New System.Drawing.Font("微软雅黑", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(134, Byte))
|
||||
Me.LblDesc.Location = New System.Drawing.Point(3, 497)
|
||||
Me.LblDesc.Name = "LblDesc"
|
||||
Me.LblDesc.Size = New System.Drawing.Size(438, 61)
|
||||
Me.LblDesc.TabIndex = 6
|
||||
'
|
||||
'GrdStationPlan
|
||||
'
|
||||
Me.GrdStationPlan.Anchor = CType((((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
|
||||
Or System.Windows.Forms.AnchorStyles.Left) _
|
||||
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
|
||||
Me.GrdStationPlan.BorderStyle = FlexCell.BorderStyleEnum.None
|
||||
Me.GrdStationPlan.CheckedImage = Nothing
|
||||
Me.GrdStationPlan.ContextMenuStrip = Me.CmsPlanGrid
|
||||
Me.GrdStationPlan.DefaultFont = New System.Drawing.Font("宋体", 9.0!)
|
||||
Me.GrdStationPlan.Font = New System.Drawing.Font("微软雅黑", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(134, Byte))
|
||||
Me.GrdStationPlan.GridColor = System.Drawing.Color.FromArgb(CType(CType(192, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(192, Byte), Integer))
|
||||
Me.GrdStationPlan.Location = New System.Drawing.Point(0, 24)
|
||||
Me.GrdStationPlan.Name = "GrdStationPlan"
|
||||
Me.GrdStationPlan.Size = New System.Drawing.Size(441, 470)
|
||||
Me.GrdStationPlan.TabIndex = 4
|
||||
Me.GrdStationPlan.UncheckedImage = Nothing
|
||||
'
|
||||
'Grid1
|
||||
'
|
||||
Me.Grid1.BorderStyle = FlexCell.BorderStyleEnum.None
|
||||
Me.Grid1.CheckedImage = Nothing
|
||||
Me.Grid1.ContextMenuStrip = Me.CmsPlanGrid
|
||||
Me.Grid1.DefaultFont = New System.Drawing.Font("宋体", 9.0!)
|
||||
Me.Grid1.Dock = System.Windows.Forms.DockStyle.Top
|
||||
Me.Grid1.Font = New System.Drawing.Font("宋体", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte))
|
||||
Me.Grid1.GridColor = System.Drawing.Color.FromArgb(CType(CType(192, Byte), Integer), CType(CType(192, Byte), Integer), CType(CType(192, Byte), Integer))
|
||||
Me.Grid1.Location = New System.Drawing.Point(0, 36)
|
||||
Me.Grid1.Name = "Grid1"
|
||||
Me.Grid1.Size = New System.Drawing.Size(984, 424)
|
||||
Me.Grid1.TabIndex = 10
|
||||
Me.Grid1.UncheckedImage = Nothing
|
||||
'
|
||||
'ZQ_Mars_T2_FrmStationPlan
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 12.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(984, 561)
|
||||
Me.Controls.Add(Me.Grid1)
|
||||
Me.Controls.Add(Me.ToolStrip1)
|
||||
Me.Controls.Add(Me.StuMain)
|
||||
Me.Controls.Add(Me.SplitContainer1)
|
||||
Me.Name = "ZQ_Mars_T2_FrmStationPlan"
|
||||
Me.Text = "ZQ_Mars_P2_FrmStationPlan"
|
||||
Me.ToolStrip1.ResumeLayout(false)
|
||||
Me.ToolStrip1.PerformLayout
|
||||
Me.CmsPlanGrid.ResumeLayout(false)
|
||||
Me.SplitContainer1.Panel1.ResumeLayout(false)
|
||||
Me.SplitContainer1.Panel2.ResumeLayout(false)
|
||||
CType(Me.SplitContainer1,System.ComponentModel.ISupportInitialize).EndInit
|
||||
Me.SplitContainer1.ResumeLayout(false)
|
||||
Me.GroupBox2.ResumeLayout(false)
|
||||
Me.ResumeLayout(false)
|
||||
Me.PerformLayout
|
||||
|
||||
End Sub
|
||||
|
||||
Friend WithEvents MsiCopyNode As ToolStripMenuItem
|
||||
Friend WithEvents MsiNodePaste As ToolStripMenuItem
|
||||
Friend WithEvents ToolStripSeparator5 As ToolStripSeparator
|
||||
Friend WithEvents MsiUndo As ToolStripMenuItem
|
||||
Friend WithEvents MsiRedo As ToolStripMenuItem
|
||||
Friend WithEvents ToolStripSeparator6 As ToolStripSeparator
|
||||
Friend WithEvents MsiSaveNodeFile As ToolStripMenuItem
|
||||
Friend WithEvents MsiLoadNodeFile As ToolStripMenuItem
|
||||
Friend WithEvents TsmiDebugStart As ToolStripMenuItem
|
||||
Friend WithEvents GroupBox1 As GroupBox
|
||||
Friend WithEvents TsBtnOpen As ToolStripButton
|
||||
Friend WithEvents TsBtnSave As ToolStripButton
|
||||
Friend WithEvents ToolStripSeparator4 As ToolStripSeparator
|
||||
Friend WithEvents TsBtnLoad As ToolStripButton
|
||||
Friend WithEvents TsBtnSaveAs As ToolStripButton
|
||||
Friend WithEvents ToolStripSeparator3 As ToolStripSeparator
|
||||
Friend WithEvents MsiCutNode As ToolStripMenuItem
|
||||
Friend WithEvents ToolStrip1 As ToolStrip
|
||||
Friend WithEvents CmsPlanGrid As ContextMenuStrip
|
||||
Friend WithEvents ToolStripSeparator7 As ToolStripSeparator
|
||||
Friend WithEvents TsmiDebugEnd As ToolStripMenuItem
|
||||
Friend WithEvents TsmiDebugStep As ToolStripMenuItem
|
||||
Friend WithEvents TsmiDebugContinue As ToolStripMenuItem
|
||||
Friend WithEvents ToolStripSeparator8 As ToolStripSeparator
|
||||
Friend WithEvents TsmiDebugSetup As ToolStripMenuItem
|
||||
Friend WithEvents TsmiDebugMain As ToolStripMenuItem
|
||||
Friend WithEvents TsmiDebugPass As ToolStripMenuItem
|
||||
Friend WithEvents TsmiDebugFail As ToolStripMenuItem
|
||||
Friend WithEvents TsmiDebugCleanup As ToolStripMenuItem
|
||||
Friend WithEvents ToolStripSeparator9 As ToolStripSeparator
|
||||
Friend WithEvents TsmiDebugNode As ToolStripMenuItem
|
||||
Friend WithEvents TsmiDebugNodeBegin As ToolStripMenuItem
|
||||
Friend WithEvents StuMain As StatusStrip
|
||||
Friend WithEvents DlgOpenFile As OpenFileDialog
|
||||
Friend WithEvents SplitContainer1 As SplitContainer
|
||||
Friend WithEvents GroupBox2 As GroupBox
|
||||
Friend WithEvents LblDesc As Label
|
||||
Friend WithEvents GrdStationPlan As FlexCell.Grid
|
||||
Friend WithEvents Grid1 As FlexCell.Grid
|
||||
End Class
|
||||
@@ -0,0 +1,185 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="TsBtnOpen.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVGhD1ZnLSgRBFEMbFN3rUv03H1v160T/wDfot+jo
|
||||
VhNk4FqUk77dqRrnQGAgnZt+TS26hhnsQpfQPbSAvsziTM6+gNhl5QB6hWrFLfQCsdMC70bPk1+KF2F5
|
||||
EnxtagU9dA7N5gGKQ68g2+MNHELXUOy6g2bzDsWhLGrFERS73qDZxIFUa+x99oGCyX1b0OnPz19MHjiR
|
||||
SX370DNUC0waOIN03za0PPlaIA6r+W7SfWfQqkD0ar6bdN8TtCoQvZrvJt33Ca0KRK/mu0n3qYDy3aT7
|
||||
VED5btJ9KqB8N+k+FVC+m3SfCijfTbpPBZTvJt2nAsp3k+5TAeW7SfepgPLdpPtUQPlu0n0qoHw36T4V
|
||||
UL6bdJ8KKN9Nuk8FlO8m3acCyneT7lMB5btJ96mA8t2k+1RA+W7SfSqgfDfpPhVQvpt0nwr8+4+7MUCV
|
||||
lJ/X+Qm8xUXw5G+g2DXq83oMUCXcsyqP6aVRGxxlqITbPNzuKY9rLXbuQJIyWIM7Mj0vIrXJV4b/gneD
|
||||
j5TvZfnHdogzbyF2jLrzS8pBG8fGX0DPdb4Jvdb5ZqxznT+BZrOudf4R4saihd7rPE9+D7LSep3/gPh/
|
||||
O4a4sTiBYfgGl13a4+npcwkAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="TsBtnSave.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHqSURBVGhD7Zm9Tt1AEEYvNDxCArwSXZDSpAwiFQ+HEA2Q
|
||||
dPmpeAl4AaALEnxTXDSate/xeHcvkeIjnerzN97F9rWEVwsLC6PsyFP5Rz7Jl07ey0+yKQfyuxw6YQ//
|
||||
ys+yCbvyhxw6UU+f5RdZzTc5dIJt2ORK2D3vh17ID3KNz8wabLG2aD+vehOP0g/8KD0+M2tpvgk/yIxQ
|
||||
PodjGTcx+5nwQ8wI5XNptgk/wIxQXkOTTfiyGaG8lupN+KIZiflc7Q18JIcYe7AnvbF9yYzEvMY7OcbQ
|
||||
JjYd/4YvmBEbEo+ZKy3INhE7CBXsstvlj8dl3XQLeWIPSRc6k15PutCZ9HrShc6k15MudCa9nnShM+n1
|
||||
pAudSa+HCq1+RqNjP6vxOIQKLV9k0aEXWzwGoULMWxuhvIAKMW9thPICKlCeheZRXkAFyrPQPMoLqEB5
|
||||
FppHeQEVKM9C8ygvoALlWWge5QVUoDwLzaO8gAqUZ6F5lBdQgfIsNI/yAipQnoXmUV5ABcqz0DzKCx6k
|
||||
L/j/TBs+M2vZNM8+tPjM1ob8lr50LvflGp+ZtYzNs3NeSp/9ksiZ9KV/ya8S2ZO3cmjAe3ol7cPjJA7l
|
||||
jRwa9B5eS38bT8J2eyJ/yvjVZhvaA2vntttm8l9+YeH/YrV6BfNWMy9RUhK1AAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="TsBtnLoad.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVGhD1ZnLSgRBFEMbFN3rUv03H1v160T/wDfot+jo
|
||||
VhNk4FqUk77dqRrnQGAgnZt+TS26hhnsQpfQPbSAvsziTM6+gNhl5QB6hWrFLfQCsdMC70bPk1+KF2F5
|
||||
EnxtagU9dA7N5gGKQ68g2+MNHELXUOy6g2bzDsWhLGrFERS73qDZxIFUa+x99oGCyX1b0OnPz19MHjiR
|
||||
SX370DNUC0waOIN03za0PPlaIA6r+W7SfWfQqkD0ar6bdN8TtCoQvZrvJt33Ca0KRK/mu0n3qYDy3aT7
|
||||
VED5btJ9KqB8N+k+FVC+m3SfCijfTbpPBZTvJt2nAsp3k+5TAeW7SfepgPLdpPtUQPlu0n0qoHw36T4V
|
||||
UL6bdJ8KKN9Nuk8FlO8m3acCyneT7lMB5btJ96mA8t2k+1RA+W7SfSqgfDfpPhVQvpt0nwr8+4+7MUCV
|
||||
lJ/X+Qm8xUXw5G+g2DXq83oMUCXcsyqP6aVRGxxlqITbPNzuKY9rLXbuQJIyWIM7Mj0vIrXJV4b/gneD
|
||||
j5TvZfnHdogzbyF2jLrzS8pBG8fGX0DPdb4Jvdb5ZqxznT+BZrOudf4R4saihd7rPE9+D7LSep3/gPh/
|
||||
O4a4sTiBYfgGl13a4+npcwkAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="TsBtnSaveAs.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADQSURBVEhL5ZYxDgFBGEbnCE4gjuAcCnEER3AER9BpVWqV
|
||||
QqcTlSOIUkVFx/fWSMYsyfx/FCu+5CX7ZWfmTbKT3Q1J+mLnYCmKMhQ3sRKLQg5iL4ryFHSqVpaZ+H3B
|
||||
UQwy2qIWr4A5OaxVi0fATrsJPfFVQR7m/pGA42eBmARc8yrgpMxj38aewhjuEbNg/LgMLUEfVe01jGmu
|
||||
4CpO4hz7JfYUxrgFGzER09jXsacwxi34/WdggZgE7MwCMQk8aYbA8tHPYe5Hgfe35R2spYRwB61XwcSY
|
||||
NxMjAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<metadata name="ToolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>230, 55</value>
|
||||
</metadata>
|
||||
<metadata name="CmsPlanGrid.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>342, 55</value>
|
||||
</metadata>
|
||||
<metadata name="StuMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>469, 55</value>
|
||||
</metadata>
|
||||
<metadata name="DlgOpenFile.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>570, 55</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@@ -0,0 +1,492 @@
|
||||
Imports UTS_Core.DebugLog
|
||||
Imports UTS_Core.UTSModule
|
||||
Imports UTS_Core.UTSModule.Station
|
||||
Imports UTS_Core.UTSModule.Station.StationPackagePlan
|
||||
Imports UTS_Core.UTSModule.Test.StatusMonitor
|
||||
Public Class ZQ_Mars_T2_FrmStationPlan
|
||||
|
||||
|
||||
' Implements IProcessFileChanged
|
||||
Implements IProcessStation
|
||||
Implements IProductionLine
|
||||
|
||||
Private _utsApp As UtsAppForm
|
||||
Private _stationPlan As StationPackagePlan
|
||||
|
||||
Public Sub ShowForm(parentControl As Control)
|
||||
FormBorderStyle = FormBorderStyle.None
|
||||
TopLevel = False
|
||||
Dock = DockStyle.Fill
|
||||
Parent = parentControl
|
||||
|
||||
Show()
|
||||
End Sub
|
||||
|
||||
Public Sub utsbctfilechanged()
|
||||
'For Each observer As IProcessStation In _observerList
|
||||
' observer.StationChanged()
|
||||
' Next
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 站位变更代码
|
||||
''' </summary>
|
||||
Public Sub Station_Changed() Implements IProcessStation.StationChanged
|
||||
ApplicationLog.WriteInfoLog($"编辑页面站位变更中,PN:{_utsApp.ProcessStation.ParentProject.Name} - SN:{_utsApp.ProcessStation.Name} - TP:{_utsApp.ProcessStation.Packet.Name}!")
|
||||
|
||||
Try
|
||||
_stationPlan = CType(_utsApp.ProcessStation.Packet.StationPlan, StationPackagePlan)
|
||||
Catch ex As Exception
|
||||
MsgBox($"加载项目流程失败,{ex.Message}")
|
||||
End Try
|
||||
|
||||
InitGrid(_stationPlan)
|
||||
|
||||
ApplicationLog.WriteInfoLog($"编辑页面站位变更完成。")
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 产线变化代码
|
||||
''' </summary>
|
||||
Public Sub ProductionLineChanged() Implements IProductionLine.ProductionLineChanged
|
||||
ApplicationLog.WriteInfoLog($"编辑页面生产线变更中。")
|
||||
|
||||
|
||||
ApplicationLog.WriteInfoLog($"编辑页面生产线变更完成。")
|
||||
End Sub
|
||||
|
||||
Private Sub FrmStationPlan_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||||
ApplicationLog.WriteInfoLog($"编辑页面加载中。")
|
||||
|
||||
'初始化UTS窗体信息,失败则关闭窗体
|
||||
If InitializeUtsApp() = False Then Return
|
||||
|
||||
'初始化窗体页面
|
||||
InitializeForm()
|
||||
|
||||
ApplicationLog.WriteInfoLog($"编辑页面加载完成。")
|
||||
End Sub
|
||||
|
||||
Private Function InitializeUtsApp() As Boolean
|
||||
_utsApp = UtsAppForm.CreateSingleton()
|
||||
_utsApp.AddStatisticsObserver(Me)
|
||||
|
||||
Try
|
||||
If _utsApp.IsInitialized = False Then
|
||||
_utsApp.Initialize(ProcessStation.StationTypeEnum.Package) 'Todo:可根据需要限定可选站位
|
||||
End If
|
||||
Catch ex As Exception
|
||||
ApplicationLog.WriteErrorLog($"初始化窗体失败,原因:{ex.Message}!")
|
||||
|
||||
MsgBox($"初始化窗体失败,原因:{ex.Message}")
|
||||
Close()
|
||||
Return False
|
||||
End Try
|
||||
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Private Sub InitializeForm()
|
||||
InitGrid(_stationPlan)
|
||||
End Sub
|
||||
|
||||
Private Sub TsBtnOpen_Click(sender As Object, e As EventArgs) Handles TsBtnOpen.Click
|
||||
Using xml As New OpenFileDialog
|
||||
xml.Filter = $"流程文件(*.xml)|*.xml"
|
||||
|
||||
If xml.ShowDialog() = DialogResult.OK Then
|
||||
ApplicationLog.WriteInfoLog($"编辑页面执行流程正在加载{xml.FileName}")
|
||||
LoadTreeViewFormXml(xml.FileName)
|
||||
ApplicationLog.WriteInfoLog($"编辑页面执行流程加载完成。")
|
||||
End If
|
||||
End Using
|
||||
End Sub
|
||||
|
||||
Private Sub TsBtnLoad_Click(sender As Object, e As EventArgs) Handles TsBtnLoad.Click
|
||||
If MsgBox("重载会将流程返回为上一次保存的流程状态,是否继续", MsgBoxStyle.OkCancel) = MsgBoxResult.Ok Then
|
||||
ApplicationLog.WriteInfoLog($"编辑页面执行流程重载中。")
|
||||
LoadTreeViewFormXml()
|
||||
ApplicationLog.WriteInfoLog($"编辑页面执行流程重载完成。")
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub TsBtnSave_Click(sender As Object, e As EventArgs) Handles TsBtnSave.Click
|
||||
ApplicationLog.WriteInfoLog($"编辑页面执行流程保存中。")
|
||||
UpdateGrid(_stationPlan)
|
||||
|
||||
ExportTreeViewToXml()
|
||||
ApplicationLog.WriteInfoLog($"编辑页面执行流程保存完成。")
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 读取XML,加载树状视图
|
||||
''' </summary>
|
||||
Private Sub LoadTreeViewFormXml()
|
||||
Dim revStationPlanPath As String = $"{UtsPath.GetStationPacketTestPlanDirPath(_stationPlan.ParentPacket.Name)}\Main.xml"
|
||||
|
||||
Try
|
||||
_stationPlan.LoadFile(revStationPlanPath)
|
||||
InitGrid(_stationPlan)
|
||||
|
||||
If StationEditStatusMonitor.StationEditStatus <> StationEditStatusMonitor.StationEditStatusEnum.Saved Then
|
||||
StationEditStatusMonitor.StationEditStatus = StationEditStatusMonitor.StationEditStatusEnum.Saved
|
||||
End If
|
||||
Catch ex As Exception
|
||||
ApplicationLog.WriteErrorLog($"加载测试站流程发生错误,原因:{ex.Message}")
|
||||
MsgBox($"加载测试站流程发生错误,原因:{ex.Message}")
|
||||
_stationPlan.CreateStationPlan()
|
||||
End Try
|
||||
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 读取XML,加载树状视图
|
||||
''' </summary>
|
||||
Private Sub LoadTreeViewFormXml(revStationPlanPath As String)
|
||||
Try
|
||||
_stationPlan.LoadFile(revStationPlanPath)
|
||||
InitGrid(_stationPlan)
|
||||
|
||||
If StationEditStatusMonitor.StationEditStatus <> StationEditStatusMonitor.StationEditStatusEnum.Saved Then
|
||||
StationEditStatusMonitor.StationEditStatus = StationEditStatusMonitor.StationEditStatusEnum.Saved
|
||||
End If
|
||||
Catch ex As Exception
|
||||
ApplicationLog.WriteErrorLog($"加载测试站流程发生错误,原因:{ex.Message}")
|
||||
MsgBox($"加载测试站流程发生错误,原因:{ex.Message}")
|
||||
_stationPlan.CreateStationPlan()
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 将树状视图导出为Xml
|
||||
''' </summary>
|
||||
Private Sub ExportTreeViewToXml()
|
||||
'保存至项目文件
|
||||
Dim revStationPlanPath As String = $"{UtsPath.GetStationPacketTestPlanDirPath(_stationPlan.ParentPacket.Name)}\Main.xml"
|
||||
_stationPlan.SaveFile(revStationPlanPath)
|
||||
|
||||
'备份至临时文件
|
||||
Dim tempPath As String = $"{UtsPath.StationDesignDirPath()}\Main.xml"
|
||||
_stationPlan.SaveFile(tempPath)
|
||||
|
||||
If StationEditStatusMonitor.StationEditStatus = StationEditStatusMonitor.StationEditStatusEnum.Changed Then
|
||||
StationEditStatusMonitor.StationEditStatus = StationEditStatusMonitor.StationEditStatusEnum.Saved
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub TsBtnSaveAs_Click(sender As Object, e As EventArgs) Handles TsBtnSaveAs.Click
|
||||
Using dlg As New SaveFileDialog
|
||||
dlg.Filter = "Excel 文件(*.xls)|*.xls|CSV 文件(*.csv)|*.csv|PDF 文件(*.pdf)|*.pdf"
|
||||
dlg.AddExtension = True
|
||||
If dlg.ShowDialog <> DialogResult.OK Then Return
|
||||
Cursor = Cursors.WaitCursor
|
||||
|
||||
ApplicationLog.WriteInfoLog($"编辑页面执行流程导出中。")
|
||||
Try
|
||||
Select Case dlg.FilterIndex
|
||||
Case 1
|
||||
GrdStationPlan.ExportToExcel(dlg.FileName, True, True)
|
||||
Case 2
|
||||
GrdStationPlan.ExportToCSV(dlg.FileName, True, True)
|
||||
Case 3
|
||||
GrdStationPlan.ExportToPDF(dlg.FileName)
|
||||
End Select
|
||||
|
||||
ApplicationLog.WriteInfoLog($"编辑页面执行流程导出完成。")
|
||||
Catch ex As Exception
|
||||
ApplicationLog.WriteErrorLog($"编辑页面执行流程导出失败,原因:{ex.Message}")
|
||||
MsgBox($"编辑页面执行流程导出失败,原因:{ex.Message}")
|
||||
End Try
|
||||
Cursor = Cursors.Arrow
|
||||
End Using
|
||||
End Sub
|
||||
|
||||
#Region "Package表格"
|
||||
Private Sub InitGrid(Optional stationplan As StationPackagePlan = Nothing)
|
||||
With GrdStationPlan
|
||||
.AutoRedraw = False
|
||||
|
||||
.NewFile()
|
||||
.BorderStyle = FlexCell.BorderStyleEnum.None
|
||||
|
||||
.Cols = ColNames.Max
|
||||
.Rows = RowItems.Max
|
||||
|
||||
.ExtendLastCol = True
|
||||
.DisplayRowNumber = True
|
||||
|
||||
.Cell(0, ColNames.Item).Text = "Item"
|
||||
.Cell(0, ColNames.Value).Text = "Value"
|
||||
|
||||
.Column(ColNames.Item).Width = 200
|
||||
.Column(ColNames.Item).Locked = True
|
||||
|
||||
.DefaultRowHeight = 20
|
||||
.DefaultFont = New Font("微软雅黑", 10)
|
||||
|
||||
For i As Integer = 1 To RowItems.Max - 1
|
||||
.Cell(i, ColNames.Item).Text = [Enum].GetName(GetType(RowItems), i)
|
||||
Next
|
||||
|
||||
'.Cell(RowItems.CheckSnTested, ColNames.Value).CellType = FlexCell.CellTypeEnum.ComboBox
|
||||
'.Cell(RowItems.CheckSnPackaged, ColNames.Value).CellType = FlexCell.CellTypeEnum.ComboBox
|
||||
'.Cell(RowItems.CheckSnMO, ColNames.Value).CellType = FlexCell.CellTypeEnum.ComboBox
|
||||
'.Cell(RowItems.MissingQuantity, ColNames.Value).CellType = FlexCell.CellTypeEnum.ComboBox
|
||||
'.Cell(RowItems.BarCodeType, ColNames.Value).CellType = FlexCell.CellTypeEnum.ComboBox
|
||||
|
||||
.Cell(RowItems.AutoPrint, ColNames.Value).CellType = FlexCell.CellTypeEnum.CheckBox
|
||||
.Cell(RowItems.BoxMumEditKey, ColNames.Item).Text = "uperLimit"
|
||||
.Cell(RowItems.CompanyName, ColNames.Item).Text = "LowerLimit
|
||||
"
|
||||
|
||||
'.Cell(RowItems.ErrorSound, ColNames.Value).CellType = FlexCell.CellTypeEnum.Button
|
||||
'.Cell(RowItems.TemplateFile, ColNames.Value).CellType = FlexCell.CellTypeEnum.Button
|
||||
'.Cell(RowItems.CompanyLogo, ColNames.Value).CellType = FlexCell.CellTypeEnum.Button
|
||||
|
||||
FillGrid(stationplan)
|
||||
|
||||
.AutoRedraw = True
|
||||
.Refresh()
|
||||
End With
|
||||
End Sub
|
||||
|
||||
Private Sub FillGrid(stationplan As StationPackagePlan)
|
||||
If stationplan Is Nothing Then Return
|
||||
|
||||
With GrdStationPlan
|
||||
'.Cell(RowItems.CheckSnTested, ColNames.Value).Text = stationplan.CheckSnTested.ToString
|
||||
'.Cell(RowItems.CheckSnPackaged, ColNames.Value).Text = stationplan.CheckSnPackaged.ToString
|
||||
'.Cell(RowItems.CheckSnMO, ColNames.Value).Text = stationplan.CheckSnMO.ToString
|
||||
|
||||
'.Cell(RowItems.PictureCount, ColNames.Value).Text = stationplan.PictureCount.ToString
|
||||
'.Cell(RowItems.UnlockKey, ColNames.Value).Text = stationplan.UnlockKey
|
||||
|
||||
'.Cell(RowItems.BarCodeType, ColNames.Value).Text = stationplan.BarCodeType.ToString
|
||||
|
||||
'.Cell(RowItems.MissingQuantity, ColNames.Value).Text = stationplan.MissingQuantity.ToString
|
||||
'.Cell(RowItems.MissingQuantityKey, ColNames.Value).Text = stationplan.MissingQuantityKey
|
||||
|
||||
.Cell(RowItems.AutoPrint, ColNames.Value).Text = stationplan.AutoPrint.ToString
|
||||
|
||||
'.Cell(RowItems.ErrorSound, ColNames.Value).Text = stationplan.ErrorSound
|
||||
'.Cell(RowItems.TemplateFile, ColNames.Value).Text = stationplan.TemplateFile
|
||||
|
||||
.Cell(RowItems.BoxMumEditKey, ColNames.Value).Text = stationplan.BoxMumEditKey
|
||||
|
||||
'.Cell(RowItems.CompanyLogo, ColNames.Value).Text = stationplan.CompanyLogo
|
||||
.Cell(RowItems.CompanyName, ColNames.Value).Text = stationplan.CompanyName
|
||||
|
||||
'.Cell(RowItems.BoxNumText, ColNames.Value).Text = stationplan.BoxNumText
|
||||
'.Cell(RowItems.BoxBarCode, ColNames.Value).Text = stationplan.BoxBarCode
|
||||
End With
|
||||
|
||||
|
||||
If StationEditStatusMonitor.StationEditStatus = StationEditStatusMonitor.StationEditStatusEnum.Changed Then
|
||||
StationEditStatusMonitor.StationEditStatus = StationEditStatusMonitor.StationEditStatusEnum.Saved
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub UpdateGrid(stationplan As StationPackagePlan)
|
||||
If _stationPlan Is Nothing Then Return
|
||||
|
||||
With GrdStationPlan
|
||||
'If [Enum].TryParse(.Cell(RowItems.CheckSnTested, ColNames.Value).Text, stationplan.CheckSnTested) = False Then
|
||||
' MsgBox("更新CheckSnTested失败!")
|
||||
' Return
|
||||
'End If
|
||||
'If [Enum].TryParse(.Cell(RowItems.CheckSnPackaged, ColNames.Value).Text, stationplan.CheckSnPackaged) = False Then
|
||||
' MsgBox("更新CheckSnPackaged失败!")
|
||||
' Return
|
||||
'End If
|
||||
'If [Enum].TryParse(.Cell(RowItems.CheckSnMO, ColNames.Value).Text, stationplan.CheckSnMO) = False Then
|
||||
' MsgBox("更新CheckSnMO失败!")
|
||||
' Return
|
||||
'End If
|
||||
|
||||
'If [Enum].TryParse(.Cell(RowItems.BarCodeType, ColNames.Value).Text, stationplan.BarCodeType) = False Then
|
||||
' MsgBox("更新BarCodeType失败!")
|
||||
' Return
|
||||
'End If
|
||||
|
||||
'If [Enum].TryParse(.Cell(RowItems.MissingQuantity, ColNames.Value).Text, stationplan.MissingQuantity) = False Then
|
||||
' MsgBox("更新MissingQuantity失败!")
|
||||
' Return
|
||||
'End If
|
||||
|
||||
'stationplan.PictureCount = .Cell(RowItems.PictureCount, ColNames.Value).IntegerValue
|
||||
|
||||
'stationplan.UnlockKey = .Cell(RowItems.UnlockKey, ColNames.Value).Text
|
||||
|
||||
'stationplan.MissingQuantityKey = .Cell(RowItems.MissingQuantityKey, ColNames.Value).Text
|
||||
|
||||
stationplan.AutoPrint = .Cell(RowItems.AutoPrint, ColNames.Value).BooleanValue
|
||||
|
||||
'stationplan.ErrorSound = .Cell(RowItems.ErrorSound, ColNames.Value).Text
|
||||
'stationplan.TemplateFile = .Cell(RowItems.TemplateFile, ColNames.Value).Text
|
||||
|
||||
stationplan.BoxMumEditKey = .Cell(RowItems.BoxMumEditKey, ColNames.Value).Text
|
||||
|
||||
'stationplan.CompanyLogo = .Cell(RowItems.CompanyLogo, ColNames.Value).Text
|
||||
stationplan.CompanyName = .Cell(RowItems.CompanyName, ColNames.Value).Text
|
||||
|
||||
'stationplan.BoxNumText = .Cell(RowItems.BoxNumText, ColNames.Value).Text
|
||||
'stationplan.BoxBarCode = .Cell(RowItems.BoxBarCode, ColNames.Value).Text
|
||||
End With
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub GrdStationPlan_ButtonClick(Sender As Object, e As FlexCell.Grid.ButtonClickEventArgs) Handles GrdStationPlan.ButtonClick
|
||||
Select Case e.Row
|
||||
'Case RowItems.ErrorSound
|
||||
' DlgOpenFile.Filter = "图像资源 (*.jpg;*.png;*.gif;*.ico)|*.jpg;*.png;*.gif;*.ico"
|
||||
'Case RowItems.TemplateFile
|
||||
' DlgOpenFile.Filter = "模板资源 (*.btw)|*.btw"
|
||||
'Case RowItems.CompanyLogo
|
||||
' DlgOpenFile.Filter = "图像资源 (*.jpg;*.png;*.gif;*.ico)|*.jpg;*.png;*.gif;*.ico"
|
||||
End Select
|
||||
|
||||
DlgOpenFile.CheckFileExists = True
|
||||
DlgOpenFile.CheckPathExists = True
|
||||
If DlgOpenFile.ShowDialog() <> DialogResult.OK Then Return
|
||||
|
||||
Dim fileName As String = $"{DlgOpenFile.SafeFileName}"
|
||||
Dim fileDir As String = UtsPath.GetStationPacketResourceDirPath(_stationPlan.ParentPacket.Name)
|
||||
Dim fliePath As String = $"{fileDir}\{fileName}"
|
||||
|
||||
GrdStationPlan.Cell(e.Row, ColNames.Value).Text = fileName
|
||||
|
||||
'导入文件
|
||||
Try
|
||||
IO.File.Copy(DlgOpenFile.FileName, fliePath, True)
|
||||
Catch ex As Exception
|
||||
MsgBox($"导入资源文件失败,{ex.Message}")
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
Private Sub GrdStationPlan_ComboDropDown(Sender As Object, e As FlexCell.Grid.ComboDropDownEventArgs) Handles GrdStationPlan.ComboDropDown
|
||||
GrdStationPlan.ComboBox(0).Items.Clear()
|
||||
Select Case e.Row
|
||||
'Case RowItems.CheckSnTested
|
||||
' GrdStationPlan.ComboBox(0).Items.AddRange([Enum].GetNames(GetType(CheckStatus)))
|
||||
'Case RowItems.CheckSnPackaged
|
||||
' GrdStationPlan.ComboBox(0).Items.AddRange([Enum].GetNames(GetType(CheckStatus)))
|
||||
'Case RowItems.CheckSnMO
|
||||
' GrdStationPlan.ComboBox(0).Items.AddRange([Enum].GetNames(GetType(CheckStatus)))
|
||||
'Case RowItems.MissingQuantity
|
||||
' GrdStationPlan.ComboBox(0).Items.AddRange([Enum].GetNames(GetType(MissCountStatus)))
|
||||
'Case RowItems.BarCodeType
|
||||
' GrdStationPlan.ComboBox(0).Items.AddRange([Enum].GetNames(GetType(BarcodeTypes)))
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
Private Sub GrdStationPlan_CellChange(Sender As Object, e As FlexCell.Grid.CellChangeEventArgs) Handles GrdStationPlan.CellChange
|
||||
StationEditStatusMonitor.StationEditStatus = StationEditStatusMonitor.StationEditStatusEnum.Changed
|
||||
End Sub
|
||||
|
||||
Enum ColNames
|
||||
SN
|
||||
Item
|
||||
Value
|
||||
Max
|
||||
End Enum
|
||||
|
||||
|
||||
|
||||
Enum RowItems
|
||||
''' <summary>固定行</summary>
|
||||
<System.ComponentModel.Description("固定行")>
|
||||
SN
|
||||
|
||||
'''' <summary>校验条码未测试后处理方式</summary>
|
||||
'<System.ComponentModel.Description("校验条码未测试后处理方式")>
|
||||
'CheckSnTested
|
||||
|
||||
'''' <summary>校验条码已参与包装后处理方式</summary>
|
||||
'<System.ComponentModel.Description("校验条码已参与包装后处理方式")>
|
||||
'CheckSnPackaged
|
||||
|
||||
'''' <summary>校验条码不属于指定MO后处理方式</summary>
|
||||
'<System.ComponentModel.Description("校验条码不属于指定MO后处理方式")>
|
||||
'CheckSnMO
|
||||
|
||||
'''' <summary>拍摄保存图像的数量</summary>
|
||||
'<System.ComponentModel.Description("拍摄保存图像的数量")>
|
||||
'PictureCount
|
||||
|
||||
'''' <summary>解锁密码</summary>
|
||||
'<System.ComponentModel.Description("解锁密码")>
|
||||
'UnlockKey
|
||||
|
||||
'''' <summary>条码类型</summary>
|
||||
'<System.ComponentModel.Description("条码类型")>
|
||||
'BarCodeType
|
||||
|
||||
'''' <summary>缺失条码数量后的处理方式</summary>
|
||||
'<System.ComponentModel.Description("缺失条码数量后的处理方式")>
|
||||
'MissingQuantity
|
||||
|
||||
'''' <summary>缺失条码数量后的解锁密码</summary>
|
||||
'<System.ComponentModel.Description("缺失条码数量后的解锁密码")>
|
||||
'MissingQuantityKey
|
||||
|
||||
''' <summary>是否自动打印</summary>
|
||||
<System.ComponentModel.Description("是否自动记录")>
|
||||
AutoPrint
|
||||
|
||||
'''' <summary>发生错误后报警文件</summary>
|
||||
'<System.ComponentModel.Description("发生错误后报警文件")>
|
||||
'ErrorSound
|
||||
|
||||
'''' <summary>模板文件名</summary>
|
||||
'<System.ComponentModel.Description("模板文件名")>
|
||||
'TemplateFile
|
||||
|
||||
''' <summary>箱号编辑密码</summary>
|
||||
<System.ComponentModel.Description("箱号编辑密码")>
|
||||
BoxMumEditKey
|
||||
|
||||
'''' <summary>公司Logo文件</summary>
|
||||
'<System.ComponentModel.Description("公司Logo文件")>
|
||||
'CompanyLogo
|
||||
|
||||
''' <summary>公司名称</summary>
|
||||
<System.ComponentModel.Description("公司名称")>
|
||||
CompanyName
|
||||
|
||||
'''' <summary>箱号规则</summary>
|
||||
'<System.ComponentModel.Description("箱号规则")>
|
||||
'BoxNumText
|
||||
|
||||
'''' <summary>箱号条码</summary>
|
||||
'<System.ComponentModel.Description("箱号条码")>
|
||||
'BoxBarCode
|
||||
|
||||
Max
|
||||
End Enum
|
||||
|
||||
Private Sub GrdStationPlan_SelChange(Sender As Object, e As FlexCell.Grid.SelChangeEventArgs) Handles GrdStationPlan.SelChange
|
||||
If e.FirstRow <= RowItems.SN OrElse e.FirstRow > GrdStationPlan.Rows - 1 Then Return
|
||||
|
||||
Dim row As Integer = e.FirstRow
|
||||
Dim a As RowItems
|
||||
If [Enum].TryParse(row.ToString, a) Then
|
||||
LblDesc.Text = $"Row:{row}{vbCrLf}Desc:{GetEnumDescription(a)}"
|
||||
Else
|
||||
LblDesc.Text = $"Row:{row}{vbCrLf}Desc:无说明"
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Public Function GetEnumDescription(enumValue As RowItems) As String
|
||||
Dim str As String = enumValue.ToString()
|
||||
Dim field As System.Reflection.FieldInfo = enumValue.GetType().GetField(str)
|
||||
Dim objs() As Object = field.GetCustomAttributes(GetType(System.ComponentModel.DescriptionAttribute), False)
|
||||
If objs Is Nothing OrElse objs.Length = 0 Then Return str
|
||||
Dim da As System.ComponentModel.DescriptionAttribute = CType(objs(0), ComponentModel.DescriptionAttribute)
|
||||
Return da.Description
|
||||
End Function
|
||||
#End Region
|
||||
|
||||
End Class
|
||||
438
SQLliteReading/AUTS_Package/ZQ/Mars(备份)/P2-称重/ZQ_Mars_P2_FrmStationTest.Designer.vb
generated
Normal file
438
SQLliteReading/AUTS_Package/ZQ/Mars(备份)/P2-称重/ZQ_Mars_P2_FrmStationTest.Designer.vb
generated
Normal file
@@ -0,0 +1,438 @@
|
||||
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
|
||||
Partial Class ZQ_Mars_T2_FrmStationTest
|
||||
Inherits System.Windows.Forms.Form
|
||||
|
||||
'Form 重写 Dispose,以清理组件列表。
|
||||
<System.Diagnostics.DebuggerNonUserCode()> _
|
||||
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
|
||||
Try
|
||||
If disposing AndAlso components IsNot Nothing Then
|
||||
components.Dispose()
|
||||
End If
|
||||
Finally
|
||||
MyBase.Dispose(disposing)
|
||||
End Try
|
||||
End Sub
|
||||
|
||||
'Windows 窗体设计器所必需的
|
||||
Private components As System.ComponentModel.IContainer
|
||||
|
||||
'注意: 以下过程是 Windows 窗体设计器所必需的
|
||||
'可以使用 Windows 窗体设计器修改它。
|
||||
'不要使用代码编辑器修改它。
|
||||
<System.Diagnostics.DebuggerStepThrough()> _
|
||||
Private Sub InitializeComponent()
|
||||
Me.components = New System.ComponentModel.Container()
|
||||
Me.SerialPort1 = New System.IO.Ports.SerialPort(Me.components)
|
||||
Me.Timer1 = New System.Windows.Forms.Timer(Me.components)
|
||||
Me.timer_Rcvd_Timeout = New System.Windows.Forms.Timer(Me.components)
|
||||
Me.StatusStrip1 = New System.Windows.Forms.StatusStrip()
|
||||
Me.tss_CommPort = New System.Windows.Forms.ToolStripStatusLabel()
|
||||
Me.timer_AutoFindCommPort = New System.Windows.Forms.Timer(Me.components)
|
||||
Me.SplitContainer1 = New System.Windows.Forms.SplitContainer()
|
||||
Me.SplitContainer2 = New System.Windows.Forms.SplitContainer()
|
||||
Me.RichTextBox1 = New System.Windows.Forms.RichTextBox()
|
||||
Me.SplitContainer3 = New System.Windows.Forms.SplitContainer()
|
||||
Me.txt_BosCode = New System.Windows.Forms.TextBox()
|
||||
Me.Label9 = New System.Windows.Forms.Label()
|
||||
Me.OpenUart_btn = New System.Windows.Forms.Button()
|
||||
Me.UartPort_cob = New System.Windows.Forms.ComboBox()
|
||||
Me.Label6 = New System.Windows.Forms.Label()
|
||||
Me.devbox = New System.Windows.Forms.TextBox()
|
||||
Me.Label3 = New System.Windows.Forms.Label()
|
||||
Me.colorbox = New System.Windows.Forms.TextBox()
|
||||
Me.Label2 = New System.Windows.Forms.Label()
|
||||
Me.Label1 = New System.Windows.Forms.Label()
|
||||
Me.TextBox1 = New System.Windows.Forms.TextBox()
|
||||
Me.txt_testnum = New System.Windows.Forms.TextBox()
|
||||
Me.txt_LooadNum = New System.Windows.Forms.TextBox()
|
||||
Me.Label5 = New System.Windows.Forms.Label()
|
||||
Me.txt_UpNum = New System.Windows.Forms.TextBox()
|
||||
Me.Label4 = New System.Windows.Forms.Label()
|
||||
Me.lab_Processed_Unit_Cnt_ThisCycle = New System.Windows.Forms.Label()
|
||||
Me.lab_Processed_Unit_Cnt = New System.Windows.Forms.Label()
|
||||
Me.lab_imger = New System.Windows.Forms.Label()
|
||||
Me.StatusStrip1.SuspendLayout()
|
||||
CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.SplitContainer1.Panel1.SuspendLayout()
|
||||
Me.SplitContainer1.Panel2.SuspendLayout()
|
||||
Me.SplitContainer1.SuspendLayout()
|
||||
CType(Me.SplitContainer2, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.SplitContainer2.Panel1.SuspendLayout()
|
||||
Me.SplitContainer2.Panel2.SuspendLayout()
|
||||
Me.SplitContainer2.SuspendLayout()
|
||||
CType(Me.SplitContainer3, System.ComponentModel.ISupportInitialize).BeginInit()
|
||||
Me.SplitContainer3.Panel1.SuspendLayout()
|
||||
Me.SplitContainer3.Panel2.SuspendLayout()
|
||||
Me.SplitContainer3.SuspendLayout()
|
||||
Me.SuspendLayout()
|
||||
'
|
||||
'SerialPort1
|
||||
'
|
||||
'
|
||||
'Timer1
|
||||
'
|
||||
Me.Timer1.Enabled = True
|
||||
'
|
||||
'timer_Rcvd_Timeout
|
||||
'
|
||||
Me.timer_Rcvd_Timeout.Enabled = True
|
||||
Me.timer_Rcvd_Timeout.Interval = 1
|
||||
'
|
||||
'StatusStrip1
|
||||
'
|
||||
Me.StatusStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.tss_CommPort})
|
||||
Me.StatusStrip1.Location = New System.Drawing.Point(0, 549)
|
||||
Me.StatusStrip1.Name = "StatusStrip1"
|
||||
Me.StatusStrip1.Size = New System.Drawing.Size(985, 22)
|
||||
Me.StatusStrip1.TabIndex = 0
|
||||
Me.StatusStrip1.Text = "StatusStrip1"
|
||||
'
|
||||
'tss_CommPort
|
||||
'
|
||||
Me.tss_CommPort.AutoSize = False
|
||||
Me.tss_CommPort.Font = New System.Drawing.Font("微软雅黑", 9.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(134, Byte))
|
||||
Me.tss_CommPort.Name = "tss_CommPort"
|
||||
Me.tss_CommPort.Size = New System.Drawing.Size(80, 17)
|
||||
Me.tss_CommPort.Text = "COM1"
|
||||
'
|
||||
'timer_AutoFindCommPort
|
||||
'
|
||||
'
|
||||
'SplitContainer1
|
||||
'
|
||||
Me.SplitContainer1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.SplitContainer1.Location = New System.Drawing.Point(0, 0)
|
||||
Me.SplitContainer1.Name = "SplitContainer1"
|
||||
'
|
||||
'SplitContainer1.Panel1
|
||||
'
|
||||
Me.SplitContainer1.Panel1.Controls.Add(Me.SplitContainer2)
|
||||
'
|
||||
'SplitContainer1.Panel2
|
||||
'
|
||||
Me.SplitContainer1.Panel2.Controls.Add(Me.SplitContainer3)
|
||||
Me.SplitContainer1.Size = New System.Drawing.Size(985, 549)
|
||||
Me.SplitContainer1.SplitterDistance = 325
|
||||
Me.SplitContainer1.TabIndex = 1
|
||||
'
|
||||
'SplitContainer2
|
||||
'
|
||||
Me.SplitContainer2.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.SplitContainer2.Location = New System.Drawing.Point(0, 0)
|
||||
Me.SplitContainer2.Name = "SplitContainer2"
|
||||
Me.SplitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal
|
||||
'
|
||||
'SplitContainer2.Panel1
|
||||
'
|
||||
Me.SplitContainer2.Panel1.Controls.Add(Me.lab_Processed_Unit_Cnt_ThisCycle)
|
||||
Me.SplitContainer2.Panel1.Controls.Add(Me.lab_Processed_Unit_Cnt)
|
||||
Me.SplitContainer2.Panel1.Controls.Add(Me.lab_imger)
|
||||
'
|
||||
'SplitContainer2.Panel2
|
||||
'
|
||||
Me.SplitContainer2.Panel2.Controls.Add(Me.RichTextBox1)
|
||||
Me.SplitContainer2.Size = New System.Drawing.Size(325, 549)
|
||||
Me.SplitContainer2.SplitterDistance = 228
|
||||
Me.SplitContainer2.TabIndex = 0
|
||||
'
|
||||
'RichTextBox1
|
||||
'
|
||||
Me.RichTextBox1.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.RichTextBox1.Location = New System.Drawing.Point(0, 0)
|
||||
Me.RichTextBox1.Name = "RichTextBox1"
|
||||
Me.RichTextBox1.Size = New System.Drawing.Size(325, 317)
|
||||
Me.RichTextBox1.TabIndex = 2
|
||||
Me.RichTextBox1.Text = ""
|
||||
'
|
||||
'SplitContainer3
|
||||
'
|
||||
Me.SplitContainer3.Dock = System.Windows.Forms.DockStyle.Fill
|
||||
Me.SplitContainer3.Location = New System.Drawing.Point(0, 0)
|
||||
Me.SplitContainer3.Name = "SplitContainer3"
|
||||
Me.SplitContainer3.Orientation = System.Windows.Forms.Orientation.Horizontal
|
||||
'
|
||||
'SplitContainer3.Panel1
|
||||
'
|
||||
Me.SplitContainer3.Panel1.Controls.Add(Me.txt_BosCode)
|
||||
Me.SplitContainer3.Panel1.Controls.Add(Me.Label9)
|
||||
Me.SplitContainer3.Panel1.Controls.Add(Me.OpenUart_btn)
|
||||
Me.SplitContainer3.Panel1.Controls.Add(Me.UartPort_cob)
|
||||
Me.SplitContainer3.Panel1.Controls.Add(Me.Label6)
|
||||
Me.SplitContainer3.Panel1.Controls.Add(Me.devbox)
|
||||
Me.SplitContainer3.Panel1.Controls.Add(Me.Label3)
|
||||
Me.SplitContainer3.Panel1.Controls.Add(Me.colorbox)
|
||||
Me.SplitContainer3.Panel1.Controls.Add(Me.Label2)
|
||||
Me.SplitContainer3.Panel1.Controls.Add(Me.Label1)
|
||||
Me.SplitContainer3.Panel1.Controls.Add(Me.TextBox1)
|
||||
'
|
||||
'SplitContainer3.Panel2
|
||||
'
|
||||
Me.SplitContainer3.Panel2.Controls.Add(Me.txt_testnum)
|
||||
Me.SplitContainer3.Panel2.Controls.Add(Me.txt_LooadNum)
|
||||
Me.SplitContainer3.Panel2.Controls.Add(Me.Label5)
|
||||
Me.SplitContainer3.Panel2.Controls.Add(Me.txt_UpNum)
|
||||
Me.SplitContainer3.Panel2.Controls.Add(Me.Label4)
|
||||
Me.SplitContainer3.Size = New System.Drawing.Size(656, 549)
|
||||
Me.SplitContainer3.SplitterDistance = 346
|
||||
Me.SplitContainer3.TabIndex = 0
|
||||
'
|
||||
'txt_BosCode
|
||||
'
|
||||
Me.txt_BosCode.Font = New System.Drawing.Font("宋体", 28.0!)
|
||||
Me.txt_BosCode.Location = New System.Drawing.Point(192, 59)
|
||||
Me.txt_BosCode.Name = "txt_BosCode"
|
||||
Me.txt_BosCode.Size = New System.Drawing.Size(450, 50)
|
||||
Me.txt_BosCode.TabIndex = 46
|
||||
Me.txt_BosCode.Text = "CTHM08711382252604947"
|
||||
'
|
||||
'Label9
|
||||
'
|
||||
Me.Label9.AutoSize = True
|
||||
Me.Label9.Font = New System.Drawing.Font("宋体", 20.0!)
|
||||
Me.Label9.Location = New System.Drawing.Point(11, 71)
|
||||
Me.Label9.Name = "Label9"
|
||||
Me.Label9.Size = New System.Drawing.Size(188, 27)
|
||||
Me.Label9.TabIndex = 45
|
||||
Me.Label9.Text = "请输入箱体码:"
|
||||
Me.Label9.TextAlign = System.Drawing.ContentAlignment.MiddleRight
|
||||
'
|
||||
'OpenUart_btn
|
||||
'
|
||||
Me.OpenUart_btn.Location = New System.Drawing.Point(16, 3)
|
||||
Me.OpenUart_btn.Name = "OpenUart_btn"
|
||||
Me.OpenUart_btn.Size = New System.Drawing.Size(156, 47)
|
||||
Me.OpenUart_btn.TabIndex = 43
|
||||
Me.OpenUart_btn.Text = "打开串口"
|
||||
Me.OpenUart_btn.UseVisualStyleBackColor = True
|
||||
'
|
||||
'UartPort_cob
|
||||
'
|
||||
Me.UartPort_cob.AllowDrop = True
|
||||
Me.UartPort_cob.Font = New System.Drawing.Font("宋体", 25.0!)
|
||||
Me.UartPort_cob.FormattingEnabled = True
|
||||
Me.UartPort_cob.Location = New System.Drawing.Point(192, 3)
|
||||
Me.UartPort_cob.Name = "UartPort_cob"
|
||||
Me.UartPort_cob.Size = New System.Drawing.Size(450, 41)
|
||||
Me.UartPort_cob.TabIndex = 44
|
||||
'
|
||||
'Label6
|
||||
'
|
||||
Me.Label6.AutoSize = True
|
||||
Me.Label6.Font = New System.Drawing.Font("宋体", 20.0!)
|
||||
Me.Label6.Location = New System.Drawing.Point(11, 297)
|
||||
Me.Label6.Name = "Label6"
|
||||
Me.Label6.Size = New System.Drawing.Size(161, 27)
|
||||
Me.Label6.TabIndex = 42
|
||||
Me.Label6.Text = "请确认称重:"
|
||||
Me.Label6.TextAlign = System.Drawing.ContentAlignment.MiddleRight
|
||||
'
|
||||
'devbox
|
||||
'
|
||||
Me.devbox.Font = New System.Drawing.Font("宋体", 28.0!)
|
||||
Me.devbox.Location = New System.Drawing.Point(192, 220)
|
||||
Me.devbox.Name = "devbox"
|
||||
Me.devbox.ReadOnly = True
|
||||
Me.devbox.Size = New System.Drawing.Size(450, 50)
|
||||
Me.devbox.TabIndex = 36
|
||||
Me.devbox.Text = "CTHM08711382252604947"
|
||||
'
|
||||
'Label3
|
||||
'
|
||||
Me.Label3.AutoSize = True
|
||||
Me.Label3.Font = New System.Drawing.Font("宋体", 20.0!)
|
||||
Me.Label3.Location = New System.Drawing.Point(5, 232)
|
||||
Me.Label3.Name = "Label3"
|
||||
Me.Label3.Size = New System.Drawing.Size(191, 27)
|
||||
Me.Label3.TabIndex = 35
|
||||
Me.Label3.Text = "请确认DUT_SN:"
|
||||
Me.Label3.TextAlign = System.Drawing.ContentAlignment.MiddleRight
|
||||
'
|
||||
'colorbox
|
||||
'
|
||||
Me.colorbox.Font = New System.Drawing.Font("宋体", 28.0!)
|
||||
Me.colorbox.Location = New System.Drawing.Point(192, 143)
|
||||
Me.colorbox.Name = "colorbox"
|
||||
Me.colorbox.Size = New System.Drawing.Size(450, 50)
|
||||
Me.colorbox.TabIndex = 34
|
||||
Me.colorbox.Text = "CTHM08711382252604947"
|
||||
'
|
||||
'Label2
|
||||
'
|
||||
Me.Label2.AutoSize = True
|
||||
Me.Label2.Font = New System.Drawing.Font("宋体", 20.0!)
|
||||
Me.Label2.Location = New System.Drawing.Point(11, 155)
|
||||
Me.Label2.Name = "Label2"
|
||||
Me.Label2.Size = New System.Drawing.Size(188, 27)
|
||||
Me.Label2.TabIndex = 33
|
||||
Me.Label2.Text = "请输入彩盒码:"
|
||||
Me.Label2.TextAlign = System.Drawing.ContentAlignment.MiddleRight
|
||||
'
|
||||
'Label1
|
||||
'
|
||||
Me.Label1.AutoSize = True
|
||||
Me.Label1.Location = New System.Drawing.Point(14, 32)
|
||||
Me.Label1.Name = "Label1"
|
||||
Me.Label1.Size = New System.Drawing.Size(83, 12)
|
||||
Me.Label1.TabIndex = 32
|
||||
Me.Label1.Text = "打印模板路径:"
|
||||
Me.Label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight
|
||||
Me.Label1.Visible = False
|
||||
'
|
||||
'TextBox1
|
||||
'
|
||||
Me.TextBox1.Location = New System.Drawing.Point(98, 29)
|
||||
Me.TextBox1.Name = "TextBox1"
|
||||
Me.TextBox1.ReadOnly = True
|
||||
Me.TextBox1.Size = New System.Drawing.Size(547, 21)
|
||||
Me.TextBox1.TabIndex = 31
|
||||
Me.TextBox1.Visible = False
|
||||
'
|
||||
'txt_testnum
|
||||
'
|
||||
Me.txt_testnum.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
|
||||
Me.txt_testnum.Font = New System.Drawing.Font("宋体", 27.0!)
|
||||
Me.txt_testnum.Location = New System.Drawing.Point(244, 12)
|
||||
Me.txt_testnum.Name = "txt_testnum"
|
||||
Me.txt_testnum.ReadOnly = True
|
||||
Me.txt_testnum.Size = New System.Drawing.Size(183, 49)
|
||||
Me.txt_testnum.TabIndex = 40
|
||||
Me.txt_testnum.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
|
||||
'
|
||||
'txt_LooadNum
|
||||
'
|
||||
Me.txt_LooadNum.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
|
||||
Me.txt_LooadNum.Font = New System.Drawing.Font("宋体", 27.0!)
|
||||
Me.txt_LooadNum.Location = New System.Drawing.Point(13, 12)
|
||||
Me.txt_LooadNum.Name = "txt_LooadNum"
|
||||
Me.txt_LooadNum.ReadOnly = True
|
||||
Me.txt_LooadNum.Size = New System.Drawing.Size(183, 49)
|
||||
Me.txt_LooadNum.TabIndex = 37
|
||||
Me.txt_LooadNum.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
|
||||
'
|
||||
'Label5
|
||||
'
|
||||
Me.Label5.AutoSize = True
|
||||
Me.Label5.Font = New System.Drawing.Font("宋体", 27.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte))
|
||||
Me.Label5.Location = New System.Drawing.Point(202, 18)
|
||||
Me.Label5.Name = "Label5"
|
||||
Me.Label5.Size = New System.Drawing.Size(36, 37)
|
||||
Me.Label5.TabIndex = 38
|
||||
Me.Label5.Text = "<"
|
||||
'
|
||||
'txt_UpNum
|
||||
'
|
||||
Me.txt_UpNum.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
|
||||
Me.txt_UpNum.Font = New System.Drawing.Font("宋体", 27.0!)
|
||||
Me.txt_UpNum.Location = New System.Drawing.Point(466, 12)
|
||||
Me.txt_UpNum.Name = "txt_UpNum"
|
||||
Me.txt_UpNum.ReadOnly = True
|
||||
Me.txt_UpNum.Size = New System.Drawing.Size(176, 49)
|
||||
Me.txt_UpNum.TabIndex = 41
|
||||
Me.txt_UpNum.TextAlign = System.Windows.Forms.HorizontalAlignment.Center
|
||||
'
|
||||
'Label4
|
||||
'
|
||||
Me.Label4.AutoSize = True
|
||||
Me.Label4.Font = New System.Drawing.Font("宋体", 27.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(134, Byte))
|
||||
Me.Label4.Location = New System.Drawing.Point(433, 18)
|
||||
Me.Label4.Name = "Label4"
|
||||
Me.Label4.Size = New System.Drawing.Size(36, 37)
|
||||
Me.Label4.TabIndex = 39
|
||||
Me.Label4.Text = ">"
|
||||
'
|
||||
'lab_Processed_Unit_Cnt_ThisCycle
|
||||
'
|
||||
Me.lab_Processed_Unit_Cnt_ThisCycle.BackColor = System.Drawing.SystemColors.ActiveCaptionText
|
||||
Me.lab_Processed_Unit_Cnt_ThisCycle.Dock = System.Windows.Forms.DockStyle.Right
|
||||
Me.lab_Processed_Unit_Cnt_ThisCycle.Font = New System.Drawing.Font("Calibri", 20.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.lab_Processed_Unit_Cnt_ThisCycle.ForeColor = System.Drawing.Color.White
|
||||
Me.lab_Processed_Unit_Cnt_ThisCycle.Location = New System.Drawing.Point(161, 173)
|
||||
Me.lab_Processed_Unit_Cnt_ThisCycle.Name = "lab_Processed_Unit_Cnt_ThisCycle"
|
||||
Me.lab_Processed_Unit_Cnt_ThisCycle.Size = New System.Drawing.Size(164, 55)
|
||||
Me.lab_Processed_Unit_Cnt_ThisCycle.TabIndex = 35
|
||||
Me.lab_Processed_Unit_Cnt_ThisCycle.Text = "0"
|
||||
Me.lab_Processed_Unit_Cnt_ThisCycle.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
|
||||
'
|
||||
'lab_Processed_Unit_Cnt
|
||||
'
|
||||
Me.lab_Processed_Unit_Cnt.BackColor = System.Drawing.SystemColors.ActiveCaptionText
|
||||
Me.lab_Processed_Unit_Cnt.Dock = System.Windows.Forms.DockStyle.Left
|
||||
Me.lab_Processed_Unit_Cnt.Font = New System.Drawing.Font("Calibri", 20.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
|
||||
Me.lab_Processed_Unit_Cnt.ForeColor = System.Drawing.Color.White
|
||||
Me.lab_Processed_Unit_Cnt.Location = New System.Drawing.Point(0, 173)
|
||||
Me.lab_Processed_Unit_Cnt.Name = "lab_Processed_Unit_Cnt"
|
||||
Me.lab_Processed_Unit_Cnt.Size = New System.Drawing.Size(163, 55)
|
||||
Me.lab_Processed_Unit_Cnt.TabIndex = 34
|
||||
Me.lab_Processed_Unit_Cnt.Tag = "本次生产总统计数量,连击5次清零!"
|
||||
Me.lab_Processed_Unit_Cnt.Text = "0"
|
||||
Me.lab_Processed_Unit_Cnt.TextAlign = System.Drawing.ContentAlignment.MiddleCenter
|
||||
'
|
||||
'lab_imger
|
||||
'
|
||||
Me.lab_imger.Dock = System.Windows.Forms.DockStyle.Top
|
||||
Me.lab_imger.Location = New System.Drawing.Point(0, 0)
|
||||
Me.lab_imger.Name = "lab_imger"
|
||||
Me.lab_imger.Size = New System.Drawing.Size(325, 173)
|
||||
Me.lab_imger.TabIndex = 33
|
||||
'
|
||||
'ZQ_Mars_T2_FrmStationTest
|
||||
'
|
||||
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 12.0!)
|
||||
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
|
||||
Me.ClientSize = New System.Drawing.Size(985, 571)
|
||||
Me.Controls.Add(Me.SplitContainer1)
|
||||
Me.Controls.Add(Me.StatusStrip1)
|
||||
Me.Name = "ZQ_Mars_T2_FrmStationTest"
|
||||
Me.Text = "ZQ_Mars_P2_FrmStationTest"
|
||||
Me.StatusStrip1.ResumeLayout(False)
|
||||
Me.StatusStrip1.PerformLayout()
|
||||
Me.SplitContainer1.Panel1.ResumeLayout(False)
|
||||
Me.SplitContainer1.Panel2.ResumeLayout(False)
|
||||
CType(Me.SplitContainer1, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.SplitContainer1.ResumeLayout(False)
|
||||
Me.SplitContainer2.Panel1.ResumeLayout(False)
|
||||
Me.SplitContainer2.Panel2.ResumeLayout(False)
|
||||
CType(Me.SplitContainer2, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.SplitContainer2.ResumeLayout(False)
|
||||
Me.SplitContainer3.Panel1.ResumeLayout(False)
|
||||
Me.SplitContainer3.Panel1.PerformLayout()
|
||||
Me.SplitContainer3.Panel2.ResumeLayout(False)
|
||||
Me.SplitContainer3.Panel2.PerformLayout()
|
||||
CType(Me.SplitContainer3, System.ComponentModel.ISupportInitialize).EndInit()
|
||||
Me.SplitContainer3.ResumeLayout(False)
|
||||
Me.ResumeLayout(False)
|
||||
Me.PerformLayout()
|
||||
|
||||
End Sub
|
||||
|
||||
Friend WithEvents SerialPort1 As IO.Ports.SerialPort
|
||||
Friend WithEvents Timer1 As Timer
|
||||
Friend WithEvents timer_Rcvd_Timeout As Timer
|
||||
Friend WithEvents StatusStrip1 As StatusStrip
|
||||
Friend WithEvents tss_CommPort As ToolStripStatusLabel
|
||||
Friend WithEvents timer_AutoFindCommPort As Timer
|
||||
Friend WithEvents SplitContainer1 As SplitContainer
|
||||
Friend WithEvents SplitContainer2 As SplitContainer
|
||||
Friend WithEvents RichTextBox1 As RichTextBox
|
||||
Friend WithEvents SplitContainer3 As SplitContainer
|
||||
Friend WithEvents OpenUart_btn As Button
|
||||
Friend WithEvents UartPort_cob As ComboBox
|
||||
Friend WithEvents Label6 As Label
|
||||
Friend WithEvents devbox As TextBox
|
||||
Friend WithEvents Label3 As Label
|
||||
Friend WithEvents colorbox As TextBox
|
||||
Friend WithEvents Label2 As Label
|
||||
Friend WithEvents Label1 As Label
|
||||
Friend WithEvents TextBox1 As TextBox
|
||||
Friend WithEvents txt_testnum As TextBox
|
||||
Friend WithEvents txt_LooadNum As TextBox
|
||||
Friend WithEvents Label5 As Label
|
||||
Friend WithEvents txt_UpNum As TextBox
|
||||
Friend WithEvents Label4 As Label
|
||||
Friend WithEvents txt_BosCode As TextBox
|
||||
Friend WithEvents Label9 As Label
|
||||
Friend WithEvents lab_Processed_Unit_Cnt_ThisCycle As Label
|
||||
Friend WithEvents lab_Processed_Unit_Cnt As Label
|
||||
Friend WithEvents lab_imger As Label
|
||||
End Class
|
||||
@@ -0,0 +1,138 @@
|
||||
<?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="SerialPort1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="Timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>133, 17</value>
|
||||
</metadata>
|
||||
<metadata name="timer_Rcvd_Timeout.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>225, 17</value>
|
||||
</metadata>
|
||||
<metadata name="StatusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>396, 17</value>
|
||||
</metadata>
|
||||
<metadata name="timer_AutoFindCommPort.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>519, 17</value>
|
||||
</metadata>
|
||||
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>105</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@@ -0,0 +1,798 @@
|
||||
Imports System.IO
|
||||
Imports System.IO.Ports
|
||||
Imports System.Net
|
||||
Imports System.Text
|
||||
Imports Newtonsoft.Json
|
||||
Imports UTS_Core.DebugLog
|
||||
Imports UTS_Core.UTSModule
|
||||
Imports UTS_Core.UTSModule.Station
|
||||
Imports UTS_Core.UTSModule.Test
|
||||
Imports UTS_Core.UTSModule.Test.Command
|
||||
Imports UTS_Core.UTSModule.Test.StatusMonitor
|
||||
|
||||
Public Class ZQ_Mars_T2_FrmStationTest
|
||||
Implements IProcessStation
|
||||
|
||||
Private _utsApp As UtsAppForm
|
||||
Private _stationPlan As StationPackagePlan
|
||||
|
||||
Private PrintfNum As Integer = 0
|
||||
Private Printfcnt As Integer = 0
|
||||
|
||||
#Region "UTS Produce"
|
||||
|
||||
''' <summary>
|
||||
''' 窗口加载事件
|
||||
''' </summary>
|
||||
''' <param name="sender"></param>
|
||||
''' <param name="e"></param>
|
||||
Private Sub ZQ_Mars_P2_FrmStationTest_Load(sender As Object, e As EventArgs) Handles MyBase.Load
|
||||
' lp_label.BackColor = Color.Transparent
|
||||
ApplicationLog.WriteInfoLog($"测试页面加载中。")
|
||||
If InitializeUtsApp() = False Then Return
|
||||
|
||||
'InitializeForm()
|
||||
|
||||
'timer_AutoFindCommPort.Enabled = True
|
||||
'timer_AutoFindCommPort.Start()
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 初始化App
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Private Function InitializeUtsApp() As Boolean
|
||||
_utsApp = UtsAppForm.CreateSingleton()
|
||||
_utsApp.AddStatisticsObserver(CType(Me, IProcessStation))
|
||||
|
||||
Try
|
||||
If _utsApp.IsInitialized = False Then
|
||||
_utsApp.Initialize(ProcessStation.StationTypeEnum.Package) 'Todo:可根据需要限定可选站位
|
||||
End If
|
||||
Catch ex As Exception
|
||||
ApplicationLog.WriteErrorLog($"初始化窗体失败,原因:{ex.Message}!")
|
||||
|
||||
MsgBox($"初始化窗体失败,原因:{ex.Message}")
|
||||
Close()
|
||||
Return False
|
||||
End Try
|
||||
Return True
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 站位改变事件
|
||||
''' </summary>
|
||||
Public Sub Station_Changed() Implements IProcessStation.StationChanged
|
||||
'Todo:站位变化代码
|
||||
ApplicationLog.WriteInfoLog($"测试页面站位变更中,PN:{_utsApp.ProcessStation.ParentProject.Name} - SN:{_utsApp.ProcessStation.Name} - TP:{_utsApp.ProcessStation.Packet.Name}!")
|
||||
|
||||
_stationPlan = CType(_utsApp.ProcessStation.Packet.StationPlan, StationPackagePlan)
|
||||
'清除表格数据
|
||||
'InitBarcodeGrid()
|
||||
txt_LooadNum.Text = _stationPlan.CompanyName
|
||||
txt_UpNum.Text = _stationPlan.BoxMumEditKey
|
||||
ApplicationLog.WriteInfoLog($"测试页面站位变更完成!")
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 加载窗体
|
||||
''' </summary>
|
||||
''' <param name="parentControl"></param>
|
||||
Public Sub ShowForm(parentControl As Control)
|
||||
FormBorderStyle = FormBorderStyle.None
|
||||
TopLevel = False
|
||||
Dock = DockStyle.Fill
|
||||
Parent = parentControl
|
||||
|
||||
Show()
|
||||
End Sub
|
||||
|
||||
Private Sub TheTestResults(dutSn As String, ispass As TestResult.TestResultEnum, datenow As Date, Optional FailMsg As RowNode = Nothing, Optional Customfield As Dictionary(Of String, String) = Nothing)
|
||||
|
||||
'重置信息
|
||||
_utsApp.TestResult.ResetTestResult()
|
||||
'产线索引
|
||||
_utsApp.TestResult.ProductionLineID = -1
|
||||
'测试开始时间
|
||||
_utsApp.TestResult.StartTime = Now
|
||||
_utsApp.TestResult.DUT_SN = dutSn
|
||||
_utsApp.TestResult.TestResult = ispass
|
||||
_utsApp.TestResult.UsedTime = Now - datenow
|
||||
If Not IsNothing(FailMsg) Then
|
||||
_utsApp.TestResult.FailSteps.Add(FailMsg)
|
||||
End If
|
||||
|
||||
|
||||
If Not IsNothing(Customfield) Then
|
||||
For indexptr As Integer = 0 To Customfield.Count - 1
|
||||
_utsApp.TestResult.AddCustomRecord($"{Customfield.Keys(indexptr)}", $"{Customfield.Values(indexptr)}")
|
||||
Next
|
||||
End If
|
||||
|
||||
|
||||
Try
|
||||
'提交测试记录,缺省参数默认为False,True则测试记录唯一,覆盖相同条码记录
|
||||
_utsApp.CommitTestResult(True)
|
||||
|
||||
If ispass = TestResult.TestResultEnum.Pass Then
|
||||
TestStatusMonitor.TestStatus = StatusMonitor.TestStatusMonitor.TestStatusEnum.TestPass
|
||||
Else
|
||||
TestStatusMonitor.TestStatus = TestStatusMonitor.TestStatusEnum.TestFail
|
||||
End If
|
||||
TestStatusMonitor.TestStatus = TestStatusMonitor.TestStatusEnum.TestPass
|
||||
Catch ex As Exception
|
||||
ApplicationLog.WriteErrorLog($"写入称量数据失败:{ex.Message}")
|
||||
MsgBox($"写入称量数据失败:{ex.Message}")
|
||||
'LblResult.Text = "FAIL"
|
||||
'LblResult.ForeColor = Color.Red
|
||||
TestStatusMonitor.TestStatus = TestStatusMonitor.TestStatusEnum.TestFail
|
||||
Return
|
||||
End Try
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
|
||||
|
||||
|
||||
#Region "SerialPort"
|
||||
|
||||
''' <summary>
|
||||
''' 电子秤数据结构体
|
||||
''' </summary>
|
||||
Private Structure ScaleData_Strut
|
||||
Dim isStable As ScaleIsStable_Enum '是否稳定
|
||||
Dim weight_g As Double '重量,以 g 为单位
|
||||
Dim weight_unit As ScaleUnit_Enum '重量单位
|
||||
Dim isDataReady As Boolean '数据是否可用
|
||||
Dim updateCnt As ULong '更新计数
|
||||
End Structure
|
||||
|
||||
''' <summary>
|
||||
''' 电子秤读回数据是否稳定枚举
|
||||
''' </summary>
|
||||
Private Enum ScaleIsStable_Enum
|
||||
stable
|
||||
unstable
|
||||
End Enum
|
||||
|
||||
''' <summary>
|
||||
''' 电子秤读回数据单位枚举
|
||||
''' </summary>
|
||||
Private Enum ScaleUnit_Enum
|
||||
g
|
||||
kg
|
||||
End Enum
|
||||
''' <summary>
|
||||
''' 串口打开关闭状态枚举
|
||||
''' </summary>
|
||||
Private Enum OpenClose_Enum
|
||||
Close
|
||||
Open
|
||||
End Enum
|
||||
|
||||
''' <summary>
|
||||
''' 自动重连状态机枚举
|
||||
''' </summary>
|
||||
Private Enum AutoConnectComportStatus_Enum
|
||||
Unknow
|
||||
Connected
|
||||
Disconnected
|
||||
reConnecting
|
||||
End Enum
|
||||
|
||||
Dim g_ScaleData As ScaleData_Strut '电子秤数据
|
||||
Dim g_strRcvd As String = "" '当前串口接收到的数据
|
||||
Dim g_isScal_Connected As Boolean = False '电子秤是连接到主机
|
||||
Dim g_LastRcvdData_TimePoint As DateTime
|
||||
|
||||
Dim g_LastRcvdDataCnt As ULong '保存上一次串口数据接收计数,用于判断是否收到新的串口数据
|
||||
Dim g_NoRcvdData_Cnt As Integer = 0 '未收到串口数据计数,每100mS更新一次
|
||||
Dim g_LstCommPort As List(Of String) = New List(Of String) '用于保存串口列表
|
||||
Dim g_port_pointer_for_AutoConnect As Integer = 0 '在自动连接时,逐个串口尝试连接
|
||||
Dim g_Current_AutoConnectStatus As AutoConnectComportStatus_Enum = AutoConnectComportStatus_Enum.Unknow '当前自动连接状态
|
||||
|
||||
''' <summary>
|
||||
''' 100mS 时钟,用于维护串口连接状态
|
||||
''' </summary>
|
||||
''' <param name="sender"></param>
|
||||
''' <param name="e"></param>
|
||||
Private Sub timer_AutoFindCommPort_Tick(sender As Object, e As EventArgs) Handles timer_AutoFindCommPort.Tick
|
||||
Select Case g_Current_AutoConnectStatus
|
||||
Case AutoConnectComportStatus_Enum.Unknow '未知连接状态
|
||||
If g_isScal_Connected Then
|
||||
g_Current_AutoConnectStatus = AutoConnectComportStatus_Enum.Connected '连接状态
|
||||
Else
|
||||
Dim tmpCommPortCnt As Integer = UpdateCommportList(g_LstCommPort) '重新刷新可用串口列表’
|
||||
g_Current_AutoConnectStatus = AutoConnectComportStatus_Enum.reConnecting '重连状态
|
||||
End If
|
||||
|
||||
Case AutoConnectComportStatus_Enum.Connected '连接状态
|
||||
If g_ScaleData.updateCnt = g_LastRcvdDataCnt Then '判断是否收到新数据
|
||||
g_NoRcvdData_Cnt += 1
|
||||
If g_NoRcvdData_Cnt >= 10 Then '连续1000mS没有收到新数据
|
||||
g_ScaleData.isDataReady = False '电子秤数据不可用
|
||||
g_isScal_Connected = False '复位连接状态
|
||||
tss_CommPort.BackColor = Color.Crimson
|
||||
If SerialPort1.IsOpen Then SerialPort1.Close() '关闭当前串口’
|
||||
Dim tmpCommPortCnt As Integer = UpdateCommportList(g_LstCommPort) '重新刷新可用串口列表’
|
||||
g_port_pointer_for_AutoConnect = 0 '寻找串口指针
|
||||
g_Current_AutoConnectStatus = AutoConnectComportStatus_Enum.Disconnected '断开连接状态
|
||||
End If
|
||||
Else
|
||||
'两次计数不同说明收到新数据
|
||||
If SerialPort1.IsOpen Then tss_CommPort.Text = SerialPort1.PortName
|
||||
tss_CommPort.BackColor = Color.LightGreen
|
||||
g_LastRcvdDataCnt = g_ScaleData.updateCnt
|
||||
g_NoRcvdData_Cnt = 0
|
||||
End If
|
||||
|
||||
Case AutoConnectComportStatus_Enum.Disconnected '断开连接状态
|
||||
Dim tmpLstCommportCnt As Integer = g_LstCommPort.Count
|
||||
If tmpLstCommportCnt > 0 And g_port_pointer_for_AutoConnect <= tmpLstCommportCnt - 1 Then
|
||||
OpenClose_CommPort(g_LstCommPort(g_port_pointer_for_AutoConnect), OpenClose_Enum.Open)
|
||||
If SerialPort1.IsOpen Then
|
||||
tss_CommPort.Text = SerialPort1.PortName
|
||||
tss_CommPort.BackColor = Color.Khaki
|
||||
End If
|
||||
g_NoRcvdData_Cnt = 0
|
||||
g_Current_AutoConnectStatus = AutoConnectComportStatus_Enum.reConnecting
|
||||
End If
|
||||
|
||||
Case AutoConnectComportStatus_Enum.reConnecting '重连中
|
||||
If g_ScaleData.updateCnt = g_LastRcvdDataCnt Then '判断是否收到新数据
|
||||
g_NoRcvdData_Cnt += 1
|
||||
If g_NoRcvdData_Cnt >= 10 Then '连续1000mS没有收到新数据
|
||||
If g_port_pointer_for_AutoConnect < g_LstCommPort.Count - 1 Then
|
||||
g_port_pointer_for_AutoConnect += 1
|
||||
Else
|
||||
Dim tmpCommPortCnt As Integer = UpdateCommportList(g_LstCommPort) '重新刷新可用串口列表’
|
||||
g_port_pointer_for_AutoConnect = 0 '寻找串口指针
|
||||
End If
|
||||
g_Current_AutoConnectStatus = AutoConnectComportStatus_Enum.Disconnected '断开连接状态
|
||||
End If
|
||||
Else
|
||||
If SerialPort1.IsOpen Then tss_CommPort.Text = SerialPort1.PortName
|
||||
tss_CommPort.BackColor = Color.LightGreen
|
||||
g_LastRcvdDataCnt = g_ScaleData.updateCnt
|
||||
g_NoRcvdData_Cnt = 0
|
||||
g_Current_AutoConnectStatus = AutoConnectComportStatus_Enum.Connected
|
||||
End If
|
||||
|
||||
Case Else
|
||||
g_Current_AutoConnectStatus = AutoConnectComportStatus_Enum.Unknow
|
||||
End Select
|
||||
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 更新可用串口列表
|
||||
''' </summary>
|
||||
''' <param name="lstPortName">返回串口列表</param>
|
||||
''' <returns>返回寻找可用串口数量</returns>
|
||||
Private Function UpdateCommportList(ByRef lstPortName As List(Of String)) As Integer
|
||||
lstPortName.Clear()
|
||||
Dim portNames As String() = Ports.SerialPort.GetPortNames
|
||||
lstPortName.AddRange(portNames)
|
||||
|
||||
Return lstPortName.Count
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 打开或关闭串口
|
||||
''' </summary>
|
||||
''' <param name="comportName"> 串口名称</param>
|
||||
''' <param name="openClose">打开或关闭串口</param>
|
||||
''' <returns>操作成功返回true,否则返回false </returns>
|
||||
Private Function OpenClose_CommPort(comportName As String, openClose As OpenClose_Enum) As Boolean
|
||||
'关闭串口
|
||||
If SerialPort1.IsOpen = True Then
|
||||
SerialPort1.Close()
|
||||
End If
|
||||
|
||||
If openClose = OpenClose_Enum.Close Then
|
||||
Return Not SerialPort1.IsOpen
|
||||
Else
|
||||
'打开串口
|
||||
SerialPort1.PortName = comportName
|
||||
SerialPort1.Open()
|
||||
Return SerialPort1.IsOpen
|
||||
End If
|
||||
End Function
|
||||
|
||||
''' <summary>
|
||||
''' 串口接收事件
|
||||
''' </summary>
|
||||
''' <param name="sender"></param>
|
||||
''' <param name="e"></param>
|
||||
Private Sub SerialPort1_DataReceived(sender As Object, e As SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
|
||||
'收到数据
|
||||
|
||||
Dim rcvd As String = ""
|
||||
|
||||
Dim bufflen As Integer = SerialPort1.BytesToRead
|
||||
If SerialPort1.BytesToRead > 0 Then
|
||||
|
||||
Dim therecvBuffer(bufflen) As Byte
|
||||
SerialPort1.Read(therecvBuffer, 0, bufflen)
|
||||
Dim readStr As String = Encoding.GetEncoding("GBK").GetString(therecvBuffer)
|
||||
|
||||
If readStr.Equals(vbNullChar) Then Return
|
||||
|
||||
rcvd = rcvd & readStr
|
||||
rcvd = rcvd.Replace(vbNullChar, "")
|
||||
g_strRcvd = g_strRcvd & readStr
|
||||
g_strRcvd = g_strRcvd.Replace(vbNullChar, "")
|
||||
|
||||
g_LastRcvdData_TimePoint = DateTime.Now
|
||||
End If
|
||||
|
||||
'ST,NT,+ 197.9 g
|
||||
'US,NT,+ 197.4 g
|
||||
'US,NT,+ 197.4 g
|
||||
'收到换行符号或长度大于=18
|
||||
If rcvd.Length < 1 Then
|
||||
Return
|
||||
|
||||
End If
|
||||
Dim listr As String = rcvd.Substring(rcvd.Length - 2)
|
||||
If listr.Equals(vbCrLf) Then
|
||||
listr = rcvd.Trim
|
||||
Console.WriteLine($"listr:{listr}")
|
||||
If listr.Length >= 10 Then
|
||||
If listr.Length >= 10 Then
|
||||
'判断稳定状态
|
||||
' Dim tmpStableStr As String = Microsoft.VisualBasic.Mid(listr, 6, 2).Trim
|
||||
Dim tmpUnit() As String = listr.Split(CChar("+"))
|
||||
If tmpUnit.Length <> 2 Then
|
||||
Return
|
||||
End If
|
||||
|
||||
Dim tmpUnit1() As String = tmpUnit(1).Trim.Split(CChar(" "))
|
||||
If tmpUnit.Length <> 2 Then
|
||||
Return
|
||||
End If
|
||||
|
||||
If tmpUnit(0).Contains("ST") Then
|
||||
'稳定
|
||||
g_ScaleData.isStable = ScaleIsStable_Enum.stable
|
||||
g_ScaleData.isDataReady = False
|
||||
ElseIf tmpUnit(0).Contains("US") Then
|
||||
'不稳定
|
||||
g_ScaleData.isStable = ScaleIsStable_Enum.unstable
|
||||
g_ScaleData.isDataReady = False
|
||||
Else
|
||||
'非法数据
|
||||
g_strRcvd = ""
|
||||
Return
|
||||
End If
|
||||
|
||||
'判断单位
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
If tmpUnit1(1).Trim.Equals("kg") Then
|
||||
g_ScaleData.weight_unit = ScaleUnit_Enum.g
|
||||
ElseIf tmpUnit1(1).Trim.Equals("g") Then
|
||||
g_ScaleData.weight_unit = ScaleUnit_Enum.kg
|
||||
Else
|
||||
'非法数据
|
||||
g_strRcvd = ""
|
||||
Return
|
||||
End If
|
||||
|
||||
'计算重量
|
||||
|
||||
If Double.TryParse(tmpUnit1(0).Trim, g_ScaleData.weight_g) Then
|
||||
If g_ScaleData.weight_unit = ScaleUnit_Enum.kg Then
|
||||
g_ScaleData.weight_g = g_ScaleData.weight_g * 1000
|
||||
End If
|
||||
If g_ScaleData.weight_g > 5 Then
|
||||
|
||||
|
||||
If g_ScaleData.isStable = ScaleIsStable_Enum.stable Then
|
||||
loadedWeight(txt_testnum, g_ScaleData.weight_g.ToString, Color.Green)
|
||||
ElseIf g_ScaleData.isStable = ScaleIsStable_Enum.unstable Then
|
||||
loadedWeight(txt_testnum, g_ScaleData.weight_g.ToString, Color.Blue)
|
||||
Else
|
||||
loadedWeight(txt_testnum, "----", Color.Gray)
|
||||
End If
|
||||
Else
|
||||
loadedWeight(txt_testnum, "----", Color.Gray)
|
||||
End If
|
||||
|
||||
Else
|
||||
'非法数据
|
||||
g_strRcvd = ""
|
||||
Return
|
||||
End If
|
||||
|
||||
g_ScaleData.updateCnt = CULng(g_ScaleData.updateCnt + 1) '有效计数 +1
|
||||
g_ScaleData.isDataReady = True '数据就绪
|
||||
g_isScal_Connected = True '电子秤已连接
|
||||
End If
|
||||
|
||||
g_strRcvd = ""
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
End Sub
|
||||
Delegate Sub theSetopenUartshow(btn As TextBox, txt As String, bcolor As Color)
|
||||
Public Sub loadedWeight(testnum As TextBox, txt As String, txtcolor As Color)
|
||||
If testnum.InvokeRequired Then
|
||||
Dim dev As New theSetopenUartshow(AddressOf loadedWeight)
|
||||
testnum.Invoke(dev, New Object() {testnum, txt, txtcolor})
|
||||
Else
|
||||
testnum.Text = txt
|
||||
testnum.ReadOnly = False
|
||||
testnum.ForeColor = txtcolor
|
||||
|
||||
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' 串口接收超时计数,每1mS中断判断一次,超时大于80mS就将缓冲区数据抛弃
|
||||
''' </summary>
|
||||
''' <param name="sender"></param>
|
||||
''' <param name="e"></param>
|
||||
Private Sub timer_Rcvd_Timeout_Tick(sender As Object, e As EventArgs) Handles timer_Rcvd_Timeout.Tick
|
||||
'ticks 1unit = 100nS
|
||||
Dim rcvTimespan As Long = DateTime.Now.Ticks - g_LastRcvdData_TimePoint.Ticks
|
||||
|
||||
If rcvTimespan >= 80 * 10000 Then
|
||||
g_strRcvd = ""
|
||||
End If
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
|
||||
#Region "Web 数据接口"
|
||||
Public Function AccessApi2(dbName As String, theKey As String, dic As Dictionary(Of String, String)) As JsonPtr
|
||||
Dim jsonString As String = String.Empty
|
||||
|
||||
Dim ptr As String = $"Pwd=actop00803&DBName={dbName}&Key={theKey}&JsonData={JsonConvert.SerializeObject(dic)}"
|
||||
|
||||
'/http://uts-data.com/CommonApi/Combind_Sn_Info? Pwd%3D%26*$@%23235%26DBName%3Duts_zongqing%26Key%3DBarcode%26Barcode%3D1
|
||||
Try
|
||||
jsonString = PostData("http://uts-data.com/CommonApi/Combind_Sn_Info", ptr)
|
||||
Console.WriteLine(jsonString)
|
||||
|
||||
If jsonString = Nothing Then
|
||||
Return Nothing
|
||||
End If
|
||||
|
||||
Dim login As JsonPtr = JsonConvert.DeserializeObject(Of JsonPtr)(jsonString)
|
||||
If login.Message.Contains("成功") Then
|
||||
Return login
|
||||
Else
|
||||
Return Nothing
|
||||
End If
|
||||
|
||||
|
||||
Catch ex As Exception
|
||||
MsgBox($"{ex.Message}!盒码获取失败请联系管理员")
|
||||
Return Nothing
|
||||
End Try
|
||||
|
||||
|
||||
End Function
|
||||
Public Shared Function PostData(ByVal url As String, ByVal data As String) As String
|
||||
|
||||
ServicePointManager.Expect100Continue = False
|
||||
Dim request As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)
|
||||
'//Post请求方式
|
||||
request.Method = "post"
|
||||
|
||||
'内容类型
|
||||
request.ContentType = "application/x-www-form-urlencoded"
|
||||
'将URL编码后的字符串转化为字节
|
||||
Dim encoding As New UTF8Encoding()
|
||||
Dim bys As Byte() = encoding.GetBytes(data)
|
||||
'设置请求的 ContentLength
|
||||
request.ContentLength = bys.Length
|
||||
'获得请 求流
|
||||
Dim newStream As Stream = request.GetRequestStream()
|
||||
newStream.Write(bys, 0, bys.Length)
|
||||
newStream.Close()
|
||||
'获得响应流
|
||||
Dim sr As StreamReader = New StreamReader(request.GetResponse().GetResponseStream)
|
||||
Return sr.ReadToEnd
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#End Region
|
||||
|
||||
|
||||
#Region "UIEven"
|
||||
Private Sub RichTextBox1_TextChanged(sender As Object, e As EventArgs)
|
||||
RichTextBox1.SelectionStart = RichTextBox1.TextLength
|
||||
RichTextBox1.ScrollToCaret()
|
||||
|
||||
End Sub
|
||||
Delegate Sub IPSetRichTextBox1Text(TextBox1 As RichTextBox, text As String, txtcolor As Color)
|
||||
Private Sub SetRichTextBox1Text(TextBox1 As RichTextBox, text As String, txtcolor As Color)
|
||||
If InvokeRequired = True Then
|
||||
Dim dev As New IPSetRichTextBox1Text(AddressOf SetRichTextBox1Text)
|
||||
Me.Invoke(dev, New Object() {TextBox1, text, txtcolor})
|
||||
Else
|
||||
With TextBox1
|
||||
.SuspendLayout()
|
||||
|
||||
|
||||
.SelectionColor = txtcolor
|
||||
|
||||
.AppendText(text & vbCrLf)
|
||||
.ResumeLayout(False)
|
||||
End With
|
||||
End If
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Public Function ObtainWeighingValue() As String
|
||||
Dim Whileint As Integer = 0
|
||||
While Whileint < 200
|
||||
If txt_LooadNum.ForeColor = Color.Green Then
|
||||
Return txt_LooadNum.Text
|
||||
Exit While
|
||||
Else
|
||||
Whileint = Whileint + 1
|
||||
delayms(100)
|
||||
|
||||
End If
|
||||
|
||||
End While
|
||||
|
||||
If txt_LooadNum.ForeColor = Color.Green Then
|
||||
Else
|
||||
Return "False"
|
||||
End If
|
||||
End Function
|
||||
|
||||
Private Sub TextBox2_PreviewKeyDown(sender As Object, e As PreviewKeyDownEventArgs) Handles colorbox.PreviewKeyDown
|
||||
Dim buff() As String
|
||||
Dim Customfield As New Dictionary(Of String, String)
|
||||
Dim ColorBox As String = ""
|
||||
Dim node As New RowNode
|
||||
Dim Dut_SN As String = ""
|
||||
Dim datenow As Date = Now
|
||||
Dim exepath As String = "C:\Debug\AUTS_Ext_BarTenderConsole.exe"
|
||||
If e.KeyData = Keys.Enter Then
|
||||
|
||||
If IsBoxReady Then
|
||||
If Entering_Cnt > 10 Then
|
||||
MsgBox("箱体已满载,请更换箱体码再进行录入。")
|
||||
Me.txt_BosCode.Focus()
|
||||
Me.txt_BosCode.SelectAll()
|
||||
Me.txt_BosCode.Enabled = True
|
||||
Else
|
||||
Dim dic As New Dictionary(Of String, String)
|
||||
Dim weightval As String = ObtainWeighingValue()
|
||||
If weightval.Equals("False") Then
|
||||
dic.Add("Mars_UnitWeigth", txt_testnum.Text) '称重值
|
||||
Else
|
||||
dic.Add("Mars_UnitWeigth", weightval) '称重值
|
||||
End If
|
||||
|
||||
dic.Add("Mars_ColorBox_BarCode", Me.colorbox.Text)
|
||||
|
||||
Dim apidata As JsonPtr = AccessApi2("uts_zongqing", "Mars_ColorBox_BarCode", dic)
|
||||
|
||||
If Not IsNothing(apidata) Then
|
||||
Dut_SN = apidata.Data.Barcode.Trim
|
||||
devbox.Text = apidata.Data.Barcode
|
||||
|
||||
Customfield.Clear()
|
||||
Customfield.Add("MacCode", apidata.Data.Mars_MacCodeP)
|
||||
Customfield.Add("SnCode", Dut_SN)
|
||||
Customfield.Add("ColorBoxCode", Me.colorbox.Text.Trim)
|
||||
Customfield.Add("label_string", Dut_SN & "/" & apidata.Data.Mars_MacCodeP)
|
||||
Customfield.Add("mars_OutBoxCode", txt_BosCode.Text.Trim)
|
||||
Dim testresuli As String
|
||||
If weightval.Equals("False") Then
|
||||
Customfield.Add("Mars_UnitWeigth", txt_testnum.Text)
|
||||
testresuli = CopmareTheSize(txt_LooadNum.Text, txt_testnum.Text, txt_UpNum.Text) '比较范围
|
||||
Else
|
||||
Customfield.Add("Mars_UnitWeigth", weightval)
|
||||
testresuli = CopmareTheSize(txt_LooadNum.Text, weightval, txt_UpNum.Text) '比较范围
|
||||
End If
|
||||
|
||||
If testresuli.Equals("False") Then
|
||||
|
||||
node.RowListIndex = 1
|
||||
node.Description = "称重不在预设阈值内!"
|
||||
node.TestReturn = New TestCommandReturn
|
||||
node.TestReturn.LowerLimit = ""
|
||||
node.TestReturn.UpperLimit = ""
|
||||
node.TestReturn.RecordValue = "Fail"
|
||||
|
||||
TheTestResults("", TestResult.TestResultEnum.Fail, datenow, node, Customfield)
|
||||
SetRichTextBox1Text(RichTextBox1, "称重不在预设阈值内!" & vbCrLf, Color.Red)
|
||||
Else
|
||||
|
||||
TheTestResults(Dut_SN, TestResult.TestResultEnum.Pass, datenow, Nothing, Customfield)
|
||||
PrintfNum = PrintfNum + 1
|
||||
'Label7.Text = PrintfNum.ToString & "个"
|
||||
' lab_test_num.Text = PrintfNum.ToString & "个"
|
||||
Printfcnt = My.Settings.P2_cnt + PrintfNum
|
||||
'lab_Test_cnt.Text = Printfcnt.ToString & "个"
|
||||
My.Settings.Save()
|
||||
|
||||
SetRichTextBox1Text(RichTextBox1, "数据录入成功!" & vbCrLf, Color.Blue)
|
||||
|
||||
End If
|
||||
|
||||
|
||||
Me.colorbox.Focus()
|
||||
Me.colorbox.SelectAll()
|
||||
|
||||
Else
|
||||
node.RowListIndex = 1
|
||||
node.Description = "获取彩盒码关联条码错误!"
|
||||
node.TestReturn.LowerLimit = ""
|
||||
node.TestReturn.UpperLimit = ""
|
||||
node.TestReturn.RecordValue = "Fail"
|
||||
TheTestResults(Dut_SN, TestResult.TestResultEnum.Fail, datenow, node)
|
||||
SetRichTextBox1Text(RichTextBox1, "获取彩盒码关联条码错误!" & vbCrLf, Color.Red)
|
||||
End If
|
||||
End If
|
||||
|
||||
Else
|
||||
MsgBox("箱体码未就绪,请先扫箱体码再进行录入。")
|
||||
Me.txt_BosCode.Focus()
|
||||
Me.txt_BosCode.SelectAll()
|
||||
Me.txt_BosCode.Enabled = True
|
||||
End If
|
||||
|
||||
|
||||
|
||||
End If
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Public Function CopmareTheSize(loadint As String, numint As String, upint As String) As String
|
||||
|
||||
Dim loadnum As Integer = 0
|
||||
Dim upnum As Integer = 0
|
||||
Dim connum As Integer = 0
|
||||
|
||||
|
||||
If Integer.TryParse(loadint, loadnum) AndAlso Integer.TryParse(numint, connum) AndAlso Integer.TryParse(upint, upnum) Then
|
||||
If loadnum < connum AndAlso connum < upnum Then
|
||||
Return CStr(connum)
|
||||
Else
|
||||
Return "False"
|
||||
End If
|
||||
Else
|
||||
Return "False"
|
||||
End If
|
||||
|
||||
|
||||
End Function
|
||||
Public Sub delayms(ms As Integer)
|
||||
Dim start As Integer = Environment.TickCount
|
||||
While (Math.Abs(Environment.TickCount - start) < ms)
|
||||
Application.DoEvents()
|
||||
End While
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub OpenUart_btn_Click(sender As Object, e As EventArgs) Handles OpenUart_btn.Click
|
||||
Dim Btn As Button = CType(sender, Button)
|
||||
|
||||
|
||||
If IsNothing(UartPort_cob) OrElse String.IsNullOrEmpty(UartPort_cob.Text) Then Return
|
||||
SerialPortCommSwitch(SerialPort1, UartPort_cob.Text, Btn)
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub SerialPortCommSwitch(Serial As IO.Ports.SerialPort, portName As String, btn As Button)
|
||||
If Serial.IsOpen Then
|
||||
Serial.Close()
|
||||
btn.Text = "打开串口"
|
||||
btn.BackColor = Color.LightGray
|
||||
btn.Enabled = True
|
||||
Else
|
||||
If String.IsNullOrEmpty(portName) Then
|
||||
MsgBox("串口为空,请选择串口")
|
||||
Return
|
||||
End If
|
||||
ConfigSerialPort(Serial, portName)
|
||||
Try
|
||||
Serial.Open()
|
||||
Catch ex As Exception
|
||||
MsgBox($"串口打开失败,详情:{ex.Message}")
|
||||
Serial.Close()
|
||||
Return
|
||||
End Try
|
||||
|
||||
'SerialPort1.Close()
|
||||
btn.Text = "关闭串口"
|
||||
btn.BackColor = Color.SlateGray
|
||||
btn.Enabled = True
|
||||
End If
|
||||
End Sub
|
||||
Public Sub ConfigSerialPort(Serial As IO.Ports.SerialPort, portName As String)
|
||||
With Serial
|
||||
.PortName = portName '串口名
|
||||
.BaudRate = 9600 ' _BaudRate '波特率
|
||||
.DataBits = 8 '数据位
|
||||
.StopBits = Ports.StopBits.One '停止位
|
||||
.Parity = Ports.Parity.None '偶校验
|
||||
.RtsEnable = True
|
||||
.ReceivedBytesThreshold = 1
|
||||
End With
|
||||
End Sub
|
||||
Private Sub UartPort_cob_DropDown(sender As Object, e As EventArgs) Handles UartPort_cob.DropDown
|
||||
Dim portNames As String() = System.IO.Ports.SerialPort.GetPortNames '获得可用串口
|
||||
Array.Sort(portNames)
|
||||
UartPort_cob.Items.Clear()
|
||||
UartPort_cob.Items.AddRange(portNames)
|
||||
If Not SerialPort1.IsOpen Then
|
||||
UartPort_cob.SelectedIndex = 0
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
Public IsBoxReady As Boolean = False
|
||||
Public Entering_Cnt As Integer = 0
|
||||
Private Sub txt_BosCode_PreviewKeyDown(sender As Object, e As PreviewKeyDownEventArgs) Handles txt_BosCode.PreviewKeyDown
|
||||
|
||||
If e.KeyData = Keys.Enter Then
|
||||
IsBoxReady = True
|
||||
Entering_Cnt = 0
|
||||
Me.txt_BosCode.Enabled = False
|
||||
End If
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#End Region
|
||||
|
||||
|
||||
|
||||
#Region "测试流程"
|
||||
|
||||
#End Region
|
||||
|
||||
End Class
|
||||
|
||||
Public Class JsonPtr
|
||||
Public Data As jsonrusil
|
||||
Public Message As String
|
||||
|
||||
End Class
|
||||
Public Class jsonrusil
|
||||
Public ID As String
|
||||
|
||||
Public ProjectID As String
|
||||
Public Barcode As String
|
||||
Public ImportDateTime As Date
|
||||
Public UpdateTime As Date
|
||||
Public Mars_ColorBox_BarCode As String
|
||||
Public Mars_OutBoxCode As String
|
||||
Public Mars_MacCodeP As String
|
||||
Public Mars_UnitWeigth As String
|
||||
End Class
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user