Commit 03e70b29 LN

1

1 个父辈 6aef2192
正在显示 37 个修改的文件 包含 2986 行增加3418 行删除
...@@ -85,11 +85,11 @@ ...@@ -85,11 +85,11 @@
<Compile Include="FrmAbout.Designer.cs"> <Compile Include="FrmAbout.Designer.cs">
<DependentUpon>FrmAbout.cs</DependentUpon> <DependentUpon>FrmAbout.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="FrmMain.cs"> <Compile Include="FrmStore.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
<Compile Include="FrmMain.Designer.cs"> <Compile Include="FrmStore.Designer.cs">
<DependentUpon>FrmMain.cs</DependentUpon> <DependentUpon>FrmStore.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="FrmPwd.cs"> <Compile Include="FrmPwd.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
...@@ -97,15 +97,21 @@ ...@@ -97,15 +97,21 @@
<Compile Include="FrmPwd.Designer.cs"> <Compile Include="FrmPwd.Designer.cs">
<DependentUpon>FrmPwd.cs</DependentUpon> <DependentUpon>FrmPwd.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="FrmStoreBox.cs"> <Compile Include="FrmBox.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
<Compile Include="FrmStoreBox.Designer.cs"> <Compile Include="FrmBox.Designer.cs">
<DependentUpon>FrmStoreBox.cs</DependentUpon> <DependentUpon>FrmBox.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="ManagerUtil.cs" /> <Compile Include="ManagerUtil.cs" />
<Compile Include="Program.cs" /> <Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="useControl\AxisMoveControl.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="useControl\AxisMoveControl.Designer.cs">
<DependentUpon>AxisMoveControl.cs</DependentUpon>
</Compile>
<EmbeddedResource Include="FrmAxisDebug.resx"> <EmbeddedResource Include="FrmAxisDebug.resx">
<DependentUpon>FrmAxisDebug.cs</DependentUpon> <DependentUpon>FrmAxisDebug.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
...@@ -118,14 +124,14 @@ ...@@ -118,14 +124,14 @@
<EmbeddedResource Include="FrmAbout.resx"> <EmbeddedResource Include="FrmAbout.resx">
<DependentUpon>FrmAbout.cs</DependentUpon> <DependentUpon>FrmAbout.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="FrmMain.resx"> <EmbeddedResource Include="FrmStore.resx">
<DependentUpon>FrmMain.cs</DependentUpon> <DependentUpon>FrmStore.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="FrmPwd.resx"> <EmbeddedResource Include="FrmPwd.resx">
<DependentUpon>FrmPwd.cs</DependentUpon> <DependentUpon>FrmPwd.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="FrmStoreBox.resx"> <EmbeddedResource Include="FrmBox.resx">
<DependentUpon>FrmStoreBox.cs</DependentUpon> <DependentUpon>FrmBox.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx"> <EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator> <Generator>ResXFileCodeGenerator</Generator>
...@@ -137,6 +143,9 @@ ...@@ -137,6 +143,9 @@
<DependentUpon>Resources.resx</DependentUpon> <DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime> <DesignTime>True</DesignTime>
</Compile> </Compile>
<EmbeddedResource Include="useControl\AxisMoveControl.resx">
<DependentUpon>AxisMoveControl.cs</DependentUpon>
</EmbeddedResource>
<None Include="Properties\Settings.settings"> <None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator> <Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput> <LastGenOutput>Settings.Designer.cs</LastGenOutput>
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
{ {
partial class FrmAbout partial class FrmAbout
{ {
/// <summary> /// <summary>
/// Required designer variable. /// Required designer variable.
/// </summary> /// </summary>
...@@ -31,6 +32,8 @@ ...@@ -31,6 +32,8 @@
this.btnNext = new System.Windows.Forms.Button(); this.btnNext = new System.Windows.Forms.Button();
this.lblVersion = new System.Windows.Forms.Label(); this.lblVersion = new System.Windows.Forms.Label();
this.lblTime = new System.Windows.Forms.Label(); this.lblTime = new System.Windows.Forms.Label();
this.lblCodeName = new System.Windows.Forms.Label();
this.btnCopy = new System.Windows.Forms.Button();
this.SuspendLayout(); this.SuspendLayout();
// //
// btnNext // btnNext
...@@ -38,7 +41,7 @@ ...@@ -38,7 +41,7 @@
this.btnNext.Anchor = System.Windows.Forms.AnchorStyles.Top; this.btnNext.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.btnNext.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnNext.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnNext.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.btnNext.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnNext.Location = new System.Drawing.Point(152, 113); this.btnNext.Location = new System.Drawing.Point(210, 140);
this.btnNext.Name = "btnNext"; this.btnNext.Name = "btnNext";
this.btnNext.Size = new System.Drawing.Size(120, 45); this.btnNext.Size = new System.Drawing.Size(120, 45);
this.btnNext.TabIndex = 275; this.btnNext.TabIndex = 275;
...@@ -50,9 +53,9 @@ ...@@ -50,9 +53,9 @@
// //
this.lblVersion.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) this.lblVersion.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.lblVersion.Location = new System.Drawing.Point(12, 33); this.lblVersion.Location = new System.Drawing.Point(12, 36);
this.lblVersion.Name = "lblVersion"; this.lblVersion.Name = "lblVersion";
this.lblVersion.Size = new System.Drawing.Size(413, 23); this.lblVersion.Size = new System.Drawing.Size(529, 23);
this.lblVersion.TabIndex = 276; this.lblVersion.TabIndex = 276;
this.lblVersion.Text = "版本号:1.1.0000.0000"; this.lblVersion.Text = "版本号:1.1.0000.0000";
this.lblVersion.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.lblVersion.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
...@@ -61,18 +64,41 @@ ...@@ -61,18 +64,41 @@
// //
this.lblTime.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) this.lblTime.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.lblTime.Location = new System.Drawing.Point(12, 63); this.lblTime.Location = new System.Drawing.Point(81, 66);
this.lblTime.Name = "lblTime"; this.lblTime.Name = "lblTime";
this.lblTime.Size = new System.Drawing.Size(413, 23); this.lblTime.Size = new System.Drawing.Size(379, 23);
this.lblTime.TabIndex = 277; this.lblTime.TabIndex = 277;
this.lblTime.Text = "更新时间:0000-00-00 00:00:00"; this.lblTime.Text = "更新时间:0000-00-00 00:00:00";
this.lblTime.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.lblTime.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
// //
// lblCodeName
//
this.lblCodeName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.lblCodeName.Location = new System.Drawing.Point(12, 100);
this.lblCodeName.Name = "lblCodeName";
this.lblCodeName.Size = new System.Drawing.Size(529, 23);
this.lblCodeName.TabIndex = 278;
this.lblCodeName.Text = "软件编号:????";
this.lblCodeName.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// btnCopy
//
this.btnCopy.Location = new System.Drawing.Point(466, 64);
this.btnCopy.Name = "btnCopy";
this.btnCopy.Size = new System.Drawing.Size(75, 25);
this.btnCopy.TabIndex = 279;
this.btnCopy.Text = "复制";
this.btnCopy.UseVisualStyleBackColor = true;
this.btnCopy.Click += new System.EventHandler(this.btnCopy_Click);
//
// FrmAbout // FrmAbout
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(437, 186); this.ClientSize = new System.Drawing.Size(553, 222);
this.Controls.Add(this.btnCopy);
this.Controls.Add(this.lblCodeName);
this.Controls.Add(this.lblTime); this.Controls.Add(this.lblTime);
this.Controls.Add(this.lblVersion); this.Controls.Add(this.lblVersion);
this.Controls.Add(this.btnNext); this.Controls.Add(this.btnNext);
...@@ -89,5 +115,7 @@ ...@@ -89,5 +115,7 @@
private System.Windows.Forms.Button btnNext; private System.Windows.Forms.Button btnNext;
private System.Windows.Forms.Label lblVersion; private System.Windows.Forms.Label lblVersion;
private System.Windows.Forms.Label lblTime; private System.Windows.Forms.Label lblTime;
private System.Windows.Forms.Label lblCodeName;
private System.Windows.Forms.Button btnCopy;
} }
} }
\ No newline at end of file \ No newline at end of file
...@@ -13,9 +13,9 @@ using System.Windows.Forms; ...@@ -13,9 +13,9 @@ using System.Windows.Forms;
namespace OnlineStore.ACPackingStore namespace OnlineStore.ACPackingStore
{ {
public partial class FrmAbout : FrmBase public partial class FrmAbout : FrmBase
{ {
public FrmAbout( ) public FrmAbout()
{ {
InitializeComponent(); InitializeComponent();
} }
...@@ -23,12 +23,19 @@ namespace OnlineStore.ACPackingStore ...@@ -23,12 +23,19 @@ namespace OnlineStore.ACPackingStore
{ {
this.DialogResult = DialogResult.None; this.DialogResult = DialogResult.None;
lblTime.Text = "更新时间:" + GetVersion(); lblTime.Text = "更新时间:" + GetVersion();
lblVersion.Text = "版本号:"+ System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(); lblVersion.Text = "版本号:" + System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
lblCodeName.Text = "软件编号:" + GetCodeNum();
} }
private void btnNext_Click(object sender, EventArgs e) private void btnNext_Click(object sender, EventArgs e)
{ {
this.Close(); this.Close();
} }
private void btnCopy_Click(object sender, EventArgs e)
{
Clipboard.SetDataObject(GetCodeNum(), true);
}
} }
} }
namespace OnlineStore.ACSingleStore
{
partial class FrmAxisMoveConfig
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmAxisMoveConfig));
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.txtDelSpeed = new System.Windows.Forms.TextBox();
this.label19 = new System.Windows.Forms.Label();
this.lblShuoKePort = new System.Windows.Forms.Label();
this.txtBeginSpeed = new System.Windows.Forms.TextBox();
this.txtAddSpeed = new System.Windows.Forms.TextBox();
this.lblShuoKeAdd = new System.Windows.Forms.Label();
this.txtTargetSpeed = new System.Windows.Forms.TextBox();
this.label20 = new System.Windows.Forms.Label();
this.label21 = new System.Windows.Forms.Label();
this.txtMaxSpeed = new System.Windows.Forms.TextBox();
this.label18 = new System.Windows.Forms.Label();
this.label11 = new System.Windows.Forms.Label();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.txtInoutMax = new System.Windows.Forms.TextBox();
this.txtUpdownMax = new System.Windows.Forms.TextBox();
this.txtMiddleMax = new System.Windows.Forms.TextBox();
this.label12 = new System.Windows.Forms.Label();
this.label13 = new System.Windows.Forms.Label();
this.txtInoutMin = new System.Windows.Forms.TextBox();
this.txtUpdownMin = new System.Windows.Forms.TextBox();
this.txtMiddleMin = new System.Windows.Forms.TextBox();
this.label15 = new System.Windows.Forms.Label();
this.label16 = new System.Windows.Forms.Label();
this.label17 = new System.Windows.Forms.Label();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.label10 = new System.Windows.Forms.Label();
this.txtIRSpeed = new System.Windows.Forms.TextBox();
this.txtURSpeed = new System.Windows.Forms.TextBox();
this.txtMRSpeed = new System.Windows.Forms.TextBox();
this.label9 = new System.Windows.Forms.Label();
this.txtIDtime = new System.Windows.Forms.TextBox();
this.txtUDtime = new System.Windows.Forms.TextBox();
this.txtMDtime = new System.Windows.Forms.TextBox();
this.txtIAtime = new System.Windows.Forms.TextBox();
this.txtUAtime = new System.Windows.Forms.TextBox();
this.txtMAtime = new System.Windows.Forms.TextBox();
this.txtISpeed = new System.Windows.Forms.TextBox();
this.txtUSpeed = new System.Windows.Forms.TextBox();
this.txtMSpeed = new System.Windows.Forms.TextBox();
this.label8 = new System.Windows.Forms.Label();
this.label7 = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
this.txtInOutSpeed = new System.Windows.Forms.TextBox();
this.txtUpDownSpeed = new System.Windows.Forms.TextBox();
this.txtMiddleSpeed = new System.Windows.Forms.TextBox();
this.label3 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.label1 = new System.Windows.Forms.Label();
this.label67 = new System.Windows.Forms.Label();
this.txtInOutP3S = new System.Windows.Forms.TextBox();
this.label61 = new System.Windows.Forms.Label();
this.txtInOutP2S = new System.Windows.Forms.TextBox();
this.label62 = new System.Windows.Forms.Label();
this.txtInOutP1S = new System.Windows.Forms.TextBox();
this.label63 = new System.Windows.Forms.Label();
this.txtMiddleP2S = new System.Windows.Forms.TextBox();
this.label60 = new System.Windows.Forms.Label();
this.txtMiddleP1S = new System.Windows.Forms.TextBox();
this.label58 = new System.Windows.Forms.Label();
this.txtUpdownP8S = new System.Windows.Forms.TextBox();
this.label57 = new System.Windows.Forms.Label();
this.txtUpdownP7S = new System.Windows.Forms.TextBox();
this.label56 = new System.Windows.Forms.Label();
this.txtUpdownP6S = new System.Windows.Forms.TextBox();
this.label55 = new System.Windows.Forms.Label();
this.txtUpdownP5S = new System.Windows.Forms.TextBox();
this.label54 = new System.Windows.Forms.Label();
this.txtUpdownP4S = new System.Windows.Forms.TextBox();
this.label52 = new System.Windows.Forms.Label();
this.txtUpdownP3S = new System.Windows.Forms.TextBox();
this.label51 = new System.Windows.Forms.Label();
this.txtUpdownP2S = new System.Windows.Forms.TextBox();
this.label50 = new System.Windows.Forms.Label();
this.txtUpdownP1S = new System.Windows.Forms.TextBox();
this.label53 = new System.Windows.Forms.Label();
this.btnSaveAxisSpeed = new System.Windows.Forms.Button();
this.groupBox3.SuspendLayout();
this.groupBox2.SuspendLayout();
this.groupBox1.SuspendLayout();
this.groupBox4.SuspendLayout();
this.SuspendLayout();
//
// groupBox3
//
this.groupBox3.Controls.Add(this.txtDelSpeed);
this.groupBox3.Controls.Add(this.label19);
this.groupBox3.Controls.Add(this.lblShuoKePort);
this.groupBox3.Controls.Add(this.txtBeginSpeed);
this.groupBox3.Controls.Add(this.txtAddSpeed);
this.groupBox3.Controls.Add(this.lblShuoKeAdd);
this.groupBox3.Controls.Add(this.txtTargetSpeed);
this.groupBox3.Controls.Add(this.label20);
this.groupBox3.Controls.Add(this.label21);
this.groupBox3.Controls.Add(this.txtMaxSpeed);
this.groupBox3.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.groupBox3.Location = new System.Drawing.Point(586, 227);
this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(210, 194);
this.groupBox3.TabIndex = 225;
this.groupBox3.TabStop = false;
this.groupBox3.Text = "压紧轴速度设置";
//
// txtDelSpeed
//
this.txtDelSpeed.Location = new System.Drawing.Point(94, 158);
this.txtDelSpeed.Name = "txtDelSpeed";
this.txtDelSpeed.Size = new System.Drawing.Size(100, 23);
this.txtDelSpeed.TabIndex = 234;
//
// label19
//
this.label19.AutoSize = true;
this.label19.Location = new System.Drawing.Point(16, 162);
this.label19.Name = "label19";
this.label19.Size = new System.Drawing.Size(56, 17);
this.label19.TabIndex = 233;
this.label19.Text = "减速度:";
//
// lblShuoKePort
//
this.lblShuoKePort.AutoSize = true;
this.lblShuoKePort.Location = new System.Drawing.Point(16, 26);
this.lblShuoKePort.Name = "lblShuoKePort";
this.lblShuoKePort.Size = new System.Drawing.Size(68, 17);
this.lblShuoKePort.TabIndex = 225;
this.lblShuoKePort.Text = "起始速度:";
//
// txtBeginSpeed
//
this.txtBeginSpeed.Location = new System.Drawing.Point(94, 22);
this.txtBeginSpeed.Name = "txtBeginSpeed";
this.txtBeginSpeed.Size = new System.Drawing.Size(100, 23);
this.txtBeginSpeed.TabIndex = 226;
//
// txtAddSpeed
//
this.txtAddSpeed.Location = new System.Drawing.Point(94, 124);
this.txtAddSpeed.Name = "txtAddSpeed";
this.txtAddSpeed.Size = new System.Drawing.Size(100, 23);
this.txtAddSpeed.TabIndex = 232;
//
// lblShuoKeAdd
//
this.lblShuoKeAdd.AutoSize = true;
this.lblShuoKeAdd.Location = new System.Drawing.Point(15, 60);
this.lblShuoKeAdd.Name = "lblShuoKeAdd";
this.lblShuoKeAdd.Size = new System.Drawing.Size(68, 17);
this.lblShuoKeAdd.TabIndex = 227;
this.lblShuoKeAdd.Text = "目标速度:";
//
// txtTargetSpeed
//
this.txtTargetSpeed.Location = new System.Drawing.Point(94, 56);
this.txtTargetSpeed.Name = "txtTargetSpeed";
this.txtTargetSpeed.Size = new System.Drawing.Size(100, 23);
this.txtTargetSpeed.TabIndex = 228;
//
// label20
//
this.label20.AutoSize = true;
this.label20.Location = new System.Drawing.Point(15, 128);
this.label20.Name = "label20";
this.label20.Size = new System.Drawing.Size(56, 17);
this.label20.TabIndex = 231;
this.label20.Text = "加速度:";
//
// label21
//
this.label21.AutoSize = true;
this.label21.Location = new System.Drawing.Point(15, 94);
this.label21.Name = "label21";
this.label21.Size = new System.Drawing.Size(68, 17);
this.label21.TabIndex = 229;
this.label21.Text = "最大速度:";
//
// txtMaxSpeed
//
this.txtMaxSpeed.Location = new System.Drawing.Point(94, 90);
this.txtMaxSpeed.Name = "txtMaxSpeed";
this.txtMaxSpeed.Size = new System.Drawing.Size(100, 23);
this.txtMaxSpeed.TabIndex = 230;
//
// label18
//
this.label18.AutoSize = true;
this.label18.ForeColor = System.Drawing.Color.Red;
this.label18.Location = new System.Drawing.Point(493, 45);
this.label18.Name = "label18";
this.label18.Size = new System.Drawing.Size(227, 12);
this.label18.TabIndex = 224;
this.label18.Text = "*速度倍率为20时支持的最大速度为327660";
//
// label11
//
this.label11.AutoSize = true;
this.label11.ForeColor = System.Drawing.Color.Red;
this.label11.Location = new System.Drawing.Point(493, 21);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(227, 12);
this.label11.TabIndex = 223;
this.label11.Text = "*速度倍率为10时支持的最大速度为163830";
//
// groupBox2
//
this.groupBox2.Controls.Add(this.txtInoutMax);
this.groupBox2.Controls.Add(this.txtUpdownMax);
this.groupBox2.Controls.Add(this.txtMiddleMax);
this.groupBox2.Controls.Add(this.label12);
this.groupBox2.Controls.Add(this.label13);
this.groupBox2.Controls.Add(this.txtInoutMin);
this.groupBox2.Controls.Add(this.txtUpdownMin);
this.groupBox2.Controls.Add(this.txtMiddleMin);
this.groupBox2.Controls.Add(this.label15);
this.groupBox2.Controls.Add(this.label16);
this.groupBox2.Controls.Add(this.label17);
this.groupBox2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.groupBox2.Location = new System.Drawing.Point(38, 419);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(368, 147);
this.groupBox2.TabIndex = 222;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "出入库脉冲误差范围";
//
// txtInoutMax
//
this.txtInoutMax.Location = new System.Drawing.Point(243, 107);
this.txtInoutMax.Name = "txtInoutMax";
this.txtInoutMax.Size = new System.Drawing.Size(92, 23);
this.txtInoutMax.TabIndex = 22;
//
// txtUpdownMax
//
this.txtUpdownMax.Location = new System.Drawing.Point(243, 75);
this.txtUpdownMax.Name = "txtUpdownMax";
this.txtUpdownMax.Size = new System.Drawing.Size(92, 23);
this.txtUpdownMax.TabIndex = 21;
//
// txtMiddleMax
//
this.txtMiddleMax.Location = new System.Drawing.Point(243, 45);
this.txtMiddleMax.Name = "txtMiddleMax";
this.txtMiddleMax.Size = new System.Drawing.Size(92, 23);
this.txtMiddleMax.TabIndex = 20;
//
// label12
//
this.label12.AutoSize = true;
this.label12.Location = new System.Drawing.Point(257, 21);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(68, 17);
this.label12.TabIndex = 18;
this.label12.Text = "最大误差值";
//
// label13
//
this.label13.AutoSize = true;
this.label13.Location = new System.Drawing.Point(136, 21);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(68, 17);
this.label13.TabIndex = 17;
this.label13.Text = "最小误差值";
//
// txtInoutMin
//
this.txtInoutMin.Location = new System.Drawing.Point(133, 107);
this.txtInoutMin.Name = "txtInoutMin";
this.txtInoutMin.Size = new System.Drawing.Size(92, 23);
this.txtInoutMin.TabIndex = 15;
//
// txtUpdownMin
//
this.txtUpdownMin.Location = new System.Drawing.Point(133, 75);
this.txtUpdownMin.Name = "txtUpdownMin";
this.txtUpdownMin.Size = new System.Drawing.Size(92, 23);
this.txtUpdownMin.TabIndex = 14;
this.txtUpdownMin.Text = " ";
//
// txtMiddleMin
//
this.txtMiddleMin.Location = new System.Drawing.Point(133, 45);
this.txtMiddleMin.Name = "txtMiddleMin";
this.txtMiddleMin.Size = new System.Drawing.Size(92, 23);
this.txtMiddleMin.TabIndex = 13;
//
// label15
//
this.label15.AutoSize = true;
this.label15.Location = new System.Drawing.Point(9, 112);
this.label15.Name = "label15";
this.label15.Size = new System.Drawing.Size(116, 17);
this.label15.TabIndex = 11;
this.label15.Text = "(伺服三)进出伺服";
//
// label16
//
this.label16.AutoSize = true;
this.label16.Location = new System.Drawing.Point(9, 80);
this.label16.Name = "label16";
this.label16.Size = new System.Drawing.Size(116, 17);
this.label16.TabIndex = 10;
this.label16.Text = "(伺服二)升降伺服";
//
// label17
//
this.label17.AutoSize = true;
this.label17.Location = new System.Drawing.Point(9, 50);
this.label17.Name = "label17";
this.label17.Size = new System.Drawing.Size(116, 17);
this.label17.TabIndex = 9;
this.label17.Text = "(伺服一)旋转伺服";
//
// groupBox1
//
this.groupBox1.Controls.Add(this.label10);
this.groupBox1.Controls.Add(this.txtIRSpeed);
this.groupBox1.Controls.Add(this.txtURSpeed);
this.groupBox1.Controls.Add(this.txtMRSpeed);
this.groupBox1.Controls.Add(this.label9);
this.groupBox1.Controls.Add(this.txtIDtime);
this.groupBox1.Controls.Add(this.txtUDtime);
this.groupBox1.Controls.Add(this.txtMDtime);
this.groupBox1.Controls.Add(this.txtIAtime);
this.groupBox1.Controls.Add(this.txtUAtime);
this.groupBox1.Controls.Add(this.txtMAtime);
this.groupBox1.Controls.Add(this.txtISpeed);
this.groupBox1.Controls.Add(this.txtUSpeed);
this.groupBox1.Controls.Add(this.txtMSpeed);
this.groupBox1.Controls.Add(this.label8);
this.groupBox1.Controls.Add(this.label7);
this.groupBox1.Controls.Add(this.label6);
this.groupBox1.Controls.Add(this.txtInOutSpeed);
this.groupBox1.Controls.Add(this.txtUpDownSpeed);
this.groupBox1.Controls.Add(this.txtMiddleSpeed);
this.groupBox1.Controls.Add(this.label3);
this.groupBox1.Controls.Add(this.label2);
this.groupBox1.Controls.Add(this.label5);
this.groupBox1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.groupBox1.Location = new System.Drawing.Point(38, 75);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(758, 147);
this.groupBox1.TabIndex = 221;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "默认设置";
//
// label10
//
this.label10.AutoSize = true;
this.label10.Location = new System.Drawing.Point(592, 21);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(56, 17);
this.label10.TabIndex = 32;
this.label10.Text = "速度倍率";
//
// txtIRSpeed
//
this.txtIRSpeed.Location = new System.Drawing.Point(580, 105);
this.txtIRSpeed.Name = "txtIRSpeed";
this.txtIRSpeed.Size = new System.Drawing.Size(92, 23);
this.txtIRSpeed.TabIndex = 35;
//
// txtURSpeed
//
this.txtURSpeed.Location = new System.Drawing.Point(580, 74);
this.txtURSpeed.Name = "txtURSpeed";
this.txtURSpeed.Size = new System.Drawing.Size(92, 23);
this.txtURSpeed.TabIndex = 34;
//
// txtMRSpeed
//
this.txtMRSpeed.Location = new System.Drawing.Point(580, 44);
this.txtMRSpeed.Name = "txtMRSpeed";
this.txtMRSpeed.Size = new System.Drawing.Size(92, 23);
this.txtMRSpeed.TabIndex = 33;
//
// label9
//
this.label9.AutoSize = true;
this.label9.Location = new System.Drawing.Point(479, 21);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(56, 17);
this.label9.TabIndex = 20;
this.label9.Text = "减速时间";
//
// txtIDtime
//
this.txtIDtime.Location = new System.Drawing.Point(465, 106);
this.txtIDtime.Name = "txtIDtime";
this.txtIDtime.Size = new System.Drawing.Size(92, 23);
this.txtIDtime.TabIndex = 30;
//
// txtUDtime
//
this.txtUDtime.Location = new System.Drawing.Point(465, 75);
this.txtUDtime.Name = "txtUDtime";
this.txtUDtime.Size = new System.Drawing.Size(92, 23);
this.txtUDtime.TabIndex = 29;
//
// txtMDtime
//
this.txtMDtime.Location = new System.Drawing.Point(465, 45);
this.txtMDtime.Name = "txtMDtime";
this.txtMDtime.Size = new System.Drawing.Size(92, 23);
this.txtMDtime.TabIndex = 28;
//
// txtIAtime
//
this.txtIAtime.Location = new System.Drawing.Point(352, 106);
this.txtIAtime.Name = "txtIAtime";
this.txtIAtime.Size = new System.Drawing.Size(92, 23);
this.txtIAtime.TabIndex = 26;
//
// txtUAtime
//
this.txtUAtime.Location = new System.Drawing.Point(352, 75);
this.txtUAtime.Name = "txtUAtime";
this.txtUAtime.Size = new System.Drawing.Size(92, 23);
this.txtUAtime.TabIndex = 25;
//
// txtMAtime
//
this.txtMAtime.Location = new System.Drawing.Point(352, 45);
this.txtMAtime.Name = "txtMAtime";
this.txtMAtime.Size = new System.Drawing.Size(92, 23);
this.txtMAtime.TabIndex = 24;
//
// txtISpeed
//
this.txtISpeed.Location = new System.Drawing.Point(245, 106);
this.txtISpeed.Name = "txtISpeed";
this.txtISpeed.Size = new System.Drawing.Size(92, 23);
this.txtISpeed.TabIndex = 22;
//
// txtUSpeed
//
this.txtUSpeed.Location = new System.Drawing.Point(245, 75);
this.txtUSpeed.Name = "txtUSpeed";
this.txtUSpeed.Size = new System.Drawing.Size(92, 23);
this.txtUSpeed.TabIndex = 21;
//
// txtMSpeed
//
this.txtMSpeed.Location = new System.Drawing.Point(245, 45);
this.txtMSpeed.Name = "txtMSpeed";
this.txtMSpeed.Size = new System.Drawing.Size(92, 23);
this.txtMSpeed.TabIndex = 20;
//
// label8
//
this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(375, 21);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(56, 17);
this.label8.TabIndex = 19;
this.label8.Text = "加速时间";
//
// label7
//
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(259, 21);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(56, 17);
this.label7.TabIndex = 18;
this.label7.Text = "目标速度";
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(150, 21);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(56, 17);
this.label6.TabIndex = 17;
this.label6.Text = "开始速度";
//
// txtInOutSpeed
//
this.txtInOutSpeed.Location = new System.Drawing.Point(135, 106);
this.txtInOutSpeed.Name = "txtInOutSpeed";
this.txtInOutSpeed.Size = new System.Drawing.Size(92, 23);
this.txtInOutSpeed.TabIndex = 15;
//
// txtUpDownSpeed
//
this.txtUpDownSpeed.Location = new System.Drawing.Point(135, 75);
this.txtUpDownSpeed.Name = "txtUpDownSpeed";
this.txtUpDownSpeed.Size = new System.Drawing.Size(92, 23);
this.txtUpDownSpeed.TabIndex = 14;
this.txtUpDownSpeed.Text = " ";
//
// txtMiddleSpeed
//
this.txtMiddleSpeed.Location = new System.Drawing.Point(135, 45);
this.txtMiddleSpeed.Name = "txtMiddleSpeed";
this.txtMiddleSpeed.Size = new System.Drawing.Size(92, 23);
this.txtMiddleSpeed.TabIndex = 13;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(9, 111);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(116, 17);
this.label3.TabIndex = 11;
this.label3.Text = "(伺服三)进出伺服";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(9, 80);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(116, 17);
this.label2.TabIndex = 10;
this.label2.Text = "(伺服二)升降伺服";
//
// label5
//
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(9, 50);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(116, 17);
this.label5.TabIndex = 9;
this.label5.Text = "(伺服一)旋转伺服";
//
// groupBox4
//
this.groupBox4.Controls.Add(this.label1);
this.groupBox4.Controls.Add(this.label67);
this.groupBox4.Controls.Add(this.txtInOutP3S);
this.groupBox4.Controls.Add(this.label61);
this.groupBox4.Controls.Add(this.txtInOutP2S);
this.groupBox4.Controls.Add(this.label62);
this.groupBox4.Controls.Add(this.txtInOutP1S);
this.groupBox4.Controls.Add(this.label63);
this.groupBox4.Controls.Add(this.txtMiddleP2S);
this.groupBox4.Controls.Add(this.label60);
this.groupBox4.Controls.Add(this.txtMiddleP1S);
this.groupBox4.Controls.Add(this.label58);
this.groupBox4.Controls.Add(this.txtUpdownP8S);
this.groupBox4.Controls.Add(this.label57);
this.groupBox4.Controls.Add(this.txtUpdownP7S);
this.groupBox4.Controls.Add(this.label56);
this.groupBox4.Controls.Add(this.txtUpdownP6S);
this.groupBox4.Controls.Add(this.label55);
this.groupBox4.Controls.Add(this.txtUpdownP5S);
this.groupBox4.Controls.Add(this.label54);
this.groupBox4.Controls.Add(this.txtUpdownP4S);
this.groupBox4.Controls.Add(this.label52);
this.groupBox4.Controls.Add(this.txtUpdownP3S);
this.groupBox4.Controls.Add(this.label51);
this.groupBox4.Controls.Add(this.txtUpdownP2S);
this.groupBox4.Controls.Add(this.label50);
this.groupBox4.Controls.Add(this.txtUpdownP1S);
this.groupBox4.Controls.Add(this.label53);
this.groupBox4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.groupBox4.Location = new System.Drawing.Point(38, 227);
this.groupBox4.Name = "groupBox4";
this.groupBox4.Size = new System.Drawing.Size(542, 181);
this.groupBox4.TabIndex = 220;
this.groupBox4.TabStop = false;
this.groupBox4.Text = "伺服P点速度列表";
//
// label1
//
this.label1.AutoSize = true;
this.label1.Cursor = System.Windows.Forms.Cursors.Default;
this.label1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label1.ForeColor = System.Drawing.SystemColors.ControlText;
this.label1.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.label1.Location = new System.Drawing.Point(15, 70);
this.label1.Name = "label1";
this.label1.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.label1.Size = new System.Drawing.Size(59, 17);
this.label1.TabIndex = 258;
this.label1.Text = "升降伺服:";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// label67
//
this.label67.AutoSize = true;
this.label67.Cursor = System.Windows.Forms.Cursors.Default;
this.label67.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label67.ForeColor = System.Drawing.SystemColors.ControlText;
this.label67.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.label67.Location = new System.Drawing.Point(15, 30);
this.label67.Name = "label67";
this.label67.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.label67.Size = new System.Drawing.Size(59, 17);
this.label67.TabIndex = 257;
this.label67.Text = "升降伺服:";
this.label67.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// txtInOutP3S
//
this.txtInOutP3S.AcceptsReturn = true;
this.txtInOutP3S.BackColor = System.Drawing.SystemColors.Window;
this.txtInOutP3S.Cursor = System.Windows.Forms.Cursors.IBeam;
this.txtInOutP3S.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.txtInOutP3S.ForeColor = System.Drawing.SystemColors.WindowText;
this.txtInOutP3S.Location = new System.Drawing.Point(342, 146);
this.txtInOutP3S.MaxLength = 0;
this.txtInOutP3S.Name = "txtInOutP3S";
this.txtInOutP3S.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.txtInOutP3S.Size = new System.Drawing.Size(75, 23);
this.txtInOutP3S.TabIndex = 250;
//
// label61
//
this.label61.AutoSize = true;
this.label61.Cursor = System.Windows.Forms.Cursors.Default;
this.label61.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label61.ForeColor = System.Drawing.SystemColors.ControlText;
this.label61.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.label61.Location = new System.Drawing.Point(306, 149);
this.label61.Name = "label61";
this.label61.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.label61.Size = new System.Drawing.Size(34, 17);
this.label61.TabIndex = 249;
this.label61.Text = "P3:";
this.label61.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// txtInOutP2S
//
this.txtInOutP2S.AcceptsReturn = true;
this.txtInOutP2S.BackColor = System.Drawing.SystemColors.Window;
this.txtInOutP2S.Cursor = System.Windows.Forms.Cursors.IBeam;
this.txtInOutP2S.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.txtInOutP2S.ForeColor = System.Drawing.SystemColors.WindowText;
this.txtInOutP2S.Location = new System.Drawing.Point(225, 146);
this.txtInOutP2S.MaxLength = 0;
this.txtInOutP2S.Name = "txtInOutP2S";
this.txtInOutP2S.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.txtInOutP2S.Size = new System.Drawing.Size(75, 23);
this.txtInOutP2S.TabIndex = 248;
//
// label62
//
this.label62.AutoSize = true;
this.label62.Cursor = System.Windows.Forms.Cursors.Default;
this.label62.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label62.ForeColor = System.Drawing.SystemColors.ControlText;
this.label62.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.label62.Location = new System.Drawing.Point(189, 149);
this.label62.Name = "label62";
this.label62.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.label62.Size = new System.Drawing.Size(34, 17);
this.label62.TabIndex = 247;
this.label62.Text = "P2:";
this.label62.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// txtInOutP1S
//
this.txtInOutP1S.AcceptsReturn = true;
this.txtInOutP1S.BackColor = System.Drawing.SystemColors.Window;
this.txtInOutP1S.Cursor = System.Windows.Forms.Cursors.IBeam;
this.txtInOutP1S.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.txtInOutP1S.ForeColor = System.Drawing.SystemColors.WindowText;
this.txtInOutP1S.Location = new System.Drawing.Point(103, 146);
this.txtInOutP1S.MaxLength = 0;
this.txtInOutP1S.Name = "txtInOutP1S";
this.txtInOutP1S.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.txtInOutP1S.Size = new System.Drawing.Size(75, 23);
this.txtInOutP1S.TabIndex = 246;
//
// label63
//
this.label63.AutoSize = true;
this.label63.Cursor = System.Windows.Forms.Cursors.Default;
this.label63.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label63.ForeColor = System.Drawing.SystemColors.ControlText;
this.label63.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.label63.Location = new System.Drawing.Point(15, 150);
this.label63.Name = "label63";
this.label63.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.label63.Size = new System.Drawing.Size(94, 17);
this.label63.TabIndex = 245;
this.label63.Text = "进出伺服 P1:";
this.label63.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// txtMiddleP2S
//
this.txtMiddleP2S.AcceptsReturn = true;
this.txtMiddleP2S.BackColor = System.Drawing.SystemColors.Window;
this.txtMiddleP2S.Cursor = System.Windows.Forms.Cursors.IBeam;
this.txtMiddleP2S.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.txtMiddleP2S.ForeColor = System.Drawing.SystemColors.WindowText;
this.txtMiddleP2S.Location = new System.Drawing.Point(225, 106);
this.txtMiddleP2S.MaxLength = 0;
this.txtMiddleP2S.Name = "txtMiddleP2S";
this.txtMiddleP2S.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.txtMiddleP2S.Size = new System.Drawing.Size(75, 23);
this.txtMiddleP2S.TabIndex = 242;
//
// label60
//
this.label60.AutoSize = true;
this.label60.Cursor = System.Windows.Forms.Cursors.Default;
this.label60.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label60.ForeColor = System.Drawing.SystemColors.ControlText;
this.label60.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.label60.Location = new System.Drawing.Point(189, 109);
this.label60.Name = "label60";
this.label60.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.label60.Size = new System.Drawing.Size(34, 17);
this.label60.TabIndex = 241;
this.label60.Text = "P2:";
this.label60.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// txtMiddleP1S
//
this.txtMiddleP1S.AcceptsReturn = true;
this.txtMiddleP1S.BackColor = System.Drawing.SystemColors.Window;
this.txtMiddleP1S.Cursor = System.Windows.Forms.Cursors.IBeam;
this.txtMiddleP1S.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.txtMiddleP1S.ForeColor = System.Drawing.SystemColors.WindowText;
this.txtMiddleP1S.Location = new System.Drawing.Point(103, 106);
this.txtMiddleP1S.MaxLength = 0;
this.txtMiddleP1S.Name = "txtMiddleP1S";
this.txtMiddleP1S.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.txtMiddleP1S.Size = new System.Drawing.Size(75, 23);
this.txtMiddleP1S.TabIndex = 240;
//
// label58
//
this.label58.AutoSize = true;
this.label58.Cursor = System.Windows.Forms.Cursors.Default;
this.label58.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label58.ForeColor = System.Drawing.SystemColors.ControlText;
this.label58.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.label58.Location = new System.Drawing.Point(15, 110);
this.label58.Name = "label58";
this.label58.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.label58.Size = new System.Drawing.Size(94, 17);
this.label58.TabIndex = 239;
this.label58.Text = "旋转伺服 P1:";
this.label58.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// txtUpdownP8S
//
this.txtUpdownP8S.AcceptsReturn = true;
this.txtUpdownP8S.BackColor = System.Drawing.SystemColors.Window;
this.txtUpdownP8S.Cursor = System.Windows.Forms.Cursors.IBeam;
this.txtUpdownP8S.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.txtUpdownP8S.ForeColor = System.Drawing.SystemColors.WindowText;
this.txtUpdownP8S.Location = new System.Drawing.Point(457, 66);
this.txtUpdownP8S.MaxLength = 0;
this.txtUpdownP8S.Name = "txtUpdownP8S";
this.txtUpdownP8S.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.txtUpdownP8S.Size = new System.Drawing.Size(75, 23);
this.txtUpdownP8S.TabIndex = 238;
//
// label57
//
this.label57.AutoSize = true;
this.label57.Cursor = System.Windows.Forms.Cursors.Default;
this.label57.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label57.ForeColor = System.Drawing.SystemColors.ControlText;
this.label57.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.label57.Location = new System.Drawing.Point(421, 69);
this.label57.Name = "label57";
this.label57.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.label57.Size = new System.Drawing.Size(34, 17);
this.label57.TabIndex = 237;
this.label57.Text = "P8:";
this.label57.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// txtUpdownP7S
//
this.txtUpdownP7S.AcceptsReturn = true;
this.txtUpdownP7S.BackColor = System.Drawing.SystemColors.Window;
this.txtUpdownP7S.Cursor = System.Windows.Forms.Cursors.IBeam;
this.txtUpdownP7S.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.txtUpdownP7S.ForeColor = System.Drawing.SystemColors.WindowText;
this.txtUpdownP7S.Location = new System.Drawing.Point(341, 66);
this.txtUpdownP7S.MaxLength = 0;
this.txtUpdownP7S.Name = "txtUpdownP7S";
this.txtUpdownP7S.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.txtUpdownP7S.Size = new System.Drawing.Size(75, 23);
this.txtUpdownP7S.TabIndex = 236;
//
// label56
//
this.label56.AutoSize = true;
this.label56.Cursor = System.Windows.Forms.Cursors.Default;
this.label56.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label56.ForeColor = System.Drawing.SystemColors.ControlText;
this.label56.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.label56.Location = new System.Drawing.Point(306, 69);
this.label56.Name = "label56";
this.label56.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.label56.Size = new System.Drawing.Size(34, 17);
this.label56.TabIndex = 235;
this.label56.Text = "P7:";
this.label56.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// txtUpdownP6S
//
this.txtUpdownP6S.AcceptsReturn = true;
this.txtUpdownP6S.BackColor = System.Drawing.SystemColors.Window;
this.txtUpdownP6S.Cursor = System.Windows.Forms.Cursors.IBeam;
this.txtUpdownP6S.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.txtUpdownP6S.ForeColor = System.Drawing.SystemColors.WindowText;
this.txtUpdownP6S.Location = new System.Drawing.Point(225, 66);
this.txtUpdownP6S.MaxLength = 0;
this.txtUpdownP6S.Name = "txtUpdownP6S";
this.txtUpdownP6S.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.txtUpdownP6S.Size = new System.Drawing.Size(75, 23);
this.txtUpdownP6S.TabIndex = 234;
//
// label55
//
this.label55.AutoSize = true;
this.label55.Cursor = System.Windows.Forms.Cursors.Default;
this.label55.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label55.ForeColor = System.Drawing.SystemColors.ControlText;
this.label55.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.label55.Location = new System.Drawing.Point(189, 69);
this.label55.Name = "label55";
this.label55.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.label55.Size = new System.Drawing.Size(34, 17);
this.label55.TabIndex = 233;
this.label55.Text = "P6:";
this.label55.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// txtUpdownP5S
//
this.txtUpdownP5S.AcceptsReturn = true;
this.txtUpdownP5S.BackColor = System.Drawing.SystemColors.Window;
this.txtUpdownP5S.Cursor = System.Windows.Forms.Cursors.IBeam;
this.txtUpdownP5S.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.txtUpdownP5S.ForeColor = System.Drawing.SystemColors.WindowText;
this.txtUpdownP5S.Location = new System.Drawing.Point(103, 66);
this.txtUpdownP5S.MaxLength = 0;
this.txtUpdownP5S.Name = "txtUpdownP5S";
this.txtUpdownP5S.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.txtUpdownP5S.Size = new System.Drawing.Size(75, 23);
this.txtUpdownP5S.TabIndex = 232;
//
// label54
//
this.label54.AutoSize = true;
this.label54.Cursor = System.Windows.Forms.Cursors.Default;
this.label54.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label54.ForeColor = System.Drawing.SystemColors.ControlText;
this.label54.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.label54.Location = new System.Drawing.Point(76, 70);
this.label54.Name = "label54";
this.label54.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.label54.Size = new System.Drawing.Size(34, 17);
this.label54.TabIndex = 231;
this.label54.Text = "P5:";
this.label54.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// txtUpdownP4S
//
this.txtUpdownP4S.AcceptsReturn = true;
this.txtUpdownP4S.BackColor = System.Drawing.SystemColors.Window;
this.txtUpdownP4S.Cursor = System.Windows.Forms.Cursors.IBeam;
this.txtUpdownP4S.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.txtUpdownP4S.ForeColor = System.Drawing.SystemColors.WindowText;
this.txtUpdownP4S.Location = new System.Drawing.Point(458, 26);
this.txtUpdownP4S.MaxLength = 0;
this.txtUpdownP4S.Name = "txtUpdownP4S";
this.txtUpdownP4S.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.txtUpdownP4S.Size = new System.Drawing.Size(75, 23);
this.txtUpdownP4S.TabIndex = 230;
//
// label52
//
this.label52.AutoSize = true;
this.label52.Cursor = System.Windows.Forms.Cursors.Default;
this.label52.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label52.ForeColor = System.Drawing.SystemColors.ControlText;
this.label52.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.label52.Location = new System.Drawing.Point(422, 29);
this.label52.Name = "label52";
this.label52.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.label52.Size = new System.Drawing.Size(34, 17);
this.label52.TabIndex = 229;
this.label52.Text = "P4:";
this.label52.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// txtUpdownP3S
//
this.txtUpdownP3S.AcceptsReturn = true;
this.txtUpdownP3S.BackColor = System.Drawing.SystemColors.Window;
this.txtUpdownP3S.Cursor = System.Windows.Forms.Cursors.IBeam;
this.txtUpdownP3S.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.txtUpdownP3S.ForeColor = System.Drawing.SystemColors.WindowText;
this.txtUpdownP3S.Location = new System.Drawing.Point(341, 26);
this.txtUpdownP3S.MaxLength = 0;
this.txtUpdownP3S.Name = "txtUpdownP3S";
this.txtUpdownP3S.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.txtUpdownP3S.Size = new System.Drawing.Size(75, 23);
this.txtUpdownP3S.TabIndex = 228;
//
// label51
//
this.label51.AutoSize = true;
this.label51.Cursor = System.Windows.Forms.Cursors.Default;
this.label51.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label51.ForeColor = System.Drawing.SystemColors.ControlText;
this.label51.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.label51.Location = new System.Drawing.Point(306, 29);
this.label51.Name = "label51";
this.label51.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.label51.Size = new System.Drawing.Size(34, 17);
this.label51.TabIndex = 227;
this.label51.Text = "P3:";
this.label51.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// txtUpdownP2S
//
this.txtUpdownP2S.AcceptsReturn = true;
this.txtUpdownP2S.BackColor = System.Drawing.SystemColors.Window;
this.txtUpdownP2S.Cursor = System.Windows.Forms.Cursors.IBeam;
this.txtUpdownP2S.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.txtUpdownP2S.ForeColor = System.Drawing.SystemColors.WindowText;
this.txtUpdownP2S.Location = new System.Drawing.Point(225, 26);
this.txtUpdownP2S.MaxLength = 0;
this.txtUpdownP2S.Name = "txtUpdownP2S";
this.txtUpdownP2S.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.txtUpdownP2S.Size = new System.Drawing.Size(75, 23);
this.txtUpdownP2S.TabIndex = 226;
//
// label50
//
this.label50.AutoSize = true;
this.label50.Cursor = System.Windows.Forms.Cursors.Default;
this.label50.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label50.ForeColor = System.Drawing.SystemColors.ControlText;
this.label50.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.label50.Location = new System.Drawing.Point(189, 29);
this.label50.Name = "label50";
this.label50.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.label50.Size = new System.Drawing.Size(34, 17);
this.label50.TabIndex = 225;
this.label50.Text = "P2:";
this.label50.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// txtUpdownP1S
//
this.txtUpdownP1S.AcceptsReturn = true;
this.txtUpdownP1S.BackColor = System.Drawing.SystemColors.Window;
this.txtUpdownP1S.Cursor = System.Windows.Forms.Cursors.IBeam;
this.txtUpdownP1S.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.txtUpdownP1S.ForeColor = System.Drawing.SystemColors.WindowText;
this.txtUpdownP1S.Location = new System.Drawing.Point(103, 26);
this.txtUpdownP1S.MaxLength = 0;
this.txtUpdownP1S.Name = "txtUpdownP1S";
this.txtUpdownP1S.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.txtUpdownP1S.Size = new System.Drawing.Size(75, 23);
this.txtUpdownP1S.TabIndex = 224;
//
// label53
//
this.label53.AutoSize = true;
this.label53.Cursor = System.Windows.Forms.Cursors.Default;
this.label53.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label53.ForeColor = System.Drawing.SystemColors.ControlText;
this.label53.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.label53.Location = new System.Drawing.Point(76, 29);
this.label53.Name = "label53";
this.label53.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.label53.Size = new System.Drawing.Size(34, 17);
this.label53.TabIndex = 223;
this.label53.Text = "P1:";
this.label53.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// btnSaveAxisSpeed
//
this.btnSaveAxisSpeed.Location = new System.Drawing.Point(680, 538);
this.btnSaveAxisSpeed.Name = "btnSaveAxisSpeed";
this.btnSaveAxisSpeed.Size = new System.Drawing.Size(98, 28);
this.btnSaveAxisSpeed.TabIndex = 99;
this.btnSaveAxisSpeed.Text = "保存配置";
this.btnSaveAxisSpeed.UseVisualStyleBackColor = true;
this.btnSaveAxisSpeed.Click += new System.EventHandler(this.btnSaveAxisSpeed_Click);
//
// FrmAxisMoveConfig
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(840, 585);
this.Controls.Add(this.groupBox3);
this.Controls.Add(this.label18);
this.Controls.Add(this.label11);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.groupBox1);
this.Controls.Add(this.groupBox4);
this.Controls.Add(this.btnSaveAxisSpeed);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "FrmAxisMoveConfig";
this.Text = "伺服运动参数配置";
this.Load += new System.EventHandler(this.FrmAxisMoveConfig_Load);
this.Shown += new System.EventHandler(this.FrmAxisMoveConfig_Shown);
this.groupBox3.ResumeLayout(false);
this.groupBox3.PerformLayout();
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.groupBox4.ResumeLayout(false);
this.groupBox4.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.GroupBox groupBox4;
public System.Windows.Forms.Label label1;
private System.Windows.Forms.Button btnSaveAxisSpeed;
public System.Windows.Forms.Label label67;
public System.Windows.Forms.TextBox txtInOutP3S;
public System.Windows.Forms.Label label61;
public System.Windows.Forms.TextBox txtInOutP2S;
public System.Windows.Forms.Label label62;
public System.Windows.Forms.TextBox txtInOutP1S;
public System.Windows.Forms.Label label63;
public System.Windows.Forms.TextBox txtMiddleP2S;
public System.Windows.Forms.Label label60;
public System.Windows.Forms.TextBox txtMiddleP1S;
public System.Windows.Forms.Label label58;
public System.Windows.Forms.TextBox txtUpdownP8S;
public System.Windows.Forms.Label label57;
public System.Windows.Forms.TextBox txtUpdownP7S;
public System.Windows.Forms.Label label56;
public System.Windows.Forms.TextBox txtUpdownP6S;
public System.Windows.Forms.Label label55;
public System.Windows.Forms.TextBox txtUpdownP5S;
public System.Windows.Forms.Label label54;
public System.Windows.Forms.TextBox txtUpdownP4S;
public System.Windows.Forms.Label label52;
public System.Windows.Forms.TextBox txtUpdownP3S;
public System.Windows.Forms.Label label51;
public System.Windows.Forms.TextBox txtUpdownP2S;
public System.Windows.Forms.Label label50;
public System.Windows.Forms.TextBox txtUpdownP1S;
public System.Windows.Forms.Label label53;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.TextBox txtInOutSpeed;
private System.Windows.Forms.TextBox txtUpDownSpeed;
private System.Windows.Forms.TextBox txtMiddleSpeed;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.TextBox txtIDtime;
private System.Windows.Forms.TextBox txtUDtime;
private System.Windows.Forms.TextBox txtMDtime;
private System.Windows.Forms.TextBox txtIAtime;
private System.Windows.Forms.TextBox txtUAtime;
private System.Windows.Forms.TextBox txtMAtime;
private System.Windows.Forms.TextBox txtISpeed;
private System.Windows.Forms.TextBox txtUSpeed;
private System.Windows.Forms.TextBox txtMSpeed;
private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.TextBox txtInoutMax;
private System.Windows.Forms.TextBox txtUpdownMax;
private System.Windows.Forms.TextBox txtMiddleMax;
private System.Windows.Forms.Label label12;
private System.Windows.Forms.Label label13;
private System.Windows.Forms.TextBox txtInoutMin;
private System.Windows.Forms.TextBox txtUpdownMin;
private System.Windows.Forms.TextBox txtMiddleMin;
private System.Windows.Forms.Label label15;
private System.Windows.Forms.Label label16;
private System.Windows.Forms.Label label17;
private System.Windows.Forms.Label label10;
private System.Windows.Forms.TextBox txtIRSpeed;
private System.Windows.Forms.TextBox txtURSpeed;
private System.Windows.Forms.TextBox txtMRSpeed;
private System.Windows.Forms.Label label11;
private System.Windows.Forms.Label label18;
private System.Windows.Forms.TextBox txtDelSpeed;
private System.Windows.Forms.Label label19;
private System.Windows.Forms.TextBox txtAddSpeed;
private System.Windows.Forms.Label label20;
private System.Windows.Forms.TextBox txtMaxSpeed;
private System.Windows.Forms.Label label21;
private System.Windows.Forms.TextBox txtTargetSpeed;
private System.Windows.Forms.Label lblShuoKeAdd;
private System.Windows.Forms.TextBox txtBeginSpeed;
private System.Windows.Forms.Label lblShuoKePort;
private System.Windows.Forms.GroupBox groupBox3;
}
}
\ No newline at end of file \ No newline at end of file
using OnlineStore.Common;
using OnlineStore.DeviceLibrary;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace OnlineStore.ACSingleStore
{
public partial class FrmAxisMoveConfig : FrmBase
{
private AC_SA_BoxBean boxBean = null;
public FrmAxisMoveConfig(AC_SA_BoxBean box )
{
this.boxBean = box;
InitializeComponent();
}
private void FrmAxisMoveConfig_Load(object sender, EventArgs e)
{
txtUpdownP1S.Text = boxBean.Config.UpDownAxis_P1_Speed.ToString();
txtUpdownP2S.Text = boxBean.Config.UpDownAxis_P2_Speed.ToString();
txtUpdownP3S.Text = boxBean.Config.UpDownAxis_P3_Speed.ToString();
txtUpdownP4S.Text = boxBean.Config.UpDownAxis_P4_Speed.ToString();
txtUpdownP5S.Text = boxBean.Config.UpDownAxis_P5_Speed.ToString();
txtUpdownP6S.Text = boxBean.Config.UpDownAxis_P6_Speed.ToString();
txtUpdownP7S.Text = boxBean.Config.UpDownAxis_P7_Speed.ToString();
txtUpdownP8S.Text = boxBean.Config.UpDownAxis_P8_Speed.ToString();
txtInOutP1S.Text = boxBean.Config.InOutAxis_P1_Speed.ToString();
txtInOutP2S.Text = boxBean.Config.InOutAxis_P2_Speed.ToString();
txtInOutP3S.Text = boxBean.Config.InOutAxis_P3_Speed.ToString();
txtMiddleP1S.Text = boxBean.Config.MiddleAxis_P1_Speed.ToString();
txtMiddleP2S.Text = boxBean.Config.MiddleAxis_P2_Speed.ToString();
//txtMiddleSpeed.Text = boxBean.Config.MiddleAxis_StartSpeed.ToString();
//txtInOutSpeed.Text = boxBean.Config.InoutAxis_StartSpeed.ToString();
//txtUpDownSpeed.Text = boxBean.Config.UpdownAxis_StartSpeed.ToString();
this.txtMSpeed.Text = boxBean.Config.MiddleAxis_TargetSpeed.ToString();
this.txtISpeed.Text = boxBean.Config.InoutAxis_TargetSpeed.ToString();
this.txtUSpeed.Text = boxBean.Config.UpdownAxis_TargetSpeed.ToString();
this.txtMAtime.Text = boxBean.Config.MiddleAxis_AddSpeed.ToString();
this.txtIAtime.Text = boxBean.Config.InoutAxis_DelSpeed.ToString();
this.txtUAtime.Text = boxBean.Config.UpdownAxis_AddSpeed.ToString();
this.txtMDtime.Text = boxBean.Config.MiddleAxis_DelSpeed.ToString();
this.txtIDtime.Text = boxBean.Config.InoutAxis_DelSpeed.ToString();
this.txtUDtime.Text = boxBean.Config.UpdownAxis_DelSpeed.ToString();
txtMiddleMax.Text = boxBean.Config.MiddleAxis_ErrorCountMax.ToString();
txtUpdownMax.Text = boxBean.Config.UpdownAxis_ErrorCountMax.ToString();
txtInoutMax.Text = boxBean.Config.InoutAxis_ErrorCountMax.ToString();
//txtComMax.Text = boxBean.Config.CompressAxis_ErrorCountMax.ToString();
txtMiddleMin.Text = boxBean.Config.MiddleAxis_ErrorCountMin.ToString();
txtUpdownMin.Text = boxBean.Config.UpdownAxis_ErrorCountMin.ToString();
txtInoutMin.Text = boxBean.Config.InoutAxis_ErrorCountMin.ToString();
//txtComMin.Text = boxBean.Config.CompressAxis_ErrorCountMin.ToString();
txtMRSpeed.Text = boxBean.Config.MiddleAxis_ResolveSpeed.ToString();
txtIRSpeed.Text = boxBean.Config.InoutAxis_ResolveSpeed.ToString();
txtURSpeed.Text = boxBean.Config.UpdownAxis_ResolveSpeed.ToString();
//txtCRSpeed.Text = boxBean.Config.CompressAxis_ResolveSpeed.ToString();
//txtAddSpeed.Text = boxBean.Config.CompressAxis_AddSpeed.ToString();
//txtDelSpeed.Text = boxBean.Config.CompressAxis_DelSpeed.ToString();
//txtMaxSpeed.Text = boxBean.Config.CompressAxis_MaxSpeed.ToString();
//txtBeginSpeed.Text = boxBean.Config.CompressAxis_StartSpeed.ToString();
//txtTargetSpeed.Text = boxBean.Config.CompressAxis_EndSpeed.ToString();
//this.txtCDtime.Text = boxBean.Config.CompressAxis_DecelTime.ToString();
//this.txtCSpeed.Text = boxBean.Config.CompressAxis_TargetSpeed.ToString();
//this.txtCAtime.Text = boxBean.Config.CompressAxis_AccelTime.ToString();
}
private void btnSaveAxisSpeed_Click(object sender, EventArgs e)
{
DialogResult resul = MessageBox.Show("配置使用地方过多,需要重启才能生效,是否确定保存?", "提示", MessageBoxButtons.YesNo);
if (!resul.Equals(DialogResult.Yes))
{
return;
}
boxBean.Config.UpDownAxis_P1_Speed = FormUtil.GetIntValue(txtUpdownP1S);
boxBean.Config.UpDownAxis_P2_Speed = FormUtil.GetIntValue(txtUpdownP2S);
boxBean.Config.UpDownAxis_P3_Speed = FormUtil.GetIntValue(txtUpdownP3S);
boxBean.Config.UpDownAxis_P4_Speed = FormUtil.GetIntValue(txtUpdownP4S);
boxBean.Config.UpDownAxis_P5_Speed = FormUtil.GetIntValue(txtUpdownP5S);
boxBean.Config.UpDownAxis_P6_Speed = FormUtil.GetIntValue(txtUpdownP6S);
boxBean.Config.UpDownAxis_P7_Speed = FormUtil.GetIntValue(txtUpdownP7S);
boxBean.Config.UpDownAxis_P8_Speed = FormUtil.GetIntValue(txtUpdownP8S);
boxBean.Config.InOutAxis_P1_Speed = FormUtil.GetIntValue(txtInOutP1S);
boxBean.Config.InOutAxis_P2_Speed = FormUtil.GetIntValue(txtInOutP2S);
boxBean.Config.InOutAxis_P3_Speed = FormUtil.GetIntValue(txtInOutP3S);
boxBean.Config.MiddleAxis_P1_Speed = FormUtil.GetIntValue(txtMiddleP1S);
boxBean.Config.MiddleAxis_P2_Speed = FormUtil.GetIntValue(txtMiddleP2S);
//boxBean.Config.CompressAxis_P1_Speed = FormUtil.GetIntValue(txtComPressP1S);
//boxBean.Config.CompressAxis_P2_Speed = FormUtil.GetIntValue(txtComPressP2S);
//boxBean.Config.CompressAxis_P3_Speed = FormUtil.GetIntValue(txtComPressP3S);
//boxBean.Config.MiddleAxis_StartSpeed = FormUtil.GetIntValue(txtMiddleSpeed);
//boxBean.Config.InoutAxis_StartSpeed = FormUtil.GetIntValue(txtInOutSpeed);
//boxBean.Config.UpdownAxis_StartSpeed = FormUtil.GetIntValue(txtUpDownSpeed);
//boxBean.Config.CompressAxis_StartSpeed = FormUtil.GetIntValue(txtComSpeed);
boxBean.Config.MiddleAxis_TargetSpeed = FormUtil.GetIntValue(txtMSpeed);
boxBean.Config.InoutAxis_TargetSpeed = FormUtil.GetIntValue(txtISpeed);
boxBean.Config.UpdownAxis_TargetSpeed = FormUtil.GetIntValue(txtUSpeed);
boxBean.Config.MiddleAxis_AddSpeed = FormUtil.GetShortValue(txtMAtime);
boxBean.Config.InoutAxis_AddSpeed = FormUtil.GetShortValue(txtIAtime);
boxBean.Config.UpdownAxis_AddSpeed = FormUtil.GetShortValue(txtUAtime);
boxBean.Config.MiddleAxis_DelSpeed = FormUtil.GetShortValue(txtMDtime);
boxBean.Config.InoutAxis_DelSpeed = FormUtil.GetShortValue(txtIDtime);
boxBean.Config.UpdownAxis_DelSpeed = FormUtil.GetShortValue(txtUDtime);
boxBean.Config.MiddleAxis_ErrorCountMax = FormUtil.GetShortValue(txtMiddleMax);
boxBean.Config.UpdownAxis_ErrorCountMax = FormUtil.GetShortValue(txtUpdownMax);
boxBean.Config.InoutAxis_ErrorCountMax = FormUtil.GetShortValue(txtInoutMax);
boxBean.Config.MiddleAxis_ErrorCountMin = FormUtil.GetShortValue(txtMiddleMin);
boxBean.Config.UpdownAxis_ErrorCountMin = FormUtil.GetShortValue(txtUpdownMin);
boxBean.Config.InoutAxis_ErrorCountMin = FormUtil.GetShortValue(txtInoutMin);
boxBean.Config.MiddleAxis_ResolveSpeed = FormUtil.GetShortValue(txtMRSpeed);
boxBean.Config.InoutAxis_ResolveSpeed = FormUtil.GetShortValue(txtIRSpeed);
boxBean.Config.UpdownAxis_ResolveSpeed = FormUtil.GetShortValue(txtURSpeed);
//boxBean.Config.CompressAxis_StartSpeed = FormUtil.GetIntValue(txtBeginSpeed);
//boxBean.Config.CompressAxis_AddSpeed = FormUtil.GetIntValue(txtAddSpeed);
//boxBean.Config.CompressAxis_DelSpeed = FormUtil.GetIntValue(txtDelSpeed);
//boxBean.Config.CompressAxis_EndSpeed = FormUtil.GetIntValue(txtTargetSpeed);
//boxBean.Config.CompressAxis_MaxSpeed = FormUtil.GetIntValue(txtMaxSpeed);
//boxBean.Config.CompressAxis_TargetSpeed = FormUtil.GetIntValue(txtCSpeed);
//boxBean.Config.CompressAxis_AccelTime = FormUtil.GetShortValue(txtCAtime);
//boxBean.Config.CompressAxis_DecelTime = FormUtil.GetShortValue(txtCDtime);
//更新缓存
ACStoreManager.UpdateBoxConfig(boxBean.Config);
}
private void FrmAxisMoveConfig_Shown(object sender, EventArgs e)
{
SetSkin(this);
}
}
}
<?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="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAA8AMDAQAAEABABoBgAA9gAAACgoEAABAAQAyAQAAF4HAAAgIBAAAQAEAOgCAAAmDAAAGBgQAAEA
BADoAQAADg8AABAQEAABAAQAKAEAAPYQAAAwMAAAAQAIAKgOAAAeEgAAKCgAAAEACACoCwAAxiAAACAg
AAABAAgAqAgAAG4sAAAYGAAAAQAIAMgGAAAWNQAAEBAAAAEACABoBQAA3jsAADAwAAABACAAqCUAAEZB
AAAoKAAAAQAgAGgaAADuZgAAICAAAAEAIACoEAAAVoEAABgYAAABACAAiAkAAP6RAAAQEAAAAQAgAGgE
AACGmwAAKAAAADAAAABgAAAAAQAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAACA
gACAAAAAgACAAICAAACAgIAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAAwMDAAP///wAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAA/lAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAAAAAAAAAAA
D///8AAAAAAAAAAAAAAAAAAAAAAAAAAE7////0AAAAAAAAAAAAAAAAAEZHZGBABP/////+AAQkJWZkAA
AAAAAAAG6+t3YAD///////8AB7brd2AAAAAAAAAHvtt0AA/////////kAEd77UAAAAAAAAAGt3ZgBO//
////////ACRnvlAAAAAAAAAHd0QAT///////////8EBHdmAAAAAAAAAEZ2QA////7uvb7v///kAkR0AA
AAAAAAAEdAAf///r69e+vb7///AAZ0AAAAAAAAAGUATv//vtvr2+t72+//9AB0AAAAAAAAAEAC///r6+
t76+vbe+7//gBCAAAAAAAAAABO//7t6+fX2+vre3vv//AAAAAAAAAAAAD///3r69t76+vb69vv//5AAA
AAAAAAAA///+vt5+3r7b69t723///wAAAAAAAAAP///3576+vre+vXvr23////AAAAAAAAD////73n19
7t6+vNvrdr7///8AAAAAAA7////t7r7ne+vtd9vr237////wAAAABP/////r7evt536+vr6+t7f////+
cAAAb//////r7r7evt7X1769vr3/////8AABD/////99fu5+7r7r7X6+t7f/////8AAAAP/////n7t7u
7Xfr6+vX233/////AAAAAA/////t7u7e7u3n7evr577////wAAAAAAD////+7u7u7t6+2+vr69////8A
AAAAAAAP///+3u7+7ufud33tt7////AAAAAAAAAA///+7u/u7e7evt6+vu///wAAAAAAAAAAD///7u7u
7u7N7r7evf//8AAAAAAAAAAEBP///u7u7ud9576+v//+QEAAAAAAAAAGcE7//u7u7t7r7efe7//wR0AA
AAAAAAAGe0D///7u7n5+fr6///8AfVAAAAAAAAALfXAP///u3n19vt7///BOt2AAAAAAAAAHd75A////
/u7u7v///kB3vrAAAAAAAAAE3rdwD///////////8ke+3kAAAAAAAAAE6+17ZP//////////AHvte3AA
AAAAAAAE6+vrcA/////////wRd63fVAAAAAAAAAG7XfXdgH///////8Aduvtd2AAAAAAAAAAVkdGVkAP
//////AGVkdGVgAAAAAAAAAAAAAAAAAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAA
AAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAD///////8AAP///n///wAA///8P///AAD///gf//8AAP//8A///wAA///gB///AAD8AAAAAD8AAPwA
AAAAPwAA/AAAAAA/AAD8AAAAAD8AAPwAAAAAPwAA/AAAAAA/AAD8AAAAAD8AAPwAAAAAPwAA/AAAAAA/
AAD8AAAAAD8AAPwAAAAAPwAA/AAAAAA/AAD8AAAAAD8AAPgAAAAAHwAA8AAAAAAPAADgAAAAAAcAAMAA
AAAAAwAAgAAAAAABAACAAAAAAAEAAMAAAAAAAwAA4AAAAAAHAADwAAAAAA8AAPgAAAAAHwAA/AAAAAA/
AAD8AAAAAD8AAPwAAAAAPwAA/AAAAAA/AAD8AAAAAD8AAPwAAAAAPwAA/AAAAAA/AAD8AAAAAD8AAPwA
AAAAPwAA/AAAAAA/AAD8AAAAAD8AAPwAAAAAPwAA/AAAAAA/AAD//+AH//8AAP//8A///wAA///4H///
AAD///w///8AAP///n///wAA////////AAAoAAAAKAAAAFAAAAABAAQAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
AADAwMAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF
cAAAAAAAAAAAAAAAAAAAAAAAAH/3AAAAAAAAAAAAAAAAAAAAAAAH//9wAAAAAAAAAAAAAAAAQAAAAH//
//cAAAAABAAAAAAABHt2VkAH/////3AFa3t2AAAAAAAAfXt2AH//////9wBGd9VAAAAAAAC3dkQH////
////cAR7dgAAAAAAAGezAH/////////3BGZ2AAAAAAAAdkQH///uvr3u//9wBWcAAAAAAABkAH//++2+
vVvu//cERgAAAAAAAAQH//7et9vr29vv/3AEAAAAAAAAAH//6+e+t7e+t77/9wAAAAAAAAAH//7r1313
fb69tu//cAAAAAAAAH///m53e+t7e3vr7//3AAAAAAAH///uvtftfX3r22u+//9wAAAAAH///+vte+vr
6+vr6+7///cAAAAH////3nfu3u3r3r69tv///nAAAH/////r7evr6+vre9e+////9wAAf////75+7u3u
fn3rfbf////3AAAH////7e7t7uvtvrvr6////3AAAAB////u3u7t7ud+3r2+///3AAAAAAf//+7u7u7u
ve2+d37//3AAAAAAAH///u7v7u7r7evbf//3AAAAAAAAB///7u/t7Xfuvn7v/3AAAAAAAABAf//u7u7u
frd9vv/3BAAAAAAAAHdH//7u7n5+3tfv/3C3QAAAAAAAvVB//+7u1+vr7v/3C3cAAAAAAAB9e0f//+7n
7e7//3B96wAAAAAAALfeYH/////////3C+vmAAAAAAAAfr63R////////3B9e+ZAAAAAAAC3fXdwf///
///3C3fetwAAAAAAAGdnt2QH/////3BHZ7dnAAAAAAAAAAAAAAB////3AAAAAAAAAAAAAAAAAAAAAAf/
/3AAAAAAAAAAAAAAAAAAAAAAAH/3AAAAAAAAAAAAAAAAAAAAAAAAB3AAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAD//+f//wAAAP//w///AAAA//+B//8A
AAD//wD//wAAAPgAAAAfAAAA+AAAAB8AAAD4AAAAHwAAAPgAAAAfAAAA+AAAAB8AAAD4AAAAHwAAAPgA
AAAfAAAA+AAAAB8AAAD4AAAAHwAAAPgAAAAfAAAA+AAAAB8AAADwAAAADwAAAOAAAAAHAAAAwAAAAAMA
AACAAAAAAQAAAIAAAAABAAAAwAAAAAMAAADgAAAABwAAAPAAAAAPAAAA+AAAAB8AAAD4AAAAHwAAAPgA
AAAfAAAA+AAAAB8AAAD4AAAAHwAAAPgAAAAfAAAA+AAAAB8AAAD4AAAAHwAAAPgAAAAfAAAA+AAAAB8A
AAD4AAAAHwAAAP//AP//AAAA//+B//8AAAD//8P//wAAAP//5///AAAA//////8AAAAoAAAAIAAAAEAA
AAABAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICA
gAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AADAwMAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAG7gAAAAAAAAAAAAAAAAAADv/kAAAAAAAAAAAABARABO///gBARAAAAAAABH63tg
7////kZ3vrQAAAAAC+13Tv/////mt9dwAAAAAAfbdO///////gbr5AAAAABL5k7/7ut37v/iXXAAAAAA
DnDv/td729vv/kZ0AAAAAAZO/+vr6+vr6//lYAAAAAAA7/7r69t7e7v//gAAAAAATv/77efn13fbfv/k
AAAAAO//7ee+vbe9vr7//gAAAE7//+vt537uvr23///hAADv//933r7Xvbe3t////gAA7///5+7n7n7X
fXb///4AAA///+3u3u2+vr6+///mAAAA7//u7u7u7t69vv/+AAAAAA7//u/u7Xvr7c7/4AAAAAAA7/7u
7u7tfr3v/gAAAAAAB27/7+7ufuvu7+R0AAAAAEtw7/7u3r197/5GcAAAAAAO1U7//u7u7//gfrQAAAAA
S31w7//////+e11wAAAAAAfr607/////4WvtdAAAAABGd9dw7////kbm63AAAAAAAAQAAA7//+AABAAA
AAAAAAAAAAAA7/4AAAAAAAAAAAAAAAAAAA7nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA///////+f////D////gf//AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD+AA
AAfAAAADgAAAAYAAAAHAAAAD4AAAB/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD//4
H////D////5///////8oAAAAGAAAADAAAAABAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
gAAAgAAAAICAAIAAAACAAIAAgIAAAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AADAwMAA////AAAA
AAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAf+cAAAAAAAAAQkYF7/9gBgYAAAAGvrdv///3vr5AAAAA
7mX/////R31AAAAAtl/+7r7v87cAAAAEd//b69vb/2dAAAAAT/7r6+vrf+cAAAAC/+vr7be3vv9wAAB/
/+3r5969vv/wAAf//33N6+t76///YAD//+3u5+3rt///cAB//+7u3te+3v/xAAAE//7u7u6+vv8gAAAA
f/7u7r197vYAAAAEZP/u7u6+/1ZAAAAA53/+7t7v925AAAAEt2H/////R74AAAAE7eZ////wft5AAAAA
BAQA//9wBAQAAAAAAAAAf/QAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAP//////5////8P//+AA
B//gAAf/4AAH/+AAB//gAAf/4AAH/+AAB//AAAP/gAAB/4AAAf/AAAP/4AAH/+AAB//gAAf/4AAH/+AA
B//gAAf/4AAH///D////5////////ygAAAAQAAAAIAAAAAEABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAMDA
wAD///8AAAAADnAAAAAAAADufgAAAAAFZH/+RkQAAG6+///k5AAARu/ut/d2AABO+9vr3+QAB+7u7b6+
9+Du/+2+vrf/537/7u7Xe/9+Dn/u7uvt/uAAR/7t6+/gAABn7u7u97YAAE5u///m5gAABlDv9wZQAAAA
AH7uAAAAAAAADnAAAAD+f////D///8AD///AA///wAP//8AD//+AAf//AAD//wAA//+AAf//wAP//8AD
///AA///wAP///w////+f///KAAAADAAAABgAAAAAQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAEAgEABAQEAAgICAANDQ0AEQkGABISEgAUFBQAGRkZAB0dHQAnFg4AKBYOAC4aEQA9IhYAJSUlACws
LAAxMTEAODg4AD4+PgBFJxkAUy8fAFozIQBlOSUAcD8qAHJAKgB2QywAeUQtAEBAQABFRUUASEhIAFNT
UwBXV1cAXV1dAGFhYQBlZWUAampqAG5ubgBycnIAeHh4AH5+fgCHTDIAiEwyAMlTLgDLVTAAzVkzAMxZ
NADMXDoA0Fw2ANNgOADUYjoA1WQ8ANhnPgDYaD8AsWRCANVnQgDaaUAA3GxDANhrRADdbUQA3nBGANF2
TgDXclAA3ntXAOBxRgDhc0kA4XRKAON2TADkd00A5HhNAOh8TwDme1AA5nxSAOh9UQDpf1QA5IFVAOuA
UwDoglYA7IJVAOmCWADthlkA7IdcAO2IXQDwh1kA8ohZAPGKXADyjF8A9IxeAN2LbwDdi3AA3ZJ6AO6L
YADvjGIA8Y1hAPSOYQDxj2QA9JBiAPGRZgD0kmYA8pNoAPOWawD0lWoA9JZsAPSYbgDml3kA9ZpxAPWd
dQD2n3gA9aB5APaifQD2poEA9qeEAPeohAD3q4gA962LAPCqjgD3ro0A97CPAPexkAD3tZYA+LCQAPiz
lAD4tJYA+LaZAPi5nQDotKMA6LWmAPi7oAD4vaIA+b6kAPG/rAD5wKYA+cKqAPnFrQDsxbkA+cawAPnJ
tAD5zLcA+s25APrPvAD60L0A2traANzc2wDc3NwA+tTDAPrWxgD72McA+tfIAPvZyQD7280A+93PAPzd
zwD73dAA/OTZAP3p4AD46+cA++/pAPzw6wD98uwA/fbyAP39/QAAAAAALwMAAFAEAABwBgAAkAkAALAK
AADPDAAA8A4AAP8gEgD/PjEA/1xRAP96cQD/l5EA/7axAP/U0QD///8AAAAAAC8ADgBQABcAcAAhAJAA
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
AA78AAAAAD8ADvwAAAAAPwAO/AAAAAA/AA78AAAAAD8ADvwAAAAAPwAO/AAAAAA/AA78AAAAAD8ADvgA
AAAAHwAO8AAAAAAPAA7gAAAAAAcADsAAAAAAAwAOgAAAAAABAA6AAAAAAAEADsAAAAAAAwAO4AAAAAAH
AA7wAAAAAA8ADvgAAAAAHwAO/AAAAAA/AA78AAAAAD8ADvwAAAAAPwAO/AAAAAA/AA78AAAAAD8ADvwA
AAAAPwAO/AAAAAA/AA78AAAAAD8ADvwAAAAAPwAO/AAAAAA/AA78AAAAAD8ADvwAAAAAPwAO/AAAAAA/
AA7//+AH//8ADv//8A///wAO///4H///AA7///w///8ADv///n///wAO////////AA4oAAAAKAAAAFAA
AAABAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUFBQAMBwQACgoKAA4ODgAcDwoAHBAKABAQ
EAAeHh4ALRkQACkpKQAuLi4AMDAwADY2NgA6OjoAPT09AEUnGQBjNyQAYzgkAGQ4JABtPSgAcT8pAHJA
KgBCQkIARkZGAElJSQBOTk4AV1dXAFlZWQBdXV0AYWFhAGVlZQBoaGgAbGxsAHl5eQB+fn4AiU0zAJBR
NQCYVjgAp14+AKlfPgCqYD8AyVMuAMlULwDMVzEAz1s1ANJfOADTYDkA1WQ8ANloPwCuYkAAsmRCALVm
QwC2ZkQAxW9JANVnQQDZaUAA3GxCANhrRADdbkQA0GlJAN9wRQDXc1IA335aAOBxRwDgckkA4nRJAON3
TADjeE4A5XlNAOF/UwDnfVIA4X9UAOd+VADpflEA6YFWAOyCVQDphFcA6oNYAOmEWQDthlgA7YleAPKI
WgD0ilsA8IpdAPKMXgDeknkA6YpjAO2LYADyjmEA9I5hAPCPZAD0kGMA8pFmAPSSZQDxkmgA9JNoAPOU
aQD0lWoA9JZsAPSYbgD0mnEA9ZxzAPWddQD2n3gA9aF7APWifAD2pH4A6Z+EAOCdiQD2pYEA9qmGAPar
iAD3ro0A97GRAPe0lgD4tpgA97ibAPi5ngD3u6EA97yiAPi7oAD4vaIA+b6kAPnApwD4w6sA+cStAO3G
uQD5xrAA+ciyAPnJtAD5zbgA+tC+APTOwAD608EA+dXFAPvZyQD72swA+9zNAPzi1gD86N8A/Pn3APr6
+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
AAAsAC8ASwBQAGkAcACHAJAApQCwAMQAzwDhAPAA8BH/APIx/wD0Uf8A9nH/APeR/wD5sf8A+9H/AP//
/wAAAAAAGwAvAC0AUAA/AHAAUgCQAGMAsAB2AM8AiADwAJkR/wCmMf8AtFH/AMJx/wDPkf8A3LH/AOvR
/wD///8AAAAAAAgALwAOAFAAFQBwABsAkAAhALAAJgDPACwA8AA+Ef8AWDH/AHFR/wCMcf8AppH/AL+x
/wDa0f8A////AAAAAAAAAAAXFwAAAAAAAAAAAAAAAAAXFxcXAAAAAAAAAAACAwMBFyQkFwEDAwIAAAAA
AxAFFyQkJCQXBRADAAAAAAMFFyIYCwgRIRcFAwAAAAABFyITDQwJBwYhFwEAAAAXFyQbExIPDAoHESQX
FwAXFyQkFRYWFA8MCggkJBcXFxckJBodHBkUDgwLJCQXFwAXFyQeIB8dFhINGCQXFwAAAAEXIyAgHRYT
EyIXAQAAAAADBBcjHhoVGyIXBQMAAAAAAxAEFyQkJCQXBRADAAAAAAIDAwEXJCQXAQMDAgAAAAAAAAAA
FxcXFwAAAAAAAAAAAAAAAAAXFwAAAAAAAAD+fwAA/D8AAMADAADAAwAAwAMAAMADAACAAQAAAAAAAAAA
AACAAQAAwAMAAMADAADAAwAAwAMAAPw/AAD+fwAAKAAAADAAAABgAAAAAQAgAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAABAAAABQAAABAAAAAlAAAARgAAAHEAAACaAAAAvgAAAL4AAACaAAAAcAAA
AEYAAAAlAAAAEAAAAAUAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAABAAA
AAUAAAAFAAAABgAAAAYAAAAGAAAABgAAAAYAAAALAAAAFQAAACoAAABKAAAAdAAAAKIAAADNAAAA+gAA
APoAAADNAAAAogAAAHQAAABKAAAAKQAAABUAAAAKAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAA
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
Qf+HTDL/WzMh/y4aEf8DAgH/HR0d/9ra2f/9/f3//v79//39/f/+/v3//v79//7+/f/9/f3//f39//7+
/f/+/v3//f39//7+/v/+/v3//f39//39/f/9/f3/2NjY/xwcG/8EAgH/LhoR/1szIf+ITDL/sWRB/9F2
Tv9wPyn/AAAA/wAAAL4AAAB/AAAAQQAAABgAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAHAAA
AP9lOSX/sGRB/4ZLMf9aMiH/LhoR/wMCAf8fHx//2tra//7+/f/+/v7//v79//7+/f/77ej/8L+r/+aW
ef/ee1f/2GtE/9VnQf/XcU//3Ipv/+i0o//46eX//f39//7+/f/9/f3//v7+/9jY2P8dHR3/AwIB/y4Z
EP9aMiH/hkwx/7FkQf9lOSX/AAAA/wAAAL8AAACAAAAAQQAAABgAAAAGAAAAAAAAAAAAAAAAAAAAAAAA
AAEAAAALAAAAJgAAAP9TLx7/h0wx/1oyIf8uGhD/BAIB/x8fH//Z2dn//v7+//7+/v/+/v7//O/q/++q
jv/keE7/4HFG/91tQ//aakD/2GY+/9VjO//SXzj/0Fw1/81ZMv/MWjX/3ZF6//jq5v/+/v3//v7+//7+
/v/Y2Nf/HR0d/wMCAf8uGRD/WjIh/4dMMv9TLx//AAAA/wAAAMEAAACCAAAAQgAAABgAAAAGAAAAAAAA
AAAAAAAAAAAAAQAAAAUAAAAVAAAAOAAAAP89Ihb/WjMh/y4aEf8EAgH/HR0d/9ra2v/+/v7//v79//7+
/f/51sb/7Ihd/+h8T//leUz/4nVJ/+BxR//dbkT/2mtB/9hnP//VYzz/0l85/9BcNf/NWTL/ylUw/8xd
O//sxLj//v7+//7+/v/+/v7/2NjY/xwcG/8DAgH/LhkQ/1ozIf89Ihb/AAAA/wAAAMYAAACHAAAARQAA
ABkAAAAGAAAAAAAAAAAAAAABAAAABQAAABAAAAAqAAAAVwAAAP8nFg7/LhoR/wMCAf8fHx//2tra//7+
/v/+/v7//v79//rNuf/wh1n/7YNV/+qAU//ofVD/5XlO/+N2S//hckj/3m9F/9trQv/YZz//1WQ8/9Jf
Of/QXDb/zVkz/8pVL//JUy//57Sk//7+/v/+/v7//v7+/9jY2P8eHh3/AwIB/y4aEf8nFg7/AAAA/wAA
AM8AAACRAAAATAAAABwAAAAGAAAAAAAAAAEAAAAFAAAADwAAACUAAABJAAAAfgAAAP8QCQX/BAIB/x8f
H//Z2dn//f39//39/f/+/v3/+9jI//SMXf/yilv/74dZ/+2FV//rglX/6H5S/+Z7T//jd0z/4XNJ/95w
Rv/ba0P/2Gc//9VkPP/TYDn/0Fw2/81ZM//KVTD/yVMv/+zEuP/+/v3//v79//39/f/X19f/Hh4d/wQC
Af8QCQX/AAAA/wAAANoAAAChAAAAXAAAACYAAAAKAAAAAQAAAAUAAAAPAAAAJAAAAEYAAAB0AAAAqAAA
AP8AAAD/HR0d/9ra2v/+/v7//v79//7+/f/98ev/9JNo//OMXv/zjV7/8o1f//GKXf/uhlr/64NX/+l/
VP/me1D/5HhN/+FzSv/ecEb/22xD/9hnP//WZDz/02A5/9BcNv/NWTP/ylUw/8xdO//46ub//v7+//39
/f/+/v3/2NjY/xwcHP8AAAD/AAAA/wAAAOYAAAC3AAAAdAAAADgAAAAVAAAABQAAAA8AAAAkAAAARgAA
AHIAAACiAAAA0gAAAP8fHx//2trZ//39/f/9/f3//f39//7+/f/4t5n/841f//SOYP/0j2L/9I9i//OP
Yv/xjF//7ohc/+yEWf/pgFX/5nxS/+R4Tv/hdEr/3nBG/9tsQ//ZaED/1mQ8/9NgOf/QXDb/zVkz/8tV
MP/dkXr//v39//39/f/9/f3//v79/9jY2P8eHh7/AAAA/wAAAPEAAADPAAAAlQAAAFYAAAApAAAADwAA
ACAAAABCAAAAbwAAAKAAAADPAAAA+x8fH//Z2dn//v79//7+/f/+/v3//v79//3x6//0kWT/849h//SR
ZP/0kmX/9JJm//STZv/zkWX/8Y1i/+6JXv/shlr/6YFW/+Z9Uv/jeU7/4XRK/95wR//bbEP/2WhA/9Zk
PP/TYDn/0Fw2/81ZMv/MWTX/+Orl//39/f/+/v3//v79//39/f/X19f/Hh4e/wAAAP4AAADlAAAAtwAA
AHwAAABGAAAAIAAAADQAAABjAAAAmAAAAMwAAAD6HR0d/9ra2v/+/v7//v79//7+/v/+/v7//v7+//rN
uP/0kGL/9JJl//SUaP/0lWr/9JVr//SWa//0lWr/85No//GPZP/ui2D/64dc/+mCV//mfVP/43lO/+B0
Sv/ecEf/22xD/9loQP/WZDz/0mA5/9BcNf/NWTL/6LSj//7+/v/+/v7//v7+//7+/v/+/v7/2NjY/xwc
HP8AAAD8AAAA2AAAAKAAAABmAAAANQAAAEMAAAB5AAAAugAAAPofHx/+2tra//7+/v/+/v7//v7+//7+
/v/+/v7//v7+//ixkf/0k2f/9JZr//WYb//1mnH/9Zpx//Wacf/1mXD/9Jhv//SWbP/xkWf/74xi/+yH
Xf/pglj/5n1T/+N5T//hdEr/3nBH/9xsQ//ZaD//1WQ8/9JfOf/QXDX/3Ypv//7+/f/+/v7//v7+//7+
/v/+/v7//f39/9jY2P8dHR3/AAAA+wAAAL8AAAB7AAAAQwAAAEEAAACNAAAA9h8fH//Z2dn//v7+//39
/f/9/f3//v7+//7+/f/+/v7//v7+//ahe//0lmz/9Ztx//Wedv/1n3j/9aB5//Wgef/1n3j/9Z11//Wb
cv/0mG7/8pJp/++NY//siF3/6YJY/+Z9U//jeU7/4XRK/95wRv/bbEP/2Gc//9VjPP/SXzj/13JQ//7+
/f/+/v7//v7+//7+/v/+/v7//f39//39/f/X19f/HR0d/wAAAPYAAACOAAAAQQAAAFQAAADvHR0d/9ra
2v/9/f3//v7+//39/f/9/f3//f39//39/f/+/v3//f39//Wbcv/1m3L/9aB5//akf//2poL/9qeD//an
g//2pYH/9aN9//Wgef/1nXX/9Jlw//KTaf/vjWL/64dc/+iBV//mfVL/43hO/+FzSf/eb0b/22tC/9dn
Pv/VYzv/1WdB//39/f/+/v3//v79//39/f/9/f3//f39//39/f/9/f3/2NjY/xwcHP8AAADvAAAAVAAA
AEMAAADrHh4e/tvb2//+/v7//v7+//7+/v/+/v3//v7+//7+/v/+/v7//v79//aed//1oHn/9qeD//es
iv/3r47/97CQ//ewkP/3roz/9qqI//angv/2onz/9Z52//SZcP/ykmj/7oxh/+uHXP/pgVb/5nxS/+R4
Tf/hc0n/3m9G/9prQf/YZj7/2GtE//7+/f/+/v3//v79//7+/v/+/v7//f39//7+/v/9/f3/2tra/x0d
Hf4AAADqAAAAQQAAAAwAAABGAAAA6yAgIP7a2tr//v7+//39/f/9/f3//v79//7+/f/+/v7//f39//eq
iP/2pYH/966N//i1l//4uJz/+Lqe//i6nf/4t5n/97KT//etjP/2p4T/9aJ8//Wddf/0l27/8ZFm/+6L
YP/rhVr/6YBV/+Z7UP/kd0z/4XJI/91uRP/aakD/3ntX//39/f/+/v3//v79//7+/f/+/v3//f39//39
/f/Z2dn/Hx8f/gAAAOsAAABIAAAADAAAAAMAAAAMAAAARQAAAO0gICD+29vb//39/f/9/f3//v79//7+
/f/+/v3//v79//i9ov/2qoj/97WX//i+o//4wqr/+cSt//nEq//4wKf/+Luf//e0lv/3rYz/9qaC//Wg
ef/1m3L/85Vr//CPZP/uiV7/64RY/+l/U//me0//43ZL/99xRv/dbUP/5pZ5//7+/f/+/v3//v79//7+
/f/+/v3//f39/9nZ2f8fHx//AAAA7wAAAFQAAAASAAAABAAAAAAAAAADAAAADAAAAEUAAADrHh4e/tvb
2//+/v7//v7+//7+/v/+/v7//v79//vXx//3r47/+Lyg//nGr//5zLj/+s+7//nNuf/5ybP/+MOr//i7
oP/3s5T/9qqI//ajfv/1nXX/9Jhu//OTaP/wjWL/7ohc/+uDV//pflL/5XlO/+J1Sf/gcUb/8b+r//7+
/f/+/v3//v79//7+/v/+/v7/2tra/x0dHf8AAADzAAAAcQAAACMAAAAJAAAAAQAAAAAAAAAAAAAAAwAA
AA0AAABJAAAA7CAgIP/a2tr//v79//7+/f/+/v3//v79//308P/4tJb/+MCm//nMuP/61MP/+tfH//rW
xf/60b7/+cm0//jAp//4t5r/966N//amgf/1n3j/9Zlw//SVav/zkWX/8Yxf/+6HWv/rglX/6H1Q/+V4
TP/keE7/++3o//39/f/+/v3//v7+//7+/f/Z2dn/Hx8f/wAAAPgAAACeAAAASgAAABsAAAAGAAAAAAAA
AAAAAAAAAAAAAAAAAAQAAAASAAAAVQAAAP8gICD/29vb//7+/f/+/v3//f39//7+/f/60L3/+MCn//rO
u//62Mn/+9zP//vbzf/61sX/+c25//nErP/4up7/97CQ//eng//2oHn/9Zpx//WWa//0k2b/9I9i//GK
Xf/uhVj/64BT/+h8T//vqo3//v79//39/f/9/f3//v7+/9ra2v8fHx//AAAA/wAAAMwAAACFAAAARAAA
ABgAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAJAAAAIwAAAP8AAAD/Hh4e/9vb2//+/v7//v79//7+
/v/99vL/+cOq//nLt//618f/+93P//vcz//618f/+s+7//nFrf/4up7/97CQ//enhP/1oHn/9Zpx//SV
a//0kmb/9JBj//ONX//wiFr/7YNV/+yIXf/87+r//v7+//7+/f/+/v3/2tra/x0dHf8AAAD/AAAA/wAA
AMEAAACBAAAAQgAAABgAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAGwAAAP9EJhn/EgoG/yAg
IP/a2tr//v7+//7+/v/+/v7//Ong//nFrv/50L3/+tfH//vYyf/61MP/+cy4//nDq//4uZz/96+P//an
g//1oHn/9Zpw//SVav/0kmX/9I9i//ONX//yi1z/8IdZ//nWxv/+/v7//v7+//7+/f/Z2dn/Hx8f/xMK
B/9FJxn/AAAA/wAAAL4AAACAAAAAQQAAABgAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAGAAA
AP9yQCr/sWRB/xEJBv8gICD/29vb//7+/f/+/v7//v7+//zj2P/4xa7/+cu3//nOu//5zLj/+cav//i+
pP/3tZf/9qyK//akf//1nnb/9Zhu//SUaP/0kWP/9I5g//OMXf/zjF7/+s25//7+/f/+/v7//v79/9ra
2f8fHx//EQoG/7JlQv9yQCr/AAAA/wAAAL4AAAB/AAAAQQAAABgAAAAGAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAGAAAAGAAAAP93Qyz/6INW/7FkQf8SCgb/Hh4e/9vb2//+/v7//v7+//7+/v/86eD/+cKq//jA
p//4v6b/+Lug//e1mP/3ro3/9qeD//Wgev/1mnH/9JVq//SSZf/0j2H/841f//WUaP/72Mj//v7+//7+
/v/+/v7/2tra/x0dHf8TCwf/smVC/+iCVv93Qyz/AAAA/wAAAL4AAAB/AAAAQQAAABgAAAAGAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAGAAAAGAAAAP95RC3/8IdZ/+eCVv+wY0H/EgoG/yAgIP/a2tr//v7+//7+
/f/+/v7//fby//rQvf/3tJX/9q6O//aqiP/2pYH/9aB5//Wbcv/0lmz/9JJm//SPYv/0kWT/+LeZ//3x
6//+/v3//v7+//7+/v/Z2dn/IB8f/xMLB/+yZEL/54JW//CHWf95RC3/AAAA/wAAAL4AAAB/AAAAQQAA
ABgAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAGAAAAP96RS3/84la//CHWf/nglb/sWRB/xEK
Bv8gICD/29vb//7+/f/+/v7//v7+//7+/f/99PD/+9fH//m+o//3q4j/9p53//Wbcv/2oXv/+LGR//rN
uP/98ev//v79//7+/f/9/f3//v7+/9ra2v8gIB//EgoG/7JlQv/nglb/8IdZ//OJWv95RC3/AAAA/wAA
AL4AAAB/AAAAQQAAABgAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAGAAAAP96RS3/84la//OJ
Wv/wh1n/6INW/7FkQf8SCgb/Hh4e/9vb2//+/v7//v79//39/f/+/v3//v79//7+/f/9/f3//v79//39
/f/+/v7//v7+//7+/v/+/v3//f39//7+/f/9/f3/2tra/x0dHf8TCgf/smVC/+iCVv/wh1n/84la//OJ
Wv95RC3/AAAA/wAAAL0AAAB/AAAAQQAAABgAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAGAAA
AP96RS3/84la//OJWv/ziVr/8IdZ/+eCVv+wY0H/EgoG/yAgIP/a2tr//v7+//39/f/+/v3//v7+//7+
/f/+/v7//v7+//7+/f/+/v7//v7+//7+/v/+/v3//f39//7+/v/Z2dn/Hx8f/xMKB/+yZEL/54JW//CH
Wf/ziVr/84la//OJWv95RC3/AAAA/wAAALkAAAB9AAAAQAAAABgAAAAGAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAFAAAAFgAAAP96RS3/84la//OJWv/ziVr/84la//CHWf/nglb/sWRB/xEJBv8gICD/29vb//7+
/f/+/v3//v7+//7+/f/+/v3//v7+//39/f/+/v3//v79//7+/v/+/v7//f39/9ra2v8gHx//EQoG/7Jl
Qv/nglb/8IdZ//OJWv/ziVr/84la//OJWv95RC3/AAAA/wAAAKwAAABzAAAAOwAAABYAAAAFAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAEAAAAEgAAAP96RS3/84la//OJWv/ziVr/84la//OJWv/wh1n/6INW/7Fk
Qf8SCgb/Hh4e/9vb2//+/v3//v79//7+/f/+/v3//v79//39/f/+/v7//v79//7+/v/+/v3/2trZ/x0d
Hf8TCwf/smVC/+iCVv/wh1n/84la//OJWv/ziVr/84la//OJWv95RC3/AAAA/wAAAI0AAABfAAAAMQAA
ABIAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAADAAAAP89Ihb/ekUt/3pFLf96RS3/ekUt/3pF
Lf95RC3/d0Ms/3JAKv9EJhn/AAAA/yAgIP/a2tr//v7+//39/f/9/f3//v79//39/f/+/v3//v7+//7+
/v/Z2dn/Hx8f/wAAAP9FJxn/ckAq/3dDLP95RC3/eUQt/3lELf95RC3/eUQt/3lELf88Ihb/AAAA/wAA
AF8AAABAAAAAIQAAAAwAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABgAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8gICD/29vb//39/f/9/f3//v7+//39
/f/9/f3//v7+/9ra2v8fHx//AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAADEAAAAhAAAAEQAAAAYAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAA
AAYAAAAMAAAAEgAAABYAAAAXAAAAGAAAABgAAAAYAAAAGAAAABgAAAAbAAAAIwAAAFUAAADsHh4e/tvb
2//+/v7//v7+//7+/v/+/v7/2tra/h0dHf8AAADrAAAAVAAAACMAAAAbAAAAGAAAABgAAAAYAAAAGAAA
ABgAAAAYAAAAGAAAABgAAAAXAAAAFgAAABIAAAAMAAAABgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAEAAAADAAAABAAAAAUAAAAFAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAACQAA
ABIAAABJAAAA6yAgIP7a2tr//v7+//39/f/Z2dn/Hx8f/gAAAOoAAABIAAAAEgAAAAkAAAAGAAAABgAA
AAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAFAAAABQAAAAQAAAADAAAAAQAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAQAAAAQAAAANAAAARQAAAO0gICD+29vb/tra2v4fHx/+AAAA7AAAAEQAAAANAAAABAAA
AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAADAAAAEIAAADqHh4e/h0dHf4AAADpAAAAQQAA
AAwAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAkAAAA9AAAA6QAA
AOgAAAA7AAAACQAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAIAAAAFAAAANAAAADMAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AAD//wAO/AAAAAAH
AA74AAAAAAMADvAAAAAAAQAO8AAAAAABAA7wAAAAAAEADvAAAAAAAQAO8AAAAAABAA7wAAAAAAEADvAA
AAAAAQAO8AAAAAABAA7wAAAAAAEADvAAAAAAAQAO4AAAAAABAA7AAAAAAAEADoAAAAAAAQAOAAAAAAAA
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
/f/9/f3//f39//39/f/9/f3//f39//7+/f/9/f3//f39//r6+v9lZWX/AgEB/y4aEP9kOCX/mVY4/8Vv
Sf+nXj7/AAAA/wAAALgAAABsAAAAKgAAAAoAAAABAAAAAAAAAAAAAAAAAAAABAAAABoAAAD/kFE1/5hW
OP9jNyT/LRkQ/wIBAf9oaGj/+/v7//7+/v/+/v3//fr4//TOwP/pn4T/335a/9hrRP/VZ0H/13NS/96S
ef/txbj//Pn3//7+/f/9/f3/+/v7/2VlZf8CAQH/LRkQ/2M3JP+YVjj/kFE1/wAAAP8AAAC5AAAAbAAA
ACoAAAAKAAAAAQAAAAAAAAAAAAAAAQAAAAkAAAAnAAAA/209KP9jOCT/LRkQ/wIBAf9oaGj/+/v7//7+
/f/+/v7/+NXG/+qKY//idUn/33BF/9xsQv/ZaD//1mQ8/9JfOP/PWzX/zFcx/9BpSf/tx7v//v79//7+
/v/7+/v/ZWVl/wIBAP8tGRD/Yzgk/209KP8AAAD/AAAAvQAAAG4AAAAqAAAACgAAAAEAAAAAAAAAAQAA
AAUAAAAXAAAAQgAAAP9FJxn/LRkQ/wIBAf9nZ2f//Pz8//7+/v/9/Pz/97uh/+yCVP/pfVD/5XpN/+J1
Sv/gcUf/3W1E/9lpQP/VZDz/0l85/89bNf/MVzH/yVMv/+Cdif/9/Pz//v7+//v7+/9lZWX/AgEB/y0Z
EP9FJxn/AAAA/wAAAMQAAAB2AAAALgAAAAoAAAABAAAAAAAAAAUAAAATAAAAMwAAAGwAAAD/HBAK/wIB
Af9oaGj/+/v7//7+/f/+/v3/+b6k//KKW//vhlj/7INW/+l/U//me0//43dM/+BySP/dbkX/2WlA/9Zl
PP/TYDn/z1s1/8xXMf/JUy7/4J2J//7+/f/+/v3/+/v6/2ZmZf8CAQH/HBAK/wAAAP8AAADRAAAAhwAA
ADkAAAAOAAAAAQAAAAUAAAATAAAAMAAAAGEAAACeAAAA/wAAAP9nZ2f/+/v7//7+/f/+/v3/+9rK//OM
Xv/zjF7/8oxe//CJXP/thVj/6YBV/+d8Uf/keE3/4HNJ/91uRf/aaUH/1mU9/9NgOf/PWzb/zFcx/8lU
L//tx7v//v79//39/f/7+/v/ZWVl/wAAAP8AAAD/AAAA4AAAAKEAAABSAAAAHAAAAAUAAAASAAAAMAAA
AGAAAACZAAAA0gAAAP9oaGj/+/v7//39/f/9/f3//fv5//Wcc//zjmD/9I9h//SPY//zj2L/8Itf/+2H
W//qglf/531S/+R4Tv/gc0r/3W9F/9pqQf/WZT3/02A5/89bNv/MVzH/0GlJ//z59//9/f3//v79//v7
+/9lZWX/AAAA/wAAAPAAAADCAAAAeQAAADgAAAATAAAAKgAAAFoAAACVAAAAzwAAAPxoaGj/+/v7//7+
/v/+/v7//v79//vYyP/0j2H/9JFk//SSZv/0k2f/9JNo//OSZv/wjWL/7Yhd/+qDWP/nflP/43hO/+Bz
Sv/dbkX/2mpB/9ZlPf/TYDn/z1s1/8xXMf/txbj//f39//7+/v/+/v3/+/v6/2VlZf8AAAD+AAAA4QAA
AKUAAABgAAAAKgAAAEIAAACBAAAAxwAAAPxnZ2f/+/v7//7+/v/+/v7//v7+//7+/v/4tpj/9JJl//SV
av/0l23/9Jhu//WYbv/0l23/85Rq//CPZf/til//6oRZ/+d+VP/jeU7/4HNK/91vRf/aaUH/1mU9/9Jf
Of/PWzX/35J5//7+/f/+/v7//v7+//7+/v/7+/v/ZWVl/wAAAP0AAADOAAAAhQAAAEIAAABIAAAAoAAA
APpoaGj/+/v7//7+/v/+/v3//v7+//7+/v/+/v7/9qJ8//SWbP/1m3L/9Z11//Wed//1nnf/9Z11//Wb
cv/0l27/8ZFn/+6LYP/qhFr/535U/+N5T//gc0r/3W5F/9ppQf/WZDz/0l84/9dzUv/9/f3//v7+//7+
/v/+/v7//f39//v7+/9lZWX/AAAA+wAAAKMAAABIAAAAYQAAAPRnZ2f/+/v7//7+/v/9/f3//f39//39
/f/+/v3//f39//Wacv/1nHT/9aJ8//algP/2poL/9qaC//akf//1oXv/9Z12//SZb//xkmj/7Ytg/+mE
Wf/nflP/43hO/+BzSf/dbkX/2WlA/9VkPP/VZ0H//f39//7+/f/9/f3//f39//39/f/9/f3/+vr6/2Vl
Zf8AAAD0AAAAYQAAAEwAAADxaGho/vv7+//+/v7//v7+//7+/f/+/v7//v7+//7+/f/2n3j/9qN9//ar
iP/3r4//97GR//exkf/3roz/9qmG//akf//1n3f/9Jlw//GRZ//til//6oNY/+d9Uv/keE3/4XJJ/91t
RP/ZaD//2GtE//39/f/+/v3//v79//7+/v/9/f3//v7+//v7+/9nZ2f+AAAA8AAAAEsAAAAKAAAATgAA
APFpaWn++/v7//39/f/9/f3//v7+//7+/f/9/f3/962M//aqh//3tJb/+Lqf//i9ov/4vKH/97ib//ey
k//2q4n/9qR+//Wddf/0l23/8I9k/+2IXf/qglf/53xR/+N3TP/fcUf/3GxC/99+Wv/9/f3//v79//7+
/f/+/v3//f39//v7+/9oaGj+AAAA8gAAAFIAAAALAAAAAgAAAAoAAABOAAAA8WhoaP78/Pz//f39//7+
/v/+/v3//v79//nErP/3sJD/+L6j//nGr//5ybT/+ciy//jDq//4u6D/97KT//aphv/1oXv/9Zpx//OU
af/wjWH/7Ydb/+qAVf/ne0//4nVK/99wRf/pn4T//f39//7+/f/+/v3//v7+//v7+/9nZ2f/AAAA9QAA
AGcAAAATAAAAAwAAAAAAAAACAAAACgAAAFAAAADxaWlp//v7+//+/v3//v7+//7+/f/84tb/97WX//nF
rv/60L7/+tXE//rTwf/5zbj/+MOr//i4nP/3ro3/9qR///WddP/0l2z/85Jm//CLX//thVj/6n9T/+Z6
Tv/idEj/9M/A//39/f/+/v7//v79//v7+/9oaGj/AAAA+QAAAJMAAAAyAAAADAAAAAEAAAAAAAAAAAAA
AAIAAAAOAAAAWwAAAP9paWn//Pz8//7+/f/+/v3//fv6//nBp//5x7H/+tbF//vczv/72sz/+tPB//nI
sv/5vaL/97GR//amgv/2nnf/9Zhu//STaP/zj2P/8Ilc/+yDVv/pflH/6Ypj//36+P/9/f3//v79//v7
+/9oaGj/AAAA/wAAAMkAAABxAAAAKwAAAAoAAAABAAAAAAAAAAAAAAAAAAAABQAAAB8AAAD/AQAA/2ho
aP/7+/v//v79//7+/v/86N//+cSt//rTwv/73M7/+9zO//rVxP/5yrT/+L2j//exkf/2p4P/9Z53//WY
bv/0k2f/9JBj//KNXv/vh1n/7IJU//jVx//+/v3//v79//v7+/9nZ2f/AQEA/wAAAP8AAAC6AAAAbQAA
ACoAAAAKAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAAXAAAA/3E/Kf8MBwT/aWlp//v7+//+/v7//v7+//vc
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
AEsAAAAKAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAACAAAACQAAAEgAAADwAAAA7wAAAEYAAAAJAAAAAgAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAEAAAAFAAAAPwAAAD0AAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gAAAA//AA7wAAAAA/8ADvAAAAAB/wAO4AAAAAH/
AA7gAAAAAP8ADuAAAAAA/wAO4AAAAAD/AA7gAAAAAP8ADuAAAAAA/wAO4AAAAAD/AA7gAAAAAP8ADsAA
AAAA/wAOgAAAAAD/AA6AAAAAAP8ADgAAAAAA/wAOAAAAAAD/AA4AAAAAAP8ADgAAAAAA/wAOAAAAAAD/
AA4AAAAAAP8ADgAAAAAA/wAOAAAAAAD/AA4AAAAAAP8ADoAAAAAA/wAOwAAAAAD/AA7gAAAAAP8ADuAA
AAAA/wAO4AAAAAD/AA7gAAAAAP8ADuAAAAAA/wAO4AAAAAD/AA7gAAAAAP8ADuAAAAAA/wAO4AAAAAH/
AA7gAAAAAf8ADvAAAAAB/wAO+AAAAAf/AA7//gB///8ADv//AP///wAO//+B////AA4oAAAAIAAAAEAA
AAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAA
AAEAAAABAAAAAQAAAAIAAAAHAAAAGwAAAEgAAACIAAAAxQAAAMUAAACHAAAARwAAABsAAAAHAAAAAgAA
AAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABgAA
AA0AAAARAAAAEwAAABMAAAATAAAAGAAAACoAAABUAAAAkQAAANINDQ39DAwM/QAAANIAAACQAAAAUwAA
ACoAAAAYAAAAEwAAABMAAAATAAAAEwAAABMAAAARAAAADQAAAAYAAAABAAAAAAAAAAAAAAAAAAAAAAAA
AAYAAAAZAAAANwAAAEoAAABQAAAAUAAAAFQAAABhAAAAfwAAAKwAAADcDQ0N/cLCwv/BwcH/DAwM/QAA
ANwAAACsAAAAfwAAAGEAAABUAAAAUAAAAFAAAABQAAAAUAAAAEoAAAA3AAAAGQAAAAYAAAAAAAAAAAAA
AAAAAAABAAAADQAAADcAAAB4AAAAogAAAK4AAACwAAAAtgAAAMMAAADYAAAA7g0NDf7CwsL//f39//39
/f/BwcH/DAwM/gAAAO4AAADYAAAAwwAAALYAAACwAAAArwAAAK8AAACuAAAAogAAAHgAAAA3AAAADQAA
AAEAAAAAAAAAAAAAAAEAAAARAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8NDQ3/wsLC//39
/f/9/f3//f39//39/f/BwcH/DAwM/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAogAA
AEoAAAARAAAAAQAAAAAAAAAAAAAAAQAAABMAAAD/84la/+6GWP/be1H/r2NB/3A/Kf8tGRD/Dg4N/8PD
wv/+/v3//v79//7+/f/9/f3//v7+//7+/v/BwcH/Dg0N/y0ZEP9wPyn/sGNB/9t8Uf/uhlj/84la/wAA
AP8AAACuAAAAUAAAABMAAAABAAAAAAAAAAAAAAABAAAAEwAAAP/uhlj/23tR/7BjQf9wPyn/LRkQ/w4O
Df/Dw8P//v7+//7+/f/+/v3//v79//39/f/+/v7//v7+//39/f/BwcH/Dg0M/y0ZEP9xPyn/sGNB/9t8
Uf/uhlj/AAAA/wAAAK8AAABQAAAAEwAAAAEAAAAAAAAAAAAAAAEAAAATAAAA/9t8Uf+wY0H/cUAp/y0Z
EP8ODg3/w8PC//7+/f/9/f3//v79//7+/f/9/f3//f39//7+/f/+/v3//f39//39/f/BwcH/Dg0N/y0Z
EP9xQCr/sGNB/9t8Uf8AAAD/AAAArwAAAFAAAAATAAAAAQAAAAAAAAAAAAAAAgAAABgAAAD/r2NB/3A/
Kf8tGRD/Dg4N/8PDw//+/v7//v79//nm3v/trZT/4YNh/9lrRP/VZkD/13ZW/+GeiP/14Nn//v79//7+
/f/BwcH/Dg0N/y0ZEP9wPyn/sGNB/wAAAP8AAACwAAAAUAAAABMAAAABAAAAAAAAAAAAAAAHAAAAKgAA
AP9wPyn/LRkQ/w4ODf/Dw8P//v7+//36+P/ztZr/53tO/+J1Sf/ecEX/22tB/9ZlPf/SXzn/zlo0/8tW
Mf/fmYT//Pn3//7+/v/BwcH/Dg0M/y0ZEP9wPyn/AAAA/wAAALYAAABUAAAAEwAAAAEAAAAAAAAABQAA
ABsAAABUAAAA/y0ZEP8ODg3/w8PC//7+/v/9+vn/9qiG/+6FV//qgFP/53tQ/+N2S//fcUf/22tC/9dm
Pf/SYDn/zlo0/8pVL//Xf2T//Pn3//7+/f/BwcH/Dg0M/y0ZEP8AAAD/AAAAwwAAAGEAAAAYAAAAAgAA
AAUAAAAZAAAARwAAAJAAAAD/Dg4N/8PDw//+/v7//v79//i7oP/zjF3/8oxe/++IWv/rg1b/531S/+R3
Tf/fcUj/22xD/9dmPv/TYDn/zlo0/8pVMP/fmYT//v79//39/f/BwcH/Dg0N/wAAAP8AAADYAAAAfwAA
ACoAAAAGAAAAGAAAAEYAAACKAAAA0g0NDf/Dw8L//f39//39/f/86uL/9I5g//SPYv/0kGP/849j/++K
Xv/shVn/6H9U/+R4Tv/fckj/22xD/9dmPv/TYDn/z1s1/8tWMf/14Nn//f39//7+/f/BwcH/DAwM/wAA
AO4AAACsAAAAUwAAABkAAAA6AAAAgQAAAM4NDQ39w8PD//7+/v/+/v7//v7+//i+pP/0kWT/9JNo//SV
af/0lWr/85Nn/++NYv/shlv/6H9V/+N5Tv/fckj/22xD/9dmPv/TYDn/zlo0/+GeiP/+/v3//v7+//7+
/v/BwcH/DAwM/gAAANsAAACJAAAAOgAAAFAAAAC1DQ0N/cPDw//+/v7//v7+//7+/v/+/v7/9qR///SW
a//1mnH/9Ztz//Wbc//1mnH/9JZs//CPZf/sh13/54BV/+N5T//fckj/22xD/9dmPv/SXzj/13dW//7+
/f/+/v7//v7+//39/f/BwcH/DAwM/QAAALkAAABRAAAAcA0NDfrDw8P//v7+//39/f/+/v3//v79//39
/f/1mnH/9Z52//ajfv/2pYH/9qWA//aifP/1nnb/9Jhv//CQZv/rh13/539V/+N4Tv/fckj/22tC/9Zl
Pf/VZkD//f39//39/f/+/v3//f39//39/f/BwcH/DAwM+gAAAHAAAABVDQ0N9sPDw//+/v7//f39//7+
/v/+/v7//v79//agev/2p4P/96+P//eyk//3spL/962M//ang//2oHn/9Jlv//CPZP/rhlv/6H5U/+R3
Tf/gcUf/2mpB/9lsRf/+/v3//v79//7+/v/9/f3//f39/8PDw/8NDQ32AAAAVAAAAAgAAABWDQ0N9sPD
w//9/f3//v79//7+/f/+/v3/97KT//exkf/4vaL/+cGo//jAp//4up7/97GR//ang//1nnb/85Zs/++N
Yf/rhFn/531S/+N2S//eb0X/4YNh//7+/f/+/v3//v79//39/f/CwsL/DQ0N+AAAAF8AAAAJAAAAAQAA
AAgAAABXDQ0N98PDw//+/v3//v79//7+/f/6zrr/+Lqd//nKtP/60L7/+c67//nGr//4up7/962M//ai
fP/1mXD/85Jn/++KXv/rg1b/53xQ/+J1Sf/trZT//v79//7+/v/+/v3/wsLC/w0NDfsAAACFAAAAGgAA
AAIAAAAAAAAAAQAAAAkAAABgDQ0N/8TEw//+/v3//v79//3w6v/4vaP/+tG+//vazP/72cr/+s+7//nB
p//3spL/9qWA//Wbc//0lWr/849j/++IW//rgVT/53tP//nm3v/9/f3//v7+/8PDwv8NDQ3/AAAAxAAA
AFUAAAATAAAAAQAAAAAAAAAAAAAAAgAAABoAAAD/FREQ/8TEw//+/v7//v7+//vZyf/5zbn/+9rM//vb
zP/60L7/+cKp//ezk//2pYH/9Ztz//SVaf/0kGP/8oxe/+6FV//ztZr//v7+//7+/f/Dw8P/FREQ/wAA
AP8AAACxAAAAUQAAABMAAAABAAAAAAAAAAAAAAABAAAAEwAAAP+hWjv/FREQ/8TEw//+/v3//vz7//rT
wf/5zbn/+tG+//nKtP/4vaL/96+P//ajfv/1mnH/9JNo//SPYf/zjF3/9qmG//36+f/+/v7/w8PC/xUR
EP+iWzz/AAAA/wAAAK8AAABQAAAAEwAAAAEAAAAAAAAAAAAAAAEAAAATAAAA/+yFWP+hWzv/FREQ/8TE
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
rEGAAKxBgACsQYAArEHAAaxB/D+sQQ==
</value>
</data>
</root>
\ No newline at end of file \ No newline at end of file
...@@ -13,15 +13,15 @@ namespace OnlineStore.ACPackingStore ...@@ -13,15 +13,15 @@ namespace OnlineStore.ACPackingStore
{ {
public partial class FrmBase : Form public partial class FrmBase : Form
{ {
public static string GetVersion() internal static string GetVersion()
{ {
string str = ""; string str = "";
string version = ""; string version = "";
DateTime newData = DateTime.Parse("2000-01-01"); DateTime newData = DateTime.Parse("2000-01-01");
try try
{ {
System.Reflection.AssemblyName assemblyName= System.Reflection.Assembly.GetExecutingAssembly().GetName(); System.Reflection.AssemblyName assemblyName = System.Reflection.Assembly.GetExecutingAssembly().GetName();
version = assemblyName.Version.ToString(); version = assemblyName.Version.ToString();
string[] strArray = version.Split('.'); string[] strArray = version.Split('.');
if (strArray.Length.Equals(4)) if (strArray.Length.Equals(4))
{ {
...@@ -38,9 +38,16 @@ namespace OnlineStore.ACPackingStore ...@@ -38,9 +38,16 @@ namespace OnlineStore.ACPackingStore
str = version; str = version;
LogUtil.error("解析版本号【" + str + "】出错:" + ex.ToString()); LogUtil.error("解析版本号【" + str + "】出错:" + ex.ToString());
} }
LogUtil.info("版本号[" + version + "][" + str + "]"); LogUtil.info("版本号[" + version + "][" + str + "][" + GetCodeNum() + "]");
return str; return str;
} }
internal static string GetCodeNum(string codeName = "RC1250-ACPackingStore")
{
byte[] byteArray = System.Text.Encoding.ASCII.GetBytes(codeName);
string result = "";
result = AcSerialBean.ByteToString(byteArray);
return result;
}
public FrmBase() public FrmBase()
{ {
InitializeComponent(); InitializeComponent();
......
namespace OnlineStore.ACPackingStore namespace OnlineStore.ACPackingStore
{ {
partial class FrmStoreBox partial class FrmBox
{ {
/// <summary> /// <summary>
/// 必需的设计器变量。 /// 必需的设计器变量。
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
private void InitializeComponent() private void InitializeComponent()
{ {
this.components = new System.ComponentModel.Container(); this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmStoreBox)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmBox));
this.timer1 = new System.Windows.Forms.Timer(this.components); this.timer1 = new System.Windows.Forms.Timer(this.components);
this.lblWarnMsg = new System.Windows.Forms.Label(); this.lblWarnMsg = new System.Windows.Forms.Label();
this.groupAxis = new System.Windows.Forms.GroupBox(); this.groupAxis = new System.Windows.Forms.GroupBox();
...@@ -69,7 +69,6 @@ ...@@ -69,7 +69,6 @@
this.label46 = new System.Windows.Forms.Label(); this.label46 = new System.Windows.Forms.Label();
this.cmbAxisList = new System.Windows.Forms.ComboBox(); this.cmbAxisList = new System.Windows.Forms.ComboBox();
this.label49 = new System.Windows.Forms.Label(); this.label49 = new System.Windows.Forms.Label();
this.richTextBox1 = new System.Windows.Forms.RichTextBox();
this.groupBox1 = new System.Windows.Forms.GroupBox(); this.groupBox1 = new System.Windows.Forms.GroupBox();
this.axis_1_Alarm = new UserFromControl.IOStatusControl(); this.axis_1_Alarm = new UserFromControl.IOStatusControl();
this.axis_3_Alarm = new UserFromControl.IOStatusControl(); this.axis_3_Alarm = new UserFromControl.IOStatusControl();
...@@ -133,53 +132,15 @@ ...@@ -133,53 +132,15 @@
this.btnUpDownP6 = new System.Windows.Forms.Button(); this.btnUpDownP6 = new System.Windows.Forms.Button();
this.btnUpDownP3 = new System.Windows.Forms.Button(); this.btnUpDownP3 = new System.Windows.Forms.Button();
this.btnUpDownP4 = new System.Windows.Forms.Button(); this.btnUpDownP4 = new System.Windows.Forms.Button();
this.btnClearLog = new System.Windows.Forms.Button();
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
this.料仓操作ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.启动ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.停止ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.复位ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
this.回待机点ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
this.退出ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.iO状态查看ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.查看IOToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
this.料仓运转ONToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator();
this.料仓运转OFFToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator();
this.打开舱门ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator();
this.关闭仓门ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.设备调试ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.轴卡点动ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator();
this.扫码测试ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator10 = new System.Windows.Forms.ToolStripSeparator();
this.学习二维码ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.配置信息ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.轴运动配置ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.日志ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.开启DEBUGToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator12 = new System.Windows.Forms.ToolStripSeparator();
this.清理日志ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.lblThisSta = new System.Windows.Forms.Label(); this.lblThisSta = new System.Windows.Forms.Label();
this.groupBox3 = new System.Windows.Forms.GroupBox(); this.groupBox3 = new System.Windows.Forms.GroupBox();
this.lblMoveEquipInfo = new System.Windows.Forms.Label(); this.lblMoveEquipInfo = new System.Windows.Forms.Label();
this.chbDebug = new System.Windows.Forms.CheckBox(); this.chbDebug = new System.Windows.Forms.CheckBox();
this.chbAuto = new System.Windows.Forms.CheckBox();
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
this.显示ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.显示ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components); this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components);
this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage3 = new System.Windows.Forms.TabPage();
this.btnCloseDoor = new System.Windows.Forms.Button();
this.btnOpenDoor = new System.Windows.Forms.Button();
this.tabPage1 = new System.Windows.Forms.TabPage(); this.tabPage1 = new System.Windows.Forms.TabPage();
this.tabPage2 = new System.Windows.Forms.TabPage(); this.tabPage2 = new System.Windows.Forms.TabPage();
this.groupHistory = new System.Windows.Forms.GroupBox(); this.groupHistory = new System.Windows.Forms.GroupBox();
...@@ -204,39 +165,26 @@ ...@@ -204,39 +165,26 @@
this.label27 = new System.Windows.Forms.Label(); this.label27 = new System.Windows.Forms.Label();
this.btnTempClose = new System.Windows.Forms.Button(); this.btnTempClose = new System.Windows.Forms.Button();
this.btnTempInit = new System.Windows.Forms.Button(); this.btnTempInit = new System.Windows.Forms.Button();
this.tabControl2 = new System.Windows.Forms.TabControl();
this.tabPage4 = new System.Windows.Forms.TabPage();
this.btnStoreExit = new System.Windows.Forms.Button();
this.btnStoreHome = new System.Windows.Forms.Button(); this.btnStoreHome = new System.Windows.Forms.Button();
this.btnSotreReset = new System.Windows.Forms.Button(); this.btnSotreReset = new System.Windows.Forms.Button();
this.btnStoreStop = new System.Windows.Forms.Button(); this.btnStoreStop = new System.Windows.Forms.Button();
this.btnStoreStart = new System.Windows.Forms.Button(); this.btnStoreStart = new System.Windows.Forms.Button();
this.tabPage5 = new System.Windows.Forms.TabPage();
this.btnDebug = new System.Windows.Forms.Button();
this.btnAxisOff = new System.Windows.Forms.Button(); this.btnAxisOff = new System.Windows.Forms.Button();
this.btnAxisOn = new System.Windows.Forms.Button(); this.btnAxisOn = new System.Windows.Forms.Button();
this.btnAxisP = new System.Windows.Forms.Button(); this.btnAxisP = new System.Windows.Forms.Button();
this.btnIO = new System.Windows.Forms.Button(); this.btnIO = new System.Windows.Forms.Button();
this.tabPage6 = new System.Windows.Forms.TabPage(); this.panel1 = new System.Windows.Forms.Panel();
this.button4 = new System.Windows.Forms.Button();
this.btnClearL = new System.Windows.Forms.Button();
this.btnLogDebug = new System.Windows.Forms.Button();
this.groupAxis.SuspendLayout(); this.groupAxis.SuspendLayout();
this.groupBox1.SuspendLayout(); this.groupBox1.SuspendLayout();
this.groupInout.SuspendLayout(); this.groupInout.SuspendLayout();
this.menuStrip1.SuspendLayout();
this.groupBox3.SuspendLayout(); this.groupBox3.SuspendLayout();
this.contextMenuStrip1.SuspendLayout(); this.contextMenuStrip1.SuspendLayout();
this.tabControl1.SuspendLayout(); this.tabControl1.SuspendLayout();
this.tabPage3.SuspendLayout();
this.tabPage1.SuspendLayout(); this.tabPage1.SuspendLayout();
this.tabPage2.SuspendLayout(); this.tabPage2.SuspendLayout();
this.groupHistory.SuspendLayout(); this.groupHistory.SuspendLayout();
this.groupBox7.SuspendLayout(); this.groupBox7.SuspendLayout();
this.tabControl2.SuspendLayout(); this.panel1.SuspendLayout();
this.tabPage4.SuspendLayout();
this.tabPage5.SuspendLayout();
this.tabPage6.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// timer1 // timer1
...@@ -783,18 +731,6 @@ ...@@ -783,18 +731,6 @@
this.label49.Text = "AC伺服:"; this.label49.Text = "AC伺服:";
this.label49.TextAlign = System.Drawing.ContentAlignment.MiddleRight; this.label49.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
// //
// richTextBox1
//
this.richTextBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.richTextBox1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.richTextBox1.Location = new System.Drawing.Point(7, 3);
this.richTextBox1.Name = "richTextBox1";
this.richTextBox1.Size = new System.Drawing.Size(545, 542);
this.richTextBox1.TabIndex = 256;
this.richTextBox1.Text = "";
//
// groupBox1 // groupBox1
// //
this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
...@@ -1043,9 +979,9 @@ ...@@ -1043,9 +979,9 @@
this.groupInout.Controls.Add(this.btnUpDownP3); this.groupInout.Controls.Add(this.btnUpDownP3);
this.groupInout.Controls.Add(this.btnUpDownP4); this.groupInout.Controls.Add(this.btnUpDownP4);
this.groupInout.Enabled = false; this.groupInout.Enabled = false;
this.groupInout.Location = new System.Drawing.Point(7, 218); this.groupInout.Location = new System.Drawing.Point(7, 224);
this.groupInout.Name = "groupInout"; this.groupInout.Name = "groupInout";
this.groupInout.Size = new System.Drawing.Size(496, 519); this.groupInout.Size = new System.Drawing.Size(496, 545);
this.groupInout.TabIndex = 100; this.groupInout.TabIndex = 100;
this.groupInout.TabStop = false; this.groupInout.TabStop = false;
this.groupInout.Text = "料仓操作"; this.groupInout.Text = "料仓操作";
...@@ -1679,263 +1615,6 @@ ...@@ -1679,263 +1615,6 @@
this.btnUpDownP4.UseVisualStyleBackColor = true; this.btnUpDownP4.UseVisualStyleBackColor = true;
this.btnUpDownP4.Click += new System.EventHandler(this.btnUpDownP4_Click); this.btnUpDownP4.Click += new System.EventHandler(this.btnUpDownP4_Click);
// //
// btnClearLog
//
this.btnClearLog.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.btnClearLog.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnClearLog.Location = new System.Drawing.Point(310, 560);
this.btnClearLog.Name = "btnClearLog";
this.btnClearLog.Size = new System.Drawing.Size(105, 38);
this.btnClearLog.TabIndex = 224;
this.btnClearLog.Text = "清理日志";
this.btnClearLog.UseVisualStyleBackColor = true;
this.btnClearLog.Click += new System.EventHandler(this.btnClearLog_Click);
//
// menuStrip1
//
this.menuStrip1.Font = new System.Drawing.Font("微软雅黑", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.料仓操作ToolStripMenuItem,
this.iO状态查看ToolStripMenuItem,
this.设备调试ToolStripMenuItem,
this.配置信息ToolStripMenuItem,
this.日志ToolStripMenuItem});
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Size = new System.Drawing.Size(1089, 33);
this.menuStrip1.TabIndex = 257;
this.menuStrip1.Text = "menuStrip1";
this.menuStrip1.Visible = false;
//
// 料仓操作ToolStripMenuItem
//
this.料仓操作ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.启动ToolStripMenuItem,
this.toolStripSeparator1,
this.停止ToolStripMenuItem,
this.toolStripSeparator2,
this.复位ToolStripMenuItem,
this.toolStripSeparator3,
this.回待机点ToolStripMenuItem,
this.toolStripSeparator4,
this.退出ToolStripMenuItem});
this.料仓操作ToolStripMenuItem.Name = "料仓操作ToolStripMenuItem";
this.料仓操作ToolStripMenuItem.Size = new System.Drawing.Size(100, 29);
this.料仓操作ToolStripMenuItem.Text = "料仓操作";
//
// 启动ToolStripMenuItem
//
this.启动ToolStripMenuItem.Name = "启动ToolStripMenuItem";
this.启动ToolStripMenuItem.Size = new System.Drawing.Size(160, 30);
this.启动ToolStripMenuItem.Text = "启动";
this.启动ToolStripMenuItem.Click += new System.EventHandler(this.启动ToolStripMenuItem_Click);
//
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator1.Size = new System.Drawing.Size(157, 6);
//
// 停止ToolStripMenuItem
//
this.停止ToolStripMenuItem.Name = "停止ToolStripMenuItem";
this.停止ToolStripMenuItem.Size = new System.Drawing.Size(160, 30);
this.停止ToolStripMenuItem.Text = "停止";
this.停止ToolStripMenuItem.Click += new System.EventHandler(this.停止ToolStripMenuItem_Click);
//
// toolStripSeparator2
//
this.toolStripSeparator2.Name = "toolStripSeparator2";
this.toolStripSeparator2.Size = new System.Drawing.Size(157, 6);
//
// 复位ToolStripMenuItem
//
this.复位ToolStripMenuItem.Name = "复位ToolStripMenuItem";
this.复位ToolStripMenuItem.Size = new System.Drawing.Size(160, 30);
this.复位ToolStripMenuItem.Text = "复位";
this.复位ToolStripMenuItem.Click += new System.EventHandler(this.复位ToolStripMenuItem_Click);
//
// toolStripSeparator3
//
this.toolStripSeparator3.Name = "toolStripSeparator3";
this.toolStripSeparator3.Size = new System.Drawing.Size(157, 6);
//
// 回待机点ToolStripMenuItem
//
this.回待机点ToolStripMenuItem.Name = "回待机点ToolStripMenuItem";
this.回待机点ToolStripMenuItem.Size = new System.Drawing.Size(160, 30);
this.回待机点ToolStripMenuItem.Text = "回待机点";
this.回待机点ToolStripMenuItem.Click += new System.EventHandler(this.回待机点ToolStripMenuItem_Click);
//
// toolStripSeparator4
//
this.toolStripSeparator4.Name = "toolStripSeparator4";
this.toolStripSeparator4.Size = new System.Drawing.Size(157, 6);
//
// 退出ToolStripMenuItem
//
this.退出ToolStripMenuItem.Name = "退出ToolStripMenuItem";
this.退出ToolStripMenuItem.Size = new System.Drawing.Size(160, 30);
this.退出ToolStripMenuItem.Text = "退出系统";
this.退出ToolStripMenuItem.Click += new System.EventHandler(this.退出ToolStripMenuItem_Click);
//
// iO状态查看ToolStripMenuItem
//
this.iO状态查看ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.查看IOToolStripMenuItem,
this.toolStripSeparator5,
this.料仓运转ONToolStripMenuItem,
this.toolStripSeparator6,
this.料仓运转OFFToolStripMenuItem,
this.toolStripSeparator7,
this.打开舱门ToolStripMenuItem,
this.toolStripSeparator8,
this.关闭仓门ToolStripMenuItem});
this.iO状态查看ToolStripMenuItem.Name = "iO状态查看ToolStripMenuItem";
this.iO状态查看ToolStripMenuItem.Size = new System.Drawing.Size(121, 29);
this.iO状态查看ToolStripMenuItem.Text = "IO状态查看";
//
// 查看IOToolStripMenuItem
//
this.查看IOToolStripMenuItem.Name = "查看IOToolStripMenuItem";
this.查看IOToolStripMenuItem.Size = new System.Drawing.Size(195, 30);
this.查看IOToolStripMenuItem.Text = "查看IO";
this.查看IOToolStripMenuItem.Click += new System.EventHandler(this.查看IOToolStripMenuItem_Click);
//
// toolStripSeparator5
//
this.toolStripSeparator5.Name = "toolStripSeparator5";
this.toolStripSeparator5.Size = new System.Drawing.Size(192, 6);
//
// 料仓运转ONToolStripMenuItem
//
this.料仓运转ONToolStripMenuItem.Name = "料仓运转ONToolStripMenuItem";
this.料仓运转ONToolStripMenuItem.Size = new System.Drawing.Size(195, 30);
this.料仓运转ONToolStripMenuItem.Text = "料仓运转ON";
this.料仓运转ONToolStripMenuItem.Click += new System.EventHandler(this.料仓运转ONToolStripMenuItem_Click);
//
// toolStripSeparator6
//
this.toolStripSeparator6.Name = "toolStripSeparator6";
this.toolStripSeparator6.Size = new System.Drawing.Size(192, 6);
//
// 料仓运转OFFToolStripMenuItem
//
this.料仓运转OFFToolStripMenuItem.Name = "料仓运转OFFToolStripMenuItem";
this.料仓运转OFFToolStripMenuItem.Size = new System.Drawing.Size(195, 30);
this.料仓运转OFFToolStripMenuItem.Text = "料仓运转OFF";
this.料仓运转OFFToolStripMenuItem.Click += new System.EventHandler(this.料仓运转OFFToolStripMenuItem_Click);
//
// toolStripSeparator7
//
this.toolStripSeparator7.Name = "toolStripSeparator7";
this.toolStripSeparator7.Size = new System.Drawing.Size(192, 6);
//
// 打开舱门ToolStripMenuItem
//
this.打开舱门ToolStripMenuItem.Name = "打开舱门ToolStripMenuItem";
this.打开舱门ToolStripMenuItem.Size = new System.Drawing.Size(195, 30);
this.打开舱门ToolStripMenuItem.Text = "打开仓门";
this.打开舱门ToolStripMenuItem.Click += new System.EventHandler(this.打开舱门ToolStripMenuItem_Click);
//
// toolStripSeparator8
//
this.toolStripSeparator8.Name = "toolStripSeparator8";
this.toolStripSeparator8.Size = new System.Drawing.Size(192, 6);
//
// 关闭仓门ToolStripMenuItem
//
this.关闭仓门ToolStripMenuItem.Name = "关闭仓门ToolStripMenuItem";
this.关闭仓门ToolStripMenuItem.Size = new System.Drawing.Size(195, 30);
this.关闭仓门ToolStripMenuItem.Text = "关闭仓门";
this.关闭仓门ToolStripMenuItem.Click += new System.EventHandler(this.关闭仓门ToolStripMenuItem_Click);
//
// 设备调试ToolStripMenuItem
//
this.设备调试ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.轴卡点动ToolStripMenuItem,
this.toolStripSeparator9,
this.扫码测试ToolStripMenuItem,
this.toolStripSeparator10,
this.学习二维码ToolStripMenuItem});
this.设备调试ToolStripMenuItem.Name = "设备调试ToolStripMenuItem";
this.设备调试ToolStripMenuItem.Size = new System.Drawing.Size(100, 29);
this.设备调试ToolStripMenuItem.Text = "设备调试";
//
// 轴卡点动ToolStripMenuItem
//
this.轴卡点动ToolStripMenuItem.Name = "轴卡点动ToolStripMenuItem";
this.轴卡点动ToolStripMenuItem.Size = new System.Drawing.Size(179, 30);
this.轴卡点动ToolStripMenuItem.Text = "轴卡点动";
this.轴卡点动ToolStripMenuItem.Click += new System.EventHandler(this.轴卡点动ToolStripMenuItem_Click);
//
// toolStripSeparator9
//
this.toolStripSeparator9.Name = "toolStripSeparator9";
this.toolStripSeparator9.Size = new System.Drawing.Size(176, 6);
//
// 扫码测试ToolStripMenuItem
//
this.扫码测试ToolStripMenuItem.Name = "扫码测试ToolStripMenuItem";
this.扫码测试ToolStripMenuItem.Size = new System.Drawing.Size(179, 30);
this.扫码测试ToolStripMenuItem.Text = "扫码测试";
//
// toolStripSeparator10
//
this.toolStripSeparator10.Name = "toolStripSeparator10";
this.toolStripSeparator10.Size = new System.Drawing.Size(176, 6);
//
// 学习二维码ToolStripMenuItem
//
this.学习二维码ToolStripMenuItem.Name = "学习二维码ToolStripMenuItem";
this.学习二维码ToolStripMenuItem.Size = new System.Drawing.Size(179, 30);
this.学习二维码ToolStripMenuItem.Text = "学习二维码";
this.学习二维码ToolStripMenuItem.Click += new System.EventHandler(this.学习二维码ToolStripMenuItem_Click);
//
// 配置信息ToolStripMenuItem
//
this.配置信息ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.轴运动配置ToolStripMenuItem});
this.配置信息ToolStripMenuItem.Name = "配置信息ToolStripMenuItem";
this.配置信息ToolStripMenuItem.Size = new System.Drawing.Size(100, 29);
this.配置信息ToolStripMenuItem.Text = "配置信息";
this.配置信息ToolStripMenuItem.Visible = false;
//
// 轴运动配置ToolStripMenuItem
//
this.轴运动配置ToolStripMenuItem.Name = "轴运动配置ToolStripMenuItem";
this.轴运动配置ToolStripMenuItem.Size = new System.Drawing.Size(179, 30);
this.轴运动配置ToolStripMenuItem.Text = "轴运动配置";
this.轴运动配置ToolStripMenuItem.Click += new System.EventHandler(this.轴运动配置ToolStripMenuItem_Click);
//
// 日志ToolStripMenuItem
//
this.日志ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.开启DEBUGToolStripMenuItem,
this.toolStripSeparator12,
this.清理日志ToolStripMenuItem});
this.日志ToolStripMenuItem.Name = "日志ToolStripMenuItem";
this.日志ToolStripMenuItem.Size = new System.Drawing.Size(62, 29);
this.日志ToolStripMenuItem.Text = "其他";
//
// 开启DEBUGToolStripMenuItem
//
this.开启DEBUGToolStripMenuItem.Name = "开启DEBUGToolStripMenuItem";
this.开启DEBUGToolStripMenuItem.Size = new System.Drawing.Size(186, 30);
this.开启DEBUGToolStripMenuItem.Text = "开启DEBUG";
this.开启DEBUGToolStripMenuItem.Click += new System.EventHandler(this.开启DEBUGToolStripMenuItem_Click);
//
// toolStripSeparator12
//
this.toolStripSeparator12.Name = "toolStripSeparator12";
this.toolStripSeparator12.Size = new System.Drawing.Size(183, 6);
//
// 清理日志ToolStripMenuItem
//
this.清理日志ToolStripMenuItem.Name = "清理日志ToolStripMenuItem";
this.清理日志ToolStripMenuItem.Size = new System.Drawing.Size(186, 30);
this.清理日志ToolStripMenuItem.Text = "清理日志";
this.清理日志ToolStripMenuItem.Click += new System.EventHandler(this.清理日志ToolStripMenuItem_Click);
//
// lblThisSta // lblThisSta
// //
this.lblThisSta.AutoSize = true; this.lblThisSta.AutoSize = true;
...@@ -1952,7 +1631,7 @@ ...@@ -1952,7 +1631,7 @@
this.groupBox3.Controls.Add(this.lblMoveEquipInfo); this.groupBox3.Controls.Add(this.lblMoveEquipInfo);
this.groupBox3.Controls.Add(this.lblWarnMsg); this.groupBox3.Controls.Add(this.lblWarnMsg);
this.groupBox3.Controls.Add(this.lblThisSta); this.groupBox3.Controls.Add(this.lblThisSta);
this.groupBox3.Location = new System.Drawing.Point(7, 90); this.groupBox3.Location = new System.Drawing.Point(7, 96);
this.groupBox3.Name = "groupBox3"; this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(496, 124); this.groupBox3.Size = new System.Drawing.Size(496, 124);
this.groupBox3.TabIndex = 268; this.groupBox3.TabIndex = 268;
...@@ -1975,7 +1654,7 @@ ...@@ -1975,7 +1654,7 @@
this.chbDebug.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.chbDebug.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.chbDebug.AutoSize = true; this.chbDebug.AutoSize = true;
this.chbDebug.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.chbDebug.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.chbDebug.Location = new System.Drawing.Point(799, 12); this.chbDebug.Location = new System.Drawing.Point(18, 51);
this.chbDebug.Name = "chbDebug"; this.chbDebug.Name = "chbDebug";
this.chbDebug.Size = new System.Drawing.Size(93, 25); this.chbDebug.Size = new System.Drawing.Size(93, 25);
this.chbDebug.TabIndex = 271; this.chbDebug.TabIndex = 271;
...@@ -1983,19 +1662,6 @@ ...@@ -1983,19 +1662,6 @@
this.chbDebug.UseVisualStyleBackColor = true; this.chbDebug.UseVisualStyleBackColor = true;
this.chbDebug.CheckedChanged += new System.EventHandler(this.chbDebug_CheckedChanged); this.chbDebug.CheckedChanged += new System.EventHandler(this.chbDebug_CheckedChanged);
// //
// chbAuto
//
this.chbAuto.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.chbAuto.AutoSize = true;
this.chbAuto.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.chbAuto.Location = new System.Drawing.Point(927, 13);
this.chbAuto.Name = "chbAuto";
this.chbAuto.Size = new System.Drawing.Size(125, 25);
this.chbAuto.TabIndex = 270;
this.chbAuto.Text = "开机自动启动";
this.chbAuto.UseVisualStyleBackColor = true;
this.chbAuto.CheckedChanged += new System.EventHandler(this.chbAuto_CheckedChanged);
//
// contextMenuStrip1 // contextMenuStrip1
// //
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
...@@ -2032,52 +1698,14 @@ ...@@ -2032,52 +1698,14 @@
this.tabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) this.tabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.tabControl1.Controls.Add(this.tabPage3);
this.tabControl1.Controls.Add(this.tabPage1); this.tabControl1.Controls.Add(this.tabPage1);
this.tabControl1.Controls.Add(this.tabPage2); this.tabControl1.Controls.Add(this.tabPage2);
this.tabControl1.Location = new System.Drawing.Point(509, 89); this.tabControl1.Location = new System.Drawing.Point(509, 95);
this.tabControl1.Name = "tabControl1"; this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0; this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(637, 649); this.tabControl1.Size = new System.Drawing.Size(637, 675);
this.tabControl1.TabIndex = 272; this.tabControl1.TabIndex = 272;
// //
// tabPage3
//
this.tabPage3.Controls.Add(this.btnClearLog);
this.tabPage3.Controls.Add(this.btnCloseDoor);
this.tabPage3.Controls.Add(this.btnOpenDoor);
this.tabPage3.Controls.Add(this.richTextBox1);
this.tabPage3.Location = new System.Drawing.Point(4, 29);
this.tabPage3.Name = "tabPage3";
this.tabPage3.Size = new System.Drawing.Size(560, 616);
this.tabPage3.TabIndex = 2;
this.tabPage3.Text = " 操作日志 ";
this.tabPage3.UseVisualStyleBackColor = true;
//
// btnCloseDoor
//
this.btnCloseDoor.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.btnCloseDoor.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnCloseDoor.Location = new System.Drawing.Point(146, 560);
this.btnCloseDoor.Name = "btnCloseDoor";
this.btnCloseDoor.Size = new System.Drawing.Size(105, 38);
this.btnCloseDoor.TabIndex = 258;
this.btnCloseDoor.Text = "关闭仓门";
this.btnCloseDoor.UseVisualStyleBackColor = true;
this.btnCloseDoor.Click += new System.EventHandler(this.btnCloseDoor_Click);
//
// btnOpenDoor
//
this.btnOpenDoor.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.btnOpenDoor.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnOpenDoor.Location = new System.Drawing.Point(29, 560);
this.btnOpenDoor.Name = "btnOpenDoor";
this.btnOpenDoor.Size = new System.Drawing.Size(105, 38);
this.btnOpenDoor.TabIndex = 257;
this.btnOpenDoor.Text = "打开仓门";
this.btnOpenDoor.UseVisualStyleBackColor = true;
this.btnOpenDoor.Click += new System.EventHandler(this.btnOpenDoor_Click);
//
// tabPage1 // tabPage1
// //
this.tabPage1.Controls.Add(this.groupAxis); this.tabPage1.Controls.Add(this.groupAxis);
...@@ -2085,7 +1713,7 @@ ...@@ -2085,7 +1713,7 @@
this.tabPage1.Location = new System.Drawing.Point(4, 29); this.tabPage1.Location = new System.Drawing.Point(4, 29);
this.tabPage1.Name = "tabPage1"; this.tabPage1.Name = "tabPage1";
this.tabPage1.Padding = new System.Windows.Forms.Padding(3); this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
this.tabPage1.Size = new System.Drawing.Size(629, 616); this.tabPage1.Size = new System.Drawing.Size(629, 642);
this.tabPage1.TabIndex = 0; this.tabPage1.TabIndex = 0;
this.tabPage1.Text = " 伺服调试 "; this.tabPage1.Text = " 伺服调试 ";
this.tabPage1.UseVisualStyleBackColor = true; this.tabPage1.UseVisualStyleBackColor = true;
...@@ -2097,7 +1725,7 @@ ...@@ -2097,7 +1725,7 @@
this.tabPage2.Location = new System.Drawing.Point(4, 29); this.tabPage2.Location = new System.Drawing.Point(4, 29);
this.tabPage2.Name = "tabPage2"; this.tabPage2.Name = "tabPage2";
this.tabPage2.Padding = new System.Windows.Forms.Padding(3); this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
this.tabPage2.Size = new System.Drawing.Size(560, 616); this.tabPage2.Size = new System.Drawing.Size(629, 642);
this.tabPage2.TabIndex = 1; this.tabPage2.TabIndex = 1;
this.tabPage2.Text = " 温湿度 "; this.tabPage2.Text = " 温湿度 ";
this.tabPage2.UseVisualStyleBackColor = true; this.tabPage2.UseVisualStyleBackColor = true;
...@@ -2357,52 +1985,10 @@ ...@@ -2357,52 +1985,10 @@
this.btnTempInit.UseVisualStyleBackColor = true; this.btnTempInit.UseVisualStyleBackColor = true;
this.btnTempInit.Click += new System.EventHandler(this.btnTempInit_Click); this.btnTempInit.Click += new System.EventHandler(this.btnTempInit_Click);
// //
// tabControl2
//
this.tabControl2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tabControl2.Controls.Add(this.tabPage4);
this.tabControl2.Controls.Add(this.tabPage5);
this.tabControl2.Controls.Add(this.tabPage6);
this.tabControl2.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.tabControl2.Location = new System.Drawing.Point(6, 4);
this.tabControl2.Name = "tabControl2";
this.tabControl2.SelectedIndex = 0;
this.tabControl2.Size = new System.Drawing.Size(1137, 80);
this.tabControl2.TabIndex = 271;
//
// tabPage4
//
this.tabPage4.Controls.Add(this.btnStoreExit);
this.tabPage4.Controls.Add(this.chbDebug);
this.tabPage4.Controls.Add(this.btnStoreHome);
this.tabPage4.Controls.Add(this.chbAuto);
this.tabPage4.Controls.Add(this.btnSotreReset);
this.tabPage4.Controls.Add(this.btnStoreStop);
this.tabPage4.Controls.Add(this.btnStoreStart);
this.tabPage4.Location = new System.Drawing.Point(4, 30);
this.tabPage4.Name = "tabPage4";
this.tabPage4.Padding = new System.Windows.Forms.Padding(3);
this.tabPage4.Size = new System.Drawing.Size(1060, 46);
this.tabPage4.TabIndex = 0;
this.tabPage4.Text = " 料仓操作 ";
this.tabPage4.UseVisualStyleBackColor = true;
//
// btnStoreExit
//
this.btnStoreExit.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnStoreExit.Location = new System.Drawing.Point(539, 4);
this.btnStoreExit.Name = "btnStoreExit";
this.btnStoreExit.Size = new System.Drawing.Size(132, 39);
this.btnStoreExit.TabIndex = 4;
this.btnStoreExit.Text = "退出系统";
this.btnStoreExit.UseVisualStyleBackColor = true;
this.btnStoreExit.Click += new System.EventHandler(this.退出ToolStripMenuItem_Click);
//
// btnStoreHome // btnStoreHome
// //
this.btnStoreHome.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnStoreHome.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnStoreHome.Location = new System.Drawing.Point(406, 4); this.btnStoreHome.Location = new System.Drawing.Point(410, 3);
this.btnStoreHome.Name = "btnStoreHome"; this.btnStoreHome.Name = "btnStoreHome";
this.btnStoreHome.Size = new System.Drawing.Size(132, 39); this.btnStoreHome.Size = new System.Drawing.Size(132, 39);
this.btnStoreHome.TabIndex = 3; this.btnStoreHome.TabIndex = 3;
...@@ -2413,18 +1999,18 @@ ...@@ -2413,18 +1999,18 @@
// btnSotreReset // btnSotreReset
// //
this.btnSotreReset.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnSotreReset.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnSotreReset.Location = new System.Drawing.Point(273, 4); this.btnSotreReset.Location = new System.Drawing.Point(276, 3);
this.btnSotreReset.Name = "btnSotreReset"; this.btnSotreReset.Name = "btnSotreReset";
this.btnSotreReset.Size = new System.Drawing.Size(132, 39); this.btnSotreReset.Size = new System.Drawing.Size(132, 39);
this.btnSotreReset.TabIndex = 2; this.btnSotreReset.TabIndex = 2;
this.btnSotreReset.Text = "复位"; this.btnSotreReset.Text = "复位";
this.btnSotreReset.UseVisualStyleBackColor = true; this.btnSotreReset.UseVisualStyleBackColor = true;
this.btnSotreReset.Click += new System.EventHandler(this.复位ToolStripMenuItem_Click); this.btnSotreReset.Click += new System.EventHandler(this.btnStoreStart_Click);
// //
// btnStoreStop // btnStoreStop
// //
this.btnStoreStop.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnStoreStop.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnStoreStop.Location = new System.Drawing.Point(140, 4); this.btnStoreStop.Location = new System.Drawing.Point(142, 3);
this.btnStoreStop.Name = "btnStoreStop"; this.btnStoreStop.Name = "btnStoreStop";
this.btnStoreStop.Size = new System.Drawing.Size(132, 39); this.btnStoreStop.Size = new System.Drawing.Size(132, 39);
this.btnStoreStop.TabIndex = 1; this.btnStoreStop.TabIndex = 1;
...@@ -2435,44 +2021,18 @@ ...@@ -2435,44 +2021,18 @@
// btnStoreStart // btnStoreStart
// //
this.btnStoreStart.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnStoreStart.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnStoreStart.Location = new System.Drawing.Point(7, 4); this.btnStoreStart.Location = new System.Drawing.Point(8, 3);
this.btnStoreStart.Name = "btnStoreStart"; this.btnStoreStart.Name = "btnStoreStart";
this.btnStoreStart.Size = new System.Drawing.Size(132, 39); this.btnStoreStart.Size = new System.Drawing.Size(132, 39);
this.btnStoreStart.TabIndex = 0; this.btnStoreStart.TabIndex = 0;
this.btnStoreStart.Text = "启动"; this.btnStoreStart.Text = "启动";
this.btnStoreStart.UseVisualStyleBackColor = true; this.btnStoreStart.UseVisualStyleBackColor = true;
this.btnStoreStart.Click += new System.EventHandler(this.启动ToolStripMenuItem_Click); this.btnStoreStart.Click += new System.EventHandler(this.btnStoreStart_Click);
//
// tabPage5
//
this.tabPage5.Controls.Add(this.btnDebug);
this.tabPage5.Controls.Add(this.btnAxisOff);
this.tabPage5.Controls.Add(this.btnAxisOn);
this.tabPage5.Controls.Add(this.btnAxisP);
this.tabPage5.Controls.Add(this.btnIO);
this.tabPage5.Location = new System.Drawing.Point(4, 30);
this.tabPage5.Name = "tabPage5";
this.tabPage5.Padding = new System.Windows.Forms.Padding(3);
this.tabPage5.Size = new System.Drawing.Size(1129, 46);
this.tabPage5.TabIndex = 1;
this.tabPage5.Text = " 设备调试 ";
this.tabPage5.UseVisualStyleBackColor = true;
//
// btnDebug
//
this.btnDebug.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnDebug.Location = new System.Drawing.Point(541, 4);
this.btnDebug.Name = "btnDebug";
this.btnDebug.Size = new System.Drawing.Size(132, 39);
this.btnDebug.TabIndex = 12;
this.btnDebug.Text = "启用调试";
this.btnDebug.UseVisualStyleBackColor = true;
this.btnDebug.Click += new System.EventHandler(this.btnDebug_Click);
// //
// btnAxisOff // btnAxisOff
// //
this.btnAxisOff.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnAxisOff.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnAxisOff.Location = new System.Drawing.Point(407, 4); this.btnAxisOff.Location = new System.Drawing.Point(946, 3);
this.btnAxisOff.Name = "btnAxisOff"; this.btnAxisOff.Name = "btnAxisOff";
this.btnAxisOff.Size = new System.Drawing.Size(132, 39); this.btnAxisOff.Size = new System.Drawing.Size(132, 39);
this.btnAxisOff.TabIndex = 11; this.btnAxisOff.TabIndex = 11;
...@@ -2483,7 +2043,7 @@ ...@@ -2483,7 +2043,7 @@
// btnAxisOn // btnAxisOn
// //
this.btnAxisOn.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnAxisOn.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnAxisOn.Location = new System.Drawing.Point(274, 4); this.btnAxisOn.Location = new System.Drawing.Point(812, 3);
this.btnAxisOn.Name = "btnAxisOn"; this.btnAxisOn.Name = "btnAxisOn";
this.btnAxisOn.Size = new System.Drawing.Size(132, 39); this.btnAxisOn.Size = new System.Drawing.Size(132, 39);
this.btnAxisOn.TabIndex = 10; this.btnAxisOn.TabIndex = 10;
...@@ -2494,18 +2054,18 @@ ...@@ -2494,18 +2054,18 @@
// btnAxisP // btnAxisP
// //
this.btnAxisP.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnAxisP.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnAxisP.Location = new System.Drawing.Point(141, 4); this.btnAxisP.Location = new System.Drawing.Point(678, 3);
this.btnAxisP.Name = "btnAxisP"; this.btnAxisP.Name = "btnAxisP";
this.btnAxisP.Size = new System.Drawing.Size(132, 39); this.btnAxisP.Size = new System.Drawing.Size(132, 39);
this.btnAxisP.TabIndex = 8; this.btnAxisP.TabIndex = 8;
this.btnAxisP.Text = "轴卡点动"; this.btnAxisP.Text = "轴卡点动";
this.btnAxisP.UseVisualStyleBackColor = true; this.btnAxisP.UseVisualStyleBackColor = true;
this.btnAxisP.Click += new System.EventHandler(this.轴卡点动ToolStripMenuItem_Click); this.btnAxisP.Click += new System.EventHandler(this.btnAxisP_Click);
// //
// btnIO // btnIO
// //
this.btnIO.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnIO.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnIO.Location = new System.Drawing.Point(7, 4); this.btnIO.Location = new System.Drawing.Point(544, 3);
this.btnIO.Name = "btnIO"; this.btnIO.Name = "btnIO";
this.btnIO.Size = new System.Drawing.Size(132, 39); this.btnIO.Size = new System.Drawing.Size(132, 39);
this.btnIO.TabIndex = 5; this.btnIO.TabIndex = 5;
...@@ -2513,65 +2073,34 @@ ...@@ -2513,65 +2073,34 @@
this.btnIO.UseVisualStyleBackColor = true; this.btnIO.UseVisualStyleBackColor = true;
this.btnIO.Click += new System.EventHandler(this.查看IOToolStripMenuItem_Click); this.btnIO.Click += new System.EventHandler(this.查看IOToolStripMenuItem_Click);
// //
// tabPage6 // panel1
// //
this.tabPage6.Controls.Add(this.button4); this.panel1.Controls.Add(this.btnStoreHome);
this.tabPage6.Controls.Add(this.btnClearL); this.panel1.Controls.Add(this.btnAxisOff);
this.tabPage6.Controls.Add(this.btnLogDebug); this.panel1.Controls.Add(this.chbDebug);
this.tabPage6.Location = new System.Drawing.Point(4, 30); this.panel1.Controls.Add(this.btnAxisOn);
this.tabPage6.Name = "tabPage6"; this.panel1.Controls.Add(this.btnAxisP);
this.tabPage6.Size = new System.Drawing.Size(1129, 46); this.panel1.Controls.Add(this.btnIO);
this.tabPage6.TabIndex = 2; this.panel1.Controls.Add(this.btnStoreStart);
this.tabPage6.Text = " 其他 "; this.panel1.Controls.Add(this.btnStoreStop);
this.tabPage6.UseVisualStyleBackColor = true; this.panel1.Controls.Add(this.btnSotreReset);
// this.panel1.Location = new System.Drawing.Point(7, 2);
// button4 this.panel1.Name = "panel1";
// this.panel1.Size = new System.Drawing.Size(1139, 83);
this.button4.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.panel1.TabIndex = 273;
this.button4.Location = new System.Drawing.Point(273, 4); //
this.button4.Name = "button4"; // FrmBox
this.button4.Size = new System.Drawing.Size(132, 39);
this.button4.TabIndex = 15;
this.button4.Text = "关于软件";
this.button4.UseVisualStyleBackColor = true;
this.button4.Click += new System.EventHandler(this.button4_Click);
//
// btnClearL
//
this.btnClearL.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnClearL.Location = new System.Drawing.Point(140, 4);
this.btnClearL.Name = "btnClearL";
this.btnClearL.Size = new System.Drawing.Size(132, 39);
this.btnClearL.TabIndex = 14;
this.btnClearL.Text = "清理日志";
this.btnClearL.UseVisualStyleBackColor = true;
this.btnClearL.Click += new System.EventHandler(this.btnClearL_Click);
//
// btnLogDebug
//
this.btnLogDebug.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnLogDebug.Location = new System.Drawing.Point(7, 4);
this.btnLogDebug.Name = "btnLogDebug";
this.btnLogDebug.Size = new System.Drawing.Size(132, 39);
this.btnLogDebug.TabIndex = 13;
this.btnLogDebug.Text = "开启DEBUG";
this.btnLogDebug.UseVisualStyleBackColor = true;
this.btnLogDebug.Click += new System.EventHandler(this.开启DEBUGToolStripMenuItem_Click);
//
// FrmStoreBox
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.ClientSize = new System.Drawing.Size(1158, 749); this.ClientSize = new System.Drawing.Size(1158, 775);
this.Controls.Add(this.tabControl2); this.Controls.Add(this.panel1);
this.Controls.Add(this.tabControl1); this.Controls.Add(this.tabControl1);
this.Controls.Add(this.groupBox3); this.Controls.Add(this.groupBox3);
this.Controls.Add(this.groupInout); this.Controls.Add(this.groupInout);
this.Controls.Add(this.menuStrip1);
this.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MainMenuStrip = this.menuStrip1; this.Name = "FrmBox";
this.Name = "FrmStoreBox";
this.Opacity = 0D; this.Opacity = 0D;
this.Text = "AC_SA_料仓"; this.Text = "AC_SA_料仓";
this.WindowState = System.Windows.Forms.FormWindowState.Maximized; this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
...@@ -2585,26 +2114,19 @@ ...@@ -2585,26 +2114,19 @@
this.groupBox1.PerformLayout(); this.groupBox1.PerformLayout();
this.groupInout.ResumeLayout(false); this.groupInout.ResumeLayout(false);
this.groupInout.PerformLayout(); this.groupInout.PerformLayout();
this.menuStrip1.ResumeLayout(false);
this.menuStrip1.PerformLayout();
this.groupBox3.ResumeLayout(false); this.groupBox3.ResumeLayout(false);
this.groupBox3.PerformLayout(); this.groupBox3.PerformLayout();
this.contextMenuStrip1.ResumeLayout(false); this.contextMenuStrip1.ResumeLayout(false);
this.tabControl1.ResumeLayout(false); this.tabControl1.ResumeLayout(false);
this.tabPage3.ResumeLayout(false);
this.tabPage1.ResumeLayout(false); this.tabPage1.ResumeLayout(false);
this.tabPage2.ResumeLayout(false); this.tabPage2.ResumeLayout(false);
this.groupHistory.ResumeLayout(false); this.groupHistory.ResumeLayout(false);
this.groupHistory.PerformLayout(); this.groupHistory.PerformLayout();
this.groupBox7.ResumeLayout(false); this.groupBox7.ResumeLayout(false);
this.groupBox7.PerformLayout(); this.groupBox7.PerformLayout();
this.tabControl2.ResumeLayout(false); this.panel1.ResumeLayout(false);
this.tabPage4.ResumeLayout(false); this.panel1.PerformLayout();
this.tabPage4.PerformLayout();
this.tabPage5.ResumeLayout(false);
this.tabPage6.ResumeLayout(false);
this.ResumeLayout(false); this.ResumeLayout(false);
this.PerformLayout();
} }
...@@ -2694,33 +2216,11 @@ ...@@ -2694,33 +2216,11 @@
private System.Windows.Forms.TextBox txtInoutTarget; private System.Windows.Forms.TextBox txtInoutTarget;
private System.Windows.Forms.TextBox txtUpdownTarget; private System.Windows.Forms.TextBox txtUpdownTarget;
private System.Windows.Forms.Label label12; private System.Windows.Forms.Label label12;
private System.Windows.Forms.RichTextBox richTextBox1;
private System.Windows.Forms.MenuStrip menuStrip1;
private System.Windows.Forms.ToolStripMenuItem 料仓操作ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 启动ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 停止ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 复位ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 配置信息ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 轴运动配置ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem iO状态查看ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 查看IOToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 设备调试ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 轴卡点动ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 日志ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 开启DEBUGToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 清理日志ToolStripMenuItem;
private UserFromControl.IOStatusControl axis_3_Alarm; private UserFromControl.IOStatusControl axis_3_Alarm;
private UserFromControl.IOStatusControl axis_2_Alarm; private UserFromControl.IOStatusControl axis_2_Alarm;
private UserFromControl.IOStatusControl axis_1_Alarm; private UserFromControl.IOStatusControl axis_1_Alarm;
private System.Windows.Forms.Label label38; private System.Windows.Forms.Label label38;
private System.Windows.Forms.Label lblWarnMsg; private System.Windows.Forms.Label lblWarnMsg;
private System.Windows.Forms.Button btnClearLog;
private System.Windows.Forms.ToolStripMenuItem 料仓运转ONToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 扫码测试ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 料仓运转OFFToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 打开舱门ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 关闭仓门ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 回待机点ToolStripMenuItem;
private System.Windows.Forms.Label lblServerOn; private System.Windows.Forms.Label lblServerOn;
public System.Windows.Forms.Button btnReadPosition; public System.Windows.Forms.Button btnReadPosition;
private System.Windows.Forms.Label label16; private System.Windows.Forms.Label label16;
...@@ -2738,30 +2238,15 @@ ...@@ -2738,30 +2238,15 @@
private System.Windows.Forms.GroupBox groupBox3; private System.Windows.Forms.GroupBox groupBox3;
private System.Windows.Forms.CheckBox chbAutoRead; private System.Windows.Forms.CheckBox chbAutoRead;
private System.Windows.Forms.Label lblTemp; private System.Windows.Forms.Label lblTemp;
private System.Windows.Forms.CheckBox chbAuto;
private System.Windows.Forms.ContextMenuStrip contextMenuStrip1; private System.Windows.Forms.ContextMenuStrip contextMenuStrip1;
private System.Windows.Forms.ToolStripMenuItem 显示ToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem 显示ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1; private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1;
private System.Windows.Forms.NotifyIcon notifyIcon1; private System.Windows.Forms.NotifyIcon notifyIcon1;
private System.Windows.Forms.ToolStripMenuItem 退出ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 学习二维码ToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator5;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator6;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator7;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator8;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator9;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator10;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator4;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator12;
private System.Windows.Forms.Button btnReadHomeSingle; private System.Windows.Forms.Button btnReadHomeSingle;
private System.Windows.Forms.TextBox txtHomeSingle; private System.Windows.Forms.TextBox txtHomeSingle;
private System.Windows.Forms.Label label5; private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label label6; private System.Windows.Forms.Label label6;
private System.Windows.Forms.TabControl tabControl1; private System.Windows.Forms.TabControl tabControl1;
private System.Windows.Forms.TabPage tabPage3;
private System.Windows.Forms.TabPage tabPage1; private System.Windows.Forms.TabPage tabPage1;
private System.Windows.Forms.TabPage tabPage2; private System.Windows.Forms.TabPage tabPage2;
private System.Windows.Forms.GroupBox groupBox7; private System.Windows.Forms.GroupBox groupBox7;
...@@ -2774,12 +2259,6 @@ ...@@ -2774,12 +2259,6 @@
private System.Windows.Forms.Label label27; private System.Windows.Forms.Label label27;
private System.Windows.Forms.Button btnTempClose; private System.Windows.Forms.Button btnTempClose;
private System.Windows.Forms.Button btnTempInit; private System.Windows.Forms.Button btnTempInit;
private System.Windows.Forms.Button btnCloseDoor;
private System.Windows.Forms.Button btnOpenDoor;
private System.Windows.Forms.TabControl tabControl2;
private System.Windows.Forms.TabPage tabPage4;
private System.Windows.Forms.TabPage tabPage5;
private System.Windows.Forms.Button btnStoreExit;
private System.Windows.Forms.Button btnStoreHome; private System.Windows.Forms.Button btnStoreHome;
private System.Windows.Forms.Button btnSotreReset; private System.Windows.Forms.Button btnSotreReset;
private System.Windows.Forms.Button btnStoreStop; private System.Windows.Forms.Button btnStoreStop;
...@@ -2787,12 +2266,7 @@ ...@@ -2787,12 +2266,7 @@
private System.Windows.Forms.Button btnIO; private System.Windows.Forms.Button btnIO;
private System.Windows.Forms.Button btnAxisOff; private System.Windows.Forms.Button btnAxisOff;
private System.Windows.Forms.Button btnAxisOn; private System.Windows.Forms.Button btnAxisOn;
private System.Windows.Forms.Button btnLogDebug;
private System.Windows.Forms.TabPage tabPage6;
private System.Windows.Forms.Button button4;
private System.Windows.Forms.Button btnClearL;
private System.Windows.Forms.Button btnStoreStart; private System.Windows.Forms.Button btnStoreStart;
private System.Windows.Forms.Button btnDebug;
private System.Windows.Forms.TextBox txtHistoryTemp; private System.Windows.Forms.TextBox txtHistoryTemp;
private System.Windows.Forms.Label label22; private System.Windows.Forms.Label label22;
private System.Windows.Forms.TextBox txtCurrCount; private System.Windows.Forms.TextBox txtCurrCount;
...@@ -2807,6 +2281,7 @@ ...@@ -2807,6 +2281,7 @@
private System.Windows.Forms.GroupBox groupHistory; private System.Windows.Forms.GroupBox groupHistory;
private System.Windows.Forms.CheckBox chbDebug; private System.Windows.Forms.CheckBox chbDebug;
private System.Windows.Forms.Label lblMoveEquipInfo; private System.Windows.Forms.Label lblMoveEquipInfo;
private System.Windows.Forms.Panel panel1;
} }
} }
...@@ -20,29 +20,22 @@ using CodeLibrary; ...@@ -20,29 +20,22 @@ using CodeLibrary;
namespace OnlineStore.ACPackingStore namespace OnlineStore.ACPackingStore
{ {
public partial class FrmStoreBox : FrmBase public partial class FrmBox : FrmBase
{ {
public AC_BOX_Bean BoxBean=null; public AC_BOX_Bean BoxBean=null;
public static readonly ILog LOGGER = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); public static readonly ILog LOGGER = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
public FrmStoreBox() public FrmBox()
{ {
Control.CheckForIllegalCrossThreadCalls = false; Control.CheckForIllegalCrossThreadCalls = false;
InitializeComponent(); InitializeComponent();
chbAuto.Checked = ConfigAppSettings.GetIntValue(Setting_Init.App_AutoRun).Equals(1);
} }
#region "初始化界面数据" #region "初始化界面数据"
private bool LoadOk = false; private bool LoadOk = false;
private void FrmTest_Load(object sender, EventArgs e) private void FrmTest_Load(object sender, EventArgs e)
{ {
string version = GetVersion();
LogUtil.logBox = this.richTextBox1;
// LoadStore();
} }
private void LoadStore( ) private void LoadStore( )
{ {
...@@ -95,14 +88,7 @@ namespace OnlineStore.ACPackingStore ...@@ -95,14 +88,7 @@ namespace OnlineStore.ACPackingStore
txtInOutP2.Text = ktkPosition.InOutAxis_DoorPosition_P2.ToString(); txtInOutP2.Text = ktkPosition.InOutAxis_DoorPosition_P2.ToString();
//txtUpDownP1.Text = ktkPosition.UpDownAxis_DoorOPosition_P1.ToString(); //txtUpDownP1.Text = ktkPosition.UpDownAxis_DoorOPosition_P1.ToString();
} }
//List<string> port = new List<string>(SerialPort.GetPortNames());
//comboBoxPortName.DataSource = port;
//if (port.IndexOf(BoxBean.Config.CompressAxis_PortName) >= 0)
//{
// comboBoxPortName.SelectedIndex = port.IndexOf(BoxBean.Config.CompressAxis_PortName);
//}
//cmbHomeType.SelectedIndex = 0;
timer1.Enabled = true; timer1.Enabled = true;
chbDebug.Checked = BoxBean.IsDebug; chbDebug.Checked = BoxBean.IsDebug;
this.ShowInTaskbar = true; this.ShowInTaskbar = true;
...@@ -125,28 +111,7 @@ namespace OnlineStore.ACPackingStore ...@@ -125,28 +111,7 @@ namespace OnlineStore.ACPackingStore
} }
#endregion #endregion
private void start_button_Click(object sender, EventArgs e)
{
BoxBean.StartRun();
if (BoxBean.storeRunStatus >= StoreRunStatus.HomeMoving)
{
StoreOpenStatus(true);
}
}
private void stop_button_Click(object sender, EventArgs e)
{
try
{
BoxBean.StopRun();
StoreOpenStatus(false);
}
catch (Exception ex)
{
LogUtil.error(LOGGER, "出错:" + ex.StackTrace);
}
}
private bool preOpen = false; private bool preOpen = false;
public void StoreOpenStatus(bool isOpen) public void StoreOpenStatus(bool isOpen)
{ {
...@@ -158,23 +123,21 @@ namespace OnlineStore.ACPackingStore ...@@ -158,23 +123,21 @@ namespace OnlineStore.ACPackingStore
btnOutStore.Enabled = isOpen; btnOutStore.Enabled = isOpen;
btnInStore.Enabled = isOpen; btnInStore.Enabled = isOpen;
启动ToolStripMenuItem.Enabled = !isOpen;
停止ToolStripMenuItem.Enabled = isOpen;
复位ToolStripMenuItem.Enabled = isOpen;
btnStoreStart.Enabled = !isOpen; btnStoreStart.Enabled = !isOpen;
btnSotreReset.Enabled = isOpen;
btnStoreStop.Enabled = isOpen; btnStoreStop.Enabled = isOpen;
btnSotreReset.Enabled = isOpen;
} btnStoreStart.Enabled = !isOpen;
btnSotreReset.Enabled = isOpen;
btnStoreStop.Enabled = isOpen;
}
private void timer1_Tick(object sender, EventArgs e) private void timer1_Tick(object sender, EventArgs e)
{ {
if (!this.Visible) if (!this.Visible)
{ {
return; return;
} }
// button6_Click(null, null); // button6_Click(null, null);
// timer1.Interval = 300; // timer1.Interval = 300;
if (chbDebug.Checked.Equals(BoxBean.IsDebug).Equals(false)) if (chbDebug.Checked.Equals(BoxBean.IsDebug).Equals(false))
{ {
LoadOk = false; LoadOk = false;
...@@ -182,7 +145,7 @@ namespace OnlineStore.ACPackingStore ...@@ -182,7 +145,7 @@ namespace OnlineStore.ACPackingStore
LoadOk = true; LoadOk = true;
} }
lblTemp.Text = BoxBean.currTempStr; lblTemp.Text = BoxBean.currTempStr;
// lblMoveEquipInfo.Text = "移栽状态:"+(LineConnect.CanStartOut() ? "可出库":"不可出库" )+" "+LineConnect.LastUpdateTime.ToLongTimeString() ; // lblMoveEquipInfo.Text = "移栽状态:"+(LineConnect.CanStartOut() ? "可出库":"不可出库" )+" "+LineConnect.LastUpdateTime.ToLongTimeString() ;
//忙碌状态不读取状态 //忙碌状态不读取状态
if (!BoxBean.storeRunStatus.Equals(StoreRunStatus.Busy)) if (!BoxBean.storeRunStatus.Equals(StoreRunStatus.Busy))
{ {
...@@ -210,15 +173,15 @@ namespace OnlineStore.ACPackingStore ...@@ -210,15 +173,15 @@ namespace OnlineStore.ACPackingStore
//ReadPosistion(); //ReadPosistion();
if (BoxBean.storeRunStatus > StoreRunStatus.Wait) if (BoxBean.storeRunStatus > StoreRunStatus.Wait)
{ {
if (启动ToolStripMenuItem.Enabled.Equals(true)) if (btnStoreStart.Enabled.Equals(true))
{ {
StoreOpenStatus(true); StoreOpenStatus(true);
} }
lblThisSta.Text = BoxBean.GetRunStr(); lblThisSta.Text = BoxBean.GetRunStr();
//复位按钮状态显示 //复位按钮状态显示
if (复位ToolStripMenuItem.Enabled == false) if (btnSotreReset.Enabled == false)
{ {
if ((BoxBean.storeRunStatus.Equals(StoreRunStatus.HomeMoving) || BoxBean.storeRunStatus.Equals(StoreRunStatus.Reset)) if ((BoxBean.storeRunStatus.Equals(StoreRunStatus.HomeMoving) || BoxBean.storeRunStatus.Equals(StoreRunStatus.Reset))
&& BoxBean.alarmType.Equals(StoreAlarmType.None)) && BoxBean.alarmType.Equals(StoreAlarmType.None))
...@@ -226,9 +189,9 @@ namespace OnlineStore.ACPackingStore ...@@ -226,9 +189,9 @@ namespace OnlineStore.ACPackingStore
} }
else else
{ {
if (复位ToolStripMenuItem.Enabled.Equals(false)) if (btnSotreReset.Enabled.Equals(false))
{ {
复位ToolStripMenuItem.Enabled = true; btnSotreReset.Enabled = true;
} }
} }
} }
...@@ -237,27 +200,26 @@ namespace OnlineStore.ACPackingStore ...@@ -237,27 +200,26 @@ namespace OnlineStore.ACPackingStore
if ((BoxBean.storeRunStatus.Equals(StoreRunStatus.HomeMoving) || BoxBean.storeRunStatus.Equals(StoreRunStatus.Reset)) if ((BoxBean.storeRunStatus.Equals(StoreRunStatus.HomeMoving) || BoxBean.storeRunStatus.Equals(StoreRunStatus.Reset))
&& BoxBean.alarmType.Equals(StoreAlarmType.None)) && BoxBean.alarmType.Equals(StoreAlarmType.None))
{ {
if (启动ToolStripMenuItem.Enabled) if (btnStoreStart.Enabled)
{ {
启动ToolStripMenuItem.Enabled = false; btnStoreStart.Enabled = false;
复位ToolStripMenuItem.Enabled = false; btnSotreReset.Enabled = false;
} }
} }
} }
lblWarnMsg.Text = BoxBean.WarnMsg; lblWarnMsg.Text = BoxBean.WarnMsg;
//if (BoxBean.Config.IsHasDoorLimit.Equals(1))
//{ if (BoxBean.IOValue(IO_Type.DoorLimit).Equals(IO_VALUE.LOW))
// if (BoxBean.IOValue(IO_Type.Door_LimitSingle).Equals(IO_VALUE.LOW))
// {
// lblWarnMsg.Text = lblWarnMsg.Text + " 前门未关";
// }
//}
//如果不在出入库中,且叉子上有信号,需要提示检查叉子
if (BoxBean.storeRunStatus.Equals(StoreRunStatus.Runing) && BoxBean.IOValue(IO_Type.TrayCheck_Fixture).Equals(IO_VALUE.HIGH))
{ {
lblWarnMsg.Text = lblWarnMsg.Text + " 叉子料盘检测有料,请检查"; lblWarnMsg.Text = lblWarnMsg.Text + " 前门未关";
} }
////如果不在出入库中,且叉子上有信号,需要提示检查叉子
//if (BoxBean.storeRunStatus.Equals(StoreRunStatus.Runing) && BoxBean.IOValue(IO_Type.TrayCheck_Fixture).Equals(IO_VALUE.HIGH))
//{
// lblWarnMsg.Text = lblWarnMsg.Text + " 叉子料盘检测有料,请检查";
//}
if (BoxBean.IOValue(IO_Type.DoorLimit).Equals(IO_VALUE.LOW)) if (BoxBean.IOValue(IO_Type.DoorLimit).Equals(IO_VALUE.LOW))
{ {
lblWarnMsg.Text = lblWarnMsg.Text + " 无门禁信号,请检查"; lblWarnMsg.Text = lblWarnMsg.Text + " 无门禁信号,请检查";
...@@ -313,7 +275,7 @@ namespace OnlineStore.ACPackingStore ...@@ -313,7 +275,7 @@ namespace OnlineStore.ACPackingStore
lblThisSta.Text = "等待启动"; lblThisSta.Text = "等待启动";
lblWarnMsg.Text = ""; lblWarnMsg.Text = "";
btnStartAuTo.Text = "开始自动出入库"; btnStartAuTo.Text = "开始自动出入库";
} }
} }
private void ReadPosistion() private void ReadPosistion()
...@@ -383,24 +345,7 @@ namespace OnlineStore.ACPackingStore ...@@ -383,24 +345,7 @@ namespace OnlineStore.ACPackingStore
//KTKSMCManager.WSetCountPulse(portName, SlvAddr, 0); //KTKSMCManager.WSetCountPulse(portName, SlvAddr, 0);
//KTKSMCManager.WSetOutPulse(portName, SlvAddr, 0); //KTKSMCManager.WSetOutPulse(portName, SlvAddr, 0);
} }
private void FunctionFail(System.Int32 ReturnCode)
{
if (ReturnCode != 0)
{
MessageBox.Show("错误码:" + ReturnCode.ToString(), "", MessageBoxButtons.OK);
LogUtil.error(LOGGER, "错误码:" + ReturnCode.ToString());
}
}
private void FunctionFail(string funName, System.Int32 ReturnCode)
{
if (ReturnCode != 0)
{
MessageBox.Show("方法:" + funName + ",错误码:" + ReturnCode.ToString(), "", MessageBoxButtons.OK);
LogUtil.error(LOGGER, "方法:" + funName + ",错误码:" + ReturnCode.ToString());
}
}
private void FrmTest_FormClosing(object sender, FormClosingEventArgs e) private void FrmTest_FormClosing(object sender, FormClosingEventArgs e)
{ {
...@@ -902,11 +847,7 @@ namespace OnlineStore.ACPackingStore ...@@ -902,11 +847,7 @@ namespace OnlineStore.ACPackingStore
int xWidth = SystemInformation.PrimaryMonitorSize.Width;//获取显示器屏幕宽度 int xWidth = SystemInformation.PrimaryMonitorSize.Width;//获取显示器屏幕宽度
int yHeight = SystemInformation.PrimaryMonitorSize.Height;//高度 int yHeight = SystemInformation.PrimaryMonitorSize.Height;//高度
private void button1_Click(object sender, EventArgs e)
{
FormManager.ShowAxisDebug(BoxBean);
}
private void btnStartAuTo_Click(object sender, EventArgs e) private void btnStartAuTo_Click(object sender, EventArgs e)
{ {
if (BoxBean.storeRunStatus >= StoreRunStatus.HomeMoving) if (BoxBean.storeRunStatus >= StoreRunStatus.HomeMoving)
...@@ -944,59 +885,45 @@ namespace OnlineStore.ACPackingStore ...@@ -944,59 +885,45 @@ namespace OnlineStore.ACPackingStore
MessageBox.Show("请先启动料仓!"); MessageBox.Show("请先启动料仓!");
} }
} }
private void 轴卡点动ToolStripMenuItem_Click(object sender, EventArgs e) private void btnAxisP_Click(object sender, EventArgs e)
{ {
button1_Click(null, null); FormManager.ShowAxisDebug(BoxBean);
} }
private void 轴运动配置ToolStripMenuItem_Click(object sender, EventArgs e)
{
//FormManager.ShowAxisConfig(store);
}
private void 启动ToolStripMenuItem_Click(object sender, EventArgs e) private void btnStoreStart_Click(object sender, EventArgs e)
{ {
start_button_Click(null, null); BoxBean.StartRun();
if (BoxBean.storeRunStatus >= StoreRunStatus.HomeMoving)
{
StoreOpenStatus(true);
}
} }
private void 停止ToolStripMenuItem_Click(object sender, EventArgs e) private void 停止ToolStripMenuItem_Click(object sender, EventArgs e)
{ {
stop_button_Click(null, null); try
{
BoxBean.StopRun();
StoreOpenStatus(false);
}
catch (Exception ex)
{
LogUtil.error(LOGGER, "出错:" + ex.StackTrace);
}
} }
private void 复位ToolStripMenuItem_Click(object sender, EventArgs e) private void btnSotreReset_Click(object sender, EventArgs e)
{ {
this.BoxBean.Reset(); this.BoxBean.Reset();
复位ToolStripMenuItem.Enabled = false; btnSotreReset.Enabled = false;
复位ToolStripMenuItem.Enabled = false; btnSotreReset.Enabled = false;
} }
private void 查看IOToolStripMenuItem_Click(object sender, EventArgs e) private void 查看IOToolStripMenuItem_Click(object sender, EventArgs e)
{ {
FormManager.ShowIOShow(BoxBean); FormManager.ShowIOShow(BoxBean);
} }
private void 清理日志ToolStripMenuItem_Click(object sender, EventArgs e)
{
this.richTextBox1.Text = "";
}
private void 开启DEBUGToolStripMenuItem_Click(object sender, EventArgs e)
{
if (LogUtil.debug_opened == false)
{
开启DEBUGToolStripMenuItem.Text = "关闭DEBUG";
btnLogDebug.Text = "关闭DEBUG";
LogUtil.debug_opened = true;
}
else
{
开启DEBUGToolStripMenuItem.Text = "开启DEBUG";
btnLogDebug.Text = "开启DEBUG";
LogUtil.debug_opened = false;
}
}
private void btnClearLog_Click(object sender, EventArgs e) private void btnClearLog_Click(object sender, EventArgs e)
{ {
//this.richTextBox1.Text = ""; //this.richTextBox1.Text = "";
...@@ -1158,25 +1085,7 @@ namespace OnlineStore.ACPackingStore ...@@ -1158,25 +1085,7 @@ namespace OnlineStore.ACPackingStore
{ {
int value = ACServerManager.GetHomeEndStatus(GetPortName(), GetSlaveAddr()); int value = ACServerManager.GetHomeEndStatus(GetPortName(), GetSlaveAddr());
this.txtHomeStatus.Text = value.ToString(); this.txtHomeStatus.Text = value.ToString();
} }
private void chbAuto_CheckedChanged(object sender, EventArgs e)
{
if (!LoadOk)
{
return;
}
if (chbAuto.Checked)
{
ConfigAppSettings.SaveValue(Setting_Init.App_AutoRun, 1);
ManagerUtil.AutoRun(Application.ExecutablePath, true);
}
else
{
ConfigAppSettings.SaveValue(Setting_Init.App_AutoRun, 0);
ManagerUtil.AutoRun(Application.ExecutablePath, false);
}
}
private void 显示ToolStripMenuItem_Click(object sender, EventArgs e) private void 显示ToolStripMenuItem_Click(object sender, EventArgs e)
{ {
...@@ -1209,9 +1118,17 @@ namespace OnlineStore.ACPackingStore ...@@ -1209,9 +1118,17 @@ namespace OnlineStore.ACPackingStore
{ {
this.timer1.Enabled = false; this.timer1.Enabled = false;
} }
if (this.停止ToolStripMenuItem.Enabled) if (this.btnStoreStop.Enabled)
{ {
stop_button_Click(null, null); try
{
BoxBean.StopRun();
StoreOpenStatus(false);
}
catch (Exception ex)
{
LogUtil.error(LOGGER, "出错:" + ex.StackTrace);
}
} }
IOManager.instance.CloseAllDO(); IOManager.instance.CloseAllDO();
...@@ -1264,10 +1181,10 @@ namespace OnlineStore.ACPackingStore ...@@ -1264,10 +1181,10 @@ namespace OnlineStore.ACPackingStore
private void 学习二维码ToolStripMenuItem_Click(object sender, EventArgs e) private void 学习二维码ToolStripMenuItem_Click(object sender, EventArgs e)
{ {
//IOManager.IOMove(IO_Type.CameraLight_Power, IO_VALUE.HIGH); IOManager.IOMove(IO_Type.Camera_Led, IO_VALUE.HIGH);
//CodeLibrary.FrmCodeDecode frm = new FrmCodeDecode(); CodeLibrary.FrmCodeDecode frm = new FrmCodeDecode();
//frm.ShowDialog(); frm.ShowDialog();
//IOManager.IOMove(IO_Type.CameraLight_Power, IO_VALUE.LOW); IOManager.IOMove(IO_Type.Camera_Led, IO_VALUE.LOW);
} }
private void btnReadHomeSingle_Click(object sender, EventArgs e) private void btnReadHomeSingle_Click(object sender, EventArgs e)
...@@ -1298,13 +1215,6 @@ namespace OnlineStore.ACPackingStore ...@@ -1298,13 +1215,6 @@ namespace OnlineStore.ACPackingStore
txtTemp.Text = param.Temperate.ToString(); txtTemp.Text = param.Temperate.ToString();
txtHum.Text = param.Humidity.ToString(); txtHum.Text = param.Humidity.ToString();
} }
private void btnOpenDoor_Click(object sender, EventArgs e)
{
//IOManager.IOMove(IO_Type.Door_Up, IO_VALUE.HIGH);
//IOManager.IOMove(IO_Type.Door_Down, IO_VALUE.LOW);
// StoreManager.Store.OpenDoor(false);
}
private void btnClearL_Click(object sender, EventArgs e) private void btnClearL_Click(object sender, EventArgs e)
{ {
...@@ -1316,32 +1226,7 @@ namespace OnlineStore.ACPackingStore ...@@ -1316,32 +1226,7 @@ namespace OnlineStore.ACPackingStore
FrmAbout about = new FrmAbout(); FrmAbout about = new FrmAbout();
about.ShowDialog(); about.ShowDialog();
} }
private void DebugStatus(bool status)
{
if (status)
{
btnDebug.Text = "禁用调试";
}
else
{
btnDebug.Text = "启用调试";
}
groupAxis.Enabled = status;
//groupComAxis.Enabled = status;
groupInout.Enabled = status;
}
private void btnDebug_Click(object sender, EventArgs e)
{
if (btnDebug.Text.Equals("启用调试"))
{
DebugStatus(true);
}
else
{
DebugStatus(false);
}
}
private void btnSelHistory_Click(object sender, EventArgs e) private void btnSelHistory_Click(object sender, EventArgs e)
{ {
...@@ -1360,38 +1245,11 @@ namespace OnlineStore.ACPackingStore ...@@ -1360,38 +1245,11 @@ namespace OnlineStore.ACPackingStore
} }
} }
private void btnCloseDoor_Click(object sender, EventArgs e) private void DebugStatus(bool isDebug)
{ {
//IOManager.IOMove(IO_Type.Door_Up, IO_VALUE.LOW); groupAxis.Enabled = isDebug;
//IOManager.IOMove(IO_Type.Door_Down, IO_VALUE.HIGH); groupInout.Enabled = isDebug;
// StoreManager.Store.CloseDoor(false);
} }
private void button3_Click(object sender, EventArgs e)
{
// LineConnect.StartConnect();
}
private void button5_Click(object sender, EventArgs e)
{
// LineConnect.StopConnect();
}
private void button6_Click(object sender, EventArgs e)
{
//if (LineConnect.IsConnect())
//{
// int hasTray = (int)BoxBean.IOValue(IO_Type.TrayCheck_Door);
// StoreStatus ss = StoreStatus.StoreOnline;
// if (BoxBean.IsDebug)
// {
// ss = StoreStatus.Debugging;
// }
// StoreSendBean bean = new StoreSendBean(StoreManager.Config.Id, StoreManager.Config.CID, (int)ss, (int)StoreRunStatus.Runing, hasTray, (int)StoreAlarmType.None);
// LineConnect.SendHeart(bean);
//}
}
private void chbDebug_CheckedChanged(object sender, EventArgs e) private void chbDebug_CheckedChanged(object sender, EventArgs e)
{ {
if (!LoadOk) if (!LoadOk)
......
...@@ -120,9 +120,6 @@ ...@@ -120,9 +120,6 @@
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 16</value> <value>17, 16</value>
</metadata> </metadata>
<metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>107, 16</value>
</metadata>
<metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>227, 16</value> <value>227, 16</value>
</metadata> </metadata>
......
...@@ -85,7 +85,7 @@ ...@@ -85,7 +85,7 @@
this.groupBox1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.groupBox1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.groupBox1.Location = new System.Drawing.Point(485, 12); this.groupBox1.Location = new System.Drawing.Point(485, 12);
this.groupBox1.Name = "groupBox1"; this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(332, 352); this.groupBox1.Size = new System.Drawing.Size(332, 496);
this.groupBox1.TabIndex = 105; this.groupBox1.TabIndex = 105;
this.groupBox1.TabStop = false; this.groupBox1.TabStop = false;
this.groupBox1.Text = "DO写入"; this.groupBox1.Text = "DO写入";
...@@ -345,7 +345,7 @@ ...@@ -345,7 +345,7 @@
// button1 // button1
// //
this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.button1.Location = new System.Drawing.Point(691, 411); this.button1.Location = new System.Drawing.Point(691, 555);
this.button1.Name = "button1"; this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(126, 37); this.button1.Size = new System.Drawing.Size(126, 37);
this.button1.TabIndex = 254; this.button1.TabIndex = 254;
...@@ -360,7 +360,7 @@ ...@@ -360,7 +360,7 @@
this.chbAutoRead.Checked = true; this.chbAutoRead.Checked = true;
this.chbAutoRead.CheckState = System.Windows.Forms.CheckState.Checked; this.chbAutoRead.CheckState = System.Windows.Forms.CheckState.Checked;
this.chbAutoRead.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.chbAutoRead.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.chbAutoRead.Location = new System.Drawing.Point(507, 416); this.chbAutoRead.Location = new System.Drawing.Point(558, 560);
this.chbAutoRead.Name = "chbAutoRead"; this.chbAutoRead.Name = "chbAutoRead";
this.chbAutoRead.Size = new System.Drawing.Size(75, 21); this.chbAutoRead.Size = new System.Drawing.Size(75, 21);
this.chbAutoRead.TabIndex = 244; this.chbAutoRead.TabIndex = 244;
...@@ -374,7 +374,7 @@ ...@@ -374,7 +374,7 @@
this.groupBox4.Controls.Add(this.tableLayoutPanel2); this.groupBox4.Controls.Add(this.tableLayoutPanel2);
this.groupBox4.Location = new System.Drawing.Point(247, 8); this.groupBox4.Location = new System.Drawing.Point(247, 8);
this.groupBox4.Name = "groupBox4"; this.groupBox4.Name = "groupBox4";
this.groupBox4.Size = new System.Drawing.Size(229, 446); this.groupBox4.Size = new System.Drawing.Size(229, 590);
this.groupBox4.TabIndex = 104; this.groupBox4.TabIndex = 104;
this.groupBox4.TabStop = false; this.groupBox4.TabStop = false;
this.groupBox4.Text = "DO列表"; this.groupBox4.Text = "DO列表";
...@@ -391,7 +391,7 @@ ...@@ -391,7 +391,7 @@
this.tableLayoutPanel2.RowCount = 2; this.tableLayoutPanel2.RowCount = 2;
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 17F)); this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 17F));
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 17F)); this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 17F));
this.tableLayoutPanel2.Size = new System.Drawing.Size(218, 426); this.tableLayoutPanel2.Size = new System.Drawing.Size(218, 570);
this.tableLayoutPanel2.TabIndex = 103; this.tableLayoutPanel2.TabIndex = 103;
// //
// groupBox3 // groupBox3
...@@ -401,7 +401,7 @@ ...@@ -401,7 +401,7 @@
this.groupBox3.Controls.Add(this.tableLayoutPanel1); this.groupBox3.Controls.Add(this.tableLayoutPanel1);
this.groupBox3.Location = new System.Drawing.Point(12, 8); this.groupBox3.Location = new System.Drawing.Point(12, 8);
this.groupBox3.Name = "groupBox3"; this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(229, 446); this.groupBox3.Size = new System.Drawing.Size(229, 590);
this.groupBox3.TabIndex = 103; this.groupBox3.TabIndex = 103;
this.groupBox3.TabStop = false; this.groupBox3.TabStop = false;
this.groupBox3.Text = "DI列表"; this.groupBox3.Text = "DI列表";
...@@ -418,14 +418,14 @@ ...@@ -418,14 +418,14 @@
this.tableLayoutPanel1.RowCount = 2; this.tableLayoutPanel1.RowCount = 2;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 17F)); this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 17F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 17F)); this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 17F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(218, 426); this.tableLayoutPanel1.Size = new System.Drawing.Size(218, 570);
this.tableLayoutPanel1.TabIndex = 102; this.tableLayoutPanel1.TabIndex = 102;
// //
// FrmIOStatus // FrmIOStatus
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F); this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 17F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(829, 464); this.ClientSize = new System.Drawing.Size(880, 608);
this.Controls.Add(this.button1); this.Controls.Add(this.button1);
this.Controls.Add(this.groupBox1); this.Controls.Add(this.groupBox1);
this.Controls.Add(this.groupBox4); this.Controls.Add(this.groupBox4);
......
...@@ -39,7 +39,7 @@ namespace OnlineStore.ACPackingStore ...@@ -39,7 +39,7 @@ namespace OnlineStore.ACPackingStore
this.StoreId = store.DeviceID; this.StoreId = store.DeviceID;
LoadIOList(); LoadIOList();
} }
Dictionary<string, IOTextControl> DIControlList = new Dictionary<string, IOTextControl>(); Dictionary<string, IOTextControl> DIControlList = new Dictionary<string, IOTextControl>();
Dictionary<string, IOTextControl> DOControlList = new Dictionary<string, IOTextControl>(); Dictionary<string, IOTextControl> DOControlList = new Dictionary<string, IOTextControl>();
private void LoadIOList() private void LoadIOList()
......
namespace OnlineStore.ACPackingStore
{
partial class FrmMain
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmMain));
this.tabPageList = new System.Windows.Forms.TabControl();
this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components);
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
this.显示ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.tabPage1 = new System.Windows.Forms.TabPage();
this.tabPageList.SuspendLayout();
this.contextMenuStrip1.SuspendLayout();
this.SuspendLayout();
//
// tabPageList
//
this.tabPageList.Controls.Add(this.tabPage1);
this.tabPageList.Dock = System.Windows.Forms.DockStyle.Fill;
this.tabPageList.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.tabPageList.Location = new System.Drawing.Point(0, 0);
this.tabPageList.Name = "tabPageList";
this.tabPageList.SelectedIndex = 0;
this.tabPageList.Size = new System.Drawing.Size(1110, 660);
this.tabPageList.TabIndex = 0;
//
// notifyIcon1
//
this.notifyIcon1.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon1.Icon")));
this.notifyIcon1.Text = "料仓客户端";
this.notifyIcon1.Visible = true;
//
// contextMenuStrip1
//
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.显示ToolStripMenuItem,
this.toolStripMenuItem1});
this.contextMenuStrip1.Name = "contextMenuStrip1";
this.contextMenuStrip1.Size = new System.Drawing.Size(111, 56);
//
// 显示ToolStripMenuItem
//
this.显示ToolStripMenuItem.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.显示ToolStripMenuItem.Name = "显示ToolStripMenuItem";
this.显示ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
this.显示ToolStripMenuItem.Text = "显示";
this.显示ToolStripMenuItem.Click += new System.EventHandler(this.显示ToolStripMenuItem_Click);
//
// toolStripMenuItem1
//
this.toolStripMenuItem1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.toolStripMenuItem1.Name = "toolStripMenuItem1";
this.toolStripMenuItem1.Size = new System.Drawing.Size(180, 26);
this.toolStripMenuItem1.Text = "退出";
this.toolStripMenuItem1.Click += new System.EventHandler(this.toolStripMenuItem1_Click);
//
// tabPage1
//
this.tabPage1.Location = new System.Drawing.Point(4, 29);
this.tabPage1.Name = "tabPage1";
this.tabPage1.Size = new System.Drawing.Size(1102, 627);
this.tabPage1.TabIndex = 0;
this.tabPage1.Text = "tabPage1";
this.tabPage1.UseVisualStyleBackColor = true;
//
// FrmMain
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1110, 660);
this.Controls.Add(this.tabPageList);
this.Name = "FrmMain";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "包装料料仓";
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
this.Load += new System.EventHandler(this.FrmMain_Load);
this.tabPageList.ResumeLayout(false);
this.contextMenuStrip1.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.TabControl tabPageList;
private System.Windows.Forms.NotifyIcon notifyIcon1;
private System.Windows.Forms.ContextMenuStrip contextMenuStrip1;
private System.Windows.Forms.ToolStripMenuItem 显示ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1;
private System.Windows.Forms.TabPage tabPage1;
}
}
\ No newline at end of file \ No newline at end of file
using OnlineStore.Common;
using OnlineStore.DeviceLibrary;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace OnlineStore.ACPackingStore
{
public partial class FrmMain : Form
{
public FrmMain()
{
InitializeComponent();
}
private void FrmMain_Load(object sender, EventArgs e)
{
PackingStoreBean store = StoreManager.InitStore();
if (store == null)
{
this.Close();
}
else
{
foreach (AC_BOX_Bean box in store.BoxMap.Values)
{
FrmStoreBox frm = new FrmStoreBox();
frm.BoxBean = box;
AddForm(box.Name, frm);
}
}
}
private void AddForm(string text, Form form)
{
text = text.PadLeft(10, ' ');
TabPage lineTabPage = new TabPage(text);
lineTabPage.AutoScroll = true;
Panel linePan = new Panel();
linePan.Dock = DockStyle.Fill;
linePan.AutoScroll = true;
lineTabPage.Controls.Add(linePan);
form.FormBorderStyle = FormBorderStyle.None;
form.TopLevel = false;
linePan.Controls.Add(form);
form.Dock = DockStyle.Fill;
linePan.Anchor = ((AnchorStyles)((AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Bottom | AnchorStyles.Left)));
form.Anchor = ((AnchorStyles)((AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Bottom | AnchorStyles.Left)));
form.Show();
tabPageList.Controls.Add(lineTabPage);
}
private void 显示ToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
FrmPwd fw = new FrmPwd(10);
DialogResult result = fw.ShowDialog();
if (!result.Equals(DialogResult.OK))
{
LogUtil.info("切换界面显示时,没有正确输入密码");
return;
}
this.Opacity = 100;
this.Visible = true;
this.WindowState = FormWindowState.Maximized;
this.notifyIcon1.Visible = false;
this.ShowInTaskbar = true;
//DebugStatus(false);
}
catch (Exception ex)
{
LogUtil.error("显示界面出错:" + ex.ToString());
}
}
private void toolStripMenuItem1_Click(object sender, EventArgs e)
{
DialogResult result = MessageBox.Show("是否确定退出?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result.Equals(DialogResult.Yes))
{
ExitApp();
}
}
private void ExitApp()
{
}
}
}
namespace OnlineStore.ACPackingStore
{
partial class FrmStore
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows 窗体设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmStore));
this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPage1 = new System.Windows.Forms.TabPage();
this.chkDebug = new System.Windows.Forms.CheckBox();
this.chbAutoRun = new System.Windows.Forms.CheckBox();
this.btnCopyLog = new System.Windows.Forms.Button();
this.btnClearLog = new System.Windows.Forms.Button();
this.logBox = new System.Windows.Forms.RichTextBox();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.lblStatus = new System.Windows.Forms.Label();
this.lblCID = new System.Windows.Forms.Label();
this.lblWarnMsg = new System.Windows.Forms.Label();
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
this.操作ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.启动AToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
this.复位RToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
this.停止TToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.退出ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.设置TToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.扫码测试ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator6 = new System.Windows.Forms.ToolStripSeparator();
this.二维码学习ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator7 = new System.Windows.Forms.ToolStripSeparator();
this.帮助ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.版本号ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components);
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
this.显示ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator();
this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem();
this.tabControl1.SuspendLayout();
this.tabPage1.SuspendLayout();
this.groupBox3.SuspendLayout();
this.menuStrip1.SuspendLayout();
this.contextMenuStrip1.SuspendLayout();
this.SuspendLayout();
//
// tabControl1
//
this.tabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tabControl1.Controls.Add(this.tabPage1);
this.tabControl1.DrawMode = System.Windows.Forms.TabDrawMode.OwnerDrawFixed;
this.tabControl1.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.tabControl1.Location = new System.Drawing.Point(12, 76);
this.tabControl1.Multiline = true;
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(1740, 652);
this.tabControl1.TabIndex = 0;
this.tabControl1.DrawItem += new System.Windows.Forms.DrawItemEventHandler(this.tabControl1_DrawItem);
//
// tabPage1
//
this.tabPage1.Controls.Add(this.chkDebug);
this.tabPage1.Controls.Add(this.chbAutoRun);
this.tabPage1.Controls.Add(this.btnCopyLog);
this.tabPage1.Controls.Add(this.btnClearLog);
this.tabPage1.Controls.Add(this.logBox);
this.tabPage1.Location = new System.Drawing.Point(4, 29);
this.tabPage1.Name = "tabPage1";
this.tabPage1.Size = new System.Drawing.Size(1732, 619);
this.tabPage1.TabIndex = 0;
this.tabPage1.Text = " 日志信息 ";
this.tabPage1.UseVisualStyleBackColor = true;
//
// chkDebug
//
this.chkDebug.AutoSize = true;
this.chkDebug.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.chkDebug.Location = new System.Drawing.Point(285, 30);
this.chkDebug.Name = "chkDebug";
this.chkDebug.Size = new System.Drawing.Size(132, 24);
this.chkDebug.TabIndex = 194;
this.chkDebug.Text = "开启DEBUG日志";
this.chkDebug.UseVisualStyleBackColor = true;
//
// chbAutoRun
//
this.chbAutoRun.AutoSize = true;
this.chbAutoRun.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.chbAutoRun.Location = new System.Drawing.Point(437, 30);
this.chbAutoRun.Name = "chbAutoRun";
this.chbAutoRun.Size = new System.Drawing.Size(140, 24);
this.chbAutoRun.TabIndex = 94;
this.chbAutoRun.Text = "开机自动启动软件";
this.chbAutoRun.UseVisualStyleBackColor = true;
this.chbAutoRun.CheckedChanged += new System.EventHandler(this.chbAutoRun_CheckedChanged);
//
// btnCopyLog
//
this.btnCopyLog.BackColor = System.Drawing.Color.White;
this.btnCopyLog.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnCopyLog.Location = new System.Drawing.Point(19, 25);
this.btnCopyLog.Name = "btnCopyLog";
this.btnCopyLog.Size = new System.Drawing.Size(105, 35);
this.btnCopyLog.TabIndex = 191;
this.btnCopyLog.Text = "复制";
this.btnCopyLog.UseVisualStyleBackColor = false;
this.btnCopyLog.Click += new System.EventHandler(this.btnCopyLog_Click);
//
// btnClearLog
//
this.btnClearLog.BackColor = System.Drawing.Color.White;
this.btnClearLog.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnClearLog.Location = new System.Drawing.Point(130, 25);
this.btnClearLog.Name = "btnClearLog";
this.btnClearLog.Size = new System.Drawing.Size(105, 35);
this.btnClearLog.TabIndex = 190;
this.btnClearLog.Text = "清空日志";
this.btnClearLog.UseVisualStyleBackColor = false;
this.btnClearLog.Click += new System.EventHandler(this.btnClearLog_Click);
//
// logBox
//
this.logBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.logBox.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.logBox.Location = new System.Drawing.Point(10, 89);
this.logBox.Name = "logBox";
this.logBox.Size = new System.Drawing.Size(1714, 524);
this.logBox.TabIndex = 106;
this.logBox.Text = "";
//
// groupBox3
//
this.groupBox3.Controls.Add(this.lblStatus);
this.groupBox3.Controls.Add(this.lblCID);
this.groupBox3.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.groupBox3.Location = new System.Drawing.Point(301, 12);
this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(294, 57);
this.groupBox3.TabIndex = 102;
this.groupBox3.TabStop = false;
this.groupBox3.Text = "料仓信息";
//
// lblStatus
//
this.lblStatus.AutoSize = true;
this.lblStatus.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblStatus.ForeColor = System.Drawing.Color.Green;
this.lblStatus.Location = new System.Drawing.Point(9, 30);
this.lblStatus.Name = "lblStatus";
this.lblStatus.Size = new System.Drawing.Size(65, 20);
this.lblStatus.TabIndex = 92;
this.lblStatus.Text = "等待启动";
//
// lblCID
//
this.lblCID.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.lblCID.AutoSize = true;
this.lblCID.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblCID.Location = new System.Drawing.Point(215, 30);
this.lblCID.Name = "lblCID";
this.lblCID.Size = new System.Drawing.Size(33, 20);
this.lblCID.TabIndex = 95;
this.lblCID.Text = "CID";
//
// lblWarnMsg
//
this.lblWarnMsg.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.lblWarnMsg.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblWarnMsg.ForeColor = System.Drawing.Color.Red;
this.lblWarnMsg.Location = new System.Drawing.Point(601, 4);
this.lblWarnMsg.Name = "lblWarnMsg";
this.lblWarnMsg.Size = new System.Drawing.Size(1141, 69);
this.lblWarnMsg.TabIndex = 96;
this.lblWarnMsg.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// menuStrip1
//
this.menuStrip1.BackColor = System.Drawing.Color.White;
this.menuStrip1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.操作ToolStripMenuItem,
this.设置TToolStripMenuItem,
this.帮助ToolStripMenuItem});
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Size = new System.Drawing.Size(1766, 29);
this.menuStrip1.TabIndex = 4;
this.menuStrip1.Text = "menuStrip1";
//
// 操作ToolStripMenuItem
//
this.操作ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripSeparator1,
this.启动AToolStripMenuItem,
this.toolStripSeparator4,
this.复位RToolStripMenuItem,
this.toolStripSeparator3,
this.停止TToolStripMenuItem,
this.toolStripSeparator5,
this.toolStripSeparator2,
this.退出ToolStripMenuItem});
this.操作ToolStripMenuItem.Name = "操作ToolStripMenuItem";
this.操作ToolStripMenuItem.Size = new System.Drawing.Size(96, 25);
this.操作ToolStripMenuItem.Text = " 设备操作 ";
//
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator1.Size = new System.Drawing.Size(177, 6);
//
// 启动AToolStripMenuItem
//
this.启动AToolStripMenuItem.Name = "启动AToolStripMenuItem";
this.启动AToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
this.启动AToolStripMenuItem.Text = "启动 ";
this.启动AToolStripMenuItem.Click += new System.EventHandler(this.启动所有料仓AToolStripMenuItem_Click);
//
// toolStripSeparator4
//
this.toolStripSeparator4.Name = "toolStripSeparator4";
this.toolStripSeparator4.Size = new System.Drawing.Size(177, 6);
//
// 复位RToolStripMenuItem
//
this.复位RToolStripMenuItem.Name = "复位RToolStripMenuItem";
this.复位RToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
this.复位RToolStripMenuItem.Text = "复位";
this.复位RToolStripMenuItem.Click += new System.EventHandler(this.复位RToolStripMenuItem_Click);
//
// toolStripSeparator3
//
this.toolStripSeparator3.Name = "toolStripSeparator3";
this.toolStripSeparator3.Size = new System.Drawing.Size(177, 6);
//
// 停止TToolStripMenuItem
//
this.停止TToolStripMenuItem.Name = "停止TToolStripMenuItem";
this.停止TToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
this.停止TToolStripMenuItem.Text = "停止";
this.停止TToolStripMenuItem.Click += new System.EventHandler(this.停止所有料仓TToolStripMenuItem_Click);
//
// toolStripSeparator5
//
this.toolStripSeparator5.Name = "toolStripSeparator5";
this.toolStripSeparator5.Size = new System.Drawing.Size(177, 6);
//
// toolStripSeparator2
//
this.toolStripSeparator2.Name = "toolStripSeparator2";
this.toolStripSeparator2.Size = new System.Drawing.Size(177, 6);
this.toolStripSeparator2.Visible = false;
//
// 退出ToolStripMenuItem
//
this.退出ToolStripMenuItem.Name = "退出ToolStripMenuItem";
this.退出ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
this.退出ToolStripMenuItem.Text = "退出";
this.退出ToolStripMenuItem.Click += new System.EventHandler(this.退出ToolStripMenuItem_Click_1);
//
// 设置TToolStripMenuItem
//
this.设置TToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripMenuItem2,
this.toolStripSeparator6,
this.扫码测试ToolStripMenuItem,
this.toolStripSeparator8,
this.二维码学习ToolStripMenuItem,
this.toolStripSeparator7});
this.设置TToolStripMenuItem.Name = "设置TToolStripMenuItem";
this.设置TToolStripMenuItem.Size = new System.Drawing.Size(91, 25);
this.设置TToolStripMenuItem.Text = "设备调试 ";
//
// 扫码测试ToolStripMenuItem
//
this.扫码测试ToolStripMenuItem.Name = "扫码测试ToolStripMenuItem";
this.扫码测试ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
this.扫码测试ToolStripMenuItem.Text = "扫码测试";
this.扫码测试ToolStripMenuItem.Click += new System.EventHandler(this.扫码测试ToolStripMenuItem_Click);
//
// toolStripSeparator6
//
this.toolStripSeparator6.Name = "toolStripSeparator6";
this.toolStripSeparator6.Size = new System.Drawing.Size(177, 6);
//
// 二维码学习ToolStripMenuItem
//
this.二维码学习ToolStripMenuItem.Name = "二维码学习ToolStripMenuItem";
this.二维码学习ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
this.二维码学习ToolStripMenuItem.Text = "二维码学习";
this.二维码学习ToolStripMenuItem.Click += new System.EventHandler(this.二维码学习ToolStripMenuItem_Click);
//
// toolStripSeparator7
//
this.toolStripSeparator7.Name = "toolStripSeparator7";
this.toolStripSeparator7.Size = new System.Drawing.Size(177, 6);
//
// 帮助ToolStripMenuItem
//
this.帮助ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.版本号ToolStripMenuItem});
this.帮助ToolStripMenuItem.Name = "帮助ToolStripMenuItem";
this.帮助ToolStripMenuItem.Size = new System.Drawing.Size(69, 25);
this.帮助ToolStripMenuItem.Text = " 系统 ";
//
// 版本号ToolStripMenuItem
//
this.版本号ToolStripMenuItem.Name = "版本号ToolStripMenuItem";
this.版本号ToolStripMenuItem.Size = new System.Drawing.Size(180, 26);
this.版本号ToolStripMenuItem.Text = "关于软件";
this.版本号ToolStripMenuItem.Click += new System.EventHandler(this.版本号ToolStripMenuItem_Click);
//
// notifyIcon1
//
this.notifyIcon1.ContextMenuStrip = this.contextMenuStrip1;
this.notifyIcon1.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon1.Icon")));
this.notifyIcon1.Text = "流水线料仓";
this.notifyIcon1.Visible = true;
this.notifyIcon1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.notifyIcon1_MouseDoubleClick);
//
// contextMenuStrip1
//
this.contextMenuStrip1.Font = new System.Drawing.Font("微软雅黑", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.显示ToolStripMenuItem,
this.toolStripMenuItem1});
this.contextMenuStrip1.Name = "contextMenuStrip1";
this.contextMenuStrip1.Size = new System.Drawing.Size(113, 56);
//
// 显示ToolStripMenuItem
//
this.显示ToolStripMenuItem.Name = "显示ToolStripMenuItem";
this.显示ToolStripMenuItem.Size = new System.Drawing.Size(112, 26);
this.显示ToolStripMenuItem.Text = "显示";
this.显示ToolStripMenuItem.Click += new System.EventHandler(this.显示ToolStripMenuItem_Click);
//
// toolStripMenuItem1
//
this.toolStripMenuItem1.Name = "toolStripMenuItem1";
this.toolStripMenuItem1.Size = new System.Drawing.Size(112, 26);
this.toolStripMenuItem1.Text = "退出";
this.toolStripMenuItem1.Click += new System.EventHandler(this.toolStripMenuItem1_Click);
//
// timer1
//
this.timer1.Interval = 1000;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
//
// toolStripSeparator8
//
this.toolStripSeparator8.Name = "toolStripSeparator8";
this.toolStripSeparator8.Size = new System.Drawing.Size(177, 6);
//
// toolStripMenuItem2
//
this.toolStripMenuItem2.Name = "toolStripMenuItem2";
this.toolStripMenuItem2.Size = new System.Drawing.Size(180, 26);
this.toolStripMenuItem2.Text = "启用调试";
this.toolStripMenuItem2.Click += new System.EventHandler(this.toolStripMenuItem2_Click);
//
// FrmStore
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(1766, 733);
this.Controls.Add(this.lblWarnMsg);
this.Controls.Add(this.groupBox3);
this.Controls.Add(this.menuStrip1);
this.Controls.Add(this.tabControl1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MainMenuStrip = this.menuStrip1;
this.Name = "FrmStore";
this.Opacity = 0D;
this.Text = "包装料流水线";
this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FrmMain_FormClosing);
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.FrmLineStore_FormClosed);
this.Load += new System.EventHandler(this.FrmMain_Load);
this.tabControl1.ResumeLayout(false);
this.tabPage1.ResumeLayout(false);
this.tabPage1.PerformLayout();
this.groupBox3.ResumeLayout(false);
this.groupBox3.PerformLayout();
this.menuStrip1.ResumeLayout(false);
this.menuStrip1.PerformLayout();
this.contextMenuStrip1.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.TabControl tabControl1;
private System.Windows.Forms.MenuStrip menuStrip1;
private System.Windows.Forms.ToolStripMenuItem 操作ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 帮助ToolStripMenuItem;
private System.Windows.Forms.NotifyIcon notifyIcon1;
private System.Windows.Forms.ContextMenuStrip contextMenuStrip1;
private System.Windows.Forms.ToolStripMenuItem 显示ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem 启动AToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 停止TToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 复位RToolStripMenuItem;
internal System.Windows.Forms.RichTextBox logBox;
private System.Windows.Forms.GroupBox groupBox3;
private System.Windows.Forms.Timer timer1;
private System.Windows.Forms.Button btnCopyLog;
private System.Windows.Forms.Button btnClearLog;
private System.Windows.Forms.Label lblStatus;
private System.Windows.Forms.CheckBox chbAutoRun;
private System.Windows.Forms.ToolStripMenuItem 设置TToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 版本号ToolStripMenuItem;
private System.Windows.Forms.TabPage tabPage1;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator4;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
private System.Windows.Forms.Label lblCID;
private System.Windows.Forms.ToolStripMenuItem 扫码测试ToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator6;
private System.Windows.Forms.ToolStripMenuItem 二维码学习ToolStripMenuItem;
private System.Windows.Forms.Label lblWarnMsg;
private System.Windows.Forms.CheckBox chkDebug;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator5;
private System.Windows.Forms.ToolStripMenuItem 退出ToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator7;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem2;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator8;
}
}
using log4net;
using OnlineStore.Common;
using OnlineStore.DeviceLibrary;
using OnlineStore.LoadCSVLibrary;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace OnlineStore.ACPackingStore
{
internal partial class FrmStore : Form
{
internal static readonly ILog LOGGER = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
public static PackingStoreBean store = null;
private List<TabPage> tabPageList = new List<TabPage>();
private bool LoadOk = false;
private System.Timers.Timer startTimer = null;
internal FrmStore()
{
InitializeComponent();
LogUtil.logBox = this.logBox;
startTimer = new System.Timers.Timer();
startTimer.Interval = 1000;
startTimer.Enabled = false;
startTimer.AutoReset = false;
}
private void FrmMain_Load(object sender, EventArgs e)
{
FrmBase. GetVersion();
store = StoreManager.InitStore();
if (store == null)
{
this.Close();
}
else
{
foreach (AC_BOX_Bean box in store.BoxMap.Values)
{
FrmBox frm = new FrmBox();
frm.BoxBean = box;
AddForm(box.Name, frm);
}
}
HideForm();
}
private void AddForm(string text, Form form)
{
text = text.PadLeft(10, ' ');
TabPage lineTabPage = new TabPage(text);
lineTabPage.AutoScroll = true;
// lineTabPage.Tag = lineBean;
Panel linePan = new Panel();
linePan.Dock = DockStyle.Fill;
linePan.AutoScroll = true;
lineTabPage.Controls.Add(linePan);
form.FormBorderStyle = FormBorderStyle.None;
form.TopLevel = false;
linePan.Controls.Add(form);
form.Dock = DockStyle.Fill;
linePan.Anchor = ((AnchorStyles)((AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Bottom | AnchorStyles.Left)));
form.Anchor = ((AnchorStyles)((AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Bottom | AnchorStyles.Left)));
form.Show();
tabPageList.Add(lineTabPage);
tabControl1.Controls.Add(lineTabPage);
}
/// <summary>
/// 隐藏窗口
/// </summary>
private void HideForm()
{
this.Opacity = 0;
this.ShowInTaskbar = false;
this.notifyIcon1.Visible = true;
this.Hide();
GC.Collect();
}
private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
this.contextMenuStrip1.Show();
}
if (e.Button == MouseButtons.Left)
{
this.Visible = true;
this.WindowState = FormWindowState.Maximized;
this.ShowInTaskbar = true;
}
}
private void FrmMain_FormClosing(object sender, FormClosingEventArgs e)
{
if (e.CloseReason == CloseReason.UserClosing)//当用户点击窗体右上角X按钮或(Alt + F4)时 发生
{
e.Cancel = true;
HideForm();
}
}
private void ExitApp()
{
DialogResult result = MessageBox.Show("是否确定退出包装料料仓客户端?", "提示", MessageBoxButtons.YesNo);
if (result.Equals(DialogResult.Yes))
{
//如果料仓还在运行状态,先关闭料仓
if (!store.storeRunStatus.Equals(StoreRunStatus.Wait))
{
LogUtil.info(LOGGER, "退出程序之前先停止运行 ");
store.StopRun();
}
IOManager.instance.CloseAllDO();
IOManager.instance.CloseAllConnection();
//AIManager.CloseConnect();
ACServerManager.CloseAllPort();
//this.Close();
System.Environment.Exit(System.Environment.ExitCode);
}
}
private void 显示ToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
FrmPwd fw = new FrmPwd(10);
DialogResult result = fw.ShowDialog();
if (!result.Equals(DialogResult.OK))
{
LogUtil.info("切换界面显示时,没有正确输入密码");
return;
}
this.Opacity = 100;
this.Visible = true;
this.WindowState = FormWindowState.Maximized;
this.notifyIcon1.Visible = false;
this.ShowInTaskbar = true;
}
catch (Exception ex)
{
LogUtil.error("显示界面出错:" + ex.ToString());
}
}
private void 启动所有料仓AToolStripMenuItem_Click(object sender, EventArgs e)
{
if (store.storeRunStatus != StoreRunStatus.Wait)
{
MessageBox.Show(store.Name + "当前状态:" + store.storeRunStatus + ",不能启动!");
return;
}
LogUtil.info(LOGGER, "开始启动");
startTimer.Interval = 1;
startTimer.Elapsed += timer_Elapsed;
startTimer.Enabled = true;
this.timer1.Start();
}
private delegate void ShowFormDelegate();
void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
startTimer.Enabled = false;
if (store.StartRun())
{
BeginInvoke(new ShowFormDelegate(ShowStatus));
}
}
private void ShowStatus()
{
formLineStatus(true);
}
private void formLineStatus(bool isStart)
{
foreach (TabPage tab in tabPageList)
{
bool find = false;
foreach (Control control in tab.Controls)
{
if (control is Panel)
{
foreach (Control con in control.Controls)
{
if (con is FrmBox)
{
FrmBox frm = (FrmBox)con;
frm.StoreOpenStatus(isStart);
find = true;
break;
}
}
}
if (find)
{
break;
}
}
}
启动AToolStripMenuItem.Enabled = !isStart;
停止TToolStripMenuItem.Enabled = isStart;
}
private void 停止所有料仓TToolStripMenuItem_Click(object sender, EventArgs e)
{
if (store != null)
{
if (store.storeRunStatus.Equals(StoreRunStatus.Wait))
{
MessageBox.Show(store.Name + "包装料料仓未启动,不需要停止");
return;
}
if (store != null)
{
store.StopRun();
}
formLineStatus(false);
}
}
private void 复位RToolStripMenuItem_Click(object sender, EventArgs e)
{
if (store.storeRunStatus.Equals(StoreRunStatus.Wait))
{
MessageBox.Show(store.Name + "包装料料仓未启动,无法复位");
return;
}
store.Reset();
}
private void FrmLineStore_FormClosed(object sender, FormClosedEventArgs e)
{
if (停止TToolStripMenuItem.Enabled)
{
停止所有料仓TToolStripMenuItem_Click(null, null);
}
}
private void btnClearLog_Click(object sender, EventArgs e)
{
logBox.Clear();
}
private void debug_enable_checkBox_CheckedChanged(object sender, EventArgs e)
{
LogUtil.debug_opened = chkDebug.Checked;
}
private void btnCopyLog_Click(object sender, EventArgs e)
{
Clipboard.SetDataObject(logBox.Text);
MessageBox.Show("已复制日志到粘贴板!");
}
private void timer1_Tick(object sender, EventArgs e)
{
if (!this.Visible)
{
return;
}
}
private void chbAutoRun_CheckedChanged(object sender, EventArgs e)
{
if (!LoadOk)
{
return;
}
if (chbAutoRun.Checked)
{
ConfigAppSettings.SaveValue(Setting_Init.App_AutoRun, 1);
ManagerUtil.AutoRun(Application.ExecutablePath, true);
}
else
{
ConfigAppSettings.SaveValue(Setting_Init.App_AutoRun, 0);
ManagerUtil.AutoRun(Application.ExecutablePath, false);
}
}
private void tabControl1_DrawItem(object sender, DrawItemEventArgs e)
{
Font fntTab;
Brush bshBack;
Brush bshFore;
if (e.Index == this.tabControl1.SelectedIndex)
{
fntTab = new Font(e.Font, FontStyle.Regular);
bshBack = new SolidBrush(Color.DodgerBlue);
bshFore = Brushes.Black;
}
else
{
fntTab = e.Font;
bshBack = new System.Drawing.Drawing2D.LinearGradientBrush(e.Bounds, Color.White, Color.White, System.Drawing.Drawing2D.LinearGradientMode.BackwardDiagonal);
bshFore = new SolidBrush(Color.Black);
}
string tabName = this.tabControl1.TabPages[e.Index].Text;
StringFormat sftTab = new StringFormat();
e.Graphics.FillRectangle(bshBack, e.Bounds);
Rectangle recTab = e.Bounds;
recTab = new Rectangle(recTab.X, recTab.Y + 4, recTab.Width, recTab.Height - 4);
e.Graphics.DrawString(tabName, fntTab, bshFore, recTab, sftTab);
}
private void 版本号ToolStripMenuItem_Click(object sender, EventArgs e)
{
FrmAbout about = new FrmAbout();
about.ShowDialog();
}
private void 扫码测试ToolStripMenuItem_Click(object sender, EventArgs e)
{
//store. GetCameraCode();
List<string> codes = CodeManager.CameraScan();
string result = "";
foreach (string s in codes)
{
result += s + "\r\n";
}
LogUtil.info("扫到二维码:" + result);
}
private void 二维码学习ToolStripMenuItem_Click(object sender, EventArgs e)
{
CodeLibrary.FrmCodeDecode frm = new CodeLibrary.FrmCodeDecode();
frm.ShowDialog();
}
private void 退出ToolStripMenuItem_Click_1(object sender, EventArgs e)
{
ExitApp();
}
private void toolStripMenuItem1_Click(object sender, EventArgs e)
{
ExitApp();
}
private void toolStripMenuItem2_Click(object sender, EventArgs e)
{
}
}
}
...@@ -117,12 +117,708 @@ ...@@ -117,12 +117,708 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<metadata name="notifyIcon1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="menuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value> <value>17, 17</value>
</metadata> </metadata>
<metadata name="notifyIcon1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>137, 17</value>
</metadata>
<metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>255, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="notifyIcon1.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="notifyIcon1.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
AAABAA8AMDAQAAEABABoBgAA9gAAACgoEAABAAQAyAQAAF4HAAAgIBAAAQAEAOgCAAAmDAAAGBgQAAEA
BADoAQAADg8AABAQEAABAAQAKAEAAPYQAAAwMAAAAQAIAKgOAAAeEgAAKCgAAAEACACoCwAAxiAAACAg
AAABAAgAqAgAAG4sAAAYGAAAAQAIAMgGAAAWNQAAEBAAAAEACABoBQAA3jsAADAwAAABACAAqCUAAEZB
AAAoKAAAAQAgAGgaAADuZgAAICAAAAEAIACoEAAAVoEAABgYAAABACAAiAkAAP6RAAAQEAAAAQAgAGgE
AACGmwAAKAAAADAAAABgAAAAAQAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAIAAAACA
gACAAAAAgACAAICAAACAgIAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAAwMDAAP///wAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAA/lAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAAAAAAAAAAA
D///8AAAAAAAAAAAAAAAAAAAAAAAAAAE7////0AAAAAAAAAAAAAAAAAEZHZGBABP/////+AAQkJWZkAA
AAAAAAAG6+t3YAD///////8AB7brd2AAAAAAAAAHvtt0AA/////////kAEd77UAAAAAAAAAGt3ZgBO//
////////ACRnvlAAAAAAAAAHd0QAT///////////8EBHdmAAAAAAAAAEZ2QA////7uvb7v///kAkR0AA
AAAAAAAEdAAf///r69e+vb7///AAZ0AAAAAAAAAGUATv//vtvr2+t72+//9AB0AAAAAAAAAEAC///r6+
t76+vbe+7//gBCAAAAAAAAAABO//7t6+fX2+vre3vv//AAAAAAAAAAAAD///3r69t76+vb69vv//5AAA
AAAAAAAA///+vt5+3r7b69t723///wAAAAAAAAAP///3576+vre+vXvr23////AAAAAAAAD////73n19
7t6+vNvrdr7///8AAAAAAA7////t7r7ne+vtd9vr237////wAAAABP/////r7evt536+vr6+t7f////+
cAAAb//////r7r7evt7X1769vr3/////8AABD/////99fu5+7r7r7X6+t7f/////8AAAAP/////n7t7u
7Xfr6+vX233/////AAAAAA/////t7u7e7u3n7evr577////wAAAAAAD////+7u7u7t6+2+vr69////8A
AAAAAAAP///+3u7+7ufud33tt7////AAAAAAAAAA///+7u/u7e7evt6+vu///wAAAAAAAAAAD///7u7u
7u7N7r7evf//8AAAAAAAAAAEBP///u7u7ud9576+v//+QEAAAAAAAAAGcE7//u7u7t7r7efe7//wR0AA
AAAAAAAGe0D///7u7n5+fr6///8AfVAAAAAAAAALfXAP///u3n19vt7///BOt2AAAAAAAAAHd75A////
/u7u7v///kB3vrAAAAAAAAAE3rdwD///////////8ke+3kAAAAAAAAAE6+17ZP//////////AHvte3AA
AAAAAAAE6+vrcA/////////wRd63fVAAAAAAAAAG7XfXdgH///////8Aduvtd2AAAAAAAAAAVkdGVkAP
//////AGVkdGVgAAAAAAAAAAAAAAAAAA/////wAAAAAAAAAAAAAAAAAAAAAAAAAAD///8AAAAAAAAAAA
AAAAAAAAAAAAAAAAAP//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAD///////8AAP///n///wAA///8P///AAD///gf//8AAP//8A///wAA///gB///AAD8AAAAAD8AAPwA
AAAAPwAA/AAAAAA/AAD8AAAAAD8AAPwAAAAAPwAA/AAAAAA/AAD8AAAAAD8AAPwAAAAAPwAA/AAAAAA/
AAD8AAAAAD8AAPwAAAAAPwAA/AAAAAA/AAD8AAAAAD8AAPgAAAAAHwAA8AAAAAAPAADgAAAAAAcAAMAA
AAAAAwAAgAAAAAABAACAAAAAAAEAAMAAAAAAAwAA4AAAAAAHAADwAAAAAA8AAPgAAAAAHwAA/AAAAAA/
AAD8AAAAAD8AAPwAAAAAPwAA/AAAAAA/AAD8AAAAAD8AAPwAAAAAPwAA/AAAAAA/AAD8AAAAAD8AAPwA
AAAAPwAA/AAAAAA/AAD8AAAAAD8AAPwAAAAAPwAA/AAAAAA/AAD//+AH//8AAP//8A///wAA///4H///
AAD///w///8AAP///n///wAA////////AAAoAAAAKAAAAFAAAAABAAQAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
AADAwMAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF
cAAAAAAAAAAAAAAAAAAAAAAAAH/3AAAAAAAAAAAAAAAAAAAAAAAH//9wAAAAAAAAAAAAAAAAQAAAAH//
//cAAAAABAAAAAAABHt2VkAH/////3AFa3t2AAAAAAAAfXt2AH//////9wBGd9VAAAAAAAC3dkQH////
////cAR7dgAAAAAAAGezAH/////////3BGZ2AAAAAAAAdkQH///uvr3u//9wBWcAAAAAAABkAH//++2+
vVvu//cERgAAAAAAAAQH//7et9vr29vv/3AEAAAAAAAAAH//6+e+t7e+t77/9wAAAAAAAAAH//7r1313
fb69tu//cAAAAAAAAH///m53e+t7e3vr7//3AAAAAAAH///uvtftfX3r22u+//9wAAAAAH///+vte+vr
6+vr6+7///cAAAAH////3nfu3u3r3r69tv///nAAAH/////r7evr6+vre9e+////9wAAf////75+7u3u
fn3rfbf////3AAAH////7e7t7uvtvrvr6////3AAAAB////u3u7t7ud+3r2+///3AAAAAAf//+7u7u7u
ve2+d37//3AAAAAAAH///u7v7u7r7evbf//3AAAAAAAAB///7u/t7Xfuvn7v/3AAAAAAAABAf//u7u7u
frd9vv/3BAAAAAAAAHdH//7u7n5+3tfv/3C3QAAAAAAAvVB//+7u1+vr7v/3C3cAAAAAAAB9e0f//+7n
7e7//3B96wAAAAAAALfeYH/////////3C+vmAAAAAAAAfr63R////////3B9e+ZAAAAAAAC3fXdwf///
///3C3fetwAAAAAAAGdnt2QH/////3BHZ7dnAAAAAAAAAAAAAAB////3AAAAAAAAAAAAAAAAAAAAAAf/
/3AAAAAAAAAAAAAAAAAAAAAAAH/3AAAAAAAAAAAAAAAAAAAAAAAAB3AAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAD//+f//wAAAP//w///AAAA//+B//8A
AAD//wD//wAAAPgAAAAfAAAA+AAAAB8AAAD4AAAAHwAAAPgAAAAfAAAA+AAAAB8AAAD4AAAAHwAAAPgA
AAAfAAAA+AAAAB8AAAD4AAAAHwAAAPgAAAAfAAAA+AAAAB8AAADwAAAADwAAAOAAAAAHAAAAwAAAAAMA
AACAAAAAAQAAAIAAAAABAAAAwAAAAAMAAADgAAAABwAAAPAAAAAPAAAA+AAAAB8AAAD4AAAAHwAAAPgA
AAAfAAAA+AAAAB8AAAD4AAAAHwAAAPgAAAAfAAAA+AAAAB8AAAD4AAAAHwAAAPgAAAAfAAAA+AAAAB8A
AAD4AAAAHwAAAP//AP//AAAA//+B//8AAAD//8P//wAAAP//5///AAAA//////8AAAAoAAAAIAAAAEAA
AAABAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAICA
gAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AADAwMAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAG7gAAAAAAAAAAAAAAAAAADv/kAAAAAAAAAAAABARABO///gBARAAAAAAABH63tg
7////kZ3vrQAAAAAC+13Tv/////mt9dwAAAAAAfbdO///////gbr5AAAAABL5k7/7ut37v/iXXAAAAAA
DnDv/td729vv/kZ0AAAAAAZO/+vr6+vr6//lYAAAAAAA7/7r69t7e7v//gAAAAAATv/77efn13fbfv/k
AAAAAO//7ee+vbe9vr7//gAAAE7//+vt537uvr23///hAADv//933r7Xvbe3t////gAA7///5+7n7n7X
fXb///4AAA///+3u3u2+vr6+///mAAAA7//u7u7u7t69vv/+AAAAAA7//u/u7Xvr7c7/4AAAAAAA7/7u
7u7tfr3v/gAAAAAAB27/7+7ufuvu7+R0AAAAAEtw7/7u3r197/5GcAAAAAAO1U7//u7u7//gfrQAAAAA
S31w7//////+e11wAAAAAAfr607/////4WvtdAAAAABGd9dw7////kbm63AAAAAAAAQAAA7//+AABAAA
AAAAAAAAAAAA7/4AAAAAAAAAAAAAAAAAAA7nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA///////+f////D////gf//AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD+AA
AAfAAAADgAAAAYAAAAHAAAAD4AAAB/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD//4
H////D////5///////8oAAAAGAAAADAAAAABAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
gAAAgAAAAICAAIAAAACAAIAAgIAAAICAgAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AADAwMAA////AAAA
AAAAAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAf+cAAAAAAAAAQkYF7/9gBgYAAAAGvrdv///3vr5AAAAA
7mX/////R31AAAAAtl/+7r7v87cAAAAEd//b69vb/2dAAAAAT/7r6+vrf+cAAAAC/+vr7be3vv9wAAB/
/+3r5969vv/wAAf//33N6+t76///YAD//+3u5+3rt///cAB//+7u3te+3v/xAAAE//7u7u6+vv8gAAAA
f/7u7r197vYAAAAEZP/u7u6+/1ZAAAAA53/+7t7v925AAAAEt2H/////R74AAAAE7eZ////wft5AAAAA
BAQA//9wBAQAAAAAAAAAf/QAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAAAAP//////5////8P//+AA
B//gAAf/4AAH/+AAB//gAAf/4AAH/+AAB//AAAP/gAAB/4AAAf/AAAP/4AAH/+AAB//gAAf/4AAH/+AA
B//gAAf/4AAH///D////5////////ygAAAAQAAAAIAAAAAEABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAAAA/wAA/wAAAP//AP8AAAD/AP8A//8AAMDA
wAD///8AAAAADnAAAAAAAADufgAAAAAFZH/+RkQAAG6+///k5AAARu/ut/d2AABO+9vr3+QAB+7u7b6+
9+Du/+2+vrf/537/7u7Xe/9+Dn/u7uvt/uAAR/7t6+/gAABn7u7u97YAAE5u///m5gAABlDv9wZQAAAA
AH7uAAAAAAAADnAAAAD+f////D///8AD///AA///wAP//8AD//+AAf//AAD//wAA//+AAf//wAP//8AD
///AA///wAP///w////+f///KAAAADAAAABgAAAAAQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAEAgEABAQEAAgICAANDQ0AEQkGABISEgAUFBQAGRkZAB0dHQAnFg4AKBYOAC4aEQA9IhYAJSUlACws
LAAxMTEAODg4AD4+PgBFJxkAUy8fAFozIQBlOSUAcD8qAHJAKgB2QywAeUQtAEBAQABFRUUASEhIAFNT
UwBXV1cAXV1dAGFhYQBlZWUAampqAG5ubgBycnIAeHh4AH5+fgCHTDIAiEwyAMlTLgDLVTAAzVkzAMxZ
NADMXDoA0Fw2ANNgOADUYjoA1WQ8ANhnPgDYaD8AsWRCANVnQgDaaUAA3GxDANhrRADdbUQA3nBGANF2
TgDXclAA3ntXAOBxRgDhc0kA4XRKAON2TADkd00A5HhNAOh8TwDme1AA5nxSAOh9UQDpf1QA5IFVAOuA
UwDoglYA7IJVAOmCWADthlkA7IdcAO2IXQDwh1kA8ohZAPGKXADyjF8A9IxeAN2LbwDdi3AA3ZJ6AO6L
YADvjGIA8Y1hAPSOYQDxj2QA9JBiAPGRZgD0kmYA8pNoAPOWawD0lWoA9JZsAPSYbgDml3kA9ZpxAPWd
dQD2n3gA9aB5APaifQD2poEA9qeEAPeohAD3q4gA962LAPCqjgD3ro0A97CPAPexkAD3tZYA+LCQAPiz
lAD4tJYA+LaZAPi5nQDotKMA6LWmAPi7oAD4vaIA+b6kAPG/rAD5wKYA+cKqAPnFrQDsxbkA+cawAPnJ
tAD5zLcA+s25APrPvAD60L0A2traANzc2wDc3NwA+tTDAPrWxgD72McA+tfIAPvZyQD7280A+93PAPzd
zwD73dAA/OTZAP3p4AD46+cA++/pAPzw6wD98uwA/fbyAP39/QAAAAAALwMAAFAEAABwBgAAkAkAALAK
AADPDAAA8A4AAP8gEgD/PjEA/1xRAP96cQD/l5EA/7axAP/U0QD///8AAAAAAC8ADgBQABcAcAAhAJAA
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
AA78AAAAAD8ADvwAAAAAPwAO/AAAAAA/AA78AAAAAD8ADvwAAAAAPwAO/AAAAAA/AA78AAAAAD8ADvgA
AAAAHwAO8AAAAAAPAA7gAAAAAAcADsAAAAAAAwAOgAAAAAABAA6AAAAAAAEADsAAAAAAAwAO4AAAAAAH
AA7wAAAAAA8ADvgAAAAAHwAO/AAAAAA/AA78AAAAAD8ADvwAAAAAPwAO/AAAAAA/AA78AAAAAD8ADvwA
AAAAPwAO/AAAAAA/AA78AAAAAD8ADvwAAAAAPwAO/AAAAAA/AA78AAAAAD8ADvwAAAAAPwAO/AAAAAA/
AA7//+AH//8ADv//8A///wAO///4H///AA7///w///8ADv///n///wAO////////AA4oAAAAKAAAAFAA
AAABAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUFBQAMBwQACgoKAA4ODgAcDwoAHBAKABAQ
EAAeHh4ALRkQACkpKQAuLi4AMDAwADY2NgA6OjoAPT09AEUnGQBjNyQAYzgkAGQ4JABtPSgAcT8pAHJA
KgBCQkIARkZGAElJSQBOTk4AV1dXAFlZWQBdXV0AYWFhAGVlZQBoaGgAbGxsAHl5eQB+fn4AiU0zAJBR
NQCYVjgAp14+AKlfPgCqYD8AyVMuAMlULwDMVzEAz1s1ANJfOADTYDkA1WQ8ANloPwCuYkAAsmRCALVm
QwC2ZkQAxW9JANVnQQDZaUAA3GxCANhrRADdbkQA0GlJAN9wRQDXc1IA335aAOBxRwDgckkA4nRJAON3
TADjeE4A5XlNAOF/UwDnfVIA4X9UAOd+VADpflEA6YFWAOyCVQDphFcA6oNYAOmEWQDthlgA7YleAPKI
WgD0ilsA8IpdAPKMXgDeknkA6YpjAO2LYADyjmEA9I5hAPCPZAD0kGMA8pFmAPSSZQDxkmgA9JNoAPOU
aQD0lWoA9JZsAPSYbgD0mnEA9ZxzAPWddQD2n3gA9aF7APWifAD2pH4A6Z+EAOCdiQD2pYEA9qmGAPar
iAD3ro0A97GRAPe0lgD4tpgA97ibAPi5ngD3u6EA97yiAPi7oAD4vaIA+b6kAPnApwD4w6sA+cStAO3G
uQD5xrAA+ciyAPnJtAD5zbgA+tC+APTOwAD608EA+dXFAPvZyQD72swA+9zNAPzi1gD86N8A/Pn3APr6
+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
AAAsAC8ASwBQAGkAcACHAJAApQCwAMQAzwDhAPAA8BH/APIx/wD0Uf8A9nH/APeR/wD5sf8A+9H/AP//
/wAAAAAAGwAvAC0AUAA/AHAAUgCQAGMAsAB2AM8AiADwAJkR/wCmMf8AtFH/AMJx/wDPkf8A3LH/AOvR
/wD///8AAAAAAAgALwAOAFAAFQBwABsAkAAhALAAJgDPACwA8AA+Ef8AWDH/AHFR/wCMcf8AppH/AL+x
/wDa0f8A////AAAAAAAAAAAXFwAAAAAAAAAAAAAAAAAXFxcXAAAAAAAAAAACAwMBFyQkFwEDAwIAAAAA
AxAFFyQkJCQXBRADAAAAAAMFFyIYCwgRIRcFAwAAAAABFyITDQwJBwYhFwEAAAAXFyQbExIPDAoHESQX
FwAXFyQkFRYWFA8MCggkJBcXFxckJBodHBkUDgwLJCQXFwAXFyQeIB8dFhINGCQXFwAAAAEXIyAgHRYT
EyIXAQAAAAADBBcjHhoVGyIXBQMAAAAAAxAEFyQkJCQXBRADAAAAAAIDAwEXJCQXAQMDAgAAAAAAAAAA
FxcXFwAAAAAAAAAAAAAAAAAXFwAAAAAAAAD+fwAA/D8AAMADAADAAwAAwAMAAMADAACAAQAAAAAAAAAA
AACAAQAAwAMAAMADAADAAwAAwAMAAPw/AAD+fwAAKAAAADAAAABgAAAAAQAgAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAABAAAABQAAABAAAAAlAAAARgAAAHEAAACaAAAAvgAAAL4AAACaAAAAcAAA
AEYAAAAlAAAAEAAAAAUAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAABAAA
AAUAAAAFAAAABgAAAAYAAAAGAAAABgAAAAYAAAALAAAAFQAAACoAAABKAAAAdAAAAKIAAADNAAAA+gAA
APoAAADNAAAAogAAAHQAAABKAAAAKQAAABUAAAAKAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAABgAA
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
Qf+HTDL/WzMh/y4aEf8DAgH/HR0d/9ra2f/9/f3//v79//39/f/+/v3//v79//7+/f/9/f3//f39//7+
/f/+/v3//f39//7+/v/+/v3//f39//39/f/9/f3/2NjY/xwcG/8EAgH/LhoR/1szIf+ITDL/sWRB/9F2
Tv9wPyn/AAAA/wAAAL4AAAB/AAAAQQAAABgAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAHAAA
AP9lOSX/sGRB/4ZLMf9aMiH/LhoR/wMCAf8fHx//2tra//7+/f/+/v7//v79//7+/f/77ej/8L+r/+aW
ef/ee1f/2GtE/9VnQf/XcU//3Ipv/+i0o//46eX//f39//7+/f/9/f3//v7+/9jY2P8dHR3/AwIB/y4Z
EP9aMiH/hkwx/7FkQf9lOSX/AAAA/wAAAL8AAACAAAAAQQAAABgAAAAGAAAAAAAAAAAAAAAAAAAAAAAA
AAEAAAALAAAAJgAAAP9TLx7/h0wx/1oyIf8uGhD/BAIB/x8fH//Z2dn//v7+//7+/v/+/v7//O/q/++q
jv/keE7/4HFG/91tQ//aakD/2GY+/9VjO//SXzj/0Fw1/81ZMv/MWjX/3ZF6//jq5v/+/v3//v7+//7+
/v/Y2Nf/HR0d/wMCAf8uGRD/WjIh/4dMMv9TLx//AAAA/wAAAMEAAACCAAAAQgAAABgAAAAGAAAAAAAA
AAAAAAAAAAAAAQAAAAUAAAAVAAAAOAAAAP89Ihb/WjMh/y4aEf8EAgH/HR0d/9ra2v/+/v7//v79//7+
/f/51sb/7Ihd/+h8T//leUz/4nVJ/+BxR//dbkT/2mtB/9hnP//VYzz/0l85/9BcNf/NWTL/ylUw/8xd
O//sxLj//v7+//7+/v/+/v7/2NjY/xwcG/8DAgH/LhkQ/1ozIf89Ihb/AAAA/wAAAMYAAACHAAAARQAA
ABkAAAAGAAAAAAAAAAAAAAABAAAABQAAABAAAAAqAAAAVwAAAP8nFg7/LhoR/wMCAf8fHx//2tra//7+
/v/+/v7//v79//rNuf/wh1n/7YNV/+qAU//ofVD/5XlO/+N2S//hckj/3m9F/9trQv/YZz//1WQ8/9Jf
Of/QXDb/zVkz/8pVL//JUy//57Sk//7+/v/+/v7//v7+/9jY2P8eHh3/AwIB/y4aEf8nFg7/AAAA/wAA
AM8AAACRAAAATAAAABwAAAAGAAAAAAAAAAEAAAAFAAAADwAAACUAAABJAAAAfgAAAP8QCQX/BAIB/x8f
H//Z2dn//f39//39/f/+/v3/+9jI//SMXf/yilv/74dZ/+2FV//rglX/6H5S/+Z7T//jd0z/4XNJ/95w
Rv/ba0P/2Gc//9VkPP/TYDn/0Fw2/81ZM//KVTD/yVMv/+zEuP/+/v3//v79//39/f/X19f/Hh4d/wQC
Af8QCQX/AAAA/wAAANoAAAChAAAAXAAAACYAAAAKAAAAAQAAAAUAAAAPAAAAJAAAAEYAAAB0AAAAqAAA
AP8AAAD/HR0d/9ra2v/+/v7//v79//7+/f/98ev/9JNo//OMXv/zjV7/8o1f//GKXf/uhlr/64NX/+l/
VP/me1D/5HhN/+FzSv/ecEb/22xD/9hnP//WZDz/02A5/9BcNv/NWTP/ylUw/8xdO//46ub//v7+//39
/f/+/v3/2NjY/xwcHP8AAAD/AAAA/wAAAOYAAAC3AAAAdAAAADgAAAAVAAAABQAAAA8AAAAkAAAARgAA
AHIAAACiAAAA0gAAAP8fHx//2trZ//39/f/9/f3//f39//7+/f/4t5n/841f//SOYP/0j2L/9I9i//OP
Yv/xjF//7ohc/+yEWf/pgFX/5nxS/+R4Tv/hdEr/3nBG/9tsQ//ZaED/1mQ8/9NgOf/QXDb/zVkz/8tV
MP/dkXr//v39//39/f/9/f3//v79/9jY2P8eHh7/AAAA/wAAAPEAAADPAAAAlQAAAFYAAAApAAAADwAA
ACAAAABCAAAAbwAAAKAAAADPAAAA+x8fH//Z2dn//v79//7+/f/+/v3//v79//3x6//0kWT/849h//SR
ZP/0kmX/9JJm//STZv/zkWX/8Y1i/+6JXv/shlr/6YFW/+Z9Uv/jeU7/4XRK/95wR//bbEP/2WhA/9Zk
PP/TYDn/0Fw2/81ZMv/MWTX/+Orl//39/f/+/v3//v79//39/f/X19f/Hh4e/wAAAP4AAADlAAAAtwAA
AHwAAABGAAAAIAAAADQAAABjAAAAmAAAAMwAAAD6HR0d/9ra2v/+/v7//v79//7+/v/+/v7//v7+//rN
uP/0kGL/9JJl//SUaP/0lWr/9JVr//SWa//0lWr/85No//GPZP/ui2D/64dc/+mCV//mfVP/43lO/+B0
Sv/ecEf/22xD/9loQP/WZDz/0mA5/9BcNf/NWTL/6LSj//7+/v/+/v7//v7+//7+/v/+/v7/2NjY/xwc
HP8AAAD8AAAA2AAAAKAAAABmAAAANQAAAEMAAAB5AAAAugAAAPofHx/+2tra//7+/v/+/v7//v7+//7+
/v/+/v7//v7+//ixkf/0k2f/9JZr//WYb//1mnH/9Zpx//Wacf/1mXD/9Jhv//SWbP/xkWf/74xi/+yH
Xf/pglj/5n1T/+N5T//hdEr/3nBH/9xsQ//ZaD//1WQ8/9JfOf/QXDX/3Ypv//7+/f/+/v7//v7+//7+
/v/+/v7//f39/9jY2P8dHR3/AAAA+wAAAL8AAAB7AAAAQwAAAEEAAACNAAAA9h8fH//Z2dn//v7+//39
/f/9/f3//v7+//7+/f/+/v7//v7+//ahe//0lmz/9Ztx//Wedv/1n3j/9aB5//Wgef/1n3j/9Z11//Wb
cv/0mG7/8pJp/++NY//siF3/6YJY/+Z9U//jeU7/4XRK/95wRv/bbEP/2Gc//9VjPP/SXzj/13JQ//7+
/f/+/v7//v7+//7+/v/+/v7//f39//39/f/X19f/HR0d/wAAAPYAAACOAAAAQQAAAFQAAADvHR0d/9ra
2v/9/f3//v7+//39/f/9/f3//f39//39/f/+/v3//f39//Wbcv/1m3L/9aB5//akf//2poL/9qeD//an
g//2pYH/9aN9//Wgef/1nXX/9Jlw//KTaf/vjWL/64dc/+iBV//mfVL/43hO/+FzSf/eb0b/22tC/9dn
Pv/VYzv/1WdB//39/f/+/v3//v79//39/f/9/f3//f39//39/f/9/f3/2NjY/xwcHP8AAADvAAAAVAAA
AEMAAADrHh4e/tvb2//+/v7//v7+//7+/v/+/v3//v7+//7+/v/+/v7//v79//aed//1oHn/9qeD//es
iv/3r47/97CQ//ewkP/3roz/9qqI//angv/2onz/9Z52//SZcP/ykmj/7oxh/+uHXP/pgVb/5nxS/+R4
Tf/hc0n/3m9G/9prQf/YZj7/2GtE//7+/f/+/v3//v79//7+/v/+/v7//f39//7+/v/9/f3/2tra/x0d
Hf4AAADqAAAAQQAAAAwAAABGAAAA6yAgIP7a2tr//v7+//39/f/9/f3//v79//7+/f/+/v7//f39//eq
iP/2pYH/966N//i1l//4uJz/+Lqe//i6nf/4t5n/97KT//etjP/2p4T/9aJ8//Wddf/0l27/8ZFm/+6L
YP/rhVr/6YBV/+Z7UP/kd0z/4XJI/91uRP/aakD/3ntX//39/f/+/v3//v79//7+/f/+/v3//f39//39
/f/Z2dn/Hx8f/gAAAOsAAABIAAAADAAAAAMAAAAMAAAARQAAAO0gICD+29vb//39/f/9/f3//v79//7+
/f/+/v3//v79//i9ov/2qoj/97WX//i+o//4wqr/+cSt//nEq//4wKf/+Luf//e0lv/3rYz/9qaC//Wg
ef/1m3L/85Vr//CPZP/uiV7/64RY/+l/U//me0//43ZL/99xRv/dbUP/5pZ5//7+/f/+/v3//v79//7+
/f/+/v3//f39/9nZ2f8fHx//AAAA7wAAAFQAAAASAAAABAAAAAAAAAADAAAADAAAAEUAAADrHh4e/tvb
2//+/v7//v7+//7+/v/+/v7//v79//vXx//3r47/+Lyg//nGr//5zLj/+s+7//nNuf/5ybP/+MOr//i7
oP/3s5T/9qqI//ajfv/1nXX/9Jhu//OTaP/wjWL/7ohc/+uDV//pflL/5XlO/+J1Sf/gcUb/8b+r//7+
/f/+/v3//v79//7+/v/+/v7/2tra/x0dHf8AAADzAAAAcQAAACMAAAAJAAAAAQAAAAAAAAAAAAAAAwAA
AA0AAABJAAAA7CAgIP/a2tr//v79//7+/f/+/v3//v79//308P/4tJb/+MCm//nMuP/61MP/+tfH//rW
xf/60b7/+cm0//jAp//4t5r/966N//amgf/1n3j/9Zlw//SVav/zkWX/8Yxf/+6HWv/rglX/6H1Q/+V4
TP/keE7/++3o//39/f/+/v3//v7+//7+/f/Z2dn/Hx8f/wAAAPgAAACeAAAASgAAABsAAAAGAAAAAAAA
AAAAAAAAAAAAAAAAAAQAAAASAAAAVQAAAP8gICD/29vb//7+/f/+/v3//f39//7+/f/60L3/+MCn//rO
u//62Mn/+9zP//vbzf/61sX/+c25//nErP/4up7/97CQ//eng//2oHn/9Zpx//WWa//0k2b/9I9i//GK
Xf/uhVj/64BT/+h8T//vqo3//v79//39/f/9/f3//v7+/9ra2v8fHx//AAAA/wAAAMwAAACFAAAARAAA
ABgAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAJAAAAIwAAAP8AAAD/Hh4e/9vb2//+/v7//v79//7+
/v/99vL/+cOq//nLt//618f/+93P//vcz//618f/+s+7//nFrf/4up7/97CQ//enhP/1oHn/9Zpx//SV
a//0kmb/9JBj//ONX//wiFr/7YNV/+yIXf/87+r//v7+//7+/f/+/v3/2tra/x0dHf8AAAD/AAAA/wAA
AMEAAACBAAAAQgAAABgAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAGwAAAP9EJhn/EgoG/yAg
IP/a2tr//v7+//7+/v/+/v7//Ong//nFrv/50L3/+tfH//vYyf/61MP/+cy4//nDq//4uZz/96+P//an
g//1oHn/9Zpw//SVav/0kmX/9I9i//ONX//yi1z/8IdZ//nWxv/+/v7//v7+//7+/f/Z2dn/Hx8f/xMK
B/9FJxn/AAAA/wAAAL4AAACAAAAAQQAAABgAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAGAAA
AP9yQCr/sWRB/xEJBv8gICD/29vb//7+/f/+/v7//v7+//zj2P/4xa7/+cu3//nOu//5zLj/+cav//i+
pP/3tZf/9qyK//akf//1nnb/9Zhu//SUaP/0kWP/9I5g//OMXf/zjF7/+s25//7+/f/+/v7//v79/9ra
2f8fHx//EQoG/7JlQv9yQCr/AAAA/wAAAL4AAAB/AAAAQQAAABgAAAAGAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAGAAAAGAAAAP93Qyz/6INW/7FkQf8SCgb/Hh4e/9vb2//+/v7//v7+//7+/v/86eD/+cKq//jA
p//4v6b/+Lug//e1mP/3ro3/9qeD//Wgev/1mnH/9JVq//SSZf/0j2H/841f//WUaP/72Mj//v7+//7+
/v/+/v7/2tra/x0dHf8TCwf/smVC/+iCVv93Qyz/AAAA/wAAAL4AAAB/AAAAQQAAABgAAAAGAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAGAAAAGAAAAP95RC3/8IdZ/+eCVv+wY0H/EgoG/yAgIP/a2tr//v7+//7+
/f/+/v7//fby//rQvf/3tJX/9q6O//aqiP/2pYH/9aB5//Wbcv/0lmz/9JJm//SPYv/0kWT/+LeZ//3x
6//+/v3//v7+//7+/v/Z2dn/IB8f/xMLB/+yZEL/54JW//CHWf95RC3/AAAA/wAAAL4AAAB/AAAAQQAA
ABgAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAGAAAAP96RS3/84la//CHWf/nglb/sWRB/xEK
Bv8gICD/29vb//7+/f/+/v7//v7+//7+/f/99PD/+9fH//m+o//3q4j/9p53//Wbcv/2oXv/+LGR//rN
uP/98ev//v79//7+/f/9/f3//v7+/9ra2v8gIB//EgoG/7JlQv/nglb/8IdZ//OJWv95RC3/AAAA/wAA
AL4AAAB/AAAAQQAAABgAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAGAAAAP96RS3/84la//OJ
Wv/wh1n/6INW/7FkQf8SCgb/Hh4e/9vb2//+/v7//v79//39/f/+/v3//v79//7+/f/9/f3//v79//39
/f/+/v7//v7+//7+/v/+/v3//f39//7+/f/9/f3/2tra/x0dHf8TCgf/smVC/+iCVv/wh1n/84la//OJ
Wv95RC3/AAAA/wAAAL0AAAB/AAAAQQAAABgAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAGAAA
AP96RS3/84la//OJWv/ziVr/8IdZ/+eCVv+wY0H/EgoG/yAgIP/a2tr//v7+//39/f/+/v3//v7+//7+
/f/+/v7//v7+//7+/f/+/v7//v7+//7+/v/+/v3//f39//7+/v/Z2dn/Hx8f/xMKB/+yZEL/54JW//CH
Wf/ziVr/84la//OJWv95RC3/AAAA/wAAALkAAAB9AAAAQAAAABgAAAAGAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAFAAAAFgAAAP96RS3/84la//OJWv/ziVr/84la//CHWf/nglb/sWRB/xEJBv8gICD/29vb//7+
/f/+/v3//v7+//7+/f/+/v3//v7+//39/f/+/v3//v79//7+/v/+/v7//f39/9ra2v8gHx//EQoG/7Jl
Qv/nglb/8IdZ//OJWv/ziVr/84la//OJWv95RC3/AAAA/wAAAKwAAABzAAAAOwAAABYAAAAFAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAEAAAAEgAAAP96RS3/84la//OJWv/ziVr/84la//OJWv/wh1n/6INW/7Fk
Qf8SCgb/Hh4e/9vb2//+/v3//v79//7+/f/+/v3//v79//39/f/+/v7//v79//7+/v/+/v3/2trZ/x0d
Hf8TCwf/smVC/+iCVv/wh1n/84la//OJWv/ziVr/84la//OJWv95RC3/AAAA/wAAAI0AAABfAAAAMQAA
ABIAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAADAAAAP89Ihb/ekUt/3pFLf96RS3/ekUt/3pF
Lf95RC3/d0Ms/3JAKv9EJhn/AAAA/yAgIP/a2tr//v7+//39/f/9/f3//v79//39/f/+/v3//v7+//7+
/v/Z2dn/Hx8f/wAAAP9FJxn/ckAq/3dDLP95RC3/eUQt/3lELf95RC3/eUQt/3lELf88Ihb/AAAA/wAA
AF8AAABAAAAAIQAAAAwAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABgAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8gICD/29vb//39/f/9/f3//v7+//39
/f/9/f3//v7+/9ra2v8fHx//AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
AP8AAAD/AAAA/wAAADEAAAAhAAAAEQAAAAYAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAA
AAYAAAAMAAAAEgAAABYAAAAXAAAAGAAAABgAAAAYAAAAGAAAABgAAAAbAAAAIwAAAFUAAADsHh4e/tvb
2//+/v7//v7+//7+/v/+/v7/2tra/h0dHf8AAADrAAAAVAAAACMAAAAbAAAAGAAAABgAAAAYAAAAGAAA
ABgAAAAYAAAAGAAAABgAAAAXAAAAFgAAABIAAAAMAAAABgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAEAAAADAAAABAAAAAUAAAAFAAAABgAAAAYAAAAGAAAABgAAAAYAAAAGAAAACQAA
ABIAAABJAAAA6yAgIP7a2tr//v7+//39/f/Z2dn/Hx8f/gAAAOoAAABIAAAAEgAAAAkAAAAGAAAABgAA
AAYAAAAGAAAABgAAAAYAAAAGAAAABgAAAAYAAAAFAAAABQAAAAQAAAADAAAAAQAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAQAAAAQAAAANAAAARQAAAO0gICD+29vb/tra2v4fHx/+AAAA7AAAAEQAAAANAAAABAAA
AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAADAAAAEIAAADqHh4e/h0dHf4AAADpAAAAQQAA
AAwAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAkAAAA9AAAA6QAA
AOgAAAA7AAAACQAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAIAAAAFAAAANAAAADMAAAAFAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//AAD//wAO/AAAAAAH
AA74AAAAAAMADvAAAAAAAQAO8AAAAAABAA7wAAAAAAEADvAAAAAAAQAO8AAAAAABAA7wAAAAAAEADvAA
AAAAAQAO8AAAAAABAA7wAAAAAAEADvAAAAAAAQAO4AAAAAABAA7AAAAAAAEADoAAAAAAAQAOAAAAAAAA
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
/f/9/f3//f39//39/f/9/f3//f39//7+/f/9/f3//f39//r6+v9lZWX/AgEB/y4aEP9kOCX/mVY4/8Vv
Sf+nXj7/AAAA/wAAALgAAABsAAAAKgAAAAoAAAABAAAAAAAAAAAAAAAAAAAABAAAABoAAAD/kFE1/5hW
OP9jNyT/LRkQ/wIBAf9oaGj/+/v7//7+/v/+/v3//fr4//TOwP/pn4T/335a/9hrRP/VZ0H/13NS/96S
ef/txbj//Pn3//7+/f/9/f3/+/v7/2VlZf8CAQH/LRkQ/2M3JP+YVjj/kFE1/wAAAP8AAAC5AAAAbAAA
ACoAAAAKAAAAAQAAAAAAAAAAAAAAAQAAAAkAAAAnAAAA/209KP9jOCT/LRkQ/wIBAf9oaGj/+/v7//7+
/f/+/v7/+NXG/+qKY//idUn/33BF/9xsQv/ZaD//1mQ8/9JfOP/PWzX/zFcx/9BpSf/tx7v//v79//7+
/v/7+/v/ZWVl/wIBAP8tGRD/Yzgk/209KP8AAAD/AAAAvQAAAG4AAAAqAAAACgAAAAEAAAAAAAAAAQAA
AAUAAAAXAAAAQgAAAP9FJxn/LRkQ/wIBAf9nZ2f//Pz8//7+/v/9/Pz/97uh/+yCVP/pfVD/5XpN/+J1
Sv/gcUf/3W1E/9lpQP/VZDz/0l85/89bNf/MVzH/yVMv/+Cdif/9/Pz//v7+//v7+/9lZWX/AgEB/y0Z
EP9FJxn/AAAA/wAAAMQAAAB2AAAALgAAAAoAAAABAAAAAAAAAAUAAAATAAAAMwAAAGwAAAD/HBAK/wIB
Af9oaGj/+/v7//7+/f/+/v3/+b6k//KKW//vhlj/7INW/+l/U//me0//43dM/+BySP/dbkX/2WlA/9Zl
PP/TYDn/z1s1/8xXMf/JUy7/4J2J//7+/f/+/v3/+/v6/2ZmZf8CAQH/HBAK/wAAAP8AAADRAAAAhwAA
ADkAAAAOAAAAAQAAAAUAAAATAAAAMAAAAGEAAACeAAAA/wAAAP9nZ2f/+/v7//7+/f/+/v3/+9rK//OM
Xv/zjF7/8oxe//CJXP/thVj/6YBV/+d8Uf/keE3/4HNJ/91uRf/aaUH/1mU9/9NgOf/PWzb/zFcx/8lU
L//tx7v//v79//39/f/7+/v/ZWVl/wAAAP8AAAD/AAAA4AAAAKEAAABSAAAAHAAAAAUAAAASAAAAMAAA
AGAAAACZAAAA0gAAAP9oaGj/+/v7//39/f/9/f3//fv5//Wcc//zjmD/9I9h//SPY//zj2L/8Itf/+2H
W//qglf/531S/+R4Tv/gc0r/3W9F/9pqQf/WZT3/02A5/89bNv/MVzH/0GlJ//z59//9/f3//v79//v7
+/9lZWX/AAAA/wAAAPAAAADCAAAAeQAAADgAAAATAAAAKgAAAFoAAACVAAAAzwAAAPxoaGj/+/v7//7+
/v/+/v7//v79//vYyP/0j2H/9JFk//SSZv/0k2f/9JNo//OSZv/wjWL/7Yhd/+qDWP/nflP/43hO/+Bz
Sv/dbkX/2mpB/9ZlPf/TYDn/z1s1/8xXMf/txbj//f39//7+/v/+/v3/+/v6/2VlZf8AAAD+AAAA4QAA
AKUAAABgAAAAKgAAAEIAAACBAAAAxwAAAPxnZ2f/+/v7//7+/v/+/v7//v7+//7+/v/4tpj/9JJl//SV
av/0l23/9Jhu//WYbv/0l23/85Rq//CPZf/til//6oRZ/+d+VP/jeU7/4HNK/91vRf/aaUH/1mU9/9Jf
Of/PWzX/35J5//7+/f/+/v7//v7+//7+/v/7+/v/ZWVl/wAAAP0AAADOAAAAhQAAAEIAAABIAAAAoAAA
APpoaGj/+/v7//7+/v/+/v3//v7+//7+/v/+/v7/9qJ8//SWbP/1m3L/9Z11//Wed//1nnf/9Z11//Wb
cv/0l27/8ZFn/+6LYP/qhFr/535U/+N5T//gc0r/3W5F/9ppQf/WZDz/0l84/9dzUv/9/f3//v7+//7+
/v/+/v7//f39//v7+/9lZWX/AAAA+wAAAKMAAABIAAAAYQAAAPRnZ2f/+/v7//7+/v/9/f3//f39//39
/f/+/v3//f39//Wacv/1nHT/9aJ8//algP/2poL/9qaC//akf//1oXv/9Z12//SZb//xkmj/7Ytg/+mE
Wf/nflP/43hO/+BzSf/dbkX/2WlA/9VkPP/VZ0H//f39//7+/f/9/f3//f39//39/f/9/f3/+vr6/2Vl
Zf8AAAD0AAAAYQAAAEwAAADxaGho/vv7+//+/v7//v7+//7+/f/+/v7//v7+//7+/f/2n3j/9qN9//ar
iP/3r4//97GR//exkf/3roz/9qmG//akf//1n3f/9Jlw//GRZ//til//6oNY/+d9Uv/keE3/4XJJ/91t
RP/ZaD//2GtE//39/f/+/v3//v79//7+/v/9/f3//v7+//v7+/9nZ2f+AAAA8AAAAEsAAAAKAAAATgAA
APFpaWn++/v7//39/f/9/f3//v7+//7+/f/9/f3/962M//aqh//3tJb/+Lqf//i9ov/4vKH/97ib//ey
k//2q4n/9qR+//Wddf/0l23/8I9k/+2IXf/qglf/53xR/+N3TP/fcUf/3GxC/99+Wv/9/f3//v79//7+
/f/+/v3//f39//v7+/9oaGj+AAAA8gAAAFIAAAALAAAAAgAAAAoAAABOAAAA8WhoaP78/Pz//f39//7+
/v/+/v3//v79//nErP/3sJD/+L6j//nGr//5ybT/+ciy//jDq//4u6D/97KT//aphv/1oXv/9Zpx//OU
af/wjWH/7Ydb/+qAVf/ne0//4nVK/99wRf/pn4T//f39//7+/f/+/v3//v7+//v7+/9nZ2f/AAAA9QAA
AGcAAAATAAAAAwAAAAAAAAACAAAACgAAAFAAAADxaWlp//v7+//+/v3//v7+//7+/f/84tb/97WX//nF
rv/60L7/+tXE//rTwf/5zbj/+MOr//i4nP/3ro3/9qR///WddP/0l2z/85Jm//CLX//thVj/6n9T/+Z6
Tv/idEj/9M/A//39/f/+/v7//v79//v7+/9oaGj/AAAA+QAAAJMAAAAyAAAADAAAAAEAAAAAAAAAAAAA
AAIAAAAOAAAAWwAAAP9paWn//Pz8//7+/f/+/v3//fv6//nBp//5x7H/+tbF//vczv/72sz/+tPB//nI
sv/5vaL/97GR//amgv/2nnf/9Zhu//STaP/zj2P/8Ilc/+yDVv/pflH/6Ypj//36+P/9/f3//v79//v7
+/9oaGj/AAAA/wAAAMkAAABxAAAAKwAAAAoAAAABAAAAAAAAAAAAAAAAAAAABQAAAB8AAAD/AQAA/2ho
aP/7+/v//v79//7+/v/86N//+cSt//rTwv/73M7/+9zO//rVxP/5yrT/+L2j//exkf/2p4P/9Z53//WY
bv/0k2f/9JBj//KNXv/vh1n/7IJU//jVx//+/v3//v79//v7+/9nZ2f/AQEA/wAAAP8AAAC6AAAAbQAA
ACoAAAAKAAAAAQAAAAAAAAAAAAAAAAAAAAMAAAAXAAAA/3E/Kf8MBwT/aWlp//v7+//+/v7//v7+//vc
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
AEsAAAAKAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAACAAAACQAAAEgAAADwAAAA7wAAAEYAAAAJAAAAAgAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAEAAAAFAAAAPwAAAD0AAAAFAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/gAAAA//AA7wAAAAA/8ADvAAAAAB/wAO4AAAAAH/
AA7gAAAAAP8ADuAAAAAA/wAO4AAAAAD/AA7gAAAAAP8ADuAAAAAA/wAO4AAAAAD/AA7gAAAAAP8ADsAA
AAAA/wAOgAAAAAD/AA6AAAAAAP8ADgAAAAAA/wAOAAAAAAD/AA4AAAAAAP8ADgAAAAAA/wAOAAAAAAD/
AA4AAAAAAP8ADgAAAAAA/wAOAAAAAAD/AA4AAAAAAP8ADoAAAAAA/wAOwAAAAAD/AA7gAAAAAP8ADuAA
AAAA/wAO4AAAAAD/AA7gAAAAAP8ADuAAAAAA/wAO4AAAAAD/AA7gAAAAAP8ADuAAAAAA/wAO4AAAAAH/
AA7gAAAAAf8ADvAAAAAB/wAO+AAAAAf/AA7//gB///8ADv//AP///wAO//+B////AA4oAAAAIAAAAEAA
AAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAA
AAEAAAABAAAAAQAAAAIAAAAHAAAAGwAAAEgAAACIAAAAxQAAAMUAAACHAAAARwAAABsAAAAHAAAAAgAA
AAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAABgAA
AA0AAAARAAAAEwAAABMAAAATAAAAGAAAACoAAABUAAAAkQAAANINDQ39DAwM/QAAANIAAACQAAAAUwAA
ACoAAAAYAAAAEwAAABMAAAATAAAAEwAAABMAAAARAAAADQAAAAYAAAABAAAAAAAAAAAAAAAAAAAAAAAA
AAYAAAAZAAAANwAAAEoAAABQAAAAUAAAAFQAAABhAAAAfwAAAKwAAADcDQ0N/cLCwv/BwcH/DAwM/QAA
ANwAAACsAAAAfwAAAGEAAABUAAAAUAAAAFAAAABQAAAAUAAAAEoAAAA3AAAAGQAAAAYAAAAAAAAAAAAA
AAAAAAABAAAADQAAADcAAAB4AAAAogAAAK4AAACwAAAAtgAAAMMAAADYAAAA7g0NDf7CwsL//f39//39
/f/BwcH/DAwM/gAAAO4AAADYAAAAwwAAALYAAACwAAAArwAAAK8AAACuAAAAogAAAHgAAAA3AAAADQAA
AAEAAAAAAAAAAAAAAAEAAAARAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8NDQ3/wsLC//39
/f/9/f3//f39//39/f/BwcH/DAwM/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAogAA
AEoAAAARAAAAAQAAAAAAAAAAAAAAAQAAABMAAAD/84la/+6GWP/be1H/r2NB/3A/Kf8tGRD/Dg4N/8PD
wv/+/v3//v79//7+/f/9/f3//v7+//7+/v/BwcH/Dg0N/y0ZEP9wPyn/sGNB/9t8Uf/uhlj/84la/wAA
AP8AAACuAAAAUAAAABMAAAABAAAAAAAAAAAAAAABAAAAEwAAAP/uhlj/23tR/7BjQf9wPyn/LRkQ/w4O
Df/Dw8P//v7+//7+/f/+/v3//v79//39/f/+/v7//v7+//39/f/BwcH/Dg0M/y0ZEP9xPyn/sGNB/9t8
Uf/uhlj/AAAA/wAAAK8AAABQAAAAEwAAAAEAAAAAAAAAAAAAAAEAAAATAAAA/9t8Uf+wY0H/cUAp/y0Z
EP8ODg3/w8PC//7+/f/9/f3//v79//7+/f/9/f3//f39//7+/f/+/v3//f39//39/f/BwcH/Dg0N/y0Z
EP9xQCr/sGNB/9t8Uf8AAAD/AAAArwAAAFAAAAATAAAAAQAAAAAAAAAAAAAAAgAAABgAAAD/r2NB/3A/
Kf8tGRD/Dg4N/8PDw//+/v7//v79//nm3v/trZT/4YNh/9lrRP/VZkD/13ZW/+GeiP/14Nn//v79//7+
/f/BwcH/Dg0N/y0ZEP9wPyn/sGNB/wAAAP8AAACwAAAAUAAAABMAAAABAAAAAAAAAAAAAAAHAAAAKgAA
AP9wPyn/LRkQ/w4ODf/Dw8P//v7+//36+P/ztZr/53tO/+J1Sf/ecEX/22tB/9ZlPf/SXzn/zlo0/8tW
Mf/fmYT//Pn3//7+/v/BwcH/Dg0M/y0ZEP9wPyn/AAAA/wAAALYAAABUAAAAEwAAAAEAAAAAAAAABQAA
ABsAAABUAAAA/y0ZEP8ODg3/w8PC//7+/v/9+vn/9qiG/+6FV//qgFP/53tQ/+N2S//fcUf/22tC/9dm
Pf/SYDn/zlo0/8pVL//Xf2T//Pn3//7+/f/BwcH/Dg0M/y0ZEP8AAAD/AAAAwwAAAGEAAAAYAAAAAgAA
AAUAAAAZAAAARwAAAJAAAAD/Dg4N/8PDw//+/v7//v79//i7oP/zjF3/8oxe/++IWv/rg1b/531S/+R3
Tf/fcUj/22xD/9dmPv/TYDn/zlo0/8pVMP/fmYT//v79//39/f/BwcH/Dg0N/wAAAP8AAADYAAAAfwAA
ACoAAAAGAAAAGAAAAEYAAACKAAAA0g0NDf/Dw8L//f39//39/f/86uL/9I5g//SPYv/0kGP/849j/++K
Xv/shVn/6H9U/+R4Tv/fckj/22xD/9dmPv/TYDn/z1s1/8tWMf/14Nn//f39//7+/f/BwcH/DAwM/wAA
AO4AAACsAAAAUwAAABkAAAA6AAAAgQAAAM4NDQ39w8PD//7+/v/+/v7//v7+//i+pP/0kWT/9JNo//SV
af/0lWr/85Nn/++NYv/shlv/6H9V/+N5Tv/fckj/22xD/9dmPv/TYDn/zlo0/+GeiP/+/v3//v7+//7+
/v/BwcH/DAwM/gAAANsAAACJAAAAOgAAAFAAAAC1DQ0N/cPDw//+/v7//v7+//7+/v/+/v7/9qR///SW
a//1mnH/9Ztz//Wbc//1mnH/9JZs//CPZf/sh13/54BV/+N5T//fckj/22xD/9dmPv/SXzj/13dW//7+
/f/+/v7//v7+//39/f/BwcH/DAwM/QAAALkAAABRAAAAcA0NDfrDw8P//v7+//39/f/+/v3//v79//39
/f/1mnH/9Z52//ajfv/2pYH/9qWA//aifP/1nnb/9Jhv//CQZv/rh13/539V/+N4Tv/fckj/22tC/9Zl
Pf/VZkD//f39//39/f/+/v3//f39//39/f/BwcH/DAwM+gAAAHAAAABVDQ0N9sPDw//+/v7//f39//7+
/v/+/v7//v79//agev/2p4P/96+P//eyk//3spL/962M//ang//2oHn/9Jlv//CPZP/rhlv/6H5U/+R3
Tf/gcUf/2mpB/9lsRf/+/v3//v79//7+/v/9/f3//f39/8PDw/8NDQ32AAAAVAAAAAgAAABWDQ0N9sPD
w//9/f3//v79//7+/f/+/v3/97KT//exkf/4vaL/+cGo//jAp//4up7/97GR//ang//1nnb/85Zs/++N
Yf/rhFn/531S/+N2S//eb0X/4YNh//7+/f/+/v3//v79//39/f/CwsL/DQ0N+AAAAF8AAAAJAAAAAQAA
AAgAAABXDQ0N98PDw//+/v3//v79//7+/f/6zrr/+Lqd//nKtP/60L7/+c67//nGr//4up7/962M//ai
fP/1mXD/85Jn/++KXv/rg1b/53xQ/+J1Sf/trZT//v79//7+/v/+/v3/wsLC/w0NDfsAAACFAAAAGgAA
AAIAAAAAAAAAAQAAAAkAAABgDQ0N/8TEw//+/v3//v79//3w6v/4vaP/+tG+//vazP/72cr/+s+7//nB
p//3spL/9qWA//Wbc//0lWr/849j/++IW//rgVT/53tP//nm3v/9/f3//v7+/8PDwv8NDQ3/AAAAxAAA
AFUAAAATAAAAAQAAAAAAAAAAAAAAAgAAABoAAAD/FREQ/8TEw//+/v7//v7+//vZyf/5zbn/+9rM//vb
zP/60L7/+cKp//ezk//2pYH/9Ztz//SVaf/0kGP/8oxe/+6FV//ztZr//v7+//7+/f/Dw8P/FREQ/wAA
AP8AAACxAAAAUQAAABMAAAABAAAAAAAAAAAAAAABAAAAEwAAAP+hWjv/FREQ/8TEw//+/v3//vz7//rT
wf/5zbn/+tG+//nKtP/4vaL/96+P//ajfv/1mnH/9JNo//SPYf/zjF3/9qmG//36+f/+/v7/w8PC/xUR
EP+iWzz/AAAA/wAAAK8AAABQAAAAEwAAAAEAAAAAAAAAAAAAAAEAAAATAAAA/+yFWP+hWzv/FREQ/8TE
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
rEGAAKxBgACsQYAArEHAAaxB/D+sQQ==
</value>
</data>
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>420, 17</value>
</metadata>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABAMMOAADDDgAAAAAAAAAA AAABAAEAgIAAAAEAIAAoCAEAFgAAACgAAACAAAAAAAEAAAEAIAAAAAAAAAABAMMOAADDDgAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
...@@ -1253,7 +1949,4 @@ ...@@ -1253,7 +1949,4 @@
AD//////////////////AB////////////8= AD//////////////////AB////////////8=
</value> </value>
</data> </data>
<metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>392, 16</value>
</metadata>
</root> </root>
\ No newline at end of file \ No newline at end of file
...@@ -96,7 +96,7 @@ namespace OnlineStore.ACPackingStore ...@@ -96,7 +96,7 @@ namespace OnlineStore.ACPackingStore
XmlConfigurator.Configure(); XmlConfigurator.Configure();
Application.EnableVisualStyles(); Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false); Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new FrmMain()); Application.Run(new FrmStore());
} }
} }
static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
......
using log4net;
using OnlineStore.Common;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.ServiceModel;
using System.Text;
namespace OnlineStore.ACSingleStore
{
public class WCFControl
{
//public static bool isRun=false;
//public static readonly ILog LOGGER = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
//private static ServiceHost host = null;
//public static void OpenWCF()
//{
// if (isRun)
// {
// return;
// }
// try
// {
// if (host == null)
// {
// host = new ServiceHost(typeof(AcStoreWCF.CWSMDBox));
// }
// if (host.State != CommunicationState.Opening)
// {
// host.Open();
// }
// isRun = true;
// LogUtil.info("打开WCF服务成功");
// }
// catch (Exception ex)
// {
// LogUtil.error("打开WCF服务出错:" + ex.ToString());
// }
//}
//public static void CloseWCF()
//{
// try
// {
// isRun = false;
// if (host != null)
// {
// host.Close();
// }
// LogUtil.info("关闭WCF服务成功");
// }
// catch (Exception ex)
// {
// LogUtil.error("关闭WCF服务出错:" + ex.ToString());
// }
//}
}
}
namespace OnlineStore.AssemblyLine
{
partial class AxisMoveControl
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region 组件设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要修改
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.groupAxis = new System.Windows.Forms.GroupBox();
this.comboBox1 = new System.Windows.Forms.ComboBox();
this.label6 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.btnReadHomeSingle = new System.Windows.Forms.Button();
this.txtHomeSingle = new System.Windows.Forms.TextBox();
this.label16 = new System.Windows.Forms.Label();
this.label15 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label11 = new System.Windows.Forms.Label();
this.txtHomeStatus = new System.Windows.Forms.TextBox();
this.button2 = new System.Windows.Forms.Button();
this.label10 = new System.Windows.Forms.Label();
this.txtBusyStatus = new System.Windows.Forms.TextBox();
this.button1 = new System.Windows.Forms.Button();
this.label3 = new System.Windows.Forms.Label();
this.txtAlarmStatus = new System.Windows.Forms.TextBox();
this.btnGetAlarm = new System.Windows.Forms.Button();
this.btnReadPosition = new System.Windows.Forms.Button();
this.lblServerOn = new System.Windows.Forms.Label();
this.label7 = new System.Windows.Forms.Label();
this.label8 = new System.Windows.Forms.Label();
this.btnOpenAxis = new System.Windows.Forms.Button();
this.btnCloseAxis = new System.Windows.Forms.Button();
this.lblCountPulse = new System.Windows.Forms.TextBox();
this.txtASpeed = new System.Windows.Forms.TextBox();
this.lblOutPulse = new System.Windows.Forms.TextBox();
this.label47 = new System.Windows.Forms.Label();
this.btnAxisVMove = new System.Windows.Forms.Button();
this.btnAxisRMove = new System.Windows.Forms.Button();
this.btnAxisReturnHome = new System.Windows.Forms.Button();
this.btnAxisAMove = new System.Windows.Forms.Button();
this.btnComAlarmClear = new System.Windows.Forms.Button();
this.txtAPosition = new System.Windows.Forms.TextBox();
this.label48 = new System.Windows.Forms.Label();
this.btnAxisStop = new System.Windows.Forms.Button();
this.txtAxisValue = new System.Windows.Forms.TextBox();
this.txtAxisDeviceName = new System.Windows.Forms.TextBox();
this.label45 = new System.Windows.Forms.Label();
this.label46 = new System.Windows.Forms.Label();
this.label49 = new System.Windows.Forms.Label();
this.groupAxis.SuspendLayout();
this.SuspendLayout();
//
// groupAxis
//
this.groupAxis.Controls.Add(this.comboBox1);
this.groupAxis.Controls.Add(this.label6);
this.groupAxis.Controls.Add(this.label1);
this.groupAxis.Controls.Add(this.btnReadHomeSingle);
this.groupAxis.Controls.Add(this.txtHomeSingle);
this.groupAxis.Controls.Add(this.label16);
this.groupAxis.Controls.Add(this.label15);
this.groupAxis.Controls.Add(this.label2);
this.groupAxis.Controls.Add(this.label11);
this.groupAxis.Controls.Add(this.txtHomeStatus);
this.groupAxis.Controls.Add(this.button2);
this.groupAxis.Controls.Add(this.label10);
this.groupAxis.Controls.Add(this.txtBusyStatus);
this.groupAxis.Controls.Add(this.button1);
this.groupAxis.Controls.Add(this.label3);
this.groupAxis.Controls.Add(this.txtAlarmStatus);
this.groupAxis.Controls.Add(this.btnGetAlarm);
this.groupAxis.Controls.Add(this.btnReadPosition);
this.groupAxis.Controls.Add(this.lblServerOn);
this.groupAxis.Controls.Add(this.label7);
this.groupAxis.Controls.Add(this.label8);
this.groupAxis.Controls.Add(this.btnOpenAxis);
this.groupAxis.Controls.Add(this.btnCloseAxis);
this.groupAxis.Controls.Add(this.lblCountPulse);
this.groupAxis.Controls.Add(this.txtASpeed);
this.groupAxis.Controls.Add(this.lblOutPulse);
this.groupAxis.Controls.Add(this.label47);
this.groupAxis.Controls.Add(this.btnAxisVMove);
this.groupAxis.Controls.Add(this.btnAxisRMove);
this.groupAxis.Controls.Add(this.btnAxisReturnHome);
this.groupAxis.Controls.Add(this.btnAxisAMove);
this.groupAxis.Controls.Add(this.btnComAlarmClear);
this.groupAxis.Controls.Add(this.txtAPosition);
this.groupAxis.Controls.Add(this.label48);
this.groupAxis.Controls.Add(this.btnAxisStop);
this.groupAxis.Controls.Add(this.txtAxisValue);
this.groupAxis.Controls.Add(this.txtAxisDeviceName);
this.groupAxis.Controls.Add(this.label45);
this.groupAxis.Controls.Add(this.label46);
this.groupAxis.Controls.Add(this.label49);
this.groupAxis.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.groupAxis.Location = new System.Drawing.Point(9, 4);
this.groupAxis.Name = "groupAxis";
this.groupAxis.Size = new System.Drawing.Size(648, 367);
this.groupAxis.TabIndex = 218;
this.groupAxis.TabStop = false;
this.groupAxis.Text = "伺服运动";
//
// comboBox1
//
this.comboBox1.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBox1.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.comboBox1.FormattingEnabled = true;
this.comboBox1.Location = new System.Drawing.Point(89, 36);
this.comboBox1.Name = "comboBox1";
this.comboBox1.Size = new System.Drawing.Size(220, 28);
this.comboBox1.TabIndex = 301;
this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged);
//
// label6
//
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(89, 321);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(68, 17);
this.label6.TabIndex = 300;
this.label6.Text = "原点信号:";
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(195, 321);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(94, 17);
this.label1.TabIndex = 299;
this.label1.Text = "1=ON,0=OFF";
//
// btnReadHomeSingle
//
this.btnReadHomeSingle.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnReadHomeSingle.Location = new System.Drawing.Point(358, 318);
this.btnReadHomeSingle.Name = "btnReadHomeSingle";
this.btnReadHomeSingle.Size = new System.Drawing.Size(110, 34);
this.btnReadHomeSingle.TabIndex = 298;
this.btnReadHomeSingle.Text = "读原点信号";
this.btnReadHomeSingle.UseVisualStyleBackColor = true;
this.btnReadHomeSingle.Click += new System.EventHandler(this.btnReadHomeSingle_Click);
//
// txtHomeSingle
//
this.txtHomeSingle.Enabled = false;
this.txtHomeSingle.Location = new System.Drawing.Point(161, 318);
this.txtHomeSingle.Name = "txtHomeSingle";
this.txtHomeSingle.Size = new System.Drawing.Size(25, 23);
this.txtHomeSingle.TabIndex = 297;
//
// label16
//
this.label16.AutoSize = true;
this.label16.Location = new System.Drawing.Point(192, 288);
this.label16.Name = "label16";
this.label16.Size = new System.Drawing.Size(112, 17);
this.label16.TabIndex = 295;
this.label16.Text = "1=完成,0=未完成";
//
// label15
//
this.label15.AutoSize = true;
this.label15.Location = new System.Drawing.Point(192, 257);
this.label15.Name = "label15";
this.label15.Size = new System.Drawing.Size(124, 17);
this.label15.TabIndex = 294;
this.label15.Text = "1=执行中,0=未执行";
//
// label2
//
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(192, 222);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(100, 17);
this.label2.TabIndex = 293;
this.label2.Text = "1=报警,0=正常";
//
// label11
//
this.label11.AutoSize = true;
this.label11.Location = new System.Drawing.Point(43, 288);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(114, 17);
this.label11.TabIndex = 292;
this.label11.Text = "HOME-CMP状态:";
//
// txtHomeStatus
//
this.txtHomeStatus.Enabled = false;
this.txtHomeStatus.Location = new System.Drawing.Point(161, 285);
this.txtHomeStatus.Name = "txtHomeStatus";
this.txtHomeStatus.Size = new System.Drawing.Size(25, 23);
this.txtHomeStatus.TabIndex = 291;
//
// button2
//
this.button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.button2.Location = new System.Drawing.Point(358, 283);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(110, 34);
this.button2.TabIndex = 290;
this.button2.Text = "读HOME状态";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// label10
//
this.label10.AutoSize = true;
this.label10.Location = new System.Drawing.Point(82, 255);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(75, 17);
this.label10.TabIndex = 289;
this.label10.Text = "BUSY状态:";
//
// txtBusyStatus
//
this.txtBusyStatus.Enabled = false;
this.txtBusyStatus.Location = new System.Drawing.Point(161, 252);
this.txtBusyStatus.Name = "txtBusyStatus";
this.txtBusyStatus.Size = new System.Drawing.Size(25, 23);
this.txtBusyStatus.TabIndex = 288;
//
// button1
//
this.button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.button1.Location = new System.Drawing.Point(358, 248);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(110, 34);
this.button1.TabIndex = 287;
this.button1.Text = "读BUSY状态";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// label3
//
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(89, 222);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(68, 17);
this.label3.TabIndex = 286;
this.label3.Text = "报警状态:";
//
// txtAlarmStatus
//
this.txtAlarmStatus.Enabled = false;
this.txtAlarmStatus.Location = new System.Drawing.Point(161, 219);
this.txtAlarmStatus.Name = "txtAlarmStatus";
this.txtAlarmStatus.Size = new System.Drawing.Size(25, 23);
this.txtAlarmStatus.TabIndex = 285;
//
// btnGetAlarm
//
this.btnGetAlarm.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnGetAlarm.Location = new System.Drawing.Point(358, 213);
this.btnGetAlarm.Name = "btnGetAlarm";
this.btnGetAlarm.Size = new System.Drawing.Size(110, 34);
this.btnGetAlarm.TabIndex = 284;
this.btnGetAlarm.Text = "读报警状态";
this.btnGetAlarm.UseVisualStyleBackColor = true;
this.btnGetAlarm.Click += new System.EventHandler(this.btnGetAlarm_Click);
//
// btnReadPosition
//
this.btnReadPosition.BackColor = System.Drawing.SystemColors.Control;
this.btnReadPosition.Cursor = System.Windows.Forms.Cursors.Default;
this.btnReadPosition.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnReadPosition.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnReadPosition.ForeColor = System.Drawing.SystemColors.ControlText;
this.btnReadPosition.Location = new System.Drawing.Point(358, 154);
this.btnReadPosition.Name = "btnReadPosition";
this.btnReadPosition.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.btnReadPosition.Size = new System.Drawing.Size(110, 34);
this.btnReadPosition.TabIndex = 278;
this.btnReadPosition.Text = "读取位置";
this.btnReadPosition.UseVisualStyleBackColor = true;
this.btnReadPosition.Click += new System.EventHandler(this.btnReadPosition_Click);
//
// lblServerOn
//
this.lblServerOn.AutoSize = true;
this.lblServerOn.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.lblServerOn.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblServerOn.ForeColor = System.Drawing.Color.Red;
this.lblServerOn.Location = new System.Drawing.Point(491, 297);
this.lblServerOn.Name = "lblServerOn";
this.lblServerOn.Size = new System.Drawing.Size(0, 19);
this.lblServerOn.TabIndex = 268;
//
// label7
//
this.label7.AutoSize = true;
this.label7.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label7.Location = new System.Drawing.Point(8, 148);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(80, 17);
this.label7.TabIndex = 254;
this.label7.Text = "目标脉冲值:";
//
// label8
//
this.label8.AutoSize = true;
this.label8.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label8.Location = new System.Drawing.Point(8, 180);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(80, 17);
this.label8.TabIndex = 255;
this.label8.Text = "实际脉冲值:";
//
// btnOpenAxis
//
this.btnOpenAxis.BackColor = System.Drawing.SystemColors.Control;
this.btnOpenAxis.Cursor = System.Windows.Forms.Cursors.Default;
this.btnOpenAxis.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnOpenAxis.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnOpenAxis.ForeColor = System.Drawing.SystemColors.ControlText;
this.btnOpenAxis.Location = new System.Drawing.Point(358, 34);
this.btnOpenAxis.Name = "btnOpenAxis";
this.btnOpenAxis.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.btnOpenAxis.Size = new System.Drawing.Size(110, 34);
this.btnOpenAxis.TabIndex = 253;
this.btnOpenAxis.Text = "打开伺服";
this.btnOpenAxis.UseVisualStyleBackColor = true;
this.btnOpenAxis.Click += new System.EventHandler(this.btnOpenAxis_Click);
//
// btnCloseAxis
//
this.btnCloseAxis.BackColor = System.Drawing.SystemColors.Control;
this.btnCloseAxis.Cursor = System.Windows.Forms.Cursors.Default;
this.btnCloseAxis.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnCloseAxis.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnCloseAxis.ForeColor = System.Drawing.SystemColors.ControlText;
this.btnCloseAxis.Location = new System.Drawing.Point(474, 33);
this.btnCloseAxis.Name = "btnCloseAxis";
this.btnCloseAxis.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.btnCloseAxis.Size = new System.Drawing.Size(110, 34);
this.btnCloseAxis.TabIndex = 252;
this.btnCloseAxis.Text = "关闭伺服";
this.btnCloseAxis.UseVisualStyleBackColor = true;
this.btnCloseAxis.Click += new System.EventHandler(this.btnCloseAxis_Click);
//
// lblCountPulse
//
this.lblCountPulse.Location = new System.Drawing.Point(89, 175);
this.lblCountPulse.Name = "lblCountPulse";
this.lblCountPulse.ReadOnly = true;
this.lblCountPulse.Size = new System.Drawing.Size(87, 23);
this.lblCountPulse.TabIndex = 38;
//
// txtASpeed
//
this.txtASpeed.AcceptsReturn = true;
this.txtASpeed.BackColor = System.Drawing.SystemColors.Window;
this.txtASpeed.Cursor = System.Windows.Forms.Cursors.IBeam;
this.txtASpeed.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.txtASpeed.ForeColor = System.Drawing.SystemColors.WindowText;
this.txtASpeed.Location = new System.Drawing.Point(225, 106);
this.txtASpeed.MaxLength = 12;
this.txtASpeed.Name = "txtASpeed";
this.txtASpeed.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.txtASpeed.Size = new System.Drawing.Size(84, 26);
this.txtASpeed.TabIndex = 251;
this.txtASpeed.Text = "30";
//
// lblOutPulse
//
this.lblOutPulse.Location = new System.Drawing.Point(89, 146);
this.lblOutPulse.Name = "lblOutPulse";
this.lblOutPulse.ReadOnly = true;
this.lblOutPulse.Size = new System.Drawing.Size(87, 23);
this.lblOutPulse.TabIndex = 30;
//
// label47
//
this.label47.Cursor = System.Windows.Forms.Cursors.Default;
this.label47.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label47.ForeColor = System.Drawing.SystemColors.ControlText;
this.label47.Location = new System.Drawing.Point(170, 109);
this.label47.Name = "label47";
this.label47.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.label47.Size = new System.Drawing.Size(53, 20);
this.label47.TabIndex = 250;
this.label47.Text = "速度:";
this.label47.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// btnAxisVMove
//
this.btnAxisVMove.BackColor = System.Drawing.SystemColors.Control;
this.btnAxisVMove.Cursor = System.Windows.Forms.Cursors.Default;
this.btnAxisVMove.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnAxisVMove.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnAxisVMove.ForeColor = System.Drawing.SystemColors.ControlText;
this.btnAxisVMove.Location = new System.Drawing.Point(358, 115);
this.btnAxisVMove.Name = "btnAxisVMove";
this.btnAxisVMove.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.btnAxisVMove.Size = new System.Drawing.Size(110, 34);
this.btnAxisVMove.TabIndex = 249;
this.btnAxisVMove.Text = "匀速运动";
this.btnAxisVMove.UseVisualStyleBackColor = true;
this.btnAxisVMove.Click += new System.EventHandler(this.btnAxisVMove_Click);
//
// btnAxisRMove
//
this.btnAxisRMove.BackColor = System.Drawing.SystemColors.Control;
this.btnAxisRMove.Cursor = System.Windows.Forms.Cursors.Default;
this.btnAxisRMove.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnAxisRMove.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnAxisRMove.ForeColor = System.Drawing.SystemColors.ControlText;
this.btnAxisRMove.Location = new System.Drawing.Point(474, 75);
this.btnAxisRMove.Name = "btnAxisRMove";
this.btnAxisRMove.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.btnAxisRMove.Size = new System.Drawing.Size(110, 34);
this.btnAxisRMove.TabIndex = 248;
this.btnAxisRMove.Text = "相对运动";
this.btnAxisRMove.UseVisualStyleBackColor = true;
this.btnAxisRMove.Click += new System.EventHandler(this.btnAxisRMove_Click);
//
// btnAxisReturnHome
//
this.btnAxisReturnHome.BackColor = System.Drawing.SystemColors.Control;
this.btnAxisReturnHome.Cursor = System.Windows.Forms.Cursors.Default;
this.btnAxisReturnHome.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnAxisReturnHome.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnAxisReturnHome.ForeColor = System.Drawing.SystemColors.ControlText;
this.btnAxisReturnHome.Location = new System.Drawing.Point(474, 154);
this.btnAxisReturnHome.Name = "btnAxisReturnHome";
this.btnAxisReturnHome.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.btnAxisReturnHome.Size = new System.Drawing.Size(110, 34);
this.btnAxisReturnHome.TabIndex = 247;
this.btnAxisReturnHome.Text = "原点返回";
this.btnAxisReturnHome.UseVisualStyleBackColor = true;
this.btnAxisReturnHome.Click += new System.EventHandler(this.btnAxisReturnHome_Click);
//
// btnAxisAMove
//
this.btnAxisAMove.BackColor = System.Drawing.SystemColors.Control;
this.btnAxisAMove.Cursor = System.Windows.Forms.Cursors.Default;
this.btnAxisAMove.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnAxisAMove.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnAxisAMove.ForeColor = System.Drawing.SystemColors.ControlText;
this.btnAxisAMove.Location = new System.Drawing.Point(358, 76);
this.btnAxisAMove.Name = "btnAxisAMove";
this.btnAxisAMove.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.btnAxisAMove.Size = new System.Drawing.Size(110, 34);
this.btnAxisAMove.TabIndex = 245;
this.btnAxisAMove.Text = "绝对运动";
this.btnAxisAMove.UseVisualStyleBackColor = true;
this.btnAxisAMove.Click += new System.EventHandler(this.btnAxisAMove_Click);
//
// btnComAlarmClear
//
this.btnComAlarmClear.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnComAlarmClear.Location = new System.Drawing.Point(474, 213);
this.btnComAlarmClear.Name = "btnComAlarmClear";
this.btnComAlarmClear.Size = new System.Drawing.Size(110, 34);
this.btnComAlarmClear.TabIndex = 50;
this.btnComAlarmClear.Text = "清除报警";
this.btnComAlarmClear.UseVisualStyleBackColor = true;
this.btnComAlarmClear.Click += new System.EventHandler(this.btnComAlarmClear_Click);
//
// txtAPosition
//
this.txtAPosition.BackColor = System.Drawing.SystemColors.Window;
this.txtAPosition.Cursor = System.Windows.Forms.Cursors.IBeam;
this.txtAPosition.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.txtAPosition.ForeColor = System.Drawing.SystemColors.WindowText;
this.txtAPosition.Location = new System.Drawing.Point(225, 72);
this.txtAPosition.MaxLength = 12;
this.txtAPosition.Name = "txtAPosition";
this.txtAPosition.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.txtAPosition.Size = new System.Drawing.Size(84, 26);
this.txtAPosition.TabIndex = 244;
this.txtAPosition.Text = "3000";
//
// label48
//
this.label48.Cursor = System.Windows.Forms.Cursors.Default;
this.label48.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label48.ForeColor = System.Drawing.SystemColors.ControlText;
this.label48.Location = new System.Drawing.Point(170, 75);
this.label48.Name = "label48";
this.label48.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.label48.Size = new System.Drawing.Size(53, 20);
this.label48.TabIndex = 243;
this.label48.Text = "位置:";
this.label48.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// btnAxisStop
//
this.btnAxisStop.BackColor = System.Drawing.SystemColors.Control;
this.btnAxisStop.Cursor = System.Windows.Forms.Cursors.Default;
this.btnAxisStop.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnAxisStop.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnAxisStop.ForeColor = System.Drawing.SystemColors.ControlText;
this.btnAxisStop.Location = new System.Drawing.Point(474, 114);
this.btnAxisStop.Name = "btnAxisStop";
this.btnAxisStop.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.btnAxisStop.Size = new System.Drawing.Size(110, 34);
this.btnAxisStop.TabIndex = 246;
this.btnAxisStop.Text = " 停止运动";
this.btnAxisStop.UseVisualStyleBackColor = true;
this.btnAxisStop.Click += new System.EventHandler(this.btnAxisStop_Click);
//
// txtAxisValue
//
this.txtAxisValue.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.txtAxisValue.Location = new System.Drawing.Point(89, 106);
this.txtAxisValue.MaxLength = 10;
this.txtAxisValue.Name = "txtAxisValue";
this.txtAxisValue.ReadOnly = true;
this.txtAxisValue.Size = new System.Drawing.Size(68, 26);
this.txtAxisValue.TabIndex = 242;
this.txtAxisValue.Text = "0";
//
// txtAxisDeviceName
//
this.txtAxisDeviceName.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.txtAxisDeviceName.Location = new System.Drawing.Point(89, 72);
this.txtAxisDeviceName.MaxLength = 10;
this.txtAxisDeviceName.Name = "txtAxisDeviceName";
this.txtAxisDeviceName.ReadOnly = true;
this.txtAxisDeviceName.Size = new System.Drawing.Size(68, 26);
this.txtAxisDeviceName.TabIndex = 241;
this.txtAxisDeviceName.Text = "0";
//
// label45
//
this.label45.AutoSize = true;
this.label45.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label45.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
this.label45.Location = new System.Drawing.Point(32, 77);
this.label45.Name = "label45";
this.label45.Size = new System.Drawing.Size(56, 17);
this.label45.TabIndex = 240;
this.label45.Text = "端口号:";
this.label45.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// label46
//
this.label46.AutoSize = true;
this.label46.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label46.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
this.label46.Location = new System.Drawing.Point(44, 111);
this.label46.Name = "label46";
this.label46.Size = new System.Drawing.Size(44, 17);
this.label46.TabIndex = 239;
this.label46.Text = "地址:";
this.label46.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// label49
//
this.label49.AutoSize = true;
this.label49.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label49.ImageAlign = System.Drawing.ContentAlignment.MiddleRight;
this.label49.Location = new System.Drawing.Point(28, 41);
this.label49.Name = "label49";
this.label49.Size = new System.Drawing.Size(60, 17);
this.label49.TabIndex = 233;
this.label49.Text = "AC伺服:";
this.label49.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
//
// AxisMoveControl
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.Controls.Add(this.groupAxis);
this.Name = "AxisMoveControl";
this.Size = new System.Drawing.Size(678, 388);
this.groupAxis.ResumeLayout(false);
this.groupAxis.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.GroupBox groupAxis;
private System.Windows.Forms.ComboBox comboBox1;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Button btnReadHomeSingle;
private System.Windows.Forms.TextBox txtHomeSingle;
private System.Windows.Forms.Label label16;
private System.Windows.Forms.Label label15;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label11;
private System.Windows.Forms.TextBox txtHomeStatus;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Label label10;
private System.Windows.Forms.TextBox txtBusyStatus;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.TextBox txtAlarmStatus;
private System.Windows.Forms.Button btnGetAlarm;
internal System.Windows.Forms.Button btnReadPosition;
private System.Windows.Forms.Label lblServerOn;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.Label label8;
internal System.Windows.Forms.Button btnOpenAxis;
internal System.Windows.Forms.Button btnCloseAxis;
private System.Windows.Forms.TextBox lblCountPulse;
internal System.Windows.Forms.TextBox txtASpeed;
private System.Windows.Forms.TextBox lblOutPulse;
internal System.Windows.Forms.Label label47;
internal System.Windows.Forms.Button btnAxisVMove;
internal System.Windows.Forms.Button btnAxisRMove;
internal System.Windows.Forms.Button btnAxisReturnHome;
internal System.Windows.Forms.Button btnAxisAMove;
private System.Windows.Forms.Button btnComAlarmClear;
internal System.Windows.Forms.TextBox txtAPosition;
internal System.Windows.Forms.Label label48;
internal System.Windows.Forms.Button btnAxisStop;
private System.Windows.Forms.TextBox txtAxisValue;
private System.Windows.Forms.TextBox txtAxisDeviceName;
private System.Windows.Forms.Label label45;
private System.Windows.Forms.Label label46;
private System.Windows.Forms.Label label49;
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using OnlineStore.DeviceLibrary;
using OnlineStore.Common;
using System.Threading;
using OnlineStore.LoadCSVLibrary;
namespace OnlineStore.AssemblyLine
{
public partial class AxisMoveControl : UserControl
{
private List<ConfigMoveAxis> axisList = new List<ConfigMoveAxis>();
private AC_BOX_Bean boxBean= null;
private string PortName = "";
private int SlvAddr = 0;
public AxisMoveControl( )
{
InitializeComponent();
}
public void LoadData(AC_BOX_Bean boxBean, params ConfigMoveAxis[] moveAxis)
{
this.boxBean = boxBean;
axisList = new List<ConfigMoveAxis>(moveAxis);
if (axisList.Count > 0)
{
comboBox1.Items.Clear();
foreach (ConfigMoveAxis a in axisList)
{
comboBox1.Items.Add(a.Explain);
}
comboBox1.SelectedIndex = 0;
PortName = moveAxis[0].DeviceName;
SlvAddr = moveAxis[0].GetAxisValue();
txtAxisDeviceName.Text = PortName;
txtAxisValue.Text = SlvAddr.ToString();
}
}
private void btnOpenAxis_Click(object sender, EventArgs e)
{
string portName = txtAxisDeviceName.Text;
short SlvAddr = FormUtil.GetShortValue(txtAxisValue);
ACServerManager.OpenPort(portName);
ACServerManager.AlarmClear(portName, SlvAddr);
Thread.Sleep(100);
ACServerManager.ServoOn(portName, SlvAddr);
LogUtil.info("点击【打开伺服】,端口号【" + PortName + "】地址【" + SlvAddr + "】 ");
// boxBean.OpenAxis(axisList[comboBox1.SelectedIndex]);
}
private void btnCloseAxis_Click(object sender, EventArgs e)
{
LogUtil.info("点击【关闭伺服】,端口号【" + PortName + "】地址【" + SlvAddr + "】 ");
ACServerManager.ServoOff(PortName, SlvAddr);
// boxBean.CloseAxis(axisList[comboBox1.SelectedIndex]);
}
private void btnAxisAMove_Click(object sender, EventArgs e)
{
int position = FormUtil.GetIntValue(txtAPosition);
int speed = FormUtil.GetIntValue(txtASpeed);
LogUtil.info("点击【绝对运动】,端口号【" + PortName + "】地址【" + SlvAddr + "】位置【" + position + "】速度【" + speed + "】");
ACServerManager.AbsMove(PortName, SlvAddr, position, speed);
}
private void btnAxisRMove_Click(object sender, EventArgs e)
{
int position = FormUtil.GetIntValue(txtAPosition);
int speed = FormUtil.GetIntValue(txtASpeed);
LogUtil.info("点击【相对运动】,端口号【" + PortName + "】地址【" + SlvAddr + "】位置【" + position + "】速度【" + speed + "】");
ACServerManager.RelMove(PortName, SlvAddr, position, speed);
}
private void btnAxisVMove_Click(object sender, EventArgs e)
{
int speed = FormUtil.GetIntValue(txtASpeed);
LogUtil.info("点击【匀速运动】,端口号【" + PortName + "】地址【" + SlvAddr + "】 速度【" + speed + "】");
ACServerManager.SpeedMove(PortName, SlvAddr, speed);
}
private void btnAxisStop_Click(object sender, EventArgs e)
{
LogUtil.info("点击【停止运动】,端口号【" + PortName + "】地址【" + SlvAddr + "】 ");
ACServerManager.SuddenStop(PortName, SlvAddr);
}
private void btnComAlarmClear_Click(object sender, EventArgs e)
{
LogUtil.info("点击【清理报警】,端口号【" + PortName + "】地址【" + SlvAddr + "】 ");
ACServerManager.AlarmClear(PortName, SlvAddr);
Thread.Sleep(100);
ACServerManager.ServoOn(PortName, SlvAddr);
}
private void btnAxisReturnHome_Click(object sender, EventArgs e)
{
int speed = FormUtil.GetIntValue(txtASpeed);
LogUtil.info("点击【原点返回】,端口号【" + PortName + "】地址【" + SlvAddr + "】 速度【" + speed + "】");
ACServerManager.HomeMove(PortName, SlvAddr, speed);
}
private void btnGetAlarm_Click(object sender, EventArgs e)
{
int value = ACServerManager.GetAlarmStatus(PortName, SlvAddr);
this.txtAlarmStatus.Text = value.ToString();
}
private void button1_Click(object sender, EventArgs e)
{
int value = ACServerManager.GetBusyStatus(PortName, SlvAddr);
this.txtBusyStatus.Text = value.ToString();
}
private void button2_Click(object sender, EventArgs e)
{
int value = ACServerManager.GetHomeEndStatus(PortName, SlvAddr);
this.txtHomeStatus.Text = value.ToString();
}
private void btnReadHomeSingle_Click(object sender, EventArgs e)
{
int value = ACServerManager.GetHomeSingle(PortName, SlvAddr);
this.txtHomeSingle.Text = value.ToString();
}
private void btnReadPosition_Click(object sender, EventArgs e)
{
lblOutPulse.Text = ACServerManager.GetTargetPosition(PortName, SlvAddr).ToString();
lblCountPulse.Text = ACServerManager.GetActualtPosition(PortName, SlvAddr).ToString();
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox1.SelectedIndex > 0)
{
ConfigMoveAxis axis = axisList[comboBox1.SelectedIndex];
PortName = axis.DeviceName;
SlvAddr = axis.GetAxisValue();
txtAxisDeviceName.Text = PortName;
txtAxisValue.Text = SlvAddr.ToString();
}
}
}
}
<?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>
</root>
\ No newline at end of file \ No newline at end of file
...@@ -89,9 +89,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -89,9 +89,9 @@ namespace OnlineStore.DeviceLibrary
Thread.Sleep(300); Thread.Sleep(300);
//默认三个灯都亮 //默认三个灯都亮
IOManager.IOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW); IOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW); IOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW); IOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW);
} }
private void IoCheckTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) private void IoCheckTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
...@@ -199,9 +199,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -199,9 +199,9 @@ namespace OnlineStore.DeviceLibrary
WarnMsg = ""; WarnMsg = "";
CurrInOutACount = 0; CurrInOutACount = 0;
CurrInOutCount = 0; CurrInOutCount = 0;
IOManager.IOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW); IOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.AutoRun_HddLed, IO_VALUE.HIGH); IOMove(IO_Type.AutoRun_HddLed, IO_VALUE.HIGH);
IOManager.IOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW); IOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW);
storeRunStatus = StoreRunStatus.HomeMoving; storeRunStatus = StoreRunStatus.HomeMoving;
MoveInfo.NewMove(StoreMoveType.ReturnHome); MoveInfo.NewMove(StoreMoveType.ReturnHome);
...@@ -228,9 +228,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -228,9 +228,9 @@ namespace OnlineStore.DeviceLibrary
CurrInOutCount = 0; CurrInOutCount = 0;
CurrInOutACount = 0; CurrInOutACount = 0;
IOManager.IOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW); IOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.AutoRun_HddLed, IO_VALUE.HIGH); IOMove(IO_Type.AutoRun_HddLed, IO_VALUE.HIGH);
IOManager.IOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW); IOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW);
//复位之前先停止运行 //复位之前先停止运行
if (isNeedClearAuto) if (isNeedClearAuto)
{ {
...@@ -381,25 +381,25 @@ namespace OnlineStore.DeviceLibrary ...@@ -381,25 +381,25 @@ namespace OnlineStore.DeviceLibrary
} }
public void OpenDoor(bool IsWait = true) public void OpenDoor(bool IsWait = true)
{ {
Thread.Sleep(60); //Thread.Sleep(60);
IOManager.IOMove(IO_Type.Door_Down, IO_VALUE.LOW); //IOMove(IO_Type.Door_Down, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.Door_Up, IO_VALUE.HIGH); //IOMove(IO_Type.Door_Up, IO_VALUE.HIGH);
if (IsWait) //if (IsWait)
{ //{
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Door_Down, IO_VALUE.LOW)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Door_Down, IO_VALUE.LOW));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Door_Up, IO_VALUE.HIGH)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Door_Up, IO_VALUE.HIGH));
} //}
} }
public void CloseDoor(bool IsWait = true) public void CloseDoor(bool IsWait = true)
{ {
IOManager.IOMove(IO_Type.Door_Down, IO_VALUE.HIGH); //IOMove(IO_Type.Door_Down, IO_VALUE.HIGH);
IOManager.IOMove(IO_Type.Door_Up, IO_VALUE.LOW); //IOMove(IO_Type.Door_Up, IO_VALUE.LOW);
if (IsWait) //if (IsWait)
{ //{
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Door_Down, IO_VALUE.HIGH)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Door_Down, IO_VALUE.HIGH));
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Door_Up, IO_VALUE.LOW)); // MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.Door_Up, IO_VALUE.LOW));
} //}
} }
...@@ -476,7 +476,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -476,7 +476,7 @@ namespace OnlineStore.DeviceLibrary
public bool RunAxis(bool isCheck) public bool RunAxis(bool isCheck)
{ {
IOManager.IOMove(IO_Type.Run_Signal, IO_VALUE.HIGH); IOMove(IO_Type.Run_Signal, IO_VALUE.HIGH);
Thread.Sleep(1000); Thread.Sleep(1000);
//打开所有轴 //打开所有轴
foreach (ConfigMoveAxis moveAxis in moveAxisList) foreach (ConfigMoveAxis moveAxis in moveAxisList)
...@@ -506,7 +506,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -506,7 +506,7 @@ namespace OnlineStore.DeviceLibrary
} }
} }
IsIntSlvBlock = true; IsIntSlvBlock = true;
IOManager.IOMove(IO_Type.Axis_Brake, IO_VALUE.HIGH); IOMove(IO_Type.Axis_Brake, IO_VALUE.HIGH);
return true; return true;
} }
/// <summary> /// <summary>
...@@ -551,7 +551,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -551,7 +551,7 @@ namespace OnlineStore.DeviceLibrary
public void CloseAllAxis() public void CloseAllAxis()
{ {
LogUtil.info(Name + "关闭刹车,关闭伺服"); LogUtil.info(Name + "关闭刹车,关闭伺服");
IOManager.IOMove(IO_Type.Axis_Brake, IO_VALUE.LOW); IOMove(IO_Type.Axis_Brake, IO_VALUE.LOW);
foreach (ConfigMoveAxis axis in moveAxisList) foreach (ConfigMoveAxis axis in moveAxisList)
{ {
ACServerManager.ServoOff(axis.DeviceName, axis.GetAxisValue()); ACServerManager.ServoOff(axis.DeviceName, axis.GetAxisValue());
...@@ -559,7 +559,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -559,7 +559,7 @@ namespace OnlineStore.DeviceLibrary
// ACServerManager.ColsePort(axis.DeviceName); // ACServerManager.ColsePort(axis.DeviceName);
} }
Thread.Sleep(100); Thread.Sleep(100);
IOManager.IOMove(IO_Type.Run_Signal, IO_VALUE.LOW); IOMove(IO_Type.Run_Signal, IO_VALUE.LOW);
} }
private int GetAlarmCodeByAxis(ConfigMoveAxis axis) private int GetAlarmCodeByAxis(ConfigMoveAxis axis)
...@@ -622,14 +622,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -622,14 +622,14 @@ namespace OnlineStore.DeviceLibrary
if (alarmType.Equals(StoreAlarmType.AxisAlarm) | alarmType.Equals(StoreAlarmType.AxisMoveError)) if (alarmType.Equals(StoreAlarmType.AxisAlarm) | alarmType.Equals(StoreAlarmType.AxisMoveError))
{ {
LogUtil.error(LOGGER, Name + "轴报警,关闭刹车,停止运动,关闭轴,打开报警灯"); LogUtil.error(LOGGER, Name + "轴报警,关闭刹车,停止运动,关闭轴,打开报警灯");
IOManager.IOMove(IO_Type.Axis_Brake, IO_VALUE.LOW); IOMove(IO_Type.Axis_Brake, IO_VALUE.LOW);
StopMove( ); StopMove( );
} }
else if (alarmType == StoreAlarmType.SuddenStop) else if (alarmType == StoreAlarmType.SuddenStop)
{ {
isInSuddenDown = true; isInSuddenDown = true;
LogUtil.error(LOGGER, Name + "收到急停信号,关闭刹车,停止运动,关闭轴,打开报警灯 "); LogUtil.error(LOGGER, Name + "收到急停信号,关闭刹车,停止运动,关闭轴,打开报警灯 ");
IOManager.IOMove(IO_Type.Axis_Brake, IO_VALUE.LOW); IOMove(IO_Type.Axis_Brake, IO_VALUE.LOW);
MoveInfo.EndMove(); MoveInfo.EndMove();
StopMove( ); StopMove( );
storeStatus = StoreStatus.SuddenStop; storeStatus = StoreStatus.SuddenStop;
...@@ -638,7 +638,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -638,7 +638,7 @@ namespace OnlineStore.DeviceLibrary
{ {
isNoAirCheck = true; isNoAirCheck = true;
LogUtil.error(LOGGER, Name + " 未检测到气压信号 ,打开刹车,停止运动,关闭轴,打开报警灯 "); LogUtil.error(LOGGER, Name + " 未检测到气压信号 ,打开刹车,停止运动,关闭轴,打开报警灯 ");
IOManager.IOMove(IO_Type.Axis_Brake, IO_VALUE.LOW); IOMove(IO_Type.Axis_Brake, IO_VALUE.LOW);
MoveInfo.EndMove(); MoveInfo.EndMove();
StopMove( ); StopMove( );
storeStatus = StoreStatus.SuddenStop; storeStatus = StoreStatus.SuddenStop;
...@@ -768,13 +768,13 @@ namespace OnlineStore.DeviceLibrary ...@@ -768,13 +768,13 @@ namespace OnlineStore.DeviceLibrary
} }
if (isNeedAlarmLed && IOValue(IO_Type.Alarm_HddLed).Equals(IO_VALUE.LOW)) if (isNeedAlarmLed && IOValue(IO_Type.Alarm_HddLed).Equals(IO_VALUE.LOW))
{ {
IOManager.IOMove(IO_Type.Alarm_HddLed, IO_VALUE.HIGH); IOMove(IO_Type.Alarm_HddLed, IO_VALUE.HIGH);
} }
else else
{ {
if (IOValue(IO_Type.Alarm_HddLed).Equals(IO_VALUE.HIGH)) if (IOValue(IO_Type.Alarm_HddLed).Equals(IO_VALUE.HIGH))
{ {
IOManager.IOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW); IOMove(IO_Type.Alarm_HddLed, IO_VALUE.LOW);
} }
} }
...@@ -784,11 +784,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -784,11 +784,11 @@ namespace OnlineStore.DeviceLibrary
{ {
if (IOValue(IO_Type.AutoRun_HddLed).Equals(IO_VALUE.HIGH)) if (IOValue(IO_Type.AutoRun_HddLed).Equals(IO_VALUE.HIGH))
{ {
IOManager.IOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW); IOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW);
} }
if (IOValue(IO_Type.RunSign_HddLed).Equals(IO_VALUE.HIGH)) if (IOValue(IO_Type.RunSign_HddLed).Equals(IO_VALUE.HIGH))
{ {
IOManager.IOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW); IOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW);
} }
return; return;
} }
...@@ -798,30 +798,30 @@ namespace OnlineStore.DeviceLibrary ...@@ -798,30 +798,30 @@ namespace OnlineStore.DeviceLibrary
|| storeRunStatus.Equals(StoreRunStatus.HomeMoving) || storeRunStatus.Equals(StoreRunStatus.Reset)) || storeRunStatus.Equals(StoreRunStatus.HomeMoving) || storeRunStatus.Equals(StoreRunStatus.Reset))
&& IOValue(IO_Type.AutoRun_HddLed).Equals(IO_VALUE.HIGH)) && IOValue(IO_Type.AutoRun_HddLed).Equals(IO_VALUE.HIGH))
{ {
IOManager.IOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW); IOMove(IO_Type.AutoRun_HddLed, IO_VALUE.LOW);
} }
else else
{ {
//绿灯亮 //绿灯亮
IOManager.IOMove(IO_Type.AutoRun_HddLed, IO_VALUE.HIGH); IOMove(IO_Type.AutoRun_HddLed, IO_VALUE.HIGH);
} }
//黄灯 //黄灯
if (MoveInfo.MoveType.Equals(StoreMoveType.InStore) || MoveInfo.MoveType.Equals(StoreMoveType.OutStore) || TempOrHumidityIsAlarm || isTemp30M) if (MoveInfo.MoveType.Equals(StoreMoveType.InStore) || MoveInfo.MoveType.Equals(StoreMoveType.OutStore) || TempOrHumidityIsAlarm || isTemp30M)
{ {
if (IOValue(IO_Type.RunSign_HddLed).Equals(IO_VALUE.HIGH)) if (IOValue(IO_Type.RunSign_HddLed).Equals(IO_VALUE.HIGH))
{ {
IOManager.IOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW); IOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW);
} }
else else
{ {
IOManager.IOMove(IO_Type.RunSign_HddLed, IO_VALUE.HIGH); IOMove(IO_Type.RunSign_HddLed, IO_VALUE.HIGH);
} }
} }
else else
{ {
if (IOValue(IO_Type.RunSign_HddLed).Equals(IO_VALUE.HIGH)) if (IOValue(IO_Type.RunSign_HddLed).Equals(IO_VALUE.HIGH))
{ {
IOManager.IOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW); IOMove(IO_Type.RunSign_HddLed, IO_VALUE.LOW);
} }
} }
} }
...@@ -1093,7 +1093,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -1093,7 +1093,7 @@ namespace OnlineStore.DeviceLibrary
public override void StopMove( ) public override void StopMove( )
{ {
IOManager.IOMove(IO_Type.Axis_Brake, IO_VALUE.LOW); IOMove(IO_Type.Axis_Brake, IO_VALUE.LOW);
//运动版停止 //运动版停止
ACServerManager.SuddenStop(Config.Middle_Axis.DeviceName, Config.Middle_Axis.GetAxisValue()); ACServerManager.SuddenStop(Config.Middle_Axis.DeviceName, Config.Middle_Axis.GetAxisValue());
ACServerManager.SuddenStop(Config.UpDown_Axis.DeviceName, Config.UpDown_Axis.GetAxisValue()); ACServerManager.SuddenStop(Config.UpDown_Axis.DeviceName, Config.UpDown_Axis.GetAxisValue());
...@@ -1105,8 +1105,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -1105,8 +1105,8 @@ namespace OnlineStore.DeviceLibrary
CloseAllAxis(); CloseAllAxis();
LogUtil.info(LOGGER, Name + "StopMove"); LogUtil.info(LOGGER, Name + "StopMove");
IOManager.IOMove(IO_Type.Door_Down, IO_VALUE.LOW); //IOMove(IO_Type.Door_Down, IO_VALUE.LOW);
IOManager.IOMove(IO_Type.Door_Up, IO_VALUE.LOW); //IOMove(IO_Type.Door_Up, IO_VALUE.LOW);
isInPro = false; isInPro = false;
} }
...@@ -1318,7 +1318,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -1318,7 +1318,7 @@ namespace OnlineStore.DeviceLibrary
LOGGER.Info("当前最大湿度:" + currMaxHumidity.ToString() + ",开始吹气湿度:" + startBlowHumidity + ",当前不在吹气中,且间隔超过" + Config.BlowAir_Interval + "分钟,开始吹气!"); LOGGER.Info("当前最大湿度:" + currMaxHumidity.ToString() + ",开始吹气湿度:" + startBlowHumidity + ",当前不在吹气中,且间隔超过" + Config.BlowAir_Interval + "分钟,开始吹气!");
IsInBlowing = true; IsInBlowing = true;
//Thread.Sleep(100); //Thread.Sleep(100);
IOManager.IOMove(IO_Type.StartOrStopBlow, IO_VALUE.HIGH); IOMove(IO_Type.StartOrStopBlow, IO_VALUE.HIGH);
LastBeginBlowTime = DateTime.Now; LastBeginBlowTime = DateTime.Now;
LastEndBlowTime = DateTime.Now; LastEndBlowTime = DateTime.Now;
} }
...@@ -1328,7 +1328,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -1328,7 +1328,7 @@ namespace OnlineStore.DeviceLibrary
{ {
LOGGER.Info("当前最大湿度:" + currMaxHumidity.ToString() + ",停止吹气湿度:" + stopBlowHumidity + ",停止吹气!"); LOGGER.Info("当前最大湿度:" + currMaxHumidity.ToString() + ",停止吹气湿度:" + stopBlowHumidity + ",停止吹气!");
IsInBlowing = false; IsInBlowing = false;
IOManager.IOMove(IO_Type.StartOrStopBlow, IO_VALUE.LOW); IOMove(IO_Type.StartOrStopBlow, IO_VALUE.LOW);
LastEndBlowTime = DateTime.Now; LastEndBlowTime = DateTime.Now;
} }
if (IsInBlowing) if (IsInBlowing)
...@@ -1340,7 +1340,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -1340,7 +1340,7 @@ namespace OnlineStore.DeviceLibrary
LOGGER.Info("已经吹气" + span.TotalMinutes + "分钟,超过配置的吹气时间" + Config.BlowAir_Time + "分钟,停止吹气!"); LOGGER.Info("已经吹气" + span.TotalMinutes + "分钟,超过配置的吹气时间" + Config.BlowAir_Time + "分钟,停止吹气!");
IsInBlowing = false; IsInBlowing = false;
//Thread.Sleep(100); //Thread.Sleep(100);
IOManager.IOMove(IO_Type.StartOrStopBlow, IO_VALUE.LOW); IOMove(IO_Type.StartOrStopBlow, IO_VALUE.LOW);
LastEndBlowTime = DateTime.Now; LastEndBlowTime = DateTime.Now;
} }
} }
...@@ -1355,7 +1355,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -1355,7 +1355,7 @@ namespace OnlineStore.DeviceLibrary
LOGGER.Info("当前温度【" + param.Temperate + "】超过最高温度【" + Max_Temperature + "】,开始报警!"); LOGGER.Info("当前温度【" + param.Temperate + "】超过最高温度【" + Max_Temperature + "】,开始报警!");
needAlarm = true; needAlarm = true;
//Thread.Sleep(100); //Thread.Sleep(100);
IOManager.IOMove(IO_Type.StartOrStopBlow, IO_VALUE.LOW); IOMove(IO_Type.StartOrStopBlow, IO_VALUE.LOW);
} }
else if (temp < Max_Temperature) else if (temp < Max_Temperature)
{ {
...@@ -1364,7 +1364,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -1364,7 +1364,7 @@ namespace OnlineStore.DeviceLibrary
LOGGER.Info("不在吹气中,且当前温度【" + param.Temperate + "】低于【" + Max_Temperature + "】,关闭报警!"); LOGGER.Info("不在吹气中,且当前温度【" + param.Temperate + "】低于【" + Max_Temperature + "】,关闭报警!");
TempOrHumidityIsAlarm = false; TempOrHumidityIsAlarm = false;
//Thread.Sleep(100); //Thread.Sleep(100);
IOManager.IOMove(IO_Type.StartOrStopBlow, IO_VALUE.LOW); IOMove(IO_Type.StartOrStopBlow, IO_VALUE.LOW);
} }
} }
else else
......
...@@ -658,15 +658,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -658,15 +658,14 @@ namespace OnlineStore.DeviceLibrary
//NeedCheckSafetyLight = 1; //NeedCheckSafetyLight = 1;
} }
public bool InOutAxisCanMove() public bool InOutAxisCanMove()
{ {
//if (IOValue(IO_Type.LocationCylinder_Down).Equals(IO_VALUE.HIGH)
if (IOValue(IO_Type.LocationCylinder_Down).Equals(IO_VALUE.HIGH) // && IOValue(IO_Type.LocationCylinder_Up).Equals(IO_VALUE.LOW)
&& IOValue(IO_Type.LocationCylinder_Up).Equals(IO_VALUE.LOW) // && IOValue(IO_Type.LocationCylinder2_Down).Equals(IO_VALUE.HIGH)
&& IOValue(IO_Type.LocationCylinder2_Down).Equals(IO_VALUE.HIGH) // && IOValue(IO_Type.LocationCylinder2_Up).Equals(IO_VALUE.LOW))
&& IOValue(IO_Type.LocationCylinder2_Up).Equals(IO_VALUE.LOW)) //{
{ // return true;
return true; //}
}
return false; return false;
} }
......
...@@ -21,7 +21,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -21,7 +21,7 @@ namespace OnlineStore.DeviceLibrary
public static readonly ILog LOGGER = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); public static readonly ILog LOGGER = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
public static PackingStoreBean Store = null; public static PackingStoreBean Store = null;
public static Store_Config Config = null; public static Store_Config Config = null;
public static Dictionary<int, StoreConfig> AllConfigMap = null; public static Dictionary<int, BaseConfig> AllConfigMap = null;
private static bool isInit = false; private static bool isInit = false;
public static bool IsConnectServer = !ConfigAppSettings.GetValue(Setting_Init.http_server).Equals(""); public static bool IsConnectServer = !ConfigAppSettings.GetValue(Setting_Init.http_server).Equals("");
public StoreManager() public StoreManager()
...@@ -49,8 +49,8 @@ namespace OnlineStore.DeviceLibrary ...@@ -49,8 +49,8 @@ namespace OnlineStore.DeviceLibrary
{ {
try try
{ {
AllConfigMap = new Dictionary<int, StoreConfig>(); AllConfigMap = new Dictionary<int, BaseConfig>();
StoreConfig.ProIOIpMap = new Dictionary<string, string>(); BaseConfig.ProIOIpMap = new Dictionary<string, string>();
if (!isInit) if (!isInit)
{ {
string server = ConfigAppSettings.GetValue(Setting_Init.http_server); string server = ConfigAppSettings.GetValue(Setting_Init.http_server);
......
类型,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义,SlaveID, 类型,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义,SlaveID,
DI,急停,SuddenStop_BTN,0,PRO_AOI_IP_1,0,急停,X01,DI-01,0,
DI,复位,Reset_BTN,1,PRO_AOI_IP_1,0,复位,X02,DI-02,0,
DI,气压检测,Airpressure_Check,2,PRO_AOI_IP_1,0,门禁,X03,DI-03,0,
DI,L侧门禁,DoorLimit,3,PRO_AOI_IP_1,0,料盘检测1(进料口),X04,DI-04,0, DI,L侧门禁,DoorLimit,3,PRO_AOI_IP_1,0,料盘检测1(进料口),X04,DI-04,0,
,,,,,,,,,, ,,,,,,,,,,
DI,L侧料盘检测1(识别区),TrayCheck_1,0,PRO_AOI_IP_2,0,L侧料盘检测1(识别区),X21,DI-21,0, DI,L侧料盘检测1(识别区),TrayCheck_1,0,PRO_AOI_IP_2,0,L侧料盘检测1(识别区),X21,DI-21,0,
...@@ -102,7 +105,7 @@ PRO,(轴二)升降轴最大限位,UpdownAxis_PositionMax,0,,,,,,, ...@@ -102,7 +105,7 @@ PRO,(轴二)升降轴最大限位,UpdownAxis_PositionMax,0,,,,,,,
PRO,(轴三)进出轴最大限位,InoutAxis_PositionMax,0,,,,,,, PRO,(轴三)进出轴最大限位,InoutAxis_PositionMax,0,,,,,,,
,,,,,,,,, , ,,,,,,,,, ,
,,,,,,,,, , ,,,,,,,,, ,
,,,,,,,,,,
PRO,气压检测IO关闭需要持续的时间,AirCheckSeconds,3,,,,,,, PRO,气压检测IO关闭需要持续的时间,AirCheckSeconds,3,,,,,,,
,,,,,,,,,, ,,,,,,,,,,
PRO,预警温度,WarnTemperate,80,,,,,, , PRO,预警温度,WarnTemperate,80,,,,,, ,
......
类型,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义,SlaveID, 类型,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义,SlaveID,
DI,急停,SuddenStop_BTN,0,PRO_AOI_IP_1,0,急停,X01,DI-01,0,
DI,复位,Reset_BTN,1,PRO_AOI_IP_1,0,复位,X02,DI-02,0,
DI,气压检测,Airpressure_Check,2,PRO_AOI_IP_1,0,门禁,X03,DI-03,0,
DI,R侧门禁,DoorLimit,4,PRO_AOI_IP_1,0,料盘检测2(料叉),X05,DI-05,0, DI,R侧门禁,DoorLimit,4,PRO_AOI_IP_1,0,料盘检测2(料叉),X05,DI-05,0,
,,,,,,,,,, ,,,,,,,,,,
DI,R侧料盘检测1(识别区),TrayCheck_1,0,PRO_AOI_IP_3,0,R侧料盘检测1(识别区),X41,DI-41,0, DI,R侧料盘检测1(识别区),TrayCheck_1,0,PRO_AOI_IP_3,0,R侧料盘检测1(识别区),X41,DI-41,0,
......
类型,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义,SlaveID, 类型,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义,SlaveID,
PRO,IO模块对应的DI数量,IO_DILength,192.168.100.30#8;192.168.100.32#8;192.168.100.34#8;192.168.100.36#8;192.168.100.38#8;,,,,, PRO,IO模块对应的DI数量,IO_DILength,192.168.100.30#8;192.168.100.32#8;192.168.100.34#8;192.168.100.36#8;192.168.100.38#8;,,,,,
PRO,IO模块对应的DO数量,IO_DOLength,192.168.100.30#8;192.168.100.32#8;192.168.100.34#8;192.168.100.36#8;192.168.100.38#8;,,,,, PRO,IO模块对应的DO数量,IO_DOLength,192.168.100.30#8;192.168.100.32#8;192.168.100.34#8;192.168.100.36#8;192.168.100.38#8;,,,,,
PRO,是否有仓门,HasDoor,1,,,,,,,
PRO,IO模块IP,PRO_AOI_IP_1,192.168.200.11,,,,,,, PRO,IO模块IP,PRO_AOI_IP_1,192.168.200.11,,,,,,,
PRO,IO模块IP,PRO_AOI_IP_2,192.168.200.12,,,,,,, PRO,IO模块IP,PRO_AOI_IP_2,192.168.200.12,,,,,,,
PRO,IO模块IP,PRO_AOI_IP_3,192.168.200.13,,,,,,, PRO,IO模块IP,PRO_AOI_IP_3,192.168.200.13,,,,,,,
...@@ -41,18 +40,5 @@ DO,NG料线体电机运转,NGLine_Run,4,PRO_AOI_IP_1,0,NG料线体电机运转,Y05,DO-05,0, ...@@ -41,18 +40,5 @@ DO,NG料线体电机运转,NGLine_Run,4,PRO_AOI_IP_1,0,NG料线体电机运转,Y05,DO-05,0,
,,,14,PRO_AOI_IP_1,0,,Y15,DO-15,0, ,,,14,PRO_AOI_IP_1,0,,Y15,DO-15,0,
,,,15,PRO_AOI_IP_1,0,,Y16,DO-16,0, ,,,15,PRO_AOI_IP_1,0,,Y16,DO-16,0,
,,,,,,,,,, ,,,,,,,,,,
,,,,,,,,,, ,,,,,,,,,,
,,,,,,,,,,
PRO,气压检测IO关闭需要持续的时间,AirCheckSeconds,3,,,,,,, PRO,气压检测IO关闭需要持续的时间,AirCheckSeconds,3,,,,,,,
,,,,,,,,,,
PRO,预警温度,WarnTemperate,80,,,,,, ,
PRO,预警湿度,WarnHumidity,80,,,,,, ,
PRO,出入库多少次,会自动重置旋转轴,Box_ResetMCount,1000,,,,,,,
PRO,出入库多少次,会自动重置所有轴操作,Box_ResetACount,100,,,,,,,
PRO,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,,
PRO,是否使用料盘检测信号,IsUse_Tray_Check,0,,,,,,,
PRO,需要吹气的温度(温度标准),Max_Temperature,0,,,,,,,
PRO,需要吹气的湿度(湿度标准),Max_Humidity,10,,,,,,,
PRO,每次吹气的时间(分钟),BlowAir_Time,10,,,,,,,
PRO,两次吹气间隔(分钟),BlowAir_Interval,10,,,,,,,
PRO,温湿度端口号,Humiture_Port,COM2,,,,,,,
...@@ -34,7 +34,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -34,7 +34,7 @@ namespace OnlineStore.DeviceLibrary
protected static readonly ILog LOGGER = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); protected static readonly ILog LOGGER = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
public string Name { get; set; } public string Name { get; set; }
public int DeviceID { get; set; } public int DeviceID { get; set; }
public StoreConfig baseConfig = null; public BaseConfig baseConfig = null;
/// <summary> /// <summary>
/// 料仓状态 /// 料仓状态
/// </summary> /// </summary>
......
...@@ -59,7 +59,7 @@ ...@@ -59,7 +59,7 @@
<Compile Include="position\CSVPositionReader.cs" /> <Compile Include="position\CSVPositionReader.cs" />
<Compile Include="CSVReaderBase.cs" /> <Compile Include="CSVReaderBase.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="storeConfig\config\StoreConfig.cs" /> <Compile Include="storeConfig\config\BaseConfig.cs" />
<Compile Include="position\StorePostionBase.cs" /> <Compile Include="position\StorePostionBase.cs" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
......
...@@ -136,21 +136,21 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -136,21 +136,21 @@ namespace OnlineStore.LoadCSVLibrary
public static AC_BOX_Config LoadBoxConfig(int storeId, string cid, string storeType, string linefilePath) public static AC_BOX_Config LoadBoxConfig(int storeId, string cid, string storeType, string linefilePath)
{ {
StoreConfig config = null; BaseConfig config = null;
config = new AC_BOX_Config(storeId, cid, storeType, linefilePath); config = new AC_BOX_Config(storeId, cid, storeType, linefilePath);
return (AC_BOX_Config)LoadConfig(config); return (AC_BOX_Config)LoadConfig(config);
} }
public static Store_Config LoadLineConfig(int storeId, string cid, string storeType, string linefilePath) public static Store_Config LoadLineConfig(int storeId, string cid, string storeType, string linefilePath)
{ {
StoreConfig config = null; BaseConfig config = null;
config = new Store_Config(storeId, cid, storeType, linefilePath); config = new Store_Config(storeId, cid, storeType, linefilePath);
return (Store_Config)LoadConfig(config); return (Store_Config)LoadConfig(config);
} }
public static StoreConfig LoadConfig(int storeId, string cid, string storeType, string filePath) public static BaseConfig LoadConfig(int storeId, string cid, string storeType, string filePath)
{ {
StoreConfig config = null; BaseConfig config = null;
if (storeType.Equals(StoreType.RC_AC_SA)) if (storeType.Equals(StoreType.RC_AC_SA))
{ {
config = new AC_BOX_Config(storeId, cid, storeType, filePath); config = new AC_BOX_Config(storeId, cid, storeType, filePath);
...@@ -162,7 +162,7 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -162,7 +162,7 @@ namespace OnlineStore.LoadCSVLibrary
return LoadConfig(config); return LoadConfig(config);
} }
public static StoreConfig LoadConfig(StoreConfig config) public static BaseConfig LoadConfig(BaseConfig config)
{ {
LOGGER.Info("开始读取文件:" + config.ConfigFilePath); LOGGER.Info("开始读取文件:" + config.ConfigFilePath);
if (config == null || config.ConfigFilePath.Equals("")) if (config == null || config.ConfigFilePath.Equals(""))
......
...@@ -218,9 +218,9 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -218,9 +218,9 @@ namespace OnlineStore.LoadCSVLibrary
{ {
if (String.IsNullOrEmpty(IP)) if (String.IsNullOrEmpty(IP))
{ {
if (StoreConfig.ProIOIpMap != null && StoreConfig.ProIOIpMap.ContainsKey(DeviceName)) if (BaseConfig.ProIOIpMap != null && BaseConfig.ProIOIpMap.ContainsKey(DeviceName))
{ {
IP = StoreConfig.ProIOIpMap[DeviceName]; IP = BaseConfig.ProIOIpMap[DeviceName];
} }
else else
{ {
......
...@@ -6,7 +6,7 @@ using System.Text; ...@@ -6,7 +6,7 @@ using System.Text;
namespace OnlineStore.LoadCSVLibrary namespace OnlineStore.LoadCSVLibrary
{ {
public class AC_BOX_Config : StoreConfig public class AC_BOX_Config : BaseConfig
{ {
public AC_BOX_Config() public AC_BOX_Config()
: base() : base()
...@@ -438,27 +438,27 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -438,27 +438,27 @@ namespace OnlineStore.LoadCSVLibrary
protected override void initMustHavePro() protected override void initMustHavePro()
{ {
MustHaveDIList = new List<string>(); //MustHaveDIList = new List<string>();
MustHaveDOList = new List<string>(); //MustHaveDOList = new List<string>();
MustHaveDIList.Add(IO_Type.SuddenStop_BTN); //MustHaveDIList.Add(IO_Type.SuddenStop_BTN);
MustHaveDIList.Add(IO_Type.Reset_BTN); //MustHaveDIList.Add(IO_Type.Reset_BTN);
MustHaveDIList.Add(IO_Type.DoorLimit); //MustHaveDIList.Add(IO_Type.DoorLimit);
MustHaveDIList.Add(IO_Type.Airpressure_Check); //MustHaveDIList.Add(IO_Type.Airpressure_Check);
MustHaveDIList.Add(IO_Type.TrayCheck_Door); //MustHaveDIList.Add(IO_Type.TrayCheck_Door);
MustHaveDIList.Add(IO_Type.TrayCheck_Fixture); //MustHaveDIList.Add(IO_Type.TrayCheck_Fixture);
MustHaveDIList.Add(IO_Type.Door_Up); //MustHaveDIList.Add(IO_Type.Door_Up);
MustHaveDIList.Add(IO_Type.Door_Down); //MustHaveDIList.Add(IO_Type.Door_Down);
MustHaveDOList.Add(IO_Type.AutoRun_HddLed); //MustHaveDOList.Add(IO_Type.AutoRun_HddLed);
MustHaveDOList.Add(IO_Type.Alarm_HddLed); //MustHaveDOList.Add(IO_Type.Alarm_HddLed);
MustHaveDOList.Add(IO_Type.RunSign_HddLed); //MustHaveDOList.Add(IO_Type.RunSign_HddLed);
MustHaveDOList.Add(IO_Type.StartOrStopBlow); //MustHaveDOList.Add(IO_Type.StartOrStopBlow);
MustHaveDOList.Add(IO_Type.Run_Signal); //MustHaveDOList.Add(IO_Type.Run_Signal);
MustHaveDOList.Add(IO_Type.Door_Up); //MustHaveDOList.Add(IO_Type.Door_Up);
MustHaveDOList.Add(IO_Type.Door_Down); //MustHaveDOList.Add(IO_Type.Door_Down);
MustHaveDOList.Add(IO_Type.Axis_Brake); //MustHaveDOList.Add(IO_Type.Axis_Brake);
} }
public static void ConfigAxis(AC_BOX_Config Config) public static void ConfigAxis(AC_BOX_Config Config)
{ {
......
...@@ -7,7 +7,7 @@ using System.Text; ...@@ -7,7 +7,7 @@ using System.Text;
namespace OnlineStore.LoadCSVLibrary namespace OnlineStore.LoadCSVLibrary
{ {
public class StoreConfig public class BaseConfig
{ {
public static Dictionary<string, string> ProIOIpMap = null; public static Dictionary<string, string> ProIOIpMap = null;
public const string IOIP_Str = "PRO_AOI_IP"; public const string IOIP_Str = "PRO_AOI_IP";
...@@ -62,12 +62,12 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -62,12 +62,12 @@ namespace OnlineStore.LoadCSVLibrary
MustHaveDIList = new List<string>(); MustHaveDIList = new List<string>();
MustHaveDOList = new List<string>(); MustHaveDOList = new List<string>();
} }
public StoreConfig() public BaseConfig()
{ {
initMustHavePro(); initMustHavePro();
} }
public StoreConfig(int id, string cid, string type, string filepath) public BaseConfig(int id, string cid, string type, string filepath)
{ {
initMustHavePro(); initMustHavePro();
MustHaveDIList = new List<string>(); MustHaveDIList = new List<string>();
......
...@@ -24,100 +24,233 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -24,100 +24,233 @@ namespace OnlineStore.LoadCSVLibrary
} }
} }
return TypeList; return TypeList;
} }
/// <summary> /// <summary>
/// 料仓,DI 急停 SuddenStop_BTN X01 DI-01 /// DI 急停 SuddenStop_BTN 0 X01 DI-01
/// </summary> /// </summary>
public static string SuddenStop_BTN = "SuddenStop_BTN"; public static string SuddenStop_BTN = "SuddenStop_BTN";
/// <summary> /// <summary>
/// 料仓 DI 复位 Reset_BTN X02 DI-02 /// DI 复位 Reset_BTN 1 X02 DI-02
/// </summary> /// </summary>
public static string Reset_BTN = "Reset_BTN"; public static string Reset_BTN = "Reset_BTN";
/// <summary> /// <summary>
///DI 自动运行 AutoRun_Signal /// DI 气压检测 Airpressure_Check 2 X03 DI-03
/// </summary> /// </summary>
// public static string AutoRun_Signal = "AutoRun_Signal"; public static string Airpressure_Check = "Airpressure_Check";
///// <summary>
///// DI 料仓门口料盘检测 TrayCheck_1
///// </summary>
//public static string TrayCheck_Door = "TrayCheck_Door";
///// <summary>
///// DI 叉子料盘检测 TrayCheck_Fixture
///// </summary>
//public static string TrayCheck_Fixture = "TrayCheck_Fixture";
///// <summary>
///// 料仓IO。定位气缸上升端(料仓) LocationCylinder_Up
///// </summary>
//public static string LocationCylinder_Up = "LocationCylinder_Up";
///// <summary>
/////料仓IO。 定位气缸下降端(料仓) LocationCylinder_Down
///// </summary>
//public static string LocationCylinder_Down = "LocationCylinder_Down";
///// <summary>
///// 料仓IO。定位气缸上升端(料仓) LocationCylinder2_Up
///// </summary>
//public static string LocationCylinder2_Up = "LocationCylinder2_Up";
///// <summary>
/////料仓IO。 定位气缸下降端(料仓) LocationCylinder2_Down
///// </summary>
//public static string LocationCylinder2_Down = "LocationCylinder2_Down";
///// <summary>
///// 料仓DO 。料仓运转ON Run_Signal
///// </summary>
//public static string Run_Signal = "Run_Signal";
///// <summary>
///// 料仓DO 。料仓轴2刹车ON Axis_Brake
///// </summary>
//public static string Axis_Brake = "Axis_Brake";
///// <summary>
///// 料仓DO 。料仓吹气SOL ON StartOrStopBlow
///// </summary>
//public static string StartOrStopBlow = "StartOrStopBlow";
/// <summary>
/// DI L侧门禁 DoorLimit 3 X04 DI-04
/// </summary>
public static string DoorLimit = "DoorLimit";
/// <summary> /// <summary>
/// 料仓DI。气压检测(料仓) Airpressure_Check /// DI L侧料盘检测1(识别区) TrayCheck_1 0 X21 DI-21
/// </summary> /// </summary>
public static string Airpressure_Check = "Airpressure_Check"; public static string TrayCheck_1 = "TrayCheck_1";
/// <summary> /// <summary>
/// DI 料仓门口料盘检测 TrayCheck_1 /// DI L侧料盘检测2(识别区) TrayCheck_2 1 X22 DI-22
/// </summary> /// </summary>
public static string TrayCheck_Door = "TrayCheck_Door"; public static string TrayCheck_2 = "TrayCheck_2";
/// <summary> /// <summary>
/// DI 叉子料盘检测 TrayCheck_Fixture /// DI L侧料盘检测3(识别区) TrayCheck_3 2 X23 DI-23
/// </summary> /// </summary>
public static string TrayCheck_Fixture = "TrayCheck_Fixture"; public static string TrayCheck_3 = "TrayCheck_3";
/// <summary> /// <summary>
/// 料仓IO。定位气缸上升端(料仓) LocationCylinder_Up /// DI L侧料盘检测4(识别区) TrayCheck_4 3 X24 DI-24
/// </summary> /// </summary>
public static string LocationCylinder_Up = "LocationCylinder_Up"; public static string TrayCheck_4 = "TrayCheck_4";
/// <summary> /// <summary>
///料仓IO。 定位气缸下降端(料仓) LocationCylinder_Down /// DI L侧入料口移门关闭端 EntranceDoor_Close 4 X25 DI-25
/// </summary> /// </summary>
public static string LocationCylinder_Down = "LocationCylinder_Down"; public static string EntranceDoor_Close = "EntranceDoor_Close";
/// <summary> /// <summary>
/// 料仓IO。定位气缸上升端(料仓) LocationCylinder2_Up /// DI L侧入料口移门打开端 EntranceDoor_Open 5 X26 DI-26
/// </summary> /// </summary>
public static string LocationCylinder2_Up = "LocationCylinder2_Up"; public static string EntranceDoor_Open = "EntranceDoor_Open";
/// <summary> /// <summary>
///料仓IO。 定位气缸下降端(料仓) LocationCylinder2_Down /// DI L侧线体入料口检测 LineIn_Check 6 X27 DI-27
/// </summary> /// </summary>
public static string LocationCylinder2_Down = "LocationCylinder2_Down"; public static string LineIn_Check = "LineIn_Check";
/// <summary> /// <summary>
/// 料仓DO 。料仓运转ON Run_Signal /// DI L侧线体取料位检测 LineTake_Check 7 X28 DI-28
/// </summary> /// </summary>
public static string Run_Signal = "Run_Signal"; public static string LineTake_Check = "LineTake_Check";
/// <summary> /// <summary>
/// 料仓DO 。料仓轴2刹车ON Axis_Brake /// DI L侧料叉压紧确认检测 Compress_Check 8 X29 DI-29
/// </summary> /// </summary>
public static string Axis_Brake = "Axis_Brake"; public static string Compress_Check = "Compress_Check";
/// <summary> /// <summary>
/// 料仓DO 。料仓吹气SOL ON StartOrStopBlow /// DI L侧NG料口料盘检测 NGTrayCheck 9 X30 DI-30
/// </summary> /// </summary>
public static string StartOrStopBlow = "StartOrStopBlow"; public static string NGTrayCheck = "NGTrayCheck";
/// <summary>
/// DI L侧NG料口升降门上升端 NGDoowCylinder_Up 10 X31 DI-31
/// </summary>
public static string NGDoowCylinder_Up = "NGDoowCylinder_Up";
/// <summary>
/// DI L侧NG料口升降门上升端 NGDoorCylinder_Down 11 X32 DI-32
/// </summary>
public static string NGDoorCylinder_Down = "NGDoorCylinder_Down";
/// <summary>
/// DI L侧顶升装置上升端 TopCylinder_Up 12 X33 DI-33
/// </summary>
public static string TopCylinder_Up = "TopCylinder_Up";
/// <summary>
/// DI L侧顶升装置下降端 TopCylinder_Down 13 X34 DI-34
/// </summary>
public static string TopCylinder_Down = "TopCylinder_Down";
/// <summary>
/// DI L侧定位装置上升端 LocationCylinder_Up 14 X35 DI-35
/// </summary>
public static string LocationCylinder_Up = "LocationCylinder_Up";
/// <summary>
/// DI L侧定位装置下降端 LocationCylinder_Down 15 X36 DI-36
/// </summary>
public static string LocationCylinder_Down = "LocationCylinder_Down";
/// <summary> /// <summary>
/// DO 自动指示灯 AutoRun_HddLed /// DO 自动指示灯 AutoRun_HddLed 0 Y01 DO-01
/// </summary> /// </summary>
public static string AutoRun_HddLed = "AutoRun_HddLed"; public static string AutoRun_HddLed = "AutoRun_HddLed";
/// <summary>
/// DO 故障指示灯 Alarm_HddLed 1 Y02 DO-02
/// </summary>
public static string Alarm_HddLed = "Alarm_HddLed";
/// <summary> /// <summary>
/// DO 待机指示灯 RunSign_HddLed ///DO 待机指示灯 RunSign_HddLed 2 Y03 DO-03
/// </summary> /// </summary>
public static string RunSign_HddLed = "RunSign_HddLed"; public static string RunSign_HddLed = "RunSign_HddLed";
/// <summary> /// <summary>
///DO 故障指示灯 Alarm_HddLed ///DO 报警蜂鸣器 Alarm_Buzzer 3 Y04 DO-04
/// </summary> /// </summary>
public static string Alarm_HddLed = "Alarm_HddLed"; public static string Alarm_Buzzer = "Alarm_Buzzer";
/// <summary>
///DO NG料线体电机运转 NGLine_Run 4 Y05 DO-05
/// </summary>
public static string NGLine_Run = "NGLine_Run";
/// <summary>
/// DO L侧料仓运转ON Run_Signal 0 Y21 DO-21
/// </summary>
public static string Run_Signal = "Run_Signal";
/// <summary>
/// DO L侧轴2刹车电源ON Axis_Brake 1 Y22 DO-22
/// </summary>
public static string Axis_Brake = "Axis_Brake";
/// <summary> /// <summary>
/// 吹气SOL Blow_Single /// DO L侧相机光源ON Camera_Led 2 Y23 DO-23
/// </summary> /// </summary>
public static string Blow_Single = "Blow_Single"; public static string Camera_Led = "Camera_Led";
///// <summary>
///// DO L侧入料口移门关闭 EntranceDoor_Close 3 Y24 DO-24
///// </summary>
//public static string EntranceDoor_Close = "EntranceDoor_Close";
///// <summary>
///// DO L侧入料口移门打开 EntranceDoor_Open 4 Y25 DO-25
///// </summary>
//public static string EntranceDoor_Open = "EntranceDoor_Open";
/// <summary> /// <summary>
/// 进出料口门上升端 Door_Up /// DO L侧线体正转 Line_Run 5 Y26 DO-26
/// </summary> /// </summary>
public static string Door_Up = "Door_Up"; public static string Line_Run = "Line_Run";
/// <summary> /// <summary>
/// 进出料口门下降端 Door_Down /// DO L侧线体反转 Line_BackRun 6 Y27 DO-27
/// </summary> /// </summary>
public static string Door_Down = "Door_Down"; public static string Line_BackRun = "Line_BackRun";
/// <summary>
/// DO L侧料仓吹气SOL StartOrStopBlow 7 Y28 DO-28
/// </summary>
public static string StartOrStopBlow = "StartOrStopBlow";
///// <summary>
///// DO L侧NG料口升降门上升SOL NGDoowCylinder_Up 8 Y29 DO-29
///// </summary>
//public static string NGDoowCylinder_Up = "NGDoowCylinder_Up";
///// <summary>
///// DO L侧NG料口升降门下降SOL NGDoorCylinder_Down 9 Y30 DO-30
///// </summary>
//public static string NGDoorCylinder_Down = "NGDoorCylinder_Down";
public static string DoorLimit = "DoorLimit"; ///// <summary>
///// DO L侧顶升装置上升SOL TopCylinder_Up 10 Y31 DO-31
///// </summary>
//public static string TopCylinder_Up = "TopCylinder_Up";
// /// <summary>
// /// DO L侧顶升装置下降SOL TopCylinder_Down 11 Y32 DO-32
// /// </summary>
//public static string TopCylinder_Down = "TopCylinder_Down";
///// <summary>
///// DO L侧定位装置上升SOL LocationCylinder_Up 12 Y33 DO-33
///// </summary>
//public static string LocationCylinder_Up = "LocationCylinder_Up";
///// <summary>
///// DO L侧定位装置下降SOL LocationCylinder_Down 13 Y34 DO-34
///// </summary>
//public static string LocationCylinder_Down = "LocationCylinder_Down";
///// <summary>
///// 进出料口门上升端 Door_Up
///// </summary>
//public static string Door_Up = "Door_Up";
///// <summary>
///// 进出料口门下降端 Door_Down
///// </summary>
//public static string Door_Down = "Door_Down";
//public static string DoorLimit = "DoorLimit";
public static string TrayCheck_Door = "TrayCheck_Door";
public static string TrayCheck_Fixture = "TrayCheck_Fixture";
} }
public enum IO_VALUE public enum IO_VALUE
{ {
......
...@@ -6,7 +6,7 @@ using System.Text; ...@@ -6,7 +6,7 @@ using System.Text;
namespace OnlineStore.LoadCSVLibrary namespace OnlineStore.LoadCSVLibrary
{ {
public class Store_Config : StoreConfig public class Store_Config : BaseConfig
{ {
public Store_Config() public Store_Config()
: base() : base()
...@@ -17,72 +17,72 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -17,72 +17,72 @@ namespace OnlineStore.LoadCSVLibrary
{ {
} }
/// <summary> ///// <summary>
/// 预警温度 ///// 预警温度
/// </summary> ///// </summary>
[ConfigProAttribute("WarnTemperate")] //[ConfigProAttribute("WarnTemperate")]
public int WarnTemperate { get; set; } //public int WarnTemperate { get; set; }
/// <summary> ///// <summary>
/// 预警湿度 ///// 预警湿度
/// </summary> ///// </summary>
[ConfigProAttribute("WarnHumidity")] //[ConfigProAttribute("WarnHumidity")]
public int WarnHumidity { get; set; } //public int WarnHumidity { get; set; }
/// <summary> /// <summary>
/// 气压检测IO关闭需要持续的时间(=3表示需要关闭三秒以上才算关闭) /// 气压检测IO关闭需要持续的时间(=3表示需要关闭三秒以上才算关闭)
/// </summary> /// </summary>
[ConfigProAttribute("AirCheckSeconds")] [ConfigProAttribute("AirCheckSeconds")]
public int AirCheckSeconds { get; set; } public int AirCheckSeconds { get; set; }
/// <summary> ///// <summary>
/// PRO,BOX出入库次数多少次时,会自动重置旋转轴,Box_ResetMCount,10,,,,, ///// PRO,BOX出入库次数多少次时,会自动重置旋转轴,Box_ResetMCount,10,,,,,
/// </summary> ///// </summary>
[ConfigProAttribute("Box_ResetMCount")] //[ConfigProAttribute("Box_ResetMCount")]
public int Box_ResetMCount { get; set; } //public int Box_ResetMCount { get; set; }
/// <summary> ///// <summary>
/// PRO,BOX出入库次数多少次时,会自动重置操作(会重置所有轴),Box_ResetACount,100,,,,, ///// PRO,BOX出入库次数多少次时,会自动重置操作(会重置所有轴),Box_ResetACount,100,,,,,
/// </summary> ///// </summary>
[ConfigProAttribute("Box_ResetACount")] //[ConfigProAttribute("Box_ResetACount")]
public int Box_ResetACount { get; set; } //public int Box_ResetACount { get; set; }
/// <summary> /// <summary>
/// PRO IO信号超时时间(毫秒) IOSingle_TimerOut 5000 /// PRO IO信号超时时间(毫秒) IOSingle_TimerOut 5000
/// </summary> /// </summary>
[ConfigProAttribute("IOSingle_TimerOut", false)] [ConfigProAttribute("IOSingle_TimerOut", false)]
public int IOSingle_TimerOut { get; set; } public int IOSingle_TimerOut { get; set; }
/// <summary>
/// PRO 需要吹气的温度(温度标准) Max_Temperature 10
/// </summary>
[ConfigProAttribute("Max_Temperature", false)]
public int Max_Temperature { get; set; }
/// <summary>
/// PRO 需要吹气的湿度(湿度标准) Max_Humidity 10
/// </summary>
[ConfigProAttribute("Max_Humidity", false)]
public int Max_Humidity { get; set; }
/// <summary> ///// <summary>
/// PRO 每次吹气的时间(分钟) BlowAir_Time 10 ///// PRO 需要吹气的温度(温度标准) Max_Temperature 10
/// </summary> ///// </summary>
[ConfigProAttribute("BlowAir_Time", false)] //[ConfigProAttribute("Max_Temperature", false)]
public int BlowAir_Time { get; set; } //public int Max_Temperature { get; set; }
///// <summary>
///// PRO 需要吹气的湿度(湿度标准) Max_Humidity 10
///// </summary>
//[ConfigProAttribute("Max_Humidity", false)]
//public int Max_Humidity { get; set; }
///// <summary>
///// PRO 每次吹气的时间(分钟) BlowAir_Time 10
///// </summary>
//[ConfigProAttribute("BlowAir_Time", false)]
//public int BlowAir_Time { get; set; }
///// <summary>
///// PRO 两次吹气间隔(分钟) BlowAir_Interval 10
///// </summary>
//[ConfigProAttribute("BlowAir_Interval", false)]
//public int BlowAir_Interval { get; set; }
//public int InoutAxis_PositionMax { get; set; }
///// <summary>
///// PRO,温湿度端口号,Humiture_Port,COM1,,,,,,,
///// </summary>
//[ConfigProAttribute("Humiture_Port", true )]
//public string Humiture_Port { get; set; }
/// <summary> /// <summary>
/// PRO 两次吹气间隔(分钟) BlowAir_Interval 10
/// </summary>
[ConfigProAttribute("BlowAir_Interval", false)]
public int BlowAir_Interval { get; set; }
public int InoutAxis_PositionMax { get; set; }
/// <summary>
/// PRO,温湿度端口号,Humiture_Port,COM1,,,,,,,
/// </summary>
[ConfigProAttribute("Humiture_Port", true )]
public string Humiture_Port { get; set; }
/// <summary>
/// PRO IO模块对应的DI数量 IO_DILength 192.168.200.10#16;192.168.200.11#4 /// PRO IO模块对应的DI数量 IO_DILength 192.168.200.10#16;192.168.200.11#4
/// </summary> /// </summary>
[ConfigProAttribute("IO_DILength")] [ConfigProAttribute("IO_DILength")]
...@@ -93,35 +93,27 @@ namespace OnlineStore.LoadCSVLibrary ...@@ -93,35 +93,27 @@ namespace OnlineStore.LoadCSVLibrary
[ConfigProAttribute("IO_DOLength")] [ConfigProAttribute("IO_DOLength")]
public string IO_DOLength { get; set; } public string IO_DOLength { get; set; }
/// <summary> ///// <summary>
/// PRO 是否有仓门 HasDoor 1 ///// PRO 是否有仓门 HasDoor 1
/// </summary> ///// </summary>
[ConfigProAttribute("HasDoor")] //[ConfigProAttribute("HasDoor")]
public int HasDoor { get; set; } //public int HasDoor { get; set; }
protected override void initMustHavePro() protected override void initMustHavePro()
{ {
MustHaveDIList = new List<string>(); MustHaveDIList = new List<string>();
MustHaveDOList = new List<string>(); MustHaveDOList = new List<string>();
MustHaveDIList.Add(IO_Type.SuddenStop_BTN); MustHaveDIList.Add(IO_Type.SuddenStop_BTN);
MustHaveDIList.Add(IO_Type.Reset_BTN); MustHaveDIList.Add(IO_Type.Reset_BTN);
MustHaveDIList.Add(IO_Type.DoorLimit);
MustHaveDIList.Add(IO_Type.Airpressure_Check); MustHaveDIList.Add(IO_Type.Airpressure_Check);
MustHaveDIList.Add(IO_Type.TrayCheck_Door);
MustHaveDIList.Add(IO_Type.TrayCheck_Fixture);
MustHaveDIList.Add(IO_Type.Door_Up);
MustHaveDIList.Add(IO_Type.Door_Down);
MustHaveDOList.Add(IO_Type.AutoRun_HddLed); MustHaveDOList.Add(IO_Type.AutoRun_HddLed);
MustHaveDOList.Add(IO_Type.Alarm_HddLed); MustHaveDOList.Add(IO_Type.Alarm_HddLed);
MustHaveDOList.Add(IO_Type.RunSign_HddLed); MustHaveDOList.Add(IO_Type.RunSign_HddLed);
MustHaveDOList.Add(IO_Type.StartOrStopBlow); MustHaveDOList.Add(IO_Type.Alarm_Buzzer);
MustHaveDOList.Add(IO_Type.Run_Signal); MustHaveDOList.Add(IO_Type.NGLine_Run);
MustHaveDOList.Add(IO_Type.Door_Up);
MustHaveDOList.Add(IO_Type.Door_Down);
MustHaveDOList.Add(IO_Type.Axis_Brake);
} }
public static void ConfigAxis(AC_BOX_Config Config) public static void ConfigAxis(AC_BOX_Config Config)
{ {
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!