Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
李娜
/
SO664-HCSingleStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 4385548a
由
LN
编写于
2020-10-12 15:28:30 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
配置结构修改
1 个父辈
f3c34af3
隐藏空白字符变更
内嵌
并排
正在显示
22 个修改的文件
包含
1849 行增加
和
1315 行删除
source/ACSingleStore/FrmBox.cs
source/ACSingleStore/FrmStore.Designer.cs
source/ACSingleStore/FrmStore.cs
source/ACSingleStore/userControl/AxisMoveControl.Designer.cs
source/ACSingleStore/userControl/AxisMoveControl.cs
source/ACSingleStore/userControl/AxisMoveControl.resx
source/DeviceLibrary/StoreConfig/AC/BoxConfig_1.csv
source/DeviceLibrary/StoreConfig/AC/BoxConfig_2.csv
source/DeviceLibrary/StoreConfig/AC/StoreConfig.csv
source/DeviceLibrary/acSingleStore/BoxBean.cs
source/DeviceLibrary/acSingleStore/BoxBean_Partial.cs
source/DeviceLibrary/acSingleStore/StoreBean.cs
source/DeviceLibrary/acSingleStore/StoreManager.cs
source/DeviceLibrary/store/InOutInfo.cs
source/DeviceLibrary/store/model/FixtureInfo.cs
source/LoadCVSLibrary/LoadCSVLibrary.csproj
source/LoadCVSLibrary/storeConfig/CSVConfigReader.cs
source/LoadCVSLibrary/storeConfig/ConfigItemBase.cs
source/LoadCVSLibrary/storeConfig/config/BaseConfig.cs
source/LoadCVSLibrary/storeConfig/config/BoxConfig.cs
source/LoadCVSLibrary/storeConfig/config/Store_IO_Type.cs → source/LoadCVSLibrary/storeConfig/config/IO_Type.cs
source/LoadCVSLibrary/storeConfig/config/StoreConfig.cs
source/ACSingleStore/FrmBox.cs
查看文件 @
4385548
...
...
@@ -46,7 +46,7 @@ namespace OnlineStore.ACSingleStore
groupBox3
.
Text
=
"设备["
+
boxBean
.
CID
+
"]状态"
;
this
.
Opacity
=
1
;
txtTempPort
.
Text
=
boxBean
.
Config
.
Humiture_Port
;
txtTempPort
.
Text
=
StoreManager
.
Config
.
Humiture_Port
;
LoadOk
=
true
;
}
...
...
source/ACSingleStore/FrmStore.Designer.cs
查看文件 @
4385548
...
...
@@ -55,6 +55,12 @@
this
.
toolStripSeparator5
=
new
System
.
Windows
.
Forms
.
ToolStripSeparator
();
this
.
toolStripSeparator2
=
new
System
.
Windows
.
Forms
.
ToolStripSeparator
();
this
.
退出
ToolStripMenuItem
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
toolStripMenuItem4
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
开机自动启动软件
ToolStripMenuItem
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
toolStripSeparator10
=
new
System
.
Windows
.
Forms
.
ToolStripSeparator
();
this
.
启用蜂鸣器
ToolStripMenuItem
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
toolStripSeparator11
=
new
System
.
Windows
.
Forms
.
ToolStripSeparator
();
this
.
开启
DEBUG
日志
ToolStripMenuItem
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
设置
TToolStripMenuItem
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
toolStripMenuItem2
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
toolStripSeparator6
=
new
System
.
Windows
.
Forms
.
ToolStripSeparator
();
...
...
@@ -69,12 +75,6 @@
this
.
toolStripSeparator8
=
new
System
.
Windows
.
Forms
.
ToolStripSeparator
();
this
.
toolStripMenuItem1
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
timer1
=
new
System
.
Windows
.
Forms
.
Timer
(
this
.
components
);
this
.
toolStripMenuItem4
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
开机自动启动软件
ToolStripMenuItem
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
启用蜂鸣器
ToolStripMenuItem
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
开启
DEBUG
日志
ToolStripMenuItem
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
toolStripSeparator10
=
new
System
.
Windows
.
Forms
.
ToolStripSeparator
();
this
.
toolStripSeparator11
=
new
System
.
Windows
.
Forms
.
ToolStripSeparator
();
this
.
tabControl1
.
SuspendLayout
();
this
.
tabPage1
.
SuspendLayout
();
this
.
groupBox4
.
SuspendLayout
();
...
...
@@ -130,9 +130,9 @@
//
this
.
groupBox4
.
Controls
.
Add
(
this
.
tableLayoutPanel2
);
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
(
6
,
215
);
this
.
groupBox4
.
Location
=
new
System
.
Drawing
.
Point
(
6
,
119
);
this
.
groupBox4
.
Name
=
"groupBox4"
;
this
.
groupBox4
.
Size
=
new
System
.
Drawing
.
Size
(
229
,
203
);
this
.
groupBox4
.
Size
=
new
System
.
Drawing
.
Size
(
229
,
152
);
this
.
groupBox4
.
TabIndex
=
199
;
this
.
groupBox4
.
TabStop
=
false
;
this
.
groupBox4
.
Text
=
"DO列表"
;
...
...
@@ -149,7 +149,7 @@
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
.
Size
=
new
System
.
Drawing
.
Size
(
218
,
1
83
);
this
.
tableLayoutPanel2
.
Size
=
new
System
.
Drawing
.
Size
(
218
,
1
32
);
this
.
tableLayoutPanel2
.
TabIndex
=
103
;
//
// groupBox3
...
...
@@ -158,7 +158,7 @@
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
(
6
,
6
);
this
.
groupBox3
.
Name
=
"groupBox3"
;
this
.
groupBox3
.
Size
=
new
System
.
Drawing
.
Size
(
229
,
203
);
this
.
groupBox3
.
Size
=
new
System
.
Drawing
.
Size
(
229
,
107
);
this
.
groupBox3
.
TabIndex
=
198
;
this
.
groupBox3
.
TabStop
=
false
;
this
.
groupBox3
.
Text
=
"DI列表"
;
...
...
@@ -175,7 +175,7 @@
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
.
Size
=
new
System
.
Drawing
.
Size
(
218
,
183
);
this
.
tableLayoutPanel1
.
Size
=
new
System
.
Drawing
.
Size
(
218
,
87
);
this
.
tableLayoutPanel1
.
TabIndex
=
102
;
//
// chbUseBuzzer
...
...
@@ -297,57 +297,97 @@
// toolStripSeparator1
//
this
.
toolStripSeparator1
.
Name
=
"toolStripSeparator1"
;
this
.
toolStripSeparator1
.
Size
=
new
System
.
Drawing
.
Size
(
1
77
,
6
);
this
.
toolStripSeparator1
.
Size
=
new
System
.
Drawing
.
Size
(
1
14
,
6
);
//
// 启动AToolStripMenuItem
//
this
.
启动
AToolStripMenuItem
.
Name
=
"启动AToolStripMenuItem"
;
this
.
启动
AToolStripMenuItem
.
Size
=
new
System
.
Drawing
.
Size
(
1
80
,
26
);
this
.
启动
AToolStripMenuItem
.
Size
=
new
System
.
Drawing
.
Size
(
1
17
,
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
(
1
77
,
6
);
this
.
toolStripSeparator4
.
Size
=
new
System
.
Drawing
.
Size
(
1
14
,
6
);
//
// 复位RToolStripMenuItem
//
this
.
复位
RToolStripMenuItem
.
Name
=
"复位RToolStripMenuItem"
;
this
.
复位
RToolStripMenuItem
.
Size
=
new
System
.
Drawing
.
Size
(
1
80
,
26
);
this
.
复位
RToolStripMenuItem
.
Size
=
new
System
.
Drawing
.
Size
(
1
17
,
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
(
1
77
,
6
);
this
.
toolStripSeparator3
.
Size
=
new
System
.
Drawing
.
Size
(
1
14
,
6
);
//
// 停止TToolStripMenuItem
//
this
.
停止
TToolStripMenuItem
.
Name
=
"停止TToolStripMenuItem"
;
this
.
停止
TToolStripMenuItem
.
Size
=
new
System
.
Drawing
.
Size
(
1
80
,
26
);
this
.
停止
TToolStripMenuItem
.
Size
=
new
System
.
Drawing
.
Size
(
1
17
,
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
(
1
77
,
6
);
this
.
toolStripSeparator5
.
Size
=
new
System
.
Drawing
.
Size
(
1
14
,
6
);
//
// toolStripSeparator2
//
this
.
toolStripSeparator2
.
Name
=
"toolStripSeparator2"
;
this
.
toolStripSeparator2
.
Size
=
new
System
.
Drawing
.
Size
(
1
77
,
6
);
this
.
toolStripSeparator2
.
Size
=
new
System
.
Drawing
.
Size
(
1
14
,
6
);
this
.
toolStripSeparator2
.
Visible
=
false
;
//
// 退出ToolStripMenuItem
//
this
.
退出
ToolStripMenuItem
.
Name
=
"退出ToolStripMenuItem"
;
this
.
退出
ToolStripMenuItem
.
Size
=
new
System
.
Drawing
.
Size
(
1
80
,
26
);
this
.
退出
ToolStripMenuItem
.
Size
=
new
System
.
Drawing
.
Size
(
1
17
,
26
);
this
.
退出
ToolStripMenuItem
.
Text
=
"退出"
;
this
.
退出
ToolStripMenuItem
.
Click
+=
new
System
.
EventHandler
(
this
.
退出
ToolStripMenuItem_Click_1
);
//
// toolStripMenuItem4
//
this
.
toolStripMenuItem4
.
DropDownItems
.
AddRange
(
new
System
.
Windows
.
Forms
.
ToolStripItem
[]
{
this
.
开机自动启动软件
ToolStripMenuItem
,
this
.
toolStripSeparator10
,
this
.
启用蜂鸣器
ToolStripMenuItem
,
this
.
toolStripSeparator11
,
this
.
开启
DEBUG
日志
ToolStripMenuItem
});
this
.
toolStripMenuItem4
.
Name
=
"toolStripMenuItem4"
;
this
.
toolStripMenuItem4
.
Size
=
new
System
.
Drawing
.
Size
(
86
,
25
);
this
.
toolStripMenuItem4
.
Text
=
"运行参数"
;
//
// 开机自动启动软件ToolStripMenuItem
//
this
.
开机自动启动软件
ToolStripMenuItem
.
Name
=
"开机自动启动软件ToolStripMenuItem"
;
this
.
开机自动启动软件
ToolStripMenuItem
.
Size
=
new
System
.
Drawing
.
Size
(
208
,
26
);
this
.
开机自动启动软件
ToolStripMenuItem
.
Text
=
"开机自动启动软件"
;
//
// toolStripSeparator10
//
this
.
toolStripSeparator10
.
Name
=
"toolStripSeparator10"
;
this
.
toolStripSeparator10
.
Size
=
new
System
.
Drawing
.
Size
(
205
,
6
);
//
// 启用蜂鸣器ToolStripMenuItem
//
this
.
启用蜂鸣器
ToolStripMenuItem
.
Name
=
"启用蜂鸣器ToolStripMenuItem"
;
this
.
启用蜂鸣器
ToolStripMenuItem
.
Size
=
new
System
.
Drawing
.
Size
(
208
,
26
);
this
.
启用蜂鸣器
ToolStripMenuItem
.
Text
=
"启用蜂鸣器"
;
//
// toolStripSeparator11
//
this
.
toolStripSeparator11
.
Name
=
"toolStripSeparator11"
;
this
.
toolStripSeparator11
.
Size
=
new
System
.
Drawing
.
Size
(
205
,
6
);
//
// 开启DEBUG日志ToolStripMenuItem
//
this
.
开启
DEBUG
日志
ToolStripMenuItem
.
Name
=
"开启DEBUG日志ToolStripMenuItem"
;
this
.
开启
DEBUG
日志
ToolStripMenuItem
.
Size
=
new
System
.
Drawing
.
Size
(
208
,
26
);
this
.
开启
DEBUG
日志
ToolStripMenuItem
.
Text
=
"开启DEBUG日志"
;
//
// 设置TToolStripMenuItem
//
this
.
设置
TToolStripMenuItem
.
DropDownItems
.
AddRange
(
new
System
.
Windows
.
Forms
.
ToolStripItem
[]
{
...
...
@@ -361,19 +401,19 @@
// toolStripMenuItem2
//
this
.
toolStripMenuItem2
.
Name
=
"toolStripMenuItem2"
;
this
.
toolStripMenuItem2
.
Size
=
new
System
.
Drawing
.
Size
(
1
80
,
26
);
this
.
toolStripMenuItem2
.
Size
=
new
System
.
Drawing
.
Size
(
1
44
,
26
);
this
.
toolStripMenuItem2
.
Text
=
"启用调试"
;
this
.
toolStripMenuItem2
.
Click
+=
new
System
.
EventHandler
(
this
.
toolStripMenuItem2_Click
);
//
// toolStripSeparator6
//
this
.
toolStripSeparator6
.
Name
=
"toolStripSeparator6"
;
this
.
toolStripSeparator6
.
Size
=
new
System
.
Drawing
.
Size
(
1
77
,
6
);
this
.
toolStripSeparator6
.
Size
=
new
System
.
Drawing
.
Size
(
1
41
,
6
);
//
// toolStripSeparator7
//
this
.
toolStripSeparator7
.
Name
=
"toolStripSeparator7"
;
this
.
toolStripSeparator7
.
Size
=
new
System
.
Drawing
.
Size
(
1
77
,
6
);
this
.
toolStripSeparator7
.
Size
=
new
System
.
Drawing
.
Size
(
1
41
,
6
);
//
// 帮助ToolStripMenuItem
//
...
...
@@ -446,46 +486,6 @@
this
.
timer1
.
Interval
=
1000
;
this
.
timer1
.
Tick
+=
new
System
.
EventHandler
(
this
.
timer1_Tick
);
//
// toolStripMenuItem4
//
this
.
toolStripMenuItem4
.
DropDownItems
.
AddRange
(
new
System
.
Windows
.
Forms
.
ToolStripItem
[]
{
this
.
开机自动启动软件
ToolStripMenuItem
,
this
.
toolStripSeparator10
,
this
.
启用蜂鸣器
ToolStripMenuItem
,
this
.
toolStripSeparator11
,
this
.
开启
DEBUG
日志
ToolStripMenuItem
});
this
.
toolStripMenuItem4
.
Name
=
"toolStripMenuItem4"
;
this
.
toolStripMenuItem4
.
Size
=
new
System
.
Drawing
.
Size
(
86
,
25
);
this
.
toolStripMenuItem4
.
Text
=
"运行参数"
;
//
// 开机自动启动软件ToolStripMenuItem
//
this
.
开机自动启动软件
ToolStripMenuItem
.
Name
=
"开机自动启动软件ToolStripMenuItem"
;
this
.
开机自动启动软件
ToolStripMenuItem
.
Size
=
new
System
.
Drawing
.
Size
(
208
,
26
);
this
.
开机自动启动软件
ToolStripMenuItem
.
Text
=
"开机自动启动软件"
;
//
// 启用蜂鸣器ToolStripMenuItem
//
this
.
启用蜂鸣器
ToolStripMenuItem
.
Name
=
"启用蜂鸣器ToolStripMenuItem"
;
this
.
启用蜂鸣器
ToolStripMenuItem
.
Size
=
new
System
.
Drawing
.
Size
(
208
,
26
);
this
.
启用蜂鸣器
ToolStripMenuItem
.
Text
=
"启用蜂鸣器"
;
//
// 开启DEBUG日志ToolStripMenuItem
//
this
.
开启
DEBUG
日志
ToolStripMenuItem
.
Name
=
"开启DEBUG日志ToolStripMenuItem"
;
this
.
开启
DEBUG
日志
ToolStripMenuItem
.
Size
=
new
System
.
Drawing
.
Size
(
208
,
26
);
this
.
开启
DEBUG
日志
ToolStripMenuItem
.
Text
=
"开启DEBUG日志"
;
//
// toolStripSeparator10
//
this
.
toolStripSeparator10
.
Name
=
"toolStripSeparator10"
;
this
.
toolStripSeparator10
.
Size
=
new
System
.
Drawing
.
Size
(
205
,
6
);
//
// toolStripSeparator11
//
this
.
toolStripSeparator11
.
Name
=
"toolStripSeparator11"
;
this
.
toolStripSeparator11
.
Size
=
new
System
.
Drawing
.
Size
(
205
,
6
);
//
// FrmStore
//
this
.
AutoScaleDimensions
=
new
System
.
Drawing
.
SizeF
(
6F
,
12F
);
...
...
@@ -499,7 +499,6 @@
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
);
...
...
source/ACSingleStore/FrmStore.cs
查看文件 @
4385548
...
...
@@ -67,11 +67,14 @@ namespace OnlineStore.ACSingleStore
this
.
tableLayoutPanel1
.
RowCount
=
store
.
Config
.
DIList
.
Count
;
foreach
(
ConfigIO
ioValue
in
store
.
Config
.
DIList
.
Values
)
{
this
.
tableLayoutPanel1
.
RowStyles
.
Add
(
new
RowStyle
(
SizeType
.
Absolute
,
28
));
IOTextControl
control
=
new
IOTextControl
(
ioValue
.
ElectricalDefinition
+
"_"
+
ioValue
.
Explain
,
ioValue
.
ProName
);
this
.
tableLayoutPanel1
.
Controls
.
Add
(
control
,
0
,
roleindex
);
roleindex
++;
DIControlList
.
Add
(
ioValue
.
ProName
,
control
);
if
(
ioValue
.
SubType
.
Equals
(
0
))
{
this
.
tableLayoutPanel1
.
RowStyles
.
Add
(
new
RowStyle
(
SizeType
.
Absolute
,
28
));
IOTextControl
control
=
new
IOTextControl
(
ioValue
.
ElectricalDefinition
+
"_"
+
ioValue
.
Explain
,
ioValue
.
ProName
);
this
.
tableLayoutPanel1
.
Controls
.
Add
(
control
,
0
,
roleindex
);
roleindex
++;
DIControlList
.
Add
(
ioValue
.
ProName
,
control
);
}
}
tableLayoutPanel2
.
RowStyles
.
Clear
();
...
...
@@ -79,11 +82,14 @@ namespace OnlineStore.ACSingleStore
roleindex
=
0
;
foreach
(
ConfigIO
ioValue
in
store
.
Config
.
DOList
.
Values
)
{
this
.
tableLayoutPanel2
.
RowStyles
.
Add
(
new
RowStyle
(
SizeType
.
Absolute
,
28
));
IOTextControl
control
=
new
IOTextControl
(
ioValue
.
ElectricalDefinition
+
"_"
+
ioValue
.
Explain
,
ioValue
.
ProName
);
this
.
tableLayoutPanel2
.
Controls
.
Add
(
control
,
0
,
roleindex
);
roleindex
++;
DOControlList
.
Add
(
ioValue
.
ProName
,
control
);
if
(
ioValue
.
SubType
.
Equals
(
0
))
{
this
.
tableLayoutPanel2
.
RowStyles
.
Add
(
new
RowStyle
(
SizeType
.
Absolute
,
28
));
IOTextControl
control
=
new
IOTextControl
(
ioValue
.
ElectricalDefinition
+
"_"
+
ioValue
.
Explain
,
ioValue
.
ProName
);
this
.
tableLayoutPanel2
.
Controls
.
Add
(
control
,
0
,
roleindex
);
roleindex
++;
DOControlList
.
Add
(
ioValue
.
ProName
,
control
);
}
}
this
.
SuspendLayout
();
//此处为不闪屏,一定要有的!
}
...
...
source/ACSingleStore/userControl/AxisMoveControl.Designer.cs
0 → 100644
查看文件 @
4385548
namespace
OnlineStore.AutoCountClient
{
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
.
groupBox1
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
txtBusyStatus
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
label11
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
txtHomeStatus
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
label10
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
label3
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
label24
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
label5
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
btnGetAlarm
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
txtAlarmStatus
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
txtLimit2
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
txtServoStatue
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
label22
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
txtLimit1
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
label6
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
txtHomeSingle
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
panel1
=
new
System
.
Windows
.
Forms
.
Panel
();
this
.
linkLabel1
=
new
System
.
Windows
.
Forms
.
LinkLabel
();
this
.
comjSpeed
=
new
System
.
Windows
.
Forms
.
ComboBox
();
this
.
btnComAlarmClear
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnAxisStop
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnAxisReturnHome
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
comboBox1
=
new
System
.
Windows
.
Forms
.
ComboBox
();
this
.
btnMCopy
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnDelMove
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnOpenAxis
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnCloseAxis
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnAddMove
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
txtASpeed
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
label1
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
label47
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
btnReadPosition
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnAxisVMove
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
label8
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
btnAxisRMove
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
lblCountPulse
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
btnAxisAMove
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
label49
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
txtAPosition
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
label46
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
label48
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
label45
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
txtAxisValue
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
txtAxisDeviceName
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
lblServerOn
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
txtStb
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
label2
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
groupAxis
.
SuspendLayout
();
this
.
groupBox1
.
SuspendLayout
();
this
.
panel1
.
SuspendLayout
();
this
.
SuspendLayout
();
//
// groupAxis
//
this
.
groupAxis
.
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
.
groupAxis
.
BackColor
=
System
.
Drawing
.
Color
.
White
;
this
.
groupAxis
.
Controls
.
Add
(
this
.
groupBox1
);
this
.
groupAxis
.
Controls
.
Add
(
this
.
panel1
);
this
.
groupAxis
.
Controls
.
Add
(
this
.
lblServerOn
);
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
(
4
,
3
);
this
.
groupAxis
.
Name
=
"groupAxis"
;
this
.
groupAxis
.
Size
=
new
System
.
Drawing
.
Size
(
724
,
302
);
this
.
groupAxis
.
TabIndex
=
218
;
this
.
groupAxis
.
TabStop
=
false
;
this
.
groupAxis
.
Text
=
"伺服运动"
;
//
// groupBox1
//
this
.
groupBox1
.
Controls
.
Add
(
this
.
txtStb
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
label2
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
txtBusyStatus
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
label11
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
txtHomeStatus
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
label10
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
label3
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
label24
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
label5
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
btnGetAlarm
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
txtAlarmStatus
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
txtLimit2
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
txtServoStatue
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
label22
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
txtLimit1
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
label6
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
txtHomeSingle
);
this
.
groupBox1
.
Location
=
new
System
.
Drawing
.
Point
(
553
,
12
);
this
.
groupBox1
.
Name
=
"groupBox1"
;
this
.
groupBox1
.
Size
=
new
System
.
Drawing
.
Size
(
154
,
282
);
this
.
groupBox1
.
TabIndex
=
302
;
this
.
groupBox1
.
TabStop
=
false
;
this
.
groupBox1
.
Text
=
"状态"
;
//
// txtBusyStatus
//
this
.
txtBusyStatus
.
Enabled
=
false
;
this
.
txtBusyStatus
.
Location
=
new
System
.
Drawing
.
Point
(
120
,
104
);
this
.
txtBusyStatus
.
Name
=
"txtBusyStatus"
;
this
.
txtBusyStatus
.
Size
=
new
System
.
Drawing
.
Size
(
25
,
23
);
this
.
txtBusyStatus
.
TabIndex
=
288
;
//
// label11
//
this
.
label11
.
AutoSize
=
true
;
this
.
label11
.
Location
=
new
System
.
Drawing
.
Point
(
6
,
135
);
this
.
label11
.
Name
=
"label11"
;
this
.
label11
.
Size
=
new
System
.
Drawing
.
Size
(
105
,
17
);
this
.
label11
.
TabIndex
=
292
;
this
.
label11
.
Text
=
"HOME-CMP状态:"
;
//
// txtHomeStatus
//
this
.
txtHomeStatus
.
Enabled
=
false
;
this
.
txtHomeStatus
.
Location
=
new
System
.
Drawing
.
Point
(
120
,
132
);
this
.
txtHomeStatus
.
Name
=
"txtHomeStatus"
;
this
.
txtHomeStatus
.
Size
=
new
System
.
Drawing
.
Size
(
25
,
23
);
this
.
txtHomeStatus
.
TabIndex
=
291
;
//
// label10
//
this
.
label10
.
AutoSize
=
true
;
this
.
label10
.
Location
=
new
System
.
Drawing
.
Point
(
45
,
107
);
this
.
label10
.
Name
=
"label10"
;
this
.
label10
.
Size
=
new
System
.
Drawing
.
Size
(
66
,
17
);
this
.
label10
.
TabIndex
=
289
;
this
.
label10
.
Text
=
"BUSY状态:"
;
//
// label3
//
this
.
label3
.
AutoSize
=
true
;
this
.
label3
.
Location
=
new
System
.
Drawing
.
Point
(
52
,
51
);
this
.
label3
.
Name
=
"label3"
;
this
.
label3
.
Size
=
new
System
.
Drawing
.
Size
(
59
,
17
);
this
.
label3
.
TabIndex
=
286
;
this
.
label3
.
Text
=
"报警状态:"
;
//
// label24
//
this
.
label24
.
AutoSize
=
true
;
this
.
label24
.
Location
=
new
System
.
Drawing
.
Point
(
40
,
219
);
this
.
label24
.
Name
=
"label24"
;
this
.
label24
.
Size
=
new
System
.
Drawing
.
Size
(
71
,
17
);
this
.
label24
.
TabIndex
=
316
;
this
.
label24
.
Text
=
"负极限信号:"
;
this
.
label24
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// label5
//
this
.
label5
.
AutoSize
=
true
;
this
.
label5
.
Location
=
new
System
.
Drawing
.
Point
(
52
,
23
);
this
.
label5
.
Name
=
"label5"
;
this
.
label5
.
Size
=
new
System
.
Drawing
.
Size
(
59
,
17
);
this
.
label5
.
TabIndex
=
328
;
this
.
label5
.
Text
=
"伺服状态:"
;
//
// btnGetAlarm
//
this
.
btnGetAlarm
.
BackColor
=
System
.
Drawing
.
Color
.
White
;
this
.
btnGetAlarm
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnGetAlarm
.
Location
=
new
System
.
Drawing
.
Point
(
35
,
245
);
this
.
btnGetAlarm
.
Name
=
"btnGetAlarm"
;
this
.
btnGetAlarm
.
Size
=
new
System
.
Drawing
.
Size
(
110
,
34
);
this
.
btnGetAlarm
.
TabIndex
=
284
;
this
.
btnGetAlarm
.
Text
=
"读报状态"
;
this
.
btnGetAlarm
.
UseVisualStyleBackColor
=
false
;
this
.
btnGetAlarm
.
Click
+=
new
System
.
EventHandler
(
this
.
btnGetAlarm_Click
);
//
// txtAlarmStatus
//
this
.
txtAlarmStatus
.
Enabled
=
false
;
this
.
txtAlarmStatus
.
Location
=
new
System
.
Drawing
.
Point
(
120
,
48
);
this
.
txtAlarmStatus
.
Name
=
"txtAlarmStatus"
;
this
.
txtAlarmStatus
.
Size
=
new
System
.
Drawing
.
Size
(
25
,
23
);
this
.
txtAlarmStatus
.
TabIndex
=
285
;
//
// txtLimit2
//
this
.
txtLimit2
.
Enabled
=
false
;
this
.
txtLimit2
.
Location
=
new
System
.
Drawing
.
Point
(
120
,
216
);
this
.
txtLimit2
.
Name
=
"txtLimit2"
;
this
.
txtLimit2
.
Size
=
new
System
.
Drawing
.
Size
(
25
,
23
);
this
.
txtLimit2
.
TabIndex
=
313
;
//
// txtServoStatue
//
this
.
txtServoStatue
.
Enabled
=
false
;
this
.
txtServoStatue
.
Location
=
new
System
.
Drawing
.
Point
(
120
,
20
);
this
.
txtServoStatue
.
Name
=
"txtServoStatue"
;
this
.
txtServoStatue
.
Size
=
new
System
.
Drawing
.
Size
(
25
,
23
);
this
.
txtServoStatue
.
TabIndex
=
327
;
//
// label22
//
this
.
label22
.
AutoSize
=
true
;
this
.
label22
.
Location
=
new
System
.
Drawing
.
Point
(
40
,
191
);
this
.
label22
.
Name
=
"label22"
;
this
.
label22
.
Size
=
new
System
.
Drawing
.
Size
(
71
,
17
);
this
.
label22
.
TabIndex
=
312
;
this
.
label22
.
Text
=
"正极限信号:"
;
this
.
label22
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// txtLimit1
//
this
.
txtLimit1
.
Enabled
=
false
;
this
.
txtLimit1
.
Location
=
new
System
.
Drawing
.
Point
(
120
,
188
);
this
.
txtLimit1
.
Name
=
"txtLimit1"
;
this
.
txtLimit1
.
Size
=
new
System
.
Drawing
.
Size
(
25
,
23
);
this
.
txtLimit1
.
TabIndex
=
309
;
//
// label6
//
this
.
label6
.
AutoSize
=
true
;
this
.
label6
.
Location
=
new
System
.
Drawing
.
Point
(
52
,
163
);
this
.
label6
.
Name
=
"label6"
;
this
.
label6
.
Size
=
new
System
.
Drawing
.
Size
(
59
,
17
);
this
.
label6
.
TabIndex
=
300
;
this
.
label6
.
Text
=
"原点信号:"
;
//
// txtHomeSingle
//
this
.
txtHomeSingle
.
Enabled
=
false
;
this
.
txtHomeSingle
.
Location
=
new
System
.
Drawing
.
Point
(
120
,
160
);
this
.
txtHomeSingle
.
Name
=
"txtHomeSingle"
;
this
.
txtHomeSingle
.
Size
=
new
System
.
Drawing
.
Size
(
25
,
23
);
this
.
txtHomeSingle
.
TabIndex
=
297
;
//
// panel1
//
this
.
panel1
.
Controls
.
Add
(
this
.
linkLabel1
);
this
.
panel1
.
Controls
.
Add
(
this
.
comjSpeed
);
this
.
panel1
.
Controls
.
Add
(
this
.
btnComAlarmClear
);
this
.
panel1
.
Controls
.
Add
(
this
.
btnAxisStop
);
this
.
panel1
.
Controls
.
Add
(
this
.
btnAxisReturnHome
);
this
.
panel1
.
Controls
.
Add
(
this
.
comboBox1
);
this
.
panel1
.
Controls
.
Add
(
this
.
btnMCopy
);
this
.
panel1
.
Controls
.
Add
(
this
.
btnDelMove
);
this
.
panel1
.
Controls
.
Add
(
this
.
btnOpenAxis
);
this
.
panel1
.
Controls
.
Add
(
this
.
btnCloseAxis
);
this
.
panel1
.
Controls
.
Add
(
this
.
btnAddMove
);
this
.
panel1
.
Controls
.
Add
(
this
.
txtASpeed
);
this
.
panel1
.
Controls
.
Add
(
this
.
label1
);
this
.
panel1
.
Controls
.
Add
(
this
.
label47
);
this
.
panel1
.
Controls
.
Add
(
this
.
btnReadPosition
);
this
.
panel1
.
Controls
.
Add
(
this
.
btnAxisVMove
);
this
.
panel1
.
Controls
.
Add
(
this
.
label8
);
this
.
panel1
.
Controls
.
Add
(
this
.
btnAxisRMove
);
this
.
panel1
.
Controls
.
Add
(
this
.
lblCountPulse
);
this
.
panel1
.
Controls
.
Add
(
this
.
btnAxisAMove
);
this
.
panel1
.
Controls
.
Add
(
this
.
label49
);
this
.
panel1
.
Controls
.
Add
(
this
.
txtAPosition
);
this
.
panel1
.
Controls
.
Add
(
this
.
label46
);
this
.
panel1
.
Controls
.
Add
(
this
.
label48
);
this
.
panel1
.
Controls
.
Add
(
this
.
label45
);
this
.
panel1
.
Controls
.
Add
(
this
.
txtAxisValue
);
this
.
panel1
.
Controls
.
Add
(
this
.
txtAxisDeviceName
);
this
.
panel1
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
panel1
.
Location
=
new
System
.
Drawing
.
Point
(
7
,
17
);
this
.
panel1
.
Name
=
"panel1"
;
this
.
panel1
.
Size
=
new
System
.
Drawing
.
Size
(
540
,
273
);
this
.
panel1
.
TabIndex
=
219
;
//
// linkLabel1
//
this
.
linkLabel1
.
AutoSize
=
true
;
this
.
linkLabel1
.
Location
=
new
System
.
Drawing
.
Point
(
169
,
178
);
this
.
linkLabel1
.
Name
=
"linkLabel1"
;
this
.
linkLabel1
.
Size
=
new
System
.
Drawing
.
Size
(
32
,
17
);
this
.
linkLabel1
.
TabIndex
=
336
;
this
.
linkLabel1
.
TabStop
=
true
;
this
.
linkLabel1
.
Text
=
"复制"
;
this
.
linkLabel1
.
LinkClicked
+=
new
System
.
Windows
.
Forms
.
LinkLabelLinkClickedEventHandler
(
this
.
linkLabel1_LinkClicked
);
//
// comjSpeed
//
this
.
comjSpeed
.
DropDownStyle
=
System
.
Windows
.
Forms
.
ComboBoxStyle
.
DropDownList
;
this
.
comjSpeed
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
comjSpeed
.
FormattingEnabled
=
true
;
this
.
comjSpeed
.
Location
=
new
System
.
Drawing
.
Point
(
71
,
225
);
this
.
comjSpeed
.
Name
=
"comjSpeed"
;
this
.
comjSpeed
.
Size
=
new
System
.
Drawing
.
Size
(
95
,
28
);
this
.
comjSpeed
.
TabIndex
=
335
;
//
// btnComAlarmClear
//
this
.
btnComAlarmClear
.
BackColor
=
System
.
Drawing
.
Color
.
White
;
this
.
btnComAlarmClear
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnComAlarmClear
.
Location
=
new
System
.
Drawing
.
Point
(
307
,
169
);
this
.
btnComAlarmClear
.
Name
=
"btnComAlarmClear"
;
this
.
btnComAlarmClear
.
Size
=
new
System
.
Drawing
.
Size
(
110
,
34
);
this
.
btnComAlarmClear
.
TabIndex
=
50
;
this
.
btnComAlarmClear
.
Text
=
"清除报警"
;
this
.
btnComAlarmClear
.
UseVisualStyleBackColor
=
false
;
this
.
btnComAlarmClear
.
Click
+=
new
System
.
EventHandler
(
this
.
btnComAlarmClear_Click
);
//
// btnAxisStop
//
this
.
btnAxisStop
.
BackColor
=
System
.
Drawing
.
Color
.
FromArgb
(((
int
)(((
byte
)(
255
)))),
((
int
)(((
byte
)(
255
)))),
((
int
)(((
byte
)(
192
)))));
this
.
btnAxisStop
.
Cursor
=
System
.
Windows
.
Forms
.
Cursors
.
Default
;
this
.
btnAxisStop
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnAxisStop
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnAxisStop
.
ForeColor
=
System
.
Drawing
.
SystemColors
.
ControlText
;
this
.
btnAxisStop
.
Location
=
new
System
.
Drawing
.
Point
(
427
,
90
);
this
.
btnAxisStop
.
Name
=
"btnAxisStop"
;
this
.
btnAxisStop
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
btnAxisStop
.
Size
=
new
System
.
Drawing
.
Size
(
110
,
114
);
this
.
btnAxisStop
.
TabIndex
=
246
;
this
.
btnAxisStop
.
Text
=
" 停止运动"
;
this
.
btnAxisStop
.
UseVisualStyleBackColor
=
false
;
this
.
btnAxisStop
.
Click
+=
new
System
.
EventHandler
(
this
.
btnAxisStop_Click
);
//
// btnAxisReturnHome
//
this
.
btnAxisReturnHome
.
BackColor
=
System
.
Drawing
.
Color
.
White
;
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
(
307
,
129
);
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
=
false
;
this
.
btnAxisReturnHome
.
Click
+=
new
System
.
EventHandler
(
this
.
btnAxisReturnHome_Click
);
//
// 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
(
71
,
13
);
this
.
comboBox1
.
Name
=
"comboBox1"
;
this
.
comboBox1
.
Size
=
new
System
.
Drawing
.
Size
(
227
,
28
);
this
.
comboBox1
.
TabIndex
=
301
;
this
.
comboBox1
.
SelectedIndexChanged
+=
new
System
.
EventHandler
(
this
.
comboBox1_SelectedIndexChanged
);
//
// btnMCopy
//
this
.
btnMCopy
.
BackColor
=
System
.
Drawing
.
Color
.
White
;
this
.
btnMCopy
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnMCopy
.
Location
=
new
System
.
Drawing
.
Point
(
468
,
225
);
this
.
btnMCopy
.
Name
=
"btnMCopy"
;
this
.
btnMCopy
.
Size
=
new
System
.
Drawing
.
Size
(
69
,
28
);
this
.
btnMCopy
.
TabIndex
=
334
;
this
.
btnMCopy
.
Text
=
"复制"
;
this
.
btnMCopy
.
UseVisualStyleBackColor
=
false
;
this
.
btnMCopy
.
Visible
=
false
;
//
// btnDelMove
//
this
.
btnDelMove
.
BackColor
=
System
.
Drawing
.
Color
.
White
;
this
.
btnDelMove
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnDelMove
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnDelMove
.
Location
=
new
System
.
Drawing
.
Point
(
321
,
217
);
this
.
btnDelMove
.
Name
=
"btnDelMove"
;
this
.
btnDelMove
.
Size
=
new
System
.
Drawing
.
Size
(
140
,
45
);
this
.
btnDelMove
.
TabIndex
=
332
;
this
.
btnDelMove
.
Text
=
"点动-(上升)"
;
this
.
btnDelMove
.
UseVisualStyleBackColor
=
false
;
this
.
btnDelMove
.
MouseDown
+=
new
System
.
Windows
.
Forms
.
MouseEventHandler
(
this
.
btnDelMove_MouseDown
);
this
.
btnDelMove
.
MouseUp
+=
new
System
.
Windows
.
Forms
.
MouseEventHandler
(
this
.
btnDelMove_MouseUp
);
//
// btnOpenAxis
//
this
.
btnOpenAxis
.
BackColor
=
System
.
Drawing
.
Color
.
White
;
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
(
307
,
9
);
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
=
false
;
this
.
btnOpenAxis
.
Click
+=
new
System
.
EventHandler
(
this
.
btnOpenAxis_Click
);
//
// btnCloseAxis
//
this
.
btnCloseAxis
.
BackColor
=
System
.
Drawing
.
Color
.
White
;
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
(
427
,
9
);
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
=
false
;
this
.
btnCloseAxis
.
Click
+=
new
System
.
EventHandler
(
this
.
btnCloseAxis_Click
);
//
// btnAddMove
//
this
.
btnAddMove
.
BackColor
=
System
.
Drawing
.
Color
.
White
;
this
.
btnAddMove
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnAddMove
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnAddMove
.
Location
=
new
System
.
Drawing
.
Point
(
172
,
217
);
this
.
btnAddMove
.
Name
=
"btnAddMove"
;
this
.
btnAddMove
.
Size
=
new
System
.
Drawing
.
Size
(
140
,
45
);
this
.
btnAddMove
.
TabIndex
=
330
;
this
.
btnAddMove
.
Text
=
"点动+(上升)"
;
this
.
btnAddMove
.
UseVisualStyleBackColor
=
false
;
this
.
btnAddMove
.
MouseDown
+=
new
System
.
Windows
.
Forms
.
MouseEventHandler
(
this
.
btnAddMove_MouseDown
);
this
.
btnAddMove
.
MouseUp
+=
new
System
.
Windows
.
Forms
.
MouseEventHandler
(
this
.
btnAddMove_MouseUp
);
//
// 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
(
207
,
99
);
this
.
txtASpeed
.
MaxLength
=
12
;
this
.
txtASpeed
.
Name
=
"txtASpeed"
;
this
.
txtASpeed
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtASpeed
.
Size
=
new
System
.
Drawing
.
Size
(
91
,
26
);
this
.
txtASpeed
.
TabIndex
=
251
;
this
.
txtASpeed
.
Text
=
"200"
;
//
// label1
//
this
.
label1
.
AutoSize
=
true
;
this
.
label1
.
Location
=
new
System
.
Drawing
.
Point
(
9
,
231
);
this
.
label1
.
Name
=
"label1"
;
this
.
label1
.
Size
=
new
System
.
Drawing
.
Size
(
68
,
17
);
this
.
label1
.
TabIndex
=
329
;
this
.
label1
.
Text
=
"点动速度:"
;
//
// label47
//
this
.
label47
.
AutoSize
=
true
;
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
(
142
,
104
);
this
.
label47
.
Name
=
"label47"
;
this
.
label47
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
label47
.
Size
=
new
System
.
Drawing
.
Size
(
59
,
17
);
this
.
label47
.
TabIndex
=
250
;
this
.
label47
.
Text
=
"目标速度:"
;
this
.
label47
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// btnReadPosition
//
this
.
btnReadPosition
.
BackColor
=
System
.
Drawing
.
Color
.
White
;
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
(
207
,
140
);
this
.
btnReadPosition
.
Name
=
"btnReadPosition"
;
this
.
btnReadPosition
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
btnReadPosition
.
Size
=
new
System
.
Drawing
.
Size
(
91
,
34
);
this
.
btnReadPosition
.
TabIndex
=
278
;
this
.
btnReadPosition
.
Text
=
"读取位置"
;
this
.
btnReadPosition
.
UseVisualStyleBackColor
=
false
;
this
.
btnReadPosition
.
Click
+=
new
System
.
EventHandler
(
this
.
btnReadPosition_Click
);
//
// btnAxisVMove
//
this
.
btnAxisVMove
.
BackColor
=
System
.
Drawing
.
Color
.
White
;
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
(
307
,
89
);
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
=
false
;
this
.
btnAxisVMove
.
Click
+=
new
System
.
EventHandler
(
this
.
btnAxisVMove_Click
);
//
// 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
(
18
,
149
);
this
.
label8
.
Name
=
"label8"
;
this
.
label8
.
Size
=
new
System
.
Drawing
.
Size
(
59
,
17
);
this
.
label8
.
TabIndex
=
255
;
this
.
label8
.
Text
=
"实时位置:"
;
//
// btnAxisRMove
//
this
.
btnAxisRMove
.
BackColor
=
System
.
Drawing
.
Color
.
White
;
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
(
427
,
48
);
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
=
false
;
this
.
btnAxisRMove
.
Click
+=
new
System
.
EventHandler
(
this
.
btnAxisRMove_Click
);
//
// lblCountPulse
//
this
.
lblCountPulse
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
lblCountPulse
.
Location
=
new
System
.
Drawing
.
Point
(
83
,
144
);
this
.
lblCountPulse
.
Name
=
"lblCountPulse"
;
this
.
lblCountPulse
.
ReadOnly
=
true
;
this
.
lblCountPulse
.
Size
=
new
System
.
Drawing
.
Size
(
118
,
26
);
this
.
lblCountPulse
.
TabIndex
=
38
;
//
// btnAxisAMove
//
this
.
btnAxisAMove
.
BackColor
=
System
.
Drawing
.
Color
.
White
;
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
(
307
,
49
);
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
=
false
;
this
.
btnAxisAMove
.
Click
+=
new
System
.
EventHandler
(
this
.
btnAxisAMove_Click
);
//
// 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
(
10
,
18
);
this
.
label49
.
Name
=
"label49"
;
this
.
label49
.
Size
=
new
System
.
Drawing
.
Size
(
51
,
17
);
this
.
label49
.
TabIndex
=
233
;
this
.
label49
.
Text
=
"AC伺服:"
;
this
.
label49
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// 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
(
207
,
57
);
this
.
txtAPosition
.
MaxLength
=
12
;
this
.
txtAPosition
.
Name
=
"txtAPosition"
;
this
.
txtAPosition
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
txtAPosition
.
Size
=
new
System
.
Drawing
.
Size
(
91
,
26
);
this
.
txtAPosition
.
TabIndex
=
244
;
this
.
txtAPosition
.
Text
=
"3000"
;
//
// 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
(
26
,
104
);
this
.
label46
.
Name
=
"label46"
;
this
.
label46
.
Size
=
new
System
.
Drawing
.
Size
(
35
,
17
);
this
.
label46
.
TabIndex
=
239
;
this
.
label46
.
Text
=
"地址:"
;
this
.
label46
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// label48
//
this
.
label48
.
AutoSize
=
true
;
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
(
142
,
62
);
this
.
label48
.
Name
=
"label48"
;
this
.
label48
.
RightToLeft
=
System
.
Windows
.
Forms
.
RightToLeft
.
No
;
this
.
label48
.
Size
=
new
System
.
Drawing
.
Size
(
59
,
17
);
this
.
label48
.
TabIndex
=
243
;
this
.
label48
.
Text
=
"目标位置:"
;
this
.
label48
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// 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
(
14
,
62
);
this
.
label45
.
Name
=
"label45"
;
this
.
label45
.
Size
=
new
System
.
Drawing
.
Size
(
47
,
17
);
this
.
label45
.
TabIndex
=
240
;
this
.
label45
.
Text
=
"端口号:"
;
this
.
label45
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// 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
(
71
,
99
);
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
(
71
,
57
);
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"
;
//
// 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
(
32
,
115
);
this
.
lblServerOn
.
Name
=
"lblServerOn"
;
this
.
lblServerOn
.
Size
=
new
System
.
Drawing
.
Size
(
0
,
19
);
this
.
lblServerOn
.
TabIndex
=
268
;
//
// txtStb
//
this
.
txtStb
.
Enabled
=
false
;
this
.
txtStb
.
Location
=
new
System
.
Drawing
.
Point
(
120
,
76
);
this
.
txtStb
.
Name
=
"txtStb"
;
this
.
txtStb
.
Size
=
new
System
.
Drawing
.
Size
(
25
,
23
);
this
.
txtStb
.
TabIndex
=
329
;
//
// label2
//
this
.
label2
.
AutoSize
=
true
;
this
.
label2
.
Location
=
new
System
.
Drawing
.
Point
(
54
,
79
);
this
.
label2
.
Name
=
"label2"
;
this
.
label2
.
Size
=
new
System
.
Drawing
.
Size
(
57
,
17
);
this
.
label2
.
TabIndex
=
330
;
this
.
label2
.
Text
=
"STB状态:"
;
//
// AxisMoveControl
//
this
.
AutoScaleMode
=
System
.
Windows
.
Forms
.
AutoScaleMode
.
None
;
this
.
Controls
.
Add
(
this
.
groupAxis
);
this
.
Name
=
"AxisMoveControl"
;
this
.
Size
=
new
System
.
Drawing
.
Size
(
731
,
310
);
this
.
groupAxis
.
ResumeLayout
(
false
);
this
.
groupAxis
.
PerformLayout
();
this
.
groupBox1
.
ResumeLayout
(
false
);
this
.
groupBox1
.
PerformLayout
();
this
.
panel1
.
ResumeLayout
(
false
);
this
.
panel1
.
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
.
TextBox
txtHomeSingle
;
private
System
.
Windows
.
Forms
.
Label
label11
;
private
System
.
Windows
.
Forms
.
TextBox
txtHomeStatus
;
private
System
.
Windows
.
Forms
.
Label
label10
;
private
System
.
Windows
.
Forms
.
TextBox
txtBusyStatus
;
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
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
;
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
;
private
System
.
Windows
.
Forms
.
Label
label24
;
private
System
.
Windows
.
Forms
.
TextBox
txtLimit2
;
private
System
.
Windows
.
Forms
.
Label
label22
;
private
System
.
Windows
.
Forms
.
TextBox
txtLimit1
;
private
System
.
Windows
.
Forms
.
Panel
panel1
;
private
System
.
Windows
.
Forms
.
Label
label5
;
private
System
.
Windows
.
Forms
.
TextBox
txtServoStatue
;
private
System
.
Windows
.
Forms
.
Button
btnMCopy
;
private
System
.
Windows
.
Forms
.
Button
btnDelMove
;
private
System
.
Windows
.
Forms
.
Button
btnAddMove
;
private
System
.
Windows
.
Forms
.
Label
label1
;
private
System
.
Windows
.
Forms
.
GroupBox
groupBox1
;
private
System
.
Windows
.
Forms
.
ComboBox
comjSpeed
;
private
System
.
Windows
.
Forms
.
LinkLabel
linkLabel1
;
private
System
.
Windows
.
Forms
.
TextBox
txtStb
;
private
System
.
Windows
.
Forms
.
Label
label2
;
}
}
source/ACSingleStore/userControl/AxisMoveControl.cs
0 → 100644
查看文件 @
4385548
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.AutoCountClient
{
public
partial
class
AxisMoveControl
:
UserControl
{
private
List
<
AxisBean
>
axisList
=
new
List
<
AxisBean
>();
private
BoxBean
boxBean
=
null
;
private
string
PortName
=
""
;
private
int
SlvAddr
=
0
;
public
AxisMoveControl
()
{
InitializeComponent
();
}
public
void
LoadData
(
BoxBean
equipBase
,
params
AxisBean
[]
moveAxis
)
{
this
.
boxBean
=
equipBase
;
axisList
=
new
List
<
AxisBean
>(
moveAxis
);
if
(
axisList
.
Count
>
0
)
{
comboBox1
.
Items
.
Clear
();
foreach
(
AxisBean
a
in
axisList
)
{
comboBox1
.
Items
.
Add
(
a
.
Config
.
Explain
);
}
comboBox1
.
SelectedIndex
=
0
;
PortName
=
moveAxis
[
0
].
Config
.
DeviceName
;
SlvAddr
=
moveAxis
[
0
].
Config
.
GetAxisValue
();
txtAxisDeviceName
.
Text
=
PortName
;
txtAxisValue
.
Text
=
SlvAddr
.
ToString
();
}
btnAddMove
.
BackColor
=
Color
.
White
;
btnDelMove
.
BackColor
=
Color
.
White
;
}
private
bool
CanMove
()
{
//如果是取料升降轴,取料旋转轴,如果进出轴不在待机点,不能运动
if
(
boxBean
.
Config
.
UpDown_Axis
.
IsSameAxis
(
PortName
,
SlvAddr
)
||
(
boxBean
.
Config
.
Middle_Axis
.
IsSameAxis
(
PortName
,
SlvAddr
)))
{
int
InOutDefaultPosition
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
InOutDefaultPosition
);
int
currValue
=
boxBean
.
Config
.
InOut_Axis
.
GetAclPosition
();
if
(
currValue
<=
InOutDefaultPosition
)
{
return
true
;
}
MessageBox
.
Show
(
"叉子不在待机位,请先将叉子退回待机位("
+
InOutDefaultPosition
+
")"
,
"警告(叉子在待机位时,才能移动升降轴和旋转轴) "
,
MessageBoxButtons
.
OK
,
MessageBoxIcon
.
Error
);
return
false
;
}
else
{
return
true
;
}
}
private
void
btnOpenAxis_Click
(
object
sender
,
EventArgs
e
)
{
LogUtil
.
info
(
"点击【打开伺服】,【"
+
PortName
+
"_"
+
SlvAddr
+
"】 "
);
boxBean
.
RunAxis
(
false
,
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
)
{
if
(!
CanMove
())
{
return
;
}
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
)
{
if
(!
CanMove
())
{
return
;
}
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
)
{
if
(!
CanMove
())
{
return
;
}
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
);
if
(
btnAddMove
.
BackColor
==
Color
.
Green
)
{
btnAddMove
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
}
if
(
btnDelMove
.
BackColor
==
Color
.
Green
)
{
btnDelMove
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
}
btnReadPosition_Click
(
null
,
null
);
}
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
)
{
if
(!
CanMove
())
{
return
;
}
int
speed
=
FormUtil
.
GetIntValue
(
txtASpeed
);
LogUtil
.
info
(
"点击【原点返回】,【"
+
PortName
+
"_"
+
SlvAddr
+
"】 速度【"
+
speed
+
"】"
);
ACServerManager
.
HomeMove
(
PortName
,
SlvAddr
,
speed
);
}
private
void
btnGetAlarm_Click
(
object
sender
,
EventArgs
e
)
{
this
.
txtAlarmStatus
.
Text
=
ACServerManager
.
GetAlarmStatus
(
PortName
,
SlvAddr
).
ToString
();
this
.
txtBusyStatus
.
Text
=
ACServerManager
.
GetBusyStatus
(
PortName
,
SlvAddr
).
ToString
();
this
.
txtStb
.
Text
=
ACServerManager
.
GetSTBState
(
PortName
,
SlvAddr
).
ToString
();
this
.
txtHomeStatus
.
Text
=
ACServerManager
.
GetHomeEndStatus
(
PortName
,
SlvAddr
).
ToString
();
this
.
txtHomeSingle
.
Text
=
ACServerManager
.
GetHomeSingle
(
PortName
,
SlvAddr
).
ToString
();
this
.
txtLimit1
.
Text
=
ACServerManager
.
GetLimitPositiveSingle
(
PortName
,
SlvAddr
).
ToString
();
this
.
txtLimit2
.
Text
=
ACServerManager
.
GetLimitNegativeSingle
(
PortName
,
SlvAddr
).
ToString
();
txtServoStatue
.
Text
=
ACServerManager
.
ServerOnStatus
(
PortName
,
SlvAddr
)
?
"✔"
:
"✘"
;
}
private
void
btnReadPosition_Click
(
object
sender
,
EventArgs
e
)
{
lblCountPulse
.
Text
=
ACServerManager
.
GetActualtPosition
(
PortName
,
SlvAddr
).
ToString
();
}
private
void
comboBox1_SelectedIndexChanged
(
object
sender
,
EventArgs
e
)
{
if
(
comboBox1
.
SelectedIndex
>=
0
)
{
ConfigMoveAxis
axis
=
axisList
[
comboBox1
.
SelectedIndex
].
Config
;
PortName
=
axis
.
DeviceName
;
SlvAddr
=
axis
.
GetAxisValue
();
txtAxisDeviceName
.
Text
=
PortName
;
txtAxisValue
.
Text
=
SlvAddr
.
ToString
();
Color
color
=
Color
.
Black
;
int
targetSpeed
=
axis
.
TargetSpeed
;
comjSpeed
.
Items
.
Clear
();
for
(
int
i
=
1
;
i
<=
10
;
i
++)
{
comjSpeed
.
Items
.
Add
(
targetSpeed
*
i
/
10
);
}
comjSpeed
.
SelectedIndex
=
4
;
btnAddMove
.
Text
=
"点动+ "
;
btnDelMove
.
Text
=
"点动- "
;
txtASpeed
.
Text
=
targetSpeed
.
ToString
();
int
SelIndex
=
comboBox1
.
SelectedIndex
;
if
(
SelIndex
.
Equals
(
0
))
{
color
=
Color
.
Blue
;
}
else
if
(
SelIndex
.
Equals
(
1
))
{
color
=
Color
.
Red
;
}
else
if
(
SelIndex
.
Equals
(
2
))
{
color
=
Color
.
Green
;
}
else
if
(
SelIndex
.
Equals
(
3
))
{
color
=
System
.
Drawing
.
Color
.
FromArgb
(((
int
)(((
byte
)(
192
)))),
((
int
)(((
byte
)(
0
)))),
((
int
)(((
byte
)(
192
)))));
;
}
else
if
(
SelIndex
.
Equals
(
4
))
{
color
=
System
.
Drawing
.
Color
.
FromArgb
(((
int
)(((
byte
)(
255
)))),
((
int
)(((
byte
)(
128
)))),
((
int
)(((
byte
)(
0
)))));
}
else
if
(
SelIndex
.
Equals
(
5
))
{
color
=
Color
.
BlueViolet
;
}
else
if
(
SelIndex
.
Equals
(
6
))
{
color
=
Color
.
Firebrick
;
}
btnOpenAxis
.
ForeColor
=
color
;
btnCloseAxis
.
ForeColor
=
color
;
btnAxisAMove
.
ForeColor
=
color
;
btnAxisRMove
.
ForeColor
=
color
;
btnAxisVMove
.
ForeColor
=
color
;
btnAxisReturnHome
.
ForeColor
=
color
;
btnAxisStop
.
ForeColor
=
color
;
btnComAlarmClear
.
ForeColor
=
color
;
btnReadPosition
.
ForeColor
=
color
;
btnGetAlarm
.
ForeColor
=
color
;
btnAddMove
.
ForeColor
=
color
;
btnDelMove
.
ForeColor
=
color
;
this
.
txtAlarmStatus
.
Text
=
""
;
this
.
txtBusyStatus
.
Text
=
""
;
this
.
txtHomeStatus
.
Text
=
""
;
this
.
txtHomeSingle
.
Text
=
""
;
this
.
txtLimit1
.
Text
=
""
;
this
.
txtLimit2
.
Text
=
""
;
txtServoStatue
.
Text
=
""
;
}
}
private
void
AxisMove
(
int
speed
)
{
LogUtil
.
info
(
"【"
+
PortName
+
"_"
+
SlvAddr
+
"】点动: 速度:"
+
speed
);
ACServerManager
.
SpeedMove
(
PortName
,
SlvAddr
,
speed
);
}
private
void
btnAddMove_MouseDown
(
object
sender
,
MouseEventArgs
e
)
{
if
(!
CanMove
())
{
return
;
}
if
(
btnAddMove
.
BackColor
.
Equals
(
Color
.
White
))
{
int
speed
=
Convert
.
ToInt32
(
comjSpeed
.
Text
);
if
(
speed
<=
0
)
{
MessageBox
.
Show
(
"提示"
,
"请先输入正确的速度"
);
return
;
}
btnAddMove
.
BackColor
=
Color
.
Green
;
AxisMove
(
speed
);
}
}
private
void
btnAddMove_MouseUp
(
object
sender
,
MouseEventArgs
e
)
{
if
(
btnAddMove
.
BackColor
==
Color
.
Green
)
{
btnAddMove
.
BackColor
=
Color
.
White
;
ACServerManager
.
SuddenStop
(
PortName
,
SlvAddr
);
btnReadPosition_Click
(
null
,
null
);
}
}
private
void
btnDelMove_MouseDown
(
object
sender
,
MouseEventArgs
e
)
{
if
(!
CanMove
())
{
return
;
}
if
(
btnDelMove
.
BackColor
.
Equals
(
Color
.
White
))
{
int
speed
=
Convert
.
ToInt32
(
comjSpeed
.
Text
);
if
(
speed
<=
0
)
{
MessageBox
.
Show
(
"提示"
,
"请先输入正确的速度"
);
return
;
}
btnDelMove
.
BackColor
=
Color
.
Green
;
AxisMove
(-
speed
);
}
}
private
void
btnDelMove_MouseUp
(
object
sender
,
MouseEventArgs
e
)
{
if
(
btnDelMove
.
BackColor
==
Color
.
Green
)
{
btnDelMove
.
BackColor
=
Color
.
White
;
ACServerManager
.
SuddenStop
(
PortName
,
SlvAddr
);
btnReadPosition_Click
(
null
,
null
);
}
}
private
void
linkLabel1_LinkClicked
(
object
sender
,
LinkLabelLinkClickedEventArgs
e
)
{
Clipboard
.
SetDataObject
(
lblCountPulse
.
Text
,
true
);
}
}
}
source/ACSingleStore/userControl/AxisMoveControl.resx
0 → 100644
查看文件 @
4385548
<?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
source/DeviceLibrary/StoreConfig/AC/BoxConfig_1.csv
查看文件 @
4385548
类型,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义,SlaveID,
PRO,IO模块对应的DI数量,IO_DILength,192.168.202.21#8,,,,,,,,,,,
PRO,模块对应的DO数量,IO_DOLength,192.168.202.21#8,,,,,,,,,,,
PRO,是否有仓门,HasDoor,1,,,,,,,,,,,
PRO,IO模块IP,PRO_AOI_IP_1,192.168.202.21,,,,,,,,,,,
,,,,,,,,,,
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,盘点,CheckPos,2,PRO_AOI_IP_1,0,盘点,X03,DI-03,0,
DI,料盘检测1(进料口),TrayCheck_Door,3,PRO_AOI_IP_1,0,料盘检测1(进料口),X04,DI-04,0,
DI,料盘检测2(料叉),TrayCheck_Fixture,4,PRO_AOI_IP_1,0,料盘检测2(料叉),X05,DI-05,0,
DI,气压检测,Airpressure_Check,5,PRO_AOI_IP_1,0,气压检测,X06,DI-06,0,
DI,进料口门上升端,Door_Up,6,PRO_AOI_IP_1,0,进料口门上升端,X07,DI-07,0,
DI,进料口门下降端,Door_Down,7,PRO_AOI_IP_1,0,进料口门下降端,X08,DI-08,0,
DO,自动指示灯,AutoRun_HddLed,0,PRO_AOI_IP_1,0,自动指示灯,Y01,DO-01,0,
DO,故障指示灯,Alarm_HddLed,1,PRO_AOI_IP_1,0,故障指示灯,Y02,DO-02,0,
DO,待机指示灯,RunSign_HddLed,2,PRO_AOI_IP_1,0,待机指示灯,Y03,DO-03,0,
DO,料仓运转ON,Run_Signal,3,PRO_AOI_IP_1,0,料仓运转ON,Y04,DO-04,0,
DO,轴2刹车电源ON,Axis_Brake,4,PRO_AOI_IP_1,0,轴2刹车电源ON,Y05,DO-05,0,
DO,料仓吹气SOL,StartOrStopBlow,5,PRO_AOI_IP_1,0,料仓吹气SOL,Y06,DO-06,0,
DO,进料口门上升SOL,Door_Up,6,PRO_AOI_IP_1,0,进料口门上升SOL,Y07,DO-07,0,
DO,进料口门下降SOL,Door_Down,7,PRO_AOI_IP_1,0,进料口门下降SOL,Y08,DO-08,0,
AXIS,(轴一)旋转轴,Middle_Axis,1,COM4,0,,,,,
AXIS,(轴二)升降轴轴,UpDown_Axis,2,COM4,0,,,,,
AXIS,(轴三)进出轴,InOut_Axis,3,COM4,0,,,,,
AXIS,(轴四)压紧轴,Comp_Axis,4,COM4,0,,,,,
PRO,升降轴 进料口取料点 P1,UpDownAxis_DoorOPosition_P1,304500,,,,,,,,,,,
PRO,升降轴 进料口出料前点 P2,UpDownAxis_DoorIPosition_P2,325300,,,,,,,,,,,
PRO,升降轴 进料口取料缓冲点 P7,UpDownAxis_DoorOBPosition_P7,325300,,,,,,,,,,,
PRO,升降轴 进料口出料缓冲点 P8,UpDownAxis_DoorIBPosition_P8,304500,,,,,,,,,,,
PRO,旋转轴(轴1)P1 待机原位点,MiddleAxis_P1_Position,359300,,,,,,,,,,,
PRO,进出轴(轴3)P1待机原位点,InOutAxis_P1_Position,1000,,,,,,,,,,,
PRO,压紧轴(轴4)P1待机原位点,CompressAxis_P1_Position,28000,,,,,,,,,,,
PRO,是否使用定位气缸,IsHasLocationCylinder,0,,,,,,,,,,,
PRO,是否有左右侧门,IsHasDoorLimit,1,,,,,,,,,,,
PRO,是否使用压紧轴(1=使用),IsHasCompress_Axis,1,,,,, ,, ,,,,
PRO,气压检测IO关闭需要持续的时间,AirCheckSeconds,3,,,,,,, ,,,,
,,,,,,,,,,
PRO,预警温度,WarnTemperate,80,,,,,,,,,,,
PRO,预警湿度,WarnHumidity,80,,,,,,,,,,,
PRO,(轴一)旋转轴目标速度,MiddleAxis_TargetSpeed,250,,,,,,,,,,,
PRO,(轴一)旋转轴加速度,MiddleAxis_AddSpeed,1000,,,,,,,,,,,
PRO,(轴一)旋转轴减速度,MiddleAxis_DelSpeed,1000,,,,,,,,,,,
PRO,(轴一)旋转轴原点低速度,MiddleAxis_HomeLowSpeed,80,,,,,,,,,,,
PRO,(轴一)旋转轴原点高速,MiddleAxis_HomeHighSpeed,60,,,,,,,,,,,
PRO,(轴一)旋转轴原点加速度,MiddleAxis_HomeAddSpeed,50,,,,,,,,,,,
PRO,(轴二)升降轴轴目标速度,UpdownAxis_TargetSpeed,150,,,,,,,,,,,
PRO,(轴二)升降轴轴加速度,UpdownAxis_AddSpeed,400,,,,,,,,,,,
PRO,(轴二)升降轴轴减速度,UpdownAxis_DelSpeed,400,,,,,,,,,,,
PRO,(轴二)升降轴轴原点低速度,UpdownAxis_HomeLowSpeed,100,,,,,,,,,,,
PRO,(轴二)升降轴轴原点高速,UpdownAxis_HomeHighSpeed,200,,,,,,,,,,,
PRO,(轴二)升降轴轴原点加速度,UpdownAxis_HomeAddSpeed,200,,,,,,,,,,,
PRO,(轴三)进出轴目标速度,InoutAxis_TargetSpeed,100,,,,,,,,,,,
PRO,(轴三)进出轴加速度,InoutAxis_AddSpeed,300,,,,,,,,,,,
PRO,(轴三)进出轴减速度,InoutAxis_DelSpeed,300,,,,,,,,,,,
PRO,(轴三)进出轴原点低速,InoutAxis_HomeLowSpeed,20,,,,,,,,,,,
PRO,(轴三)进出轴原点高速,InoutAxis_HomeHighSpeed,60,,,,,,,,,,,
PRO,(轴三)进出轴原点加速度,InoutAxis_HomeAddSpeed,200,,,,,,,,,,,
PRO,(轴四)压紧轴目标速度,CompAxis_TargetSpeed,100,,,,,,,,,,,
PRO,(轴四)压紧轴加速度,CompAxis_AddSpeed,300,,,,,,,,,,,
PRO,(轴四)压紧轴减速度,CompAxis_DelSpeed,300,,,,,,,,,,,
PRO,(轴四)压紧轴原点低速,CompAxis_HomeLowSpeed,20,,,,,,,,,,,
PRO,(轴四)压紧轴原点高速,CompAxis_HomeHighSpeed,60,,,,,,,,,,,
PRO,(轴四)压紧轴原点加速度,CompAxis_HomeAddSpeed,200,,,,,,,,,,,
,,,,,,,,,,
PRO,升降轴(轴2)P1速度,UpDownAxis_P1_Speed,1000,,,,,,,,,,,
PRO,升降轴(轴2)P2速度,UpDownAxis_P2_Speed,600,,,,,,,,,,,
PRO,升降轴(轴2)P3速度,UpDownAxis_P3_Speed,1000,,,,,,,,,,,
PRO,升降轴(轴2)P4速度,UpDownAxis_P4_Speed,100,,,,,,,,,,,
PRO,升降轴(轴2)P5速度,UpDownAxis_P5_Speed,1000,,,,,,,,,,,
PRO,升降轴(轴2)P6速度,UpDownAxis_P6_Speed,100,,,,,,,,,,,
PRO,升降轴(轴2)P7速度,UpDownAxis_P7_Speed,100,,,,,, ,,,,,
PRO,升降轴(轴2)P8速度,UpDownAxis_P8_Speed,100,,,,,,,,,,,
PRO,旋转轴(轴1)P1速度,MiddleAxis_P1_Speed,500,,,,,,,,,,,
PRO,旋转轴(轴1)P2速度,MiddleAxis_P2_Speed,500,,,,,,,,,,,
PRO,进出轴(轴3)P1速度,InOutAxis_P1_Speed,500,,,,,,,,,,,
PRO,进出轴(轴3)P2速度,InOutAxis_P2_Speed,500,,,,,,,,,,,
PRO,进出轴(轴3)P3速度,InOutAxis_P3_Speed,500,,,,,,,,,,,
PRO,压紧轴(轴4)P1速度,CompAxis_P1_Speed,800,,,,,,,,,,,
PRO,压紧轴(轴4)P2速度,CompAxis_P2_Speed,800,,,,,,,,,,,
PRO,压紧轴(轴4)P3速度,CompAxis_P3_Speed,800,,,,,,,,,,,
PRO,(轴一)旋转轴停止时可误差的脉冲数的最小值,MiddleAxis_ErrorCountMin,10,,,,,,,,,,,
PRO,(轴二)升降轴轴停止时可误差的脉冲数的最小值,UpdownAxis_ErrorCountMin,10,,,,,, ,,,,,
PRO,(轴三)进出轴停止时可误差的脉冲数的最小值,InoutAxis_ErrorCountMin,10,,,,,,,,,,,
PRO,(轴一)旋转轴停止时可误差的脉冲数的最大值,MiddleAxis_ErrorCountMax,1000,,,,,,,,,,,
PRO,(轴二)升降轴轴停止时可误差的脉冲数的最大值,UpdownAxis_ErrorCountMax,1000,,,,,,,,,,,
PRO,(轴三)进出轴停止时可误差的脉冲数的最大值,InoutAxis_ErrorCountMax,1000,,,,,,,,,,,
PRO,出入库多少次,会自动重置旋转轴,Box_ResetMCount,1000,,,,,,,,,,,
PRO,出入库多少次,会自动重置所有轴操作,Box_ResetACount,100,,,,,,,,,,,
PRO,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,,,,,,
PRO,是否使用料盘检测信号,IsUse_Tray_Check,0,,,,,, ,,,,,
PRO,(轴一)旋转轴最小限位,MiddleAxis_PositionMin,0,,,,,,,,,,,
PRO,(轴二)升降轴最小限位,UpdownAxis_PositionMin,0,,,,,,,,,,,
PRO,(轴三)进出轴最小限位,InoutAxis_PositionMin,0,,,,,,,,,,,
PRO,(轴一)旋转轴最大限位,MiddleAxis_PositionMax,0,,,,,,,,,,,
PRO,(轴二)升降轴最大限位,UpdownAxis_PositionMax,0,,,,,,,,,,,
PRO,(轴三)进出轴最大限位,InoutAxis_PositionMax,0,,,,,,,,,,,
PRO,需要吹气的温度(温度标准),Max_Temperature,0,,,,,,,,,,,
PRO,需要吹气的湿度(湿度标准),Max_Humidity,10,,,,,,,,,,,
PRO,每次吹气的时间(分钟),BlowAir_Time,10,,,,,,,,,,,
PRO,两次吹气间隔(分钟),BlowAir_Interval,10,,,,,,, ,,,,
PRO,温湿度端口号,Humiture_Port,COM5,,,,,,,,,,,
,,,,,,,,, ,
,,,,,,,,, ,
类型,分类编号,说明,名称,属性值,设备名称,电器定义,目标速度,加速度,减速度,回零低速,回零高速,回零加速度,脉冲最小误差,脉冲最大误差,脉冲最小限位,脉冲最大限位
AXIS,0,(轴一)旋转轴,Middle_Axis,1,HC,,250,1000,1000,60,80,50,10,100,0,0
AXIS,0,(轴二)升降轴轴,UpDown_Axis,2,HC,,150,400,400,100,200,200,10,100,0,0
AXIS,0,(轴三)进出轴,InOut_Axis,3,HC,,100,300,300,20,60,200,10,100,0,0
AXIS,0,(轴四)压紧轴,Comp_Axis,4,HC,,100,300,300,20,60,200,10,100,0,0
,,,,,,,,,,,,,,,,
PRO,0,升降轴(轴2)进料口取料点 P1,UpDownAxis_DoorOPosition_P1,304500,,,,,,,,,,,,
PRO,0,升降轴(轴2)进料口出料前点 P2,UpDownAxis_DoorIPosition_P2,325300,,,,,,,,,,,,
PRO,0,升降轴(轴2)进料口取料缓冲点 P7,UpDownAxis_DoorOBPosition_P7,325300,,,,,,,,,,,,
PRO,0,升降轴(轴2)进料口出料缓冲点 P8,UpDownAxis_DoorIBPosition_P8,304500,,,,,,,,,,,,
PRO,0,旋转轴(轴1)P1 待机原位点,MiddleAxis_P1_Position,359300,,,,,,,,,,,,
PRO,0,进出轴(轴3)P1待机原位点,InOutAxis_P1_Position,1000,,,,,,,,,,,,
PRO,0,压紧轴(轴4)P1待机原位点,CompressAxis_P1_Position,28000,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,升降轴(轴2)P1速度,UpDownAxis_P1_Speed,1000,,,,,,,,,,,,
PRO,0,升降轴(轴2)P2速度,UpDownAxis_P2_Speed,600,,,,,,,,,,,,
PRO,0,升降轴(轴2)P3速度,UpDownAxis_P3_Speed,1000,,,,,,,,,,,,
PRO,0,升降轴(轴2)P4速度,UpDownAxis_P4_Speed,100,,,,,,,,,,,,
PRO,0,升降轴(轴2)P5速度,UpDownAxis_P5_Speed,1000,,,,,,,,,,,,
PRO,0,升降轴(轴2)P6速度,UpDownAxis_P6_Speed,100,,,,,,,,,,,,
PRO,0,升降轴(轴2)P7速度,UpDownAxis_P7_Speed,100,,,,,,,,,,,,
PRO,0,升降轴(轴2)P8速度,UpDownAxis_P8_Speed,100,,,,,,,,,,,,
PRO,0,旋转轴(轴1)P1速度,MiddleAxis_P1_Speed,500,,,,,,,,,,,,
PRO,0,旋转轴(轴1)P2速度,MiddleAxis_P2_Speed,500,,,,,,,,,,,,
PRO,0,进出轴(轴3)P1速度,InOutAxis_P1_Speed,500,,,,,,,,,,,,
PRO,0,进出轴(轴3)P2速度,InOutAxis_P2_Speed,500,,,,,,,,,,,,
PRO,0,进出轴(轴3)P3速度,InOutAxis_P3_Speed,500,,,,,,,,,,,,
PRO,0,压紧轴(轴4)P1速度,CompAxis_P1_Speed,800,,,,,,,,,,,,
PRO,0,压紧轴(轴4)P2速度,CompAxis_P2_Speed,800,,,,,,,,,,,,
PRO,0,压紧轴(轴4)P3速度,CompAxis_P3_Speed,800,,,,,,,,,,,,
PRO,0,出入库多少次,会自动重置旋转轴,Box_ResetMCount,1000,,,,,,,,,,,,
PRO,0,出入库多少次,会自动重置所有轴操作,Box_ResetACount,100,,,,,,,,,,,,
PRO,0,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,,,,,,,
PRO,0,是否使用料盘检测信号,IsUse_Tray_Check,0,,,,,,,,,,,,
PRO,0,是否调试状态,ISDebug,0,,,,,,,,,,,,
PRO,,每次吹气的时间(分钟),BlowAir_Time,10,,,
PRO,,两次吹气间隔(分钟),BlowAir_Interval,10,,,
source/DeviceLibrary/StoreConfig/AC/BoxConfig_2.csv
查看文件 @
4385548
类型,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义,SlaveID,
PRO,IO模块对应的DI数量,IO_DILength,192.168.202.21#8,,,,,,,,,,,
PRO,模块对应的DO数量,IO_DOLength,192.168.202.21#8,,,,,,,,,,,
PRO,是否有仓门,HasDoor,1,,,,,,,,,,,
PRO,IO模块IP,PRO_AOI_IP_1,192.168.202.21,,,,,,,,,,,
,,,,,,,,,,
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,盘点,CheckPos,2,PRO_AOI_IP_1,0,盘点,X03,DI-03,0,
DI,料盘检测1(进料口),TrayCheck_Door,3,PRO_AOI_IP_1,0,料盘检测1(进料口),X04,DI-04,0,
DI,料盘检测2(料叉),TrayCheck_Fixture,4,PRO_AOI_IP_1,0,料盘检测2(料叉),X05,DI-05,0,
DI,气压检测,Airpressure_Check,5,PRO_AOI_IP_1,0,气压检测,X06,DI-06,0,
DI,进料口门上升端,Door_Up,6,PRO_AOI_IP_1,0,进料口门上升端,X07,DI-07,0,
DI,进料口门下降端,Door_Down,7,PRO_AOI_IP_1,0,进料口门下降端,X08,DI-08,0,
DO,自动指示灯,AutoRun_HddLed,0,PRO_AOI_IP_1,0,自动指示灯,Y01,DO-01,0,
DO,故障指示灯,Alarm_HddLed,1,PRO_AOI_IP_1,0,故障指示灯,Y02,DO-02,0,
DO,待机指示灯,RunSign_HddLed,2,PRO_AOI_IP_1,0,待机指示灯,Y03,DO-03,0,
DO,料仓运转ON,Run_Signal,3,PRO_AOI_IP_1,0,料仓运转ON,Y04,DO-04,0,
DO,轴2刹车电源ON,Axis_Brake,4,PRO_AOI_IP_1,0,轴2刹车电源ON,Y05,DO-05,0,
DO,料仓吹气SOL,StartOrStopBlow,5,PRO_AOI_IP_1,0,料仓吹气SOL,Y06,DO-06,0,
DO,进料口门上升SOL,Door_Up,6,PRO_AOI_IP_1,0,进料口门上升SOL,Y07,DO-07,0,
DO,进料口门下降SOL,Door_Down,7,PRO_AOI_IP_1,0,进料口门下降SOL,Y08,DO-08,0,
AXIS,(轴一)旋转轴,Middle_Axis,1,COM4,0,,,,,
AXIS,(轴二)升降轴轴,UpDown_Axis,2,COM4,0,,,,,
AXIS,(轴三)进出轴,InOut_Axis,3,COM4,0,,,,,
AXIS,(轴四)压紧轴,Comp_Axis,4,COM4,0,,,,,
PRO,升降轴 进料口取料点 P1,UpDownAxis_DoorOPosition_P1,304500,,,,,,,,,,,
PRO,升降轴 进料口出料前点 P2,UpDownAxis_DoorIPosition_P2,325300,,,,,,,,,,,
PRO,升降轴 进料口取料缓冲点 P7,UpDownAxis_DoorOBPosition_P7,325300,,,,,,,,,,,
PRO,升降轴 进料口出料缓冲点 P8,UpDownAxis_DoorIBPosition_P8,304500,,,,,,,,,,,
PRO,旋转轴(轴1)P1 待机原位点,MiddleAxis_P1_Position,359300,,,,,,,,,,,
PRO,进出轴(轴3)P1待机原位点,InOutAxis_P1_Position,1000,,,,,,,,,,,
PRO,压紧轴(轴4)P1待机原位点,CompressAxis_P1_Position,28000,,,,,,,,,,,
PRO,是否使用定位气缸,IsHasLocationCylinder,0,,,,,,,,,,,
PRO,是否有左右侧门,IsHasDoorLimit,1,,,,,,,,,,,
PRO,是否使用压紧轴(1=使用),IsHasCompress_Axis,1,,,,, ,, ,,,,
PRO,气压检测IO关闭需要持续的时间,AirCheckSeconds,3,,,,,,, ,,,,
,,,,,,,,,,
PRO,预警温度,WarnTemperate,80,,,,,,,,,,,
PRO,预警湿度,WarnHumidity,80,,,,,,,,,,,
PRO,(轴一)旋转轴目标速度,MiddleAxis_TargetSpeed,250,,,,,,,,,,,
PRO,(轴一)旋转轴加速度,MiddleAxis_AddSpeed,1000,,,,,,,,,,,
PRO,(轴一)旋转轴减速度,MiddleAxis_DelSpeed,1000,,,,,,,,,,,
PRO,(轴一)旋转轴原点低速度,MiddleAxis_HomeLowSpeed,80,,,,,,,,,,,
PRO,(轴一)旋转轴原点高速,MiddleAxis_HomeHighSpeed,60,,,,,,,,,,,
PRO,(轴一)旋转轴原点加速度,MiddleAxis_HomeAddSpeed,50,,,,,,,,,,,
PRO,(轴二)升降轴轴目标速度,UpdownAxis_TargetSpeed,150,,,,,,,,,,,
PRO,(轴二)升降轴轴加速度,UpdownAxis_AddSpeed,400,,,,,,,,,,,
PRO,(轴二)升降轴轴减速度,UpdownAxis_DelSpeed,400,,,,,,,,,,,
PRO,(轴二)升降轴轴原点低速度,UpdownAxis_HomeLowSpeed,100,,,,,,,,,,,
PRO,(轴二)升降轴轴原点高速,UpdownAxis_HomeHighSpeed,200,,,,,,,,,,,
PRO,(轴二)升降轴轴原点加速度,UpdownAxis_HomeAddSpeed,200,,,,,,,,,,,
PRO,(轴三)进出轴目标速度,InoutAxis_TargetSpeed,100,,,,,,,,,,,
PRO,(轴三)进出轴加速度,InoutAxis_AddSpeed,300,,,,,,,,,,,
PRO,(轴三)进出轴减速度,InoutAxis_DelSpeed,300,,,,,,,,,,,
PRO,(轴三)进出轴原点低速,InoutAxis_HomeLowSpeed,20,,,,,,,,,,,
PRO,(轴三)进出轴原点高速,InoutAxis_HomeHighSpeed,60,,,,,,,,,,,
PRO,(轴三)进出轴原点加速度,InoutAxis_HomeAddSpeed,200,,,,,,,,,,,
PRO,(轴四)压紧轴目标速度,CompAxis_TargetSpeed,100,,,,,,,,,,,
PRO,(轴四)压紧轴加速度,CompAxis_AddSpeed,300,,,,,,,,,,,
PRO,(轴四)压紧轴减速度,CompAxis_DelSpeed,300,,,,,,,,,,,
PRO,(轴四)压紧轴原点低速,CompAxis_HomeLowSpeed,20,,,,,,,,,,,
PRO,(轴四)压紧轴原点高速,CompAxis_HomeHighSpeed,60,,,,,,,,,,,
PRO,(轴四)压紧轴原点加速度,CompAxis_HomeAddSpeed,200,,,,,,,,,,,
,,,,,,,,,,
PRO,升降轴(轴2)P1速度,UpDownAxis_P1_Speed,1000,,,,,,,,,,,
PRO,升降轴(轴2)P2速度,UpDownAxis_P2_Speed,600,,,,,,,,,,,
PRO,升降轴(轴2)P3速度,UpDownAxis_P3_Speed,1000,,,,,,,,,,,
PRO,升降轴(轴2)P4速度,UpDownAxis_P4_Speed,100,,,,,,,,,,,
PRO,升降轴(轴2)P5速度,UpDownAxis_P5_Speed,1000,,,,,,,,,,,
PRO,升降轴(轴2)P6速度,UpDownAxis_P6_Speed,100,,,,,,,,,,,
PRO,升降轴(轴2)P7速度,UpDownAxis_P7_Speed,100,,,,,, ,,,,,
PRO,升降轴(轴2)P8速度,UpDownAxis_P8_Speed,100,,,,,,,,,,,
PRO,旋转轴(轴1)P1速度,MiddleAxis_P1_Speed,500,,,,,,,,,,,
PRO,旋转轴(轴1)P2速度,MiddleAxis_P2_Speed,500,,,,,,,,,,,
PRO,进出轴(轴3)P1速度,InOutAxis_P1_Speed,500,,,,,,,,,,,
PRO,进出轴(轴3)P2速度,InOutAxis_P2_Speed,500,,,,,,,,,,,
PRO,进出轴(轴3)P3速度,InOutAxis_P3_Speed,500,,,,,,,,,,,
PRO,压紧轴(轴4)P1速度,CompAxis_P1_Speed,800,,,,,,,,,,,
PRO,压紧轴(轴4)P2速度,CompAxis_P2_Speed,800,,,,,,,,,,,
PRO,压紧轴(轴4)P3速度,CompAxis_P3_Speed,800,,,,,,,,,,,
PRO,(轴一)旋转轴停止时可误差的脉冲数的最小值,MiddleAxis_ErrorCountMin,10,,,,,,,,,,,
PRO,(轴二)升降轴轴停止时可误差的脉冲数的最小值,UpdownAxis_ErrorCountMin,10,,,,,, ,,,,,
PRO,(轴三)进出轴停止时可误差的脉冲数的最小值,InoutAxis_ErrorCountMin,10,,,,,,,,,,,
PRO,(轴一)旋转轴停止时可误差的脉冲数的最大值,MiddleAxis_ErrorCountMax,1000,,,,,,,,,,,
PRO,(轴二)升降轴轴停止时可误差的脉冲数的最大值,UpdownAxis_ErrorCountMax,1000,,,,,,,,,,,
PRO,(轴三)进出轴停止时可误差的脉冲数的最大值,InoutAxis_ErrorCountMax,1000,,,,,,,,,,,
PRO,出入库多少次,会自动重置旋转轴,Box_ResetMCount,1000,,,,,,,,,,,
PRO,出入库多少次,会自动重置所有轴操作,Box_ResetACount,100,,,,,,,,,,,
PRO,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,,,,,,
PRO,是否使用料盘检测信号,IsUse_Tray_Check,0,,,,,, ,,,,,
PRO,(轴一)旋转轴最小限位,MiddleAxis_PositionMin,0,,,,,,,,,,,
PRO,(轴二)升降轴最小限位,UpdownAxis_PositionMin,0,,,,,,,,,,,
PRO,(轴三)进出轴最小限位,InoutAxis_PositionMin,0,,,,,,,,,,,
PRO,(轴一)旋转轴最大限位,MiddleAxis_PositionMax,0,,,,,,,,,,,
PRO,(轴二)升降轴最大限位,UpdownAxis_PositionMax,0,,,,,,,,,,,
PRO,(轴三)进出轴最大限位,InoutAxis_PositionMax,0,,,,,,,,,,,
PRO,需要吹气的温度(温度标准),Max_Temperature,0,,,,,,,,,,,
PRO,需要吹气的湿度(湿度标准),Max_Humidity,10,,,,,,,,,,,
PRO,每次吹气的时间(分钟),BlowAir_Time,10,,,,,,,,,,,
PRO,两次吹气间隔(分钟),BlowAir_Interval,10,,,,,,, ,,,,
PRO,温湿度端口号,Humiture_Port,COM5,,,,,,,,,,,
,,,,,,,,, ,
,,,,,,,,, ,
类型,分类编号,说明,名称,属性值,设备名称,电器定义,目标速度,加速度,减速度,回零低速,回零高速,回零加速度,脉冲最小误差,脉冲最大误差,脉冲最小限位,脉冲最大限位
AXIS,0,(轴一)旋转轴,Middle_Axis,1,HC,,250,1000,1000,60,80,50,10,100,0,0
AXIS,0,(轴二)升降轴轴,UpDown_Axis,2,HC,,150,400,400,100,200,200,10,100,0,0
AXIS,0,(轴三)进出轴,InOut_Axis,3,HC,,100,300,300,20,60,200,10,100,0,0
AXIS,0,(轴四)压紧轴,Comp_Axis,4,HC,,100,300,300,20,60,200,10,100,0,0
,,,,,,,,,,,,,,,,
PRO,0,升降轴(轴2)进料口取料点 P1,UpDownAxis_DoorOPosition_P1,304500,,,,,,,,,,,,
PRO,0,升降轴(轴2)进料口出料前点 P2,UpDownAxis_DoorIPosition_P2,325300,,,,,,,,,,,,
PRO,0,升降轴(轴2)进料口取料缓冲点 P7,UpDownAxis_DoorOBPosition_P7,325300,,,,,,,,,,,,
PRO,0,升降轴(轴2)进料口出料缓冲点 P8,UpDownAxis_DoorIBPosition_P8,304500,,,,,,,,,,,,
PRO,0,旋转轴(轴1)P1 待机原位点,MiddleAxis_P1_Position,359300,,,,,,,,,,,,
PRO,0,进出轴(轴3)P1待机原位点,InOutAxis_P1_Position,1000,,,,,,,,,,,,
PRO,0,压紧轴(轴4)P1待机原位点,CompressAxis_P1_Position,28000,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,升降轴(轴2)P1速度,UpDownAxis_P1_Speed,1000,,,,,,,,,,,,
PRO,0,升降轴(轴2)P2速度,UpDownAxis_P2_Speed,600,,,,,,,,,,,,
PRO,0,升降轴(轴2)P3速度,UpDownAxis_P3_Speed,1000,,,,,,,,,,,,
PRO,0,升降轴(轴2)P4速度,UpDownAxis_P4_Speed,100,,,,,,,,,,,,
PRO,0,升降轴(轴2)P5速度,UpDownAxis_P5_Speed,1000,,,,,,,,,,,,
PRO,0,升降轴(轴2)P6速度,UpDownAxis_P6_Speed,100,,,,,,,,,,,,
PRO,0,升降轴(轴2)P7速度,UpDownAxis_P7_Speed,100,,,,,,,,,,,,
PRO,0,升降轴(轴2)P8速度,UpDownAxis_P8_Speed,100,,,,,,,,,,,,
PRO,0,旋转轴(轴1)P1速度,MiddleAxis_P1_Speed,500,,,,,,,,,,,,
PRO,0,旋转轴(轴1)P2速度,MiddleAxis_P2_Speed,500,,,,,,,,,,,,
PRO,0,进出轴(轴3)P1速度,InOutAxis_P1_Speed,500,,,,,,,,,,,,
PRO,0,进出轴(轴3)P2速度,InOutAxis_P2_Speed,500,,,,,,,,,,,,
PRO,0,进出轴(轴3)P3速度,InOutAxis_P3_Speed,500,,,,,,,,,,,,
PRO,0,压紧轴(轴4)P1速度,CompAxis_P1_Speed,800,,,,,,,,,,,,
PRO,0,压紧轴(轴4)P2速度,CompAxis_P2_Speed,800,,,,,,,,,,,,
PRO,0,压紧轴(轴4)P3速度,CompAxis_P3_Speed,800,,,,,,,,,,,,
PRO,0,出入库多少次,会自动重置旋转轴,Box_ResetMCount,1000,,,,,,,,,,,,
PRO,0,出入库多少次,会自动重置所有轴操作,Box_ResetACount,100,,,,,,,,,,,,
PRO,0,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,,,,,,,
PRO,0,是否使用料盘检测信号,IsUse_Tray_Check,0,,,,,,,,,,,,
PRO,0,是否调试状态,ISDebug,0,,,,,,,,,,,,
PRO,,每次吹气的时间(分钟),BlowAir_Time,10,,,
PRO,,两次吹气间隔(分钟),BlowAir_Interval,10,,,
source/DeviceLibrary/StoreConfig/AC/StoreConfig.csv
查看文件 @
4385548
类型,说明,名称,属性值,设备名称,默认值,描述,电器定义,代码定义,SlaveID,
PRO,IO模块对应的DI数量,IO_DILength,192.168.202.21#8,,,,,,,,,,,
PRO,模块对应的DO数量,IO_DOLength,192.168.202.21#8,,,,,,,,,,,
PRO,是否有仓门,HasDoor,1,,,,,,,,,,,
PRO,IO模块IP,PRO_AOI_IP_1,192.168.202.21,,,,,,,,,,,
,,,,,,,,,,
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,盘点,CheckPos,2,PRO_AOI_IP_1,0,盘点,X03,DI-03,0,
DI,料盘检测1(进料口),TrayCheck_Door,3,PRO_AOI_IP_1,0,料盘检测1(进料口),X04,DI-04,0,
DI,料盘检测2(料叉),TrayCheck_Fixture,4,PRO_AOI_IP_1,0,料盘检测2(料叉),X05,DI-05,0,
DI,气压检测,Airpressure_Check,5,PRO_AOI_IP_1,0,气压检测,X06,DI-06,0,
DI,进料口门上升端,Door_Up,6,PRO_AOI_IP_1,0,进料口门上升端,X07,DI-07,0,
DI,进料口门下降端,Door_Down,7,PRO_AOI_IP_1,0,进料口门下降端,X08,DI-08,0,
DO,自动指示灯,AutoRun_HddLed,0,PRO_AOI_IP_1,0,自动指示灯,Y01,DO-01,0,
DO,故障指示灯,Alarm_HddLed,1,PRO_AOI_IP_1,0,故障指示灯,Y02,DO-02,0,
DO,待机指示灯,RunSign_HddLed,2,PRO_AOI_IP_1,0,待机指示灯,Y03,DO-03,0,
DO,料仓运转ON,Run_Signal,3,PRO_AOI_IP_1,0,料仓运转ON,Y04,DO-04,0,
DO,轴2刹车电源ON,Axis_Brake,4,PRO_AOI_IP_1,0,轴2刹车电源ON,Y05,DO-05,0,
DO,料仓吹气SOL,StartOrStopBlow,5,PRO_AOI_IP_1,0,料仓吹气SOL,Y06,DO-06,0,
DO,进料口门上升SOL,Door_Up,6,PRO_AOI_IP_1,0,进料口门上升SOL,Y07,DO-07,0,
DO,进料口门下降SOL,Door_Down,7,PRO_AOI_IP_1,0,进料口门下降SOL,Y08,DO-08,0,
AXIS,(轴一)旋转轴,Middle_Axis,1,COM4,0,,,,,
AXIS,(轴二)升降轴轴,UpDown_Axis,2,COM4,0,,,,,
AXIS,(轴三)进出轴,InOut_Axis,3,COM4,0,,,,,
AXIS,(轴四)压紧轴,Comp_Axis,4,COM4,0,,,,,
PRO,升降轴 进料口取料点 P1,UpDownAxis_DoorOPosition_P1,304500,,,,,,,,,,,
PRO,升降轴 进料口出料前点 P2,UpDownAxis_DoorIPosition_P2,325300,,,,,,,,,,,
PRO,升降轴 进料口取料缓冲点 P7,UpDownAxis_DoorOBPosition_P7,325300,,,,,,,,,,,
PRO,升降轴 进料口出料缓冲点 P8,UpDownAxis_DoorIBPosition_P8,304500,,,,,,,,,,,
PRO,旋转轴(轴1)P1 待机原位点,MiddleAxis_P1_Position,359300,,,,,,,,,,,
PRO,进出轴(轴3)P1待机原位点,InOutAxis_P1_Position,1000,,,,,,,,,,,
PRO,压紧轴(轴4)P1待机原位点,CompressAxis_P1_Position,28000,,,,,,,,,,,
PRO,是否使用定位气缸,IsHasLocationCylinder,0,,,,,,,,,,,
PRO,是否有左右侧门,IsHasDoorLimit,1,,,,,,,,,,,
PRO,是否使用压紧轴(1=使用),IsHasCompress_Axis,1,,,,, ,, ,,,,
PRO,气压检测IO关闭需要持续的时间,AirCheckSeconds,3,,,,,,, ,,,,
,,,,,,,,,,
PRO,预警温度,WarnTemperate,80,,,,,,,,,,,
PRO,预警湿度,WarnHumidity,80,,,,,,,,,,,
PRO,(轴一)旋转轴目标速度,MiddleAxis_TargetSpeed,250,,,,,,,,,,,
PRO,(轴一)旋转轴加速度,MiddleAxis_AddSpeed,1000,,,,,,,,,,,
PRO,(轴一)旋转轴减速度,MiddleAxis_DelSpeed,1000,,,,,,,,,,,
PRO,(轴一)旋转轴原点低速度,MiddleAxis_HomeLowSpeed,80,,,,,,,,,,,
PRO,(轴一)旋转轴原点高速,MiddleAxis_HomeHighSpeed,60,,,,,,,,,,,
PRO,(轴一)旋转轴原点加速度,MiddleAxis_HomeAddSpeed,50,,,,,,,,,,,
PRO,(轴二)升降轴轴目标速度,UpdownAxis_TargetSpeed,150,,,,,,,,,,,
PRO,(轴二)升降轴轴加速度,UpdownAxis_AddSpeed,400,,,,,,,,,,,
PRO,(轴二)升降轴轴减速度,UpdownAxis_DelSpeed,400,,,,,,,,,,,
PRO,(轴二)升降轴轴原点低速度,UpdownAxis_HomeLowSpeed,100,,,,,,,,,,,
PRO,(轴二)升降轴轴原点高速,UpdownAxis_HomeHighSpeed,200,,,,,,,,,,,
PRO,(轴二)升降轴轴原点加速度,UpdownAxis_HomeAddSpeed,200,,,,,,,,,,,
PRO,(轴三)进出轴目标速度,InoutAxis_TargetSpeed,100,,,,,,,,,,,
PRO,(轴三)进出轴加速度,InoutAxis_AddSpeed,300,,,,,,,,,,,
PRO,(轴三)进出轴减速度,InoutAxis_DelSpeed,300,,,,,,,,,,,
PRO,(轴三)进出轴原点低速,InoutAxis_HomeLowSpeed,20,,,,,,,,,,,
PRO,(轴三)进出轴原点高速,InoutAxis_HomeHighSpeed,60,,,,,,,,,,,
PRO,(轴三)进出轴原点加速度,InoutAxis_HomeAddSpeed,200,,,,,,,,,,,
PRO,(轴四)压紧轴目标速度,CompAxis_TargetSpeed,100,,,,,,,,,,,
PRO,(轴四)压紧轴加速度,CompAxis_AddSpeed,300,,,,,,,,,,,
PRO,(轴四)压紧轴减速度,CompAxis_DelSpeed,300,,,,,,,,,,,
PRO,(轴四)压紧轴原点低速,CompAxis_HomeLowSpeed,20,,,,,,,,,,,
PRO,(轴四)压紧轴原点高速,CompAxis_HomeHighSpeed,60,,,,,,,,,,,
PRO,(轴四)压紧轴原点加速度,CompAxis_HomeAddSpeed,200,,,,,,,,,,,
,,,,,,,,,,
PRO,升降轴(轴2)P1速度,UpDownAxis_P1_Speed,1000,,,,,,,,,,,
PRO,升降轴(轴2)P2速度,UpDownAxis_P2_Speed,600,,,,,,,,,,,
PRO,升降轴(轴2)P3速度,UpDownAxis_P3_Speed,1000,,,,,,,,,,,
PRO,升降轴(轴2)P4速度,UpDownAxis_P4_Speed,100,,,,,,,,,,,
PRO,升降轴(轴2)P5速度,UpDownAxis_P5_Speed,1000,,,,,,,,,,,
PRO,升降轴(轴2)P6速度,UpDownAxis_P6_Speed,100,,,,,,,,,,,
PRO,升降轴(轴2)P7速度,UpDownAxis_P7_Speed,100,,,,,, ,,,,,
PRO,升降轴(轴2)P8速度,UpDownAxis_P8_Speed,100,,,,,,,,,,,
PRO,旋转轴(轴1)P1速度,MiddleAxis_P1_Speed,500,,,,,,,,,,,
PRO,旋转轴(轴1)P2速度,MiddleAxis_P2_Speed,500,,,,,,,,,,,
PRO,进出轴(轴3)P1速度,InOutAxis_P1_Speed,500,,,,,,,,,,,
PRO,进出轴(轴3)P2速度,InOutAxis_P2_Speed,500,,,,,,,,,,,
PRO,进出轴(轴3)P3速度,InOutAxis_P3_Speed,500,,,,,,,,,,,
PRO,压紧轴(轴4)P1速度,CompAxis_P1_Speed,800,,,,,,,,,,,
PRO,压紧轴(轴4)P2速度,CompAxis_P2_Speed,800,,,,,,,,,,,
PRO,压紧轴(轴4)P3速度,CompAxis_P3_Speed,800,,,,,,,,,,,
PRO,(轴一)旋转轴停止时可误差的脉冲数的最小值,MiddleAxis_ErrorCountMin,10,,,,,,,,,,,
PRO,(轴二)升降轴轴停止时可误差的脉冲数的最小值,UpdownAxis_ErrorCountMin,10,,,,,, ,,,,,
PRO,(轴三)进出轴停止时可误差的脉冲数的最小值,InoutAxis_ErrorCountMin,10,,,,,,,,,,,
PRO,(轴一)旋转轴停止时可误差的脉冲数的最大值,MiddleAxis_ErrorCountMax,1000,,,,,,,,,,,
PRO,(轴二)升降轴轴停止时可误差的脉冲数的最大值,UpdownAxis_ErrorCountMax,1000,,,,,,,,,,,
PRO,(轴三)进出轴停止时可误差的脉冲数的最大值,InoutAxis_ErrorCountMax,1000,,,,,,,,,,,
PRO,出入库多少次,会自动重置旋转轴,Box_ResetMCount,1000,,,,,,,,,,,
PRO,出入库多少次,会自动重置所有轴操作,Box_ResetACount,100,,,,,,,,,,,
PRO,IO信号超时时间(毫秒),IOSingle_TimerOut,10000,,,,,,,,,,,
PRO,是否使用料盘检测信号,IsUse_Tray_Check,0,,,,,, ,,,,,
PRO,(轴一)旋转轴最小限位,MiddleAxis_PositionMin,0,,,,,,,,,,,
PRO,(轴二)升降轴最小限位,UpdownAxis_PositionMin,0,,,,,,,,,,,
PRO,(轴三)进出轴最小限位,InoutAxis_PositionMin,0,,,,,,,,,,,
PRO,(轴一)旋转轴最大限位,MiddleAxis_PositionMax,0,,,,,,,,,,,
PRO,(轴二)升降轴最大限位,UpdownAxis_PositionMax,0,,,,,,,,,,,
PRO,(轴三)进出轴最大限位,InoutAxis_PositionMax,0,,,,,,,,,,,
PRO,需要吹气的温度(温度标准),Max_Temperature,0,,,,,,,,,,,
PRO,需要吹气的湿度(湿度标准),Max_Humidity,10,,,,,,,,,,,
PRO,每次吹气的时间(分钟),BlowAir_Time,10,,,,,,,,,,,
PRO,两次吹气间隔(分钟),BlowAir_Interval,10,,,,,,, ,,,,
PRO,温湿度端口号,Humiture_Port,COM5,,,,,,,,,,,
,,,,,,,,, ,
,,,,,,,,, ,
类型,分类编号,说明,名称,属性值,设备名称,电器定义,
,,,,,,,
DI,0,急停,SuddenStop_BTN,0,HC,X00,
DI,0,复位,Reset_BTN,1,HC,X01,
DI,0,气压检测,Airpressure_Check,2,HC,X02,
DI,1,左料仓进料口料盘检测,TrayCheck_Door,3,HC,X03,
DI,1,左料仓料叉料盘检测,TrayCheck_Fixture,4,HC,X04,
DI,1,左料仓进料口门上升端,Door_Up,5,HC,X05,
DI,1,左料仓进料口门下降端,Door_Down,6,HC,X06,
DI,1,左料仓激光检测,CheckPos,7,HC,X07,
DI,2,右料仓进料口料盘检测,TrayCheck_Door,8,HC,X08,
DI,2,右料仓料叉料盘检测,TrayCheck_Fixture,9,HC,X09,
DI,2,右料仓进料口门上升端,Door_Up,10,HC,X10,
DI,2,右料仓进料口门下降端,Door_Down,11,HC,X11,
DI,2,右料仓激光检测,CheckPos,12,HC,X12,
,,,,13,HC,X13,
,,,,14,HC,X14,
,,,,15,HC,X15,
,,,,,,,
DO,0,自动指示灯,AutoRun_HddLed,0,HC,Y01,
DO,0,故障指示灯,Alarm_HddLed,1,HC,Y02,
DO,0,待机指示灯,RunSign_HddLed,2,HC,Y03,
DO,0,报警蜂鸣器,Alarm_Buzzer,3,HC,Y04,
DO,1,左料仓进料口门上升SOL,Door_Up,4,HC,Y05,
DO,1,左料仓进料口门下降SOL,Door_Down,5,HC,Y06,
DO,2,右料仓进料口门上升SOL,Door_Up,6,HC,Y07,
DO,2,右料仓进料口门下降SOL,Door_Down,7,HC,Y08,
DO,0,设备照明ON,Device_Led,8,HC,Y09,
,,,,9,HC,Y10,
,,,,10,HC,Y11,
,,,,11,HC,Y12,
,,,,12,HC,Y13,
,,,,13,HC,Y14,
,,,,14,HC,Y15,
,,,,15,HC,Y16,
,,,,,,,
PRO,,需要吹气的温度(温度标准),Max_Temperature,0,,,
PRO,,需要吹气的湿度(湿度标准),Max_Humidity,10,,,
PRO,,每次吹气的时间(分钟),BlowAir_Time,10,,,
PRO,,两次吹气间隔(分钟),BlowAir_Interval,10,,,
PRO,,温湿度端口号,Humiture_Port,COM5,,,
,,,,,,,
PRO,,气压检测IO关闭需要持续的时间,AirCheckSeconds,3,,,
PRO,,预警温度,WarnTemperate,80,,,
PRO,,预警湿度,WarnHumidity,80,,,
source/DeviceLibrary/acSingleStore/BoxBean.cs
查看文件 @
4385548
...
...
@@ -11,37 +11,22 @@ using System.Threading;
using
System.Threading.Tasks
;
namespace
OnlineStore.DeviceLibrary
{
/// <summary>
/// 流水线自动料仓-Box类
/// </summary>
{
public
partial
class
BoxBean
:
KTK_Store
{
private
static
bool
IsIntSlvBlock
=
false
;
/// <summary>
/// 开始运行
/// </summary>
public
static
bool
IsRun
=
false
;
public
string
CID
=
""
;
public
BoxConfig
Config
;
/// <summary>
/// 记录最后一次 出库的posID,出库完成发送给服务器之后清除
/// </summary>
public
string
lastPosId
=
""
;
public
StoreStatus
lastPosIdStatus
=
StoreStatus
.
StoreOnline
;
/// <summary>
/// 轴列表
/// </summary>
public
List
<
ConfigMoveAxis
>
moveAxisList
=
new
List
<
ConfigMoveAxis
>();
/// <summary>
/// 轴报警信息
/// </summary>
private
Dictionary
<
string
,
AxisAlarmInfo
>
AxisAlarmCodeMap
=
new
Dictionary
<
string
,
AxisAlarmInfo
>();
/// <summary>
/// 是否有压紧轴
/// </summary>
public
bool
IsHasCompress_Axis
=
true
;
private
bool
UseCompress_Axis
=
true
;
//public ScanSocket scanSocket = new ScanSocket();
private
System
.
Timers
.
Timer
serverConnectTimer
=
new
System
.
Timers
.
Timer
();
private
System
.
Timers
.
Timer
IoCheckTimer
=
new
System
.
Timers
.
Timer
();
...
...
@@ -69,7 +54,7 @@ namespace OnlineStore.DeviceLibrary
//添加调试
IsDebug
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
IsInDebug
).
Equals
(
1
);
IsHasCompress_Axis
=
config
.
IsHasCompress_Axis
.
Equals
(
1
)
;
UseCompress_Axis
=
true
;
Name
=
(
"料仓BOX_"
+
config
.
DeviceID
+
" "
).
ToUpper
();
this
.
DeviceID
=
config
.
DeviceID
;
this
.
Config
=
config
;
...
...
@@ -90,7 +75,7 @@ namespace OnlineStore.DeviceLibrary
}
IOManager
.
Init
();
IOManager
.
instance
.
ConnectionIOList
(
Config
.
DIODeviceNameList
);
//
IOManager.instance.ConnectionIOList(Config.DIODeviceNameList);
mainTimer
.
Enabled
=
false
;
int
isAuto
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
App_AutoRun
);
...
...
@@ -148,7 +133,6 @@ namespace OnlineStore.DeviceLibrary
/// </summary>
public
void
MoveAxisConfig
()
{
BoxConfig
.
ConfigAxis
(
Config
);
moveAxisList
=
new
List
<
ConfigMoveAxis
>();
moveAxisList
.
Add
(
Config
.
Middle_Axis
);
...
...
@@ -160,11 +144,9 @@ namespace OnlineStore.DeviceLibrary
this
.
AxisAlarmCodeMap
.
Add
(
Config
.
InOut_Axis
.
GetNameStr
(),
new
AxisAlarmInfo
());
this
.
AxisAlarmCodeMap
.
Add
(
this
.
Config
.
Middle_Axis
.
GetNameStr
(),
new
AxisAlarmInfo
());
if
(
Config
.
IsHasCompress_Axis
.
Equals
(
1
))
{
moveAxisList
.
Add
(
Config
.
Comp_Axis
);
this
.
AxisAlarmCodeMap
.
Add
(
this
.
Config
.
Comp_Axis
.
GetNameStr
(),
new
AxisAlarmInfo
());
}
moveAxisList
.
Add
(
Config
.
Comp_Axis
);
this
.
AxisAlarmCodeMap
.
Add
(
this
.
Config
.
Comp_Axis
.
GetNameStr
(),
new
AxisAlarmInfo
());
}
/// <summary>
...
...
@@ -183,7 +165,7 @@ namespace OnlineStore.DeviceLibrary
IO_VALUE
airCheck
=
IOManager
.
IOValue
(
IO_Type
.
Airpressure_Check
);
//if (suddenBtn == IO_VALUE.HIGH)
if
(
suddenBtn
.
Equals
(
IO_VALUE
.
HIGH
)
&&
(
airCheck
.
Equals
(
IO_VALUE
.
HIGH
)
||
Config
.
HasDoor
.
Equals
(
0
)
))
if
(
suddenBtn
.
Equals
(
IO_VALUE
.
HIGH
)
&&
(
airCheck
.
Equals
(
IO_VALUE
.
HIGH
)))
{
//lastAirValue = airCheck;
lastAirCloseTime
=
DateTime
.
Now
;
...
...
@@ -196,7 +178,7 @@ namespace OnlineStore.DeviceLibrary
storeRunStatus
=
StoreRunStatus
.
HomeMoving
;
storeStatus
=
StoreStatus
.
ResetMove
;
//启动温湿度服务器
HumitureController
.
Init
(
Config
.
Humiture_Port
);
HumitureController
.
Init
(
StoreManager
.
Config
.
Humiture_Port
);
LineConnect
.
StartConnect
();
ReturnHome
();
...
...
@@ -211,11 +193,11 @@ namespace OnlineStore.DeviceLibrary
{
if
(
suddenBtn
.
Equals
(
IO_VALUE
.
LOW
))
{
LogUtil
.
error
(
" ("
+
Name
+
")启动出现错误:急停没开 !启动失败!"
);
LogUtil
.
error
(
" ("
+
Name
+
")启动出现错误:急停没开 !启动失败!"
);
}
else
{
LogUtil
.
error
(
" ("
+
Name
+
")启动出现错误:没有气压信号 !启动失败!"
);
LogUtil
.
error
(
" ("
+
Name
+
")启动出现错误:没有气压信号 !启动失败!"
);
}
return
false
;
}
...
...
@@ -287,18 +269,10 @@ namespace OnlineStore.DeviceLibrary
LogUtil
.
info
(
Name
+
"复位时打开轴失败,需要再次复位,直接报警停止复位"
);
return
;
}
if
(
IsHasCompress_Axis
||
Config
.
IsHasLocationCylinder
.
Equals
(
0
))
{
InoutStartReset
();
}
else
{
LogUtil
.
info
(
Name
+
"开始复位:先定位气缸下降"
);
// 复位和回原点要等轴3进出轴ORG亮了以后才能返回其他轴
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_LocationCylinderBack
);
LocationDownAndWait
();
}
isInPro
=
false
;
}
private
void
InoutStartReset
()
...
...
@@ -358,7 +332,7 @@ namespace OnlineStore.DeviceLibrary
LogUtil
.
info
(
Name
+
"复位中: 压紧轴,旋转轴,上下轴开始 原点返回"
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_OtherAxisBack
);
MoveInfo
.
TimeOutSeconds
=
100
;
if
(
IsHas
Compress_Axis
)
if
(
Use
Compress_Axis
)
{
ACAxisHomeMove
(
Config
.
Comp_Axis
);
}
...
...
@@ -388,7 +362,7 @@ namespace OnlineStore.DeviceLibrary
case
StoreMoveStep
.
BOX_M_H_TOP1_InOutToP1
:
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_M_H_TOP1_CompressHome
);
LogUtil
.
info
(
Name
+
"到待机状态,压紧轴回原点,关闭舱门"
);
if
(
IsHas
Compress_Axis
)
if
(
Use
Compress_Axis
)
{
ACAxisHomeMove
(
Config
.
Comp_Axis
);
}
...
...
@@ -419,7 +393,7 @@ namespace OnlineStore.DeviceLibrary
private
void
ComMoveToPosition
(
int
targetPosition
,
int
targetSpeed
)
{
if
(
IsHas
Compress_Axis
)
if
(
Use
Compress_Axis
)
{
ACAxisMove
(
Config
.
Comp_Axis
,
targetPosition
,
targetSpeed
);
}
...
...
@@ -434,9 +408,7 @@ namespace OnlineStore.DeviceLibrary
return
false
;
}
public
void
OpenDoor
(
bool
IsWait
=
true
)
{
if
(
Config
.
HasDoor
.
Equals
(
1
))
{
{
Thread
.
Sleep
(
60
);
IOManager
.
IOMove
(
IO_Type
.
Door_Down
,
IO_VALUE
.
LOW
);
IOManager
.
IOMove
(
IO_Type
.
Door_Up
,
IO_VALUE
.
HIGH
);
...
...
@@ -444,21 +416,17 @@ namespace OnlineStore.DeviceLibrary
{
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Down
,
IO_VALUE
.
LOW
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Up
,
IO_VALUE
.
HIGH
));
}
}
}
}
public
void
CloseDoor
(
bool
IsWait
=
true
)
{
if
(
Config
.
HasDoor
.
Equals
(
1
))
{
{
IOManager
.
IOMove
(
IO_Type
.
Door_Down
,
IO_VALUE
.
HIGH
);
IOManager
.
IOMove
(
IO_Type
.
Door_Up
,
IO_VALUE
.
LOW
);
if
(
IsWait
)
{
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Down
,
IO_VALUE
.
HIGH
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
Door_Up
,
IO_VALUE
.
LOW
));
}
}
}
}
/// <summary>
...
...
@@ -506,7 +474,7 @@ namespace OnlineStore.DeviceLibrary
//复位和回原点要等轴3进出轴ORG亮了以后才能返回其他轴
LogUtil
.
info
(
Name
+
"原点返回中 :压紧轴,旋转轴,上下轴开始原点返回"
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BOX_H_OtherAxisBack
);
if
(
IsHas
Compress_Axis
)
if
(
Use
Compress_Axis
)
{
ACAxisHomeMove
(
Config
.
Comp_Axis
);
}
...
...
@@ -662,7 +630,7 @@ namespace OnlineStore.DeviceLibrary
LineConnect
.
StopConnect
();
IOManager
.
instance
.
CloseAllDO
();
if
(
IsHas
Compress_Axis
)
if
(
Use
Compress_Axis
)
{
//ShuoKeControls.ClosePort();
}
...
...
@@ -758,49 +726,6 @@ namespace OnlineStore.DeviceLibrary
IsChongfu
=
false
;
InProcess
=
false
;
}
private
IO_VALUE
preAirValue
=
IO_VALUE
.
HIGH
;
private
void
AirCheckProcess
()
{
if
(
Config
.
HasDoor
.
Equals
(
0
))
{
return
;
}
IO_VALUE
currAirValue
=
IOManager
.
IOValue
(
IO_Type
.
Airpressure_Check
);
if
(
isInSuddenDown
)
{
return
;
}
if
(
isNoAirCheck
)
{
return
;
}
if
(
currAirValue
.
Equals
(
IO_VALUE
.
LOW
))
{
//判断是否持续了3秒
if
(
preAirValue
.
Equals
(
IO_VALUE
.
LOW
))
{
TimeSpan
span
=
DateTime
.
Now
-
lastAirCloseTime
;
if
(
span
.
TotalSeconds
>
Config
.
AirCheckSeconds
)
{
WarnMsg
=
"未检测到气压信号"
;
preAirValue
=
IO_VALUE
.
LOW
;
LogUtil
.
info
(
"已持续【"
+
FormUtil
.
GetSpanStr
(
span
)
+
"】未检测到气压信号,报警"
);
Alarm
(
StoreAlarmType
.
NoAirCheck
,
"2"
,
WarnMsg
,
StoreMoveType
.
None
);
return
;
}
}
else
{
lastAirCloseTime
=
DateTime
.
Now
;
isNoAirCheck
=
false
;
}
}
else
{
isNoAirCheck
=
false
;
}
preAirValue
=
currAirValue
;
}
private
void
ShowTimeLog
(
string
info
)
{
if
(
IsChongfu
)
...
...
@@ -941,7 +866,7 @@ namespace OnlineStore.DeviceLibrary
//急停按钮
if
(
suddenBtn
.
Equals
(
IO_VALUE
.
LOW
))
{
AirCheckProcess
();
//
AirCheckProcess();
}
else
if
(
resetBtn
.
Equals
(
IO_VALUE
.
HIGH
))
{
...
...
@@ -1174,22 +1099,8 @@ namespace OnlineStore.DeviceLibrary
ACServerManager
.
SuddenStop
(
Config
.
Middle_Axis
.
DeviceName
,
Config
.
Middle_Axis
.
GetAxisValue
());
ACServerManager
.
SuddenStop
(
Config
.
UpDown_Axis
.
DeviceName
,
Config
.
UpDown_Axis
.
GetAxisValue
());
ACServerManager
.
SuddenStop
(
Config
.
InOut_Axis
.
DeviceName
,
Config
.
InOut_Axis
.
GetAxisValue
());
if
(
IsHasCompress_Axis
)
{
ACServerManager
.
SuddenStop
(
Config
.
Comp_Axis
.
DeviceName
,
Config
.
Comp_Axis
.
GetAxisValue
());
//ShuoKeControls.SuddownStop(Config.CompressAxis_Slv);
}
else
{
if
(
Config
.
IsHasLocationCylinder
>=
1
)
{
//定位气缸停止
IOManager
.
IOMove
(
IO_Type
.
LocationCylinder_Down
,
IO_VALUE
.
LOW
);
IOManager
.
IOMove
(
IO_Type
.
LocationCylinder_Up
,
IO_VALUE
.
LOW
);
}
}
ACServerManager
.
SuddenStop
(
Config
.
Comp_Axis
.
DeviceName
,
Config
.
Comp_Axis
.
GetAxisValue
());
CloseAllAxis
();
LogUtil
.
info
(
Name
+
"StopMove"
);
...
...
source/DeviceLibrary/acSingleStore/BoxBean_Partial.cs
查看文件 @
4385548
...
...
@@ -477,23 +477,14 @@ namespace OnlineStore.DeviceLibrary
CodeMsg
=
"入库["
+
posId
+
"]叉子取料后退后,未检测到料叉有料"
;
LogUtil
.
error
(
CodeMsg
);
}
if
(
IsHasCompress_Axis
||
Config
.
IsHasLocationCylinder
.
Equals
(
0
))
{
InStoreLog
(
"入库:SI_09 移动到库位点,旋转轴至P2(库位点)["
+
moveP
.
Middle_P2
+
"], 升降轴至P3(库位入库前点)["
+
moveP
.
UpDown_P3
+
"] "
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SI_09_MoveToBag
);
ACAxisMove
(
Config
.
Middle_Axis
,
moveP
.
Middle_P2
,
Config
.
MiddleAxis_P2_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P3
,
Config
.
UpDownAxis_P3_Speed
);
//关闭舱门
//IOManager.IOMove(IO_Type.Door_Down, IO_VALUE.HIGH);
//IOManager.IOMove(IO_Type.Door_Up, IO_VALUE.LOW);
CloseDoor
(
false
);
}
else
{
InStoreLog
(
"入库:SI_08 定位气缸伸出 "
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SI_08_LocationCylinder_Up
);
LocationUpAndWait
();
}
}
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SI_08_LocationCylinder_Up
)
{
...
...
@@ -508,18 +499,11 @@ namespace OnlineStore.DeviceLibrary
}
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SI_09_MoveToBag
)
{
if
(
IsHasCompress_Axis
||
Config
.
IsHasLocationCylinder
.
Equals
(
0
))
{
InStoreLog
(
"入库:SI_11 叉子进入库位中,进出轴至P3(库位取放料点) ["
+
moveP
.
InOut_P3
+
"]"
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SI_11_DeviceToBag
);
ACAxisMove
(
Config
.
InOut_Axis
,
moveP
.
InOut_P3
,
Config
.
InOutAxis_P3_Speed
);
}
else
{
InStoreLog
(
"入库:SI_10 定位气缸退回 "
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SI_10_LocationCylinder_Down
);
LocationDownAndWait
();
}
}
else
if
(
MoveInfo
.
MoveStep
==
StoreMoveStep
.
SI_10_LocationCylinder_Down
)
{
...
...
@@ -939,30 +923,7 @@ namespace OnlineStore.DeviceLibrary
//}
//return false;
}
private
void
LocationUpAndWait
()
{
if
(
Config
.
IsHasLocationCylinder
>=
1
)
{
IOManager
.
IOMove
(
IO_Type
.
LocationCylinder_Up
,
IO_VALUE
.
HIGH
);
IOManager
.
IOMove
(
IO_Type
.
LocationCylinder_Down
,
IO_VALUE
.
LOW
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LocationCylinder_Up
,
IO_VALUE
.
HIGH
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LocationCylinder_Down
,
IO_VALUE
.
LOW
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LocationCylinder2_Up
,
IO_VALUE
.
HIGH
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LocationCylinder2_Down
,
IO_VALUE
.
LOW
));
}
}
private
void
LocationDownAndWait
()
{
if
(
Config
.
IsHasLocationCylinder
>=
1
)
{
IOManager
.
IOMove
(
IO_Type
.
LocationCylinder_Down
,
IO_VALUE
.
HIGH
);
IOManager
.
IOMove
(
IO_Type
.
LocationCylinder_Up
,
IO_VALUE
.
LOW
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LocationCylinder_Down
,
IO_VALUE
.
HIGH
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LocationCylinder_Up
,
IO_VALUE
.
LOW
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LocationCylinder2_Down
,
IO_VALUE
.
HIGH
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LocationCylinder2_Up
,
IO_VALUE
.
LOW
));
}
}
#
endregion
public
List
<
InOutPosInfo
>
waitOutStoreList
=
new
List
<
InOutPosInfo
>();
public
object
waitOutListLock
=
""
;
...
...
source/DeviceLibrary/acSingleStore/StoreBean.cs
查看文件 @
4385548
...
...
@@ -27,7 +27,7 @@ namespace OnlineStore.DeviceLibrary
public
Dictionary
<
int
,
BoxConfig
>
BoxConfigMap
{
get
;
set
;
}
public
Dictionary
<
int
,
BoxBean
>
BoxMap
=
new
Dictionary
<
int
,
BoxBean
>();
public
Bas
eConfig
Config
{
get
;
set
;
}
public
Stor
eConfig
Config
{
get
;
set
;
}
#
region
初始化
internal
bool
canStart
=
false
;
...
...
@@ -48,7 +48,7 @@ namespace OnlineStore.DeviceLibrary
Name
=
(
" Store_"
+
Config
.
CID
+
" "
).
ToUpper
();
List
<
string
>
ioList
=
new
List
<
string
>();
AddDeviceName
(
ioList
,
Config
.
DIODeviceNameList
);
//
AddDeviceName(ioList, Config.DIODeviceNameList);
foreach
(
BoxConfig
config
in
configList
.
Values
)
...
...
@@ -56,7 +56,7 @@ namespace OnlineStore.DeviceLibrary
BoxBean
equip
=
new
BoxBean
(
config
);
//增加站号名称
AddDeviceName
(
ioList
,
config
.
DIODeviceNameList
);
//
AddDeviceName(ioList, config.DIODeviceNameList);
BoxMap
.
Add
(
config
.
DeviceID
,
equip
);
BoxConfigMap
.
Add
(
config
.
DeviceID
,
config
);
}
...
...
@@ -325,6 +325,49 @@ namespace OnlineStore.DeviceLibrary
BusyMoveProcess
();
}
}
private
IO_VALUE
preAirValue
=
IO_VALUE
.
HIGH
;
private
void
AirCheckProcess
()
{
IO_VALUE
currAirValue
=
IOManager
.
IOValue
(
IO_Type
.
Airpressure_Check
);
if
(
isInSuddenDown
)
{
return
;
}
if
(
isNoAirCheck
)
{
return
;
}
if
(
currAirValue
.
Equals
(
IO_VALUE
.
LOW
))
{
//判断是否持续了3秒
if
(
preAirValue
.
Equals
(
IO_VALUE
.
LOW
))
{
TimeSpan
span
=
DateTime
.
Now
-
lastAirCloseTime
;
if
(
span
.
TotalSeconds
>
Config
.
AirCheckSeconds
)
{
WarnMsg
=
"未检测到气压信号"
;
preAirValue
=
IO_VALUE
.
LOW
;
LogUtil
.
info
(
"已持续【"
+
FormUtil
.
GetSpanStr
(
span
)
+
"】未检测到气压信号,报警"
);
Alarm
(
StoreAlarmType
.
NoAirCheck
,
"2"
,
WarnMsg
,
StoreMoveType
.
None
);
return
;
}
}
else
{
lastAirCloseTime
=
DateTime
.
Now
;
isNoAirCheck
=
false
;
}
}
else
{
isNoAirCheck
=
false
;
}
preAirValue
=
currAirValue
;
}
public
override
void
StopMove
()
{
foreach
(
BoxBean
equip
in
this
.
BoxMap
.
Values
)
...
...
source/DeviceLibrary/acSingleStore/StoreManager.cs
查看文件 @
4385548
...
...
@@ -50,6 +50,8 @@ namespace OnlineStore.DeviceLibrary
{
try
{
BaseConfig
.
SubDIList
=
new
Dictionary
<
int
,
Dictionary
<
string
,
ConfigIO
>>();
BaseConfig
.
SubDOList
=
new
Dictionary
<
int
,
Dictionary
<
string
,
ConfigIO
>>();
BaseConfig
.
ProIOIpMap
=
new
Dictionary
<
string
,
string
>();
if
(!
isInit
)
{
...
...
@@ -68,7 +70,7 @@ namespace OnlineStore.DeviceLibrary
LogUtil
.
info
(
"配置的料仓 count="
+
count
+
",开始加载料仓配置"
);
string
appPath
=
Application
.
StartupPath
;
string
CID
=
ConfigAppSettings
.
GetValue
(
Setting_Init
.
Store_CID
);
Dictionary
<
int
,
BoxConfig
>
boxConfig
=
new
Dictionary
<
int
,
BoxConfig
>();
Dictionary
<
int
,
BoxConfig
>
BoxList
=
new
Dictionary
<
int
,
BoxConfig
>();
string
linefilePath
=
appPath
+
ConfigAppSettings
.
GetValue
(
Setting_Init
.
Store_ConfigPath
);
Config
=
CSVConfigReader
.
LoadStoreConfig
(
0
,
CID
,
"Line"
,
linefilePath
);
...
...
@@ -81,9 +83,10 @@ namespace OnlineStore.DeviceLibrary
string
config
=
appPath
+
moveEquipConfig
.
Replace
(
".csv"
,
"_"
+
nameStr
+
".csv"
);
string
storeIdConfig
=
Setting_Init
.
Store_CID
+
"_"
+
i
;
string
boxCid
=
ConfigAppSettings
.
GetValue
(
storeIdConfig
);
BoxConfig
moveConfig
=
CSVConfigReader
.
LoadBoxConfig
(
i
,
boxCid
,
"BOX"
,
config
);
//AllConfigMap.Add(i, moveConfig);
boxConfig
.
Add
(
i
,
moveConfig
);
BoxConfig
boxConfig
=
CSVConfigReader
.
LoadBoxConfig
(
i
,
boxCid
,
"BOX"
,
config
);
boxConfig
.
SetIO
(
0
);
boxConfig
.
SetIO
(
i
);
BoxList
.
Add
(
i
,
boxConfig
);
}
string
positionConfigFile
=
appPath
+
ConfigAppSettings
.
GetValue
(
Setting_Init
.
Store_Position_Config
);
if
(
count
>
1
||
(!
File
.
Exists
(
positionConfigFile
)))
...
...
@@ -100,7 +103,7 @@ namespace OnlineStore.DeviceLibrary
CSVPositionReader
<
ACStorePosition
>.
AddCSVFile
(
positionConfigFile
);
}
LogUtil
.
info
(
"加载料仓完成!"
);
Store
=
new
StoreBean
(
Config
,
boxConfig
);
Store
=
new
StoreBean
(
Config
,
BoxList
);
}
}
catch
(
Exception
ex
)
...
...
source/DeviceLibrary/store/InOutInfo.cs
deleted
100644 → 0
查看文件 @
f3c34af
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
namespace
OnlineStore.DeviceLibrary
{
}
source/DeviceLibrary/store/model/FixtureInfo.cs
deleted
100644 → 0
查看文件 @
f3c34af
using
System
;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
namespace
OnlineStore.DeviceLibrary
{
/// <summary>
/// 托盘信息
/// </summary>
public
class
FixtureInfo
{
private
int
codeNum
;
private
int
inOrOut
;
public
FixtureInfo
(
int
codeNum
,
bool
isFull
,
int
inOrOut
,
int
bagWidth
)
{
this
.
codeNum
=
codeNum
;
this
.
IsFull
=
isFull
;
this
.
inOrOut
=
inOrOut
;
BagWidth
=
bagWidth
;
}
/// <summary>
/// 夹具编码值(1-6)
/// </summary>
public
int
TrayCode
{
get
;
set
;
}
/// <summary>
/// 是否有料盘,true=有料盘
/// </summary>
public
bool
IsFull
{
get
;
set
;
}
/// <summary>
/// 出库还是入库(有料盘时才有此操作)0=无操作,1=入库,2=出库
/// </summary>
public
int
InOrOutStore
{
get
;
set
;
}
/// <summary>
/// 如果是出库,需要记录盘宽,七寸小盘可以累积到托盘上
/// 只有出库才会有值
/// </summary>
public
int
BagWidth
{
get
;
set
;
}
}
}
source/LoadCVSLibrary/LoadCSVLibrary.csproj
查看文件 @
4385548
...
...
@@ -53,7 +53,7 @@
<Compile Include="storeConfig\config\BoxConfig.cs" />
<Compile Include="storeConfig\config\StoreConfig.cs" />
<Compile Include="storeConfig\config\StoreType.cs" />
<Compile Include="storeConfig\config\
Store_
IO_Type.cs" />
<Compile Include="storeConfig\config\IO_Type.cs" />
<Compile Include="CSVAttribute.cs" />
<Compile Include="storeConfig\CSVConfigReader.cs" />
<Compile Include="position\CSVPositionReader.cs" />
...
...
source/LoadCVSLibrary/storeConfig/CSVConfigReader.cs
查看文件 @
4385548
...
...
@@ -82,9 +82,10 @@ namespace OnlineStore.LoadCSVLibrary
{
type
=
typeof
(
ConfigMoveAxis
);
}
Dictionary
<
string
,
string
>
proTitleMap
=
getProAttributeMap
(
type
);
ConfigBase
bllIns
=
(
ConfigBase
)
type
.
Assembly
.
CreateInstance
(
type
.
FullName
);
bllIns
.
ConfigStr
=
line
;
//取得属性集合
PropertyInfo
[]
props
=
type
.
GetProperties
();
...
...
source/LoadCVSLibrary/storeConfig/ConfigItemBase.cs
查看文件 @
4385548
...
...
@@ -4,15 +4,13 @@ using System;
using
System.Collections.Generic
;
using
System.Linq
;
using
System.Text
;
namespace
OnlineStore.LoadCSVLibrary
{
/// <summary>
/// 基础的属性配置
/// </summary>
public
class
ConfigBase
{
{
/// <summary>
/// DI=输入IO,DO=输出IO,PRO=属性,AXIS=轴
/// </summary>
...
...
@@ -33,26 +31,25 @@ namespace OnlineStore.LoadCSVLibrary
/// </summary>
[
CSVAttribute
(
"属性值"
)]
public
string
ProValue
{
get
;
set
;
}
/// <summary>
/// 分类编号
/// </summary>
[
CSVAttribute
(
"分类编号"
)]
public
int
SubType
{
get
;
set
;
}
public
string
ConfigStr
{
get
;
set
;
}
public
virtual
int
GetValue
()
{
if
(
ProValue
.
Equals
(
""
))
{
return
-
1
;
}
return
Convert
.
ToInt32
(
ProValue
);
}
public
override
string
ToString
()
{
return
"ConfigBase。"
+
"类型:"
+
ProType
+
",说明:"
+
Explain
+
",名称:"
+
ProName
+
",属性值:"
+
ProValue
;
// return "ConfigBase。" + "类型:" + ProType + ",说明:" + Explain + ",名称:" + ProName + ",属性值:" + ProVale;
return
ConfigStr
;
}
public
virtual
void
CheckField
()
{
if
(
String
.
IsNullOrEmpty
(
ProType
)
||
String
.
IsNullOrEmpty
(
ProName
)
||
String
.
IsNullOrEmpty
(
ProValue
))
if
(
String
.
IsNullOrEmpty
(
ProType
)
||
String
.
IsNullOrEmpty
(
ProName
)
||
String
.
IsNullOrEmpty
(
ProValue
))
{
throw
new
CVSFieldNotMatchingExection
(
ToString
()
+
",【类型:ProType】【名称:ProName】【属性值:ProVale
】必须配置值!"
);
throw
new
CVSFieldNotMatchingExection
(
ConfigStr
+
",【类型:"
+
ProType
+
"】【名称:"
+
ProName
+
"】【属性值:"
+
ProValue
+
"
】必须配置值!"
);
}
}
}
...
...
@@ -62,60 +59,48 @@ namespace OnlineStore.LoadCSVLibrary
public
class
ConfigMoveAxis
:
ConfigBase
{
/// <summary>
/// 使用AC伺服时表示串口号,使用康泰克运动版表示板卡名称
/// </summary>
[
CSVAttribute
(
"设备名称"
)]
public
string
DeviceName
{
get
;
set
;
}
/// <summary>
/// 待机位置
/// 伺服ON的Do信号
/// </summary>
//[CSVAttribute("默认值")]
public
int
DefaultPosition
{
get
;
set
;
}
public
string
ServerOnDO
=
""
;
/// <summary>
///
目标速度
///
伺服刹车信号
/// </summary>
//[CSVAttribute("目标速度")]
public
string
BreakOnDO
=
""
;
[
CSVAttribute
(
"设备名称"
)]
public
string
DeviceName
{
get
;
set
;
}
[
CSVAttribute
(
"目标速度"
)]
public
int
TargetSpeed
{
get
;
set
;
}
/// <summary>
/// 加速度
/// </summary>
//[CSVAttribute("加速时间")]
[
CSVAttribute
(
"加速度"
)]
public
short
AddSpeed
{
get
;
set
;
}
/// <summary>
/// 减速度
/// </summary>
//[CSVAttribute("减速时间")]
[
CSVAttribute
(
"减速度"
)]
public
short
DelSpeed
{
get
;
set
;
}
[
CSVAttribute
(
"回零低速"
)]
public
int
HomeLowSpeed
{
get
;
set
;
}
[
CSVAttribute
(
"回零高速"
)]
public
int
HomeHighSpeed
{
get
;
set
;
}
[
CSVAttribute
(
"回零加速度"
)]
public
int
HomeAddSpeed
{
get
;
set
;
}
/// <summary>
/// 可以误差的脉冲范围的最小值
/// </summary>
[
CSVAttribute
(
"脉冲最小误差"
)]
public
int
CanErrorCountMin
{
get
;
set
;
}
/// <summary>
/// 可以误差的脉冲范围的最大值
/// </summary>
[
CSVAttribute
(
"脉冲最大误差"
)]
public
int
CanErrorCountMax
{
get
;
set
;
}
/// <summary>
/// 出入库目标值(只有出入库过程中才会有效)
/// </summary>
public
int
TargetPosition
{
get
;
set
;
}
///// <summary>
///// 速度倍率
///// </summary>
//public int ResolveSpeed { get; set; }
/// <summary>
/// 最小位置
/// </summary>
[
CSVAttribute
(
"脉冲最小限位"
)]
public
int
PositionMin
{
get
;
set
;
}
/// <summary>
/// 最大位置
/// </summary>
[
CSVAttribute
(
"脉冲最大限位"
)]
public
int
PositionMax
{
get
;
set
;
}
public
int
TargetPosition
{
get
;
set
;
}
public
string
GetNameStr
()
{
return
DeviceName
+
"_"
+
GetAxisValue
();
...
...
@@ -128,68 +113,46 @@ namespace OnlineStore.LoadCSVLibrary
}
return
false
;
}
public
bool
PositionIsHasLimit
(){
public
bool
PositionIsHasLimit
()
{
if
(
PositionMin
.
Equals
(
PositionMax
))
{
return
false
;
}
return
true
;
}
return
true
;
}
/// <summary>
/// 下拉列表显示
/// </summary>
public
string
DisplayStr
{
get
{
return
Explain
+
"("
+
ProName
+
")"
;
get
{
return
Explain
+
"("
+
ProName
+
")"
;
}
set
{
}
}
public
override
int
GetValue
()
{
return
GetAxisValue
();
}
/// <summary>
/// 使用康泰克板卡表示轴编号,使用Ac伺服电机表示伺服地址
/// </summary>
/// <returns></returns>
public
short
GetAxisValue
()
{
{
if
(
ProValue
.
Equals
(
""
)
||
ProValue
.
Equals
(
"-1"
))
{
{
return
-
1
;
}
return
(
short
)
Convert
.
ToInt32
(
ProValue
);
}
public
override
string
ToString
()
{
return
"ConfigMoveAxis。"
+
"类型:"
+
ProType
+
",说明:"
+
Explain
+
",名称:"
+
ProName
+
",属性值:"
+
ProValue
+
",设备名称:"
+
DeviceName
;
}
public
override
void
CheckField
()
{
if
(
String
.
IsNullOrEmpty
(
ProType
)
||
String
.
IsNullOrEmpty
(
ProName
)
||
String
.
IsNullOrEmpty
(
DeviceName
)
||
String
.
IsNullOrEmpty
(
ProValue
))
{
throw
new
CVSFieldNotMatchingExection
(
ToString
()
+
",【类型:ProType】【名称:ProName】【属性值:ProVale】【设备名称:DeviceName】必须配置值!"
);
}
}
public
bool
IsMyAxis
(
string
DeviceName
,
int
AxisNo
)
{
int
AxisValue
=
GetAxisValue
();
if
(
DeviceName
.
Equals
(
DeviceName
)
&&
AxisValue
.
Equals
(
AxisNo
))
if
(
String
.
IsNullOrEmpty
(
ProType
)
||
String
.
IsNullOrEmpty
(
ProName
)
||
String
.
IsNullOrEmpty
(
DeviceName
)
||
String
.
IsNullOrEmpty
(
ProValue
))
{
return
true
;
throw
new
CVSFieldNotMatchingExection
(
ConfigStr
+
",【类型:ProType】【名称:ProName】【属性值:ProVale】【设备名称:DeviceName】必须配置值!"
)
;
}
return
false
;
}
}
/// <summary>
/// io配置
/// </summary>
public
class
ConfigIO
:
ConfigBase
{
public
ConfigIO
()
...
...
@@ -197,9 +160,7 @@ namespace OnlineStore.LoadCSVLibrary
SlaveID
=
0
;
}
private
string
IP
=
""
;
/// <summary>
/// 设备IP
/// </summary>
public
string
IO_IP
{
get
...
...
@@ -212,56 +173,38 @@ namespace OnlineStore.LoadCSVLibrary
}
else
{
IP
=
DeviceName
;
return
DeviceName
;
}
}
return
IP
;
}
}
/// <summary>
/// 设备名称
/// </summary>
[
CSVAttribute
(
"设备名称"
)]
public
string
DeviceName
{
get
;
set
;
}
/// <summary>
/// 描述
/// </summary>
[
CSVAttribute
(
"描述"
)]
public
string
Describe
{
get
;
set
;
}
/// <summary>
/// 电器定义
/// </summary>
[
CSVAttribute
(
"电器定义"
)]
public
string
ElectricalDefinition
{
get
;
set
;
}
/// <summary>
/// 代码定义
/// </summary>
[
CSVAttribute
(
"代码定义"
)]
public
string
CodeDefinition
{
get
;
set
;
}
/// <summary>
/// 默认值
/// </summary>
[
CSVAttribute
(
"默认值"
)]
public
int
DefaultValue
{
get
;
set
;
}
/// <summary>
/// SlaveID
/// </summary>
[
CSVAttribute
(
"SlaveID"
)
]
[
CSVAttribute
(
"SlaveID"
)]
public
byte
SlaveID
{
get
;
set
;
}
private
int
IoValue
=
-
10
;
public
string
DisplayStr
{
get
{
return
ElectricalDefinition
+
"
_"
+
Explain
+
"("
+
ProName
+
")
"
;
return
ElectricalDefinition
+
"
-"
+
Explain
+
"-"
+
ProName
+
"
"
;
}
set
{
}
}
ushort
value
=
0
;
public
ushort
GetIOAddr
()
{
ushort
value
=
0
;
if
(
value
>
0
)
{
return
value
;
}
try
{
value
=
(
ushort
)
Convert
.
ToInt32
(
ProValue
);
...
...
@@ -273,15 +216,11 @@ namespace OnlineStore.LoadCSVLibrary
return
value
;
}
public
override
string
ToString
()
{
return
"ConfigIO。"
+
ProType
+
","
+
Explain
+
","
+
ProName
+
",属性值:"
+
ProValue
+
",设备名称:"
+
DeviceName
+
",描述:"
+
Describe
+
",电器定义:"
+
ElectricalDefinition
+
",代码定义:"
+
CodeDefinition
+
""
;
}
public
override
void
CheckField
()
{
if
(
String
.
IsNullOrEmpty
(
ProType
)
||
String
.
IsNullOrEmpty
(
ProName
)
||
String
.
IsNullOrEmpty
(
DeviceName
)
||
String
.
IsNullOrEmpty
(
ProValue
))
{
throw
new
CVSFieldNotMatchingExection
(
ToString
()
+
",【类型:ProType】【名称:ProName】【属性值:ProVale】【设备名称:DeviceName】必须配置值!"
);
throw
new
CVSFieldNotMatchingExection
(
ConfigStr
+
",【类型:ProType】【名称:ProName】【属性值:ProVale】【设备名称:DeviceName】必须配置值!"
);
}
}
}
...
...
@@ -294,32 +233,4 @@ namespace OnlineStore.LoadCSVLibrary
public
static
string
PRO
=
"PRO"
;
}
public
static
class
ConfigItemName
{
/// <summary>
/// 上下转动轴
/// </summary>
public
static
string
UpDown_Axis
=
"UpDown_Axis"
;
/// <summary>
/// 中转伝动轴 Middle_Axis
/// </summary>
public
static
string
Middle_Axis
=
"Middle_Axis"
;
/// <summary>
/// 中轴移动速度 MiddleAxis_Move_Speed
/// </summary>
public
static
string
MiddleAxis_Move_Speed
=
"MiddleAxis_Move_Speed"
;
/// <summary>
/// 上下轴普通速度 Updown_Move_Speed
/// </summary>
public
static
string
Updown_Move_Speed
=
"Updown_Move_Speed"
;
/// <summary>
/// 上下轴慢速度 Updown_Move_Speed_Low
/// </summary>
public
static
string
Updown_Move_Speed_Low
=
"Updown_Move_Speed_Low"
;
/// <summary>
/// 温湿度传感器地址 Temperate_ServerAddress
/// </summary>
public
static
string
Temperate_ServerAddress
=
"Temperate_ServerAddress"
;
}
}
source/LoadCVSLibrary/storeConfig/config/BaseConfig.cs
查看文件 @
4385548
...
...
@@ -10,80 +10,51 @@ namespace OnlineStore.LoadCSVLibrary
{
public
class
BaseConfig
{
public
static
Dictionary
<
int
,
Dictionary
<
string
,
ConfigIO
>>
SubDIList
{
get
;
set
;
}
public
static
Dictionary
<
int
,
Dictionary
<
string
,
ConfigIO
>>
SubDOList
{
get
;
set
;
}
public
static
Dictionary
<
string
,
string
>
ProIOIpMap
=
null
;
public
const
string
IOIP_Str
=
"PRO_AOI_IP"
;
/// <summary>
/// ID
/// </summary>
public
int
DeviceID
{
get
;
set
;
}
/// <summary>
/// 编号,与服务器通信的唯一标识
/// </summary>
public
string
CID
{
get
;
set
;
}
/// <summary>
/// 料层类型
/// </summary>
public
string
StoreType
{
get
;
set
;
}
/// <summary>
/// 配置文件路径
/// </summary>
public
string
DType
{
get
;
set
;
}
public
string
ConfigFilePath
{
get
;
set
;
}
/// <summary>
/// 输入IO配置
/// 手动料仓输入Io列表,key=对应的坐标位置的positionNum
/// </summary>
public
Dictionary
<
String
,
ConfigIO
>
DIList
{
get
;
set
;
}
/// <summary>
/// 输出IO配置
/// 手动料仓输出Io列表,key=对应的坐标位置的positionNum
/// </summary>
public
Dictionary
<
String
,
ConfigIO
>
DOList
{
get
;
set
;
}
/// <summary>
/// 料仓所有用到的IO卡名称
/// </summary>
public
List
<
string
>
DIODeviceNameList
{
get
;
set
;
}
/// <summary>
/// 料仓所有用到的运动卡名称
/// </summary>
public
List
<
string
>
SMCDeviceNameList
{
get
;
set
;
}
/// <summary>
/// 必须拥有的DI列表
/// </summary>
protected
List
<
string
>
MustHaveDIList
{
get
;
set
;
}
/// <summary>
/// 必须拥有的DO列表
/// </summary>
protected
List
<
string
>
MustHaveDOList
{
get
;
set
;
}
public
List
<
string
>
IOIPList
{
get
;
set
;
}
protected
virtual
void
initMustHavePro
()
{
MustHaveDIList
=
new
List
<
string
>();
MustHaveDOList
=
new
List
<
string
>();
}
public
BaseConfig
()
{
initMustHavePro
();
}
public
BaseConfig
(
int
id
,
string
cid
,
string
type
,
string
filepath
)
public
BaseConfig
(
int
id
,
string
CID
,
string
type
,
string
filepath
)
{
initMustHavePro
();
MustHaveDIList
=
new
List
<
string
>();
MustHaveDOList
=
new
List
<
string
>();
this
.
DType
=
type
;
this
.
DeviceID
=
id
;
this
.
CID
=
cid
;
this
.
StoreType
=
type
;
this
.
CID
=
CID
;
this
.
ConfigFilePath
=
filepath
;
}
public
virtual
void
LoadConfig
(
List
<
ConfigBase
>
configList
)
{
List
<
string
>
ioTypeList
=
IO_Type
.
GetTypeList
();
StringBuilder
builder
=
new
StringBuilder
(
"\r\n"
);
StringBuilder
proBuilder
=
new
StringBuilder
(
"\r\n"
);
DIList
=
new
Dictionary
<
string
,
ConfigIO
>();
DOList
=
new
Dictionary
<
string
,
ConfigIO
>();
DIODeviceNameList
=
new
List
<
string
>();
SMCDeviceNameList
=
new
List
<
string
>();
// SubDIList = new Dictionary<int, Dictionary<string, ConfigIO>>();
// SubDOList = new Dictionary<int, Dictionary<string, ConfigIO>>();
IOIPList
=
new
List
<
string
>();
//取得属性集合
PropertyInfo
[]
props
=
GetType
().
GetProperties
();
Dictionary
<
string
,
string
>
proMap
=
CSVReaderBase
.
getConfigProAttributeMap
(
GetType
());
...
...
@@ -91,89 +62,135 @@ namespace OnlineStore.LoadCSVLibrary
List
<
string
>
checkProList
=
new
List
<
string
>(
proMap
.
Keys
);
//用来检测attribute属性都应该要配置值
foreach
(
ConfigBase
con
in
configList
)
{
if
(
con
.
ProType
==
ConfigItemType
.
AXIS
||
con
.
ProType
==
ConfigItemType
.
PRO
)
try
{
if
(
proMap
.
ContainsKey
(
con
.
ProName
)
)
if
(
con
.
ProType
==
ConfigItemType
.
AXIS
||
con
.
ProType
==
ConfigItemType
.
PRO
)
{
string
proName
=
proMap
[
con
.
ProName
];
checkProList
.
Remove
(
con
.
ProName
);
PropertyInfo
prop
=
props
.
First
(
c
=>
c
.
Name
==
proName
);
//获取同名属性
if
(
prop
!=
null
)
if
(
proMap
.
ContainsKey
(
con
.
ProName
))
{
if
(
con
.
ProType
==
ConfigItemType
.
AXIS
)
string
proName
=
proMap
[
con
.
ProName
];
checkProList
.
Remove
(
con
.
ProName
);
PropertyInfo
prop
=
props
.
First
(
c
=>
c
.
Name
==
proName
);
//获取同名属性
if
(
prop
!=
null
)
{
//如果属性存在
prop
.
SetValue
(
this
,
Convert
.
ChangeType
(
con
,
prop
.
PropertyType
),
null
);
//赋值****在这里需要考虑类型问题
ConfigMoveAxis
axis
=
(
ConfigMoveAxis
)
con
;
if
(!
SMCDeviceNameList
.
Contains
(
axis
.
DeviceName
)
&&
axis
.
GetAxisValue
()
>=
0
)
if
(
con
.
ProType
==
ConfigItemType
.
AXIS
)
{
//如果属性存在
prop
.
SetValue
(
this
,
Convert
.
ChangeType
(
con
,
prop
.
PropertyType
),
null
);
//赋值****在这里需要考虑类型问题
ConfigMoveAxis
axis
=
(
ConfigMoveAxis
)
con
;
}
else
if
(
con
.
ProType
==
ConfigItemType
.
PRO
)
{
SMCDeviceNameList
.
Add
(
axis
.
DeviceName
);
prop
.
SetValue
(
this
,
Convert
.
ChangeType
(
con
.
ProValue
,
prop
.
PropertyType
),
null
);
//赋值
}
}
else
if
(
con
.
ProType
==
ConfigItemType
.
PRO
)
else
{
prop
.
SetValue
(
this
,
Convert
.
ChangeType
(
con
.
ProValue
,
prop
.
PropertyType
),
null
);
//赋值
LogUtil
.
error
(
"配置文件:"
+
this
.
ConfigFilePath
+
",属性名="
+
con
.
ProName
+
"的属性未找到匹配字段!"
);
}
}
else
if
(!
ProIOIpMap
.
ContainsKey
(
con
.
ProName
)
&&
con
.
ProName
.
ToUpper
().
Contains
(
IOIP_Str
.
ToUpper
()))
{
ProIOIpMap
.
Add
(
con
.
ProName
,
con
.
ProValue
);
}
else
{
AddProBuffer
(
con
,
proBuilder
);
LogUtil
.
error
(
"配置文件:"
+
this
.
ConfigFilePath
+
",属性名="
+
con
.
ProName
+
"的属性未找到匹配字段!"
);
}
}
else
if
(!
ProIOIpMap
.
ContainsKey
(
con
.
ProName
)
&&
con
.
ProName
.
ToUpper
().
Contains
(
IOIP_Str
))
else
if
(
con
.
ProType
==
ConfigItemType
.
DI
)
{
ProIOIpMap
.
Add
(
con
.
ProName
,
con
.
ProValue
)
;
if
(!
DIODeviceNameList
.
Contains
(
con
.
ProValue
)
)
ConfigIO
io
=
(
ConfigIO
)
con
;
if
(!
IOIPList
.
Contains
(
io
.
IO_IP
)
&&
io
.
GetIOAddr
()
>=
0
)
{
DIODeviceNameList
.
Add
(
con
.
ProValue
);
IOIPList
.
Add
(
io
.
IO_IP
);
}
}
else
{
LogUtil
.
error
(
"配置文件:"
+
this
.
ConfigFilePath
+
",属性名="
+
con
.
ProName
+
"的属性未找到匹配字段!"
);
}
}
else
if
(
con
.
ProType
==
ConfigItemType
.
DI
)
{
if
(
IO_Type
.
GetTypeList
().
Contains
(
con
.
ProName
))
{
ConfigIO
io
=
(
ConfigIO
)
con
;
if
(!
DIODeviceNameList
.
Contains
(
io
.
DeviceName
)
&&
(
io
.
GetIOAddr
()
>=
0
||
io
.
GetIOAddr
()
>=
0
)&&
io
.
DeviceName
.
Contains
(
IOIP_Str
).
Equals
(
false
))
if
(
DIList
.
ContainsKey
(
io
.
ProName
))
{
DIODeviceNameList
.
Add
(
io
.
DeviceName
);
LogUtil
.
debug
(
"配置DI:["
+
io
.
ToString
()
+
"] ProName重复 "
);
}
this
.
DIList
.
Add
(
con
.
ProName
,
io
);
}
else
{
LogUtil
.
error
(
"配置文件:"
+
this
.
ConfigFilePath
+
",属性名="
+
con
.
ProName
+
"的属性未找到匹配字段!"
);
else
{
this
.
DIList
.
Add
(
con
.
ProName
,
io
);
}
if
(!
SubDIList
.
ContainsKey
(
io
.
SubType
))
{
SubDIList
.
Add
(
io
.
SubType
,
new
Dictionary
<
string
,
ConfigIO
>());
}
if
(
SubDIList
[
io
.
SubType
].
ContainsKey
(
io
.
ProName
))
{
LogUtil
.
debug
(
"配置DI:["
+
io
.
ToString
()
+
"] ProName重复 "
);
}
else
{
SubDIList
[
io
.
SubType
].
Add
(
io
.
ProName
,
io
);
}
if
(!
ioTypeList
.
Contains
(
con
.
ProName
))
{
AddBuffer
(
con
,
builder
);
}
}
}
else
if
(
con
.
ProType
==
ConfigItemType
.
DO
)
{
if
(
IO_Type
.
GetTypeList
().
Contains
(
con
.
ProName
))
else
if
(
con
.
ProType
==
ConfigItemType
.
DO
)
{
ConfigIO
io
=
(
ConfigIO
)
con
;
if
(!
DIODeviceNameList
.
Contains
(
io
.
DeviceName
)
&&
io
.
GetIOAddr
()
>=
0
&&
io
.
DeviceName
.
Contains
(
IOIP_Str
).
Equals
(
false
)
)
if
(!
IOIPList
.
Contains
(
io
.
IO_IP
)
&&
io
.
GetIOAddr
()
>=
0
)
{
DIODeviceNameList
.
Add
(
io
.
DeviceName
);
IOIPList
.
Add
(
io
.
IO_IP
);
}
if
(
DOList
.
ContainsKey
(
io
.
ProName
))
{
LogUtil
.
debug
(
"配置DO:["
+
io
.
ToString
()
+
"] ProName重复 "
);
}
else
{
this
.
DOList
.
Add
(
con
.
ProName
,
io
);
}
if
(!
SubDOList
.
ContainsKey
(
io
.
SubType
))
{
SubDOList
.
Add
(
io
.
SubType
,
new
Dictionary
<
string
,
ConfigIO
>());
}
if
(
SubDOList
[
io
.
SubType
].
ContainsKey
(
io
.
ProName
))
{
LogUtil
.
debug
(
"配置DO:["
+
io
.
ToString
()
+
"] ProName重复 "
);
}
else
{
SubDOList
[
io
.
SubType
].
Add
(
io
.
ProName
,
io
);
}
if
(!
ioTypeList
.
Contains
(
con
.
ProName
))
{
AddBuffer
(
con
,
builder
);
}
this
.
DOList
.
Add
(
con
.
ProName
,
io
);
}
else
{
LogUtil
.
error
(
"配置文件:"
+
this
.
ConfigFilePath
+
",属性名="
+
con
.
ProName
+
"的属性未找到匹配字段!"
);
}
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
"解析配置【"
+
con
.
ConfigStr
+
"】出错:"
+
ex
.
ToString
());
}
}
if
(
String
.
IsNullOrEmpty
(
proBuilder
.
ToString
()).
Equals
(
false
)
&&
proBuilder
.
ToString
().
Equals
(
"\r\n"
).
Equals
(
false
))
{
LogUtil
.
error
(
proBuilder
.
ToString
());
}
if
(
String
.
IsNullOrEmpty
(
builder
.
ToString
()).
Equals
(
false
)
&&
builder
.
ToString
().
Equals
(
"\r\n"
).
Equals
(
false
))
{
LogUtil
.
error
(
builder
.
ToString
());
}
if
(
checkProList
.
Count
>=
0
)
{
//常规属性检测
foreach
(
string
str
in
checkProList
)
{
PropertyInfo
prop
=
props
.
First
(
c
=>
c
.
Name
==
str
);
//获取同名属性
//判断是否必须要配置
//判断是否必须要配置
object
[]
array
=
prop
.
GetCustomAttributes
(
false
);
if
(
array
.
Length
>
0
)
{
...
...
@@ -182,7 +199,7 @@ namespace OnlineStore.LoadCSVLibrary
{
if
(
att
.
IsMust
)
{
throw
new
CVSFieldNotMatchingExection
(
this
.
ToString
()
+
"的属性
"
+
str
+
"
必须配置值!"
);
throw
new
CVSFieldNotMatchingExection
(
this
.
ToString
()
+
"的属性
【"
+
str
+
"】
必须配置值!"
);
}
else
{
...
...
@@ -197,29 +214,63 @@ namespace OnlineStore.LoadCSVLibrary
}
}
}
}
}
}
}
private
void
AddProBuffer
(
ConfigBase
con
,
StringBuilder
builder
)
{
// /// <summary>
// /// PRO 是否使用定位气缸 IsHasLocationCylinder 0
// /// </summary>
//[ConfigProAttribute("IsHasLocationCylinder")]
//public int IsHasLocationCylinder { get; set; }
builder
.
Append
(
" /// <summary>\r\n"
);
builder
.
Append
(
" /// "
+
con
.
ConfigStr
+
"\r\n"
);
builder
.
Append
(
" /// </summary>\r\n"
);
builder
.
Append
(
" [ConfigProAttribute(\""
+
con
.
ProName
+
"\")]\r\n"
);
builder
.
Append
(
" public int "
+
con
.
ProName
+
" { get; set; }\r\n"
);
}
private
void
AddBuffer
(
ConfigBase
con
,
StringBuilder
builder
)
{
builder
.
Append
(
" /// <summary>\r\n"
);
builder
.
Append
(
" /// "
+
con
.
ConfigStr
+
"\r\n"
);
builder
.
Append
(
" /// </summary>\r\n"
);
builder
.
Append
(
" public static string "
+
con
.
ProName
+
"=\""
+
con
.
ProName
+
"\";\r\n"
);
}
public
void
SetIO
(
int
subType
)
{
Dictionary
<
string
,
ConfigIO
>
doList
=
new
Dictionary
<
string
,
ConfigIO
>();
Dictionary
<
string
,
ConfigIO
>
diList
=
new
Dictionary
<
string
,
ConfigIO
>();
//DI检测
foreach
(
string
di
in
MustHaveDIList
)
if
(
BaseConfig
.
SubDIList
.
ContainsKey
(
subType
))
{
diList
=
BaseConfig
.
SubDIList
[
subType
];
}
if
(
BaseConfig
.
SubDOList
.
ContainsKey
(
subType
))
{
doList
=
BaseConfig
.
SubDOList
[
subType
];
}
ConfigIO
nsc
=
null
;
foreach
(
string
key
in
diList
.
Keys
)
{
DIList
.
Add
(
key
,
diList
[
key
]);
if
(!
IOIPList
.
Contains
(
diList
[
key
].
IO_IP
))
{
if
(!
DIList
.
ContainsKey
(
di
))
{
throw
new
CVSFieldNotMatchingExection
(
this
.
ToString
()
+
"的DI属性"
+
di
+
"必须配置值!"
);
}
IOIPList
.
Add
(
diList
[
key
].
IO_IP
);
}
}
foreach
(
string
key
in
doList
.
Keys
)
{
DOList
.
Add
(
key
,
doList
[
key
]);
//DO检测
foreach
(
string
io
in
MustHaveDOList
)
if
(!
IOIPList
.
Contains
(
doList
[
key
].
IO_IP
))
{
if
(!
this
.
DOList
.
ContainsKey
(
io
))
{
throw
new
CVSFieldNotMatchingExection
(
this
.
ToString
()
+
"的DO属性"
+
io
+
"必须配置值!"
);
}
IOIPList
.
Add
(
doList
[
key
].
IO_IP
);
}
}
}
}
public
ConfigIO
getWaitIO
(
string
ioType
)
{
if
(
DIList
.
ContainsKey
(
ioType
))
...
...
source/LoadCVSLibrary/storeConfig/config/BoxConfig.cs
查看文件 @
4385548
...
...
@@ -17,153 +17,31 @@ namespace OnlineStore.LoadCSVLibrary
{
}
/// <summary>
/// 预警温度
/// </summary>
[
ConfigProAttribute
(
"WarnTemperate"
)]
public
int
WarnTemperate
{
get
;
set
;
}
/// <summary>
/// 预警湿度
/// </summary>
[
ConfigProAttribute
(
"WarnHumidity"
)]
public
int
WarnHumidity
{
get
;
set
;
}
/// <summary>
/// 气压检测IO关闭需要持续的时间(=3表示需要关闭三秒以上才算关闭)
/// </summary>
[
ConfigProAttribute
(
"AirCheckSeconds"
)]
public
int
AirCheckSeconds
{
get
;
set
;
}
/// <summary>
/// IsHasCompress_Axis是否使用压紧轴
/// </summary>
[
ConfigProAttribute
(
"IsHasCompress_Axis"
)]
public
int
IsHasCompress_Axis
{
get
;
set
;
}
/// <summary>
/// PRO 是否使用定位气缸 IsHasLocationCylinder 0
/// </summary>
[
ConfigProAttribute
(
"IsHasLocationCylinder"
)]
public
int
IsHasLocationCylinder
{
get
;
set
;
}
/// <summary>
/// PRO 是否有左右侧门 IsHasDoorLimit 0
/// </summary>
[
ConfigProAttribute
(
"IsHasDoorLimit"
)]
public
int
IsHasDoorLimit
{
get
;
set
;
}
/// <summary>
/// PRO 扫码枪IP Scanner_Ip 192.168.200.13
/// </summary>
[
ConfigProAttribute
(
"Scanner_Ip"
,
false
)]
public
string
Scanner_Ip
{
get
;
set
;
}
/// <summary>
/// PRO 扫码枪端口号 Scanner_Port 51236
/// </summary>
[
ConfigProAttribute
(
"Scanner_Port"
,
false
)]
public
int
Scanner_Port
{
get
;
set
;
}
/// <summary>
/// PRO (轴一)旋转轴原点目标速度 MiddleAxis_TargetSpeed 30000
/// </summary>
[
ConfigProAttribute
(
"MiddleAxis_TargetSpeed"
)]
public
int
MiddleAxis_TargetSpeed
{
get
;
set
;
}
/// <summary>
/// PRO (轴一)旋转轴加速度 MiddleAxis_AddSpeed 500
/// </summary>
[
ConfigProAttribute
(
"MiddleAxis_AddSpeed"
)]
public
short
MiddleAxis_AddSpeed
{
get
;
set
;
}
/// <summary>
/// PRO (轴一)旋转轴减速度 MiddleAxis_DelSpeed 500
/// </summary>
[
ConfigProAttribute
(
"MiddleAxis_DelSpeed"
)]
public
short
MiddleAxis_DelSpeed
{
get
;
set
;
}
/// <summary>
/// PRO (轴二)升降轴轴原点目标速度 UpdownAxis_TargetSpeed 120000
/// </summary>
[
ConfigProAttribute
(
"UpdownAxis_TargetSpeed"
)]
public
int
UpdownAxis_TargetSpeed
{
get
;
set
;
}
/// <summary>
/// PRO (轴二)升降轴轴加速度 UpdownAxis_AddSpeed 200
/// </summary>
[
ConfigProAttribute
(
"UpdownAxis_AddSpeed"
)]
public
short
UpdownAxis_AddSpeed
{
get
;
set
;
}
/// <summary>
/// PRO (轴二)升降轴轴减速度 UpdownAxis_DelSpeed 200
/// </summary>
[
ConfigProAttribute
(
"UpdownAxis_DelSpeed"
)]
public
short
UpdownAxis_DelSpeed
{
get
;
set
;
}
/// <summary>
/// PRO (轴三)进出轴原点目标速度 InoutAxis_TargetSpeed 12000
/// </summary>
[
ConfigProAttribute
(
"InoutAxis_TargetSpeed"
)]
public
int
InoutAxis_TargetSpeed
{
get
;
set
;
}
/// <summary>
/// PRO (轴三)进出轴加速度 InoutAxis_AddSpeed 200
/// </summary>
[
ConfigProAttribute
(
"InoutAxis_AddSpeed"
)]
public
short
InoutAxis_AddSpeed
{
get
;
set
;
}
/// <summary>
/// PRO (轴三)进出轴减速度 InoutAxis_DelSpeed 200
/// </summary>
[
ConfigProAttribute
(
"InoutAxis_DelSpeed"
)]
public
short
InoutAxis_DelSpeed
{
get
;
set
;
}
/// <summary>
/// PRO (轴一)旋转轴原点低速度 MiddleAxis_HomeLowSpeed 50
/// </summary>
[
ConfigProAttribute
(
"MiddleAxis_HomeLowSpeed"
)]
public
short
MiddleAxis_HomeLowSpeed
{
get
;
set
;
}
/// <summary>
/// PRO (轴一)旋转轴原点高速 MiddleAxis_HomeHighSpeed 100
/// </summary>
[
ConfigProAttribute
(
"MiddleAxis_HomeHighSpeed"
)]
public
short
MiddleAxis_HomeHighSpeed
{
get
;
set
;
}
/// <summary>
/// PRO (轴一)旋转轴原点加速度 MiddleAxis_HomeAddSpeed 30
///轴2升降轴 运动上下轴
/// </summary>
[
ConfigProAttribute
(
"MiddleAxis_HomeAddSpeed"
)]
public
short
MiddleAxis_HomeAddSpeed
{
get
;
set
;
}
[
ConfigProAttribute
(
"UpDown_Axis"
)]
public
ConfigMoveAxis
UpDown_Axis
{
get
;
set
;
}
/// <summary>
///
PRO (轴二)升降轴轴原点低速度 UpdownAxis_HomeLowSpeed 50
///
轴1旋转轴 运动中轴
/// </summary>
[
ConfigProAttribute
(
"UpdownAxis_HomeLowSpeed"
)]
public
short
UpdownAxis_HomeLowSpeed
{
get
;
set
;
}
[
ConfigProAttribute
(
"Middle_Axis"
)]
public
ConfigMoveAxis
Middle_Axis
{
get
;
set
;
}
/// <summary>
///
PRO (轴二)升降轴轴原点高速 UpdownAxis_HomeHighSpeed 100
///
轴3进出轴
/// </summary>
[
ConfigProAttribute
(
"
UpdownAxis_HomeHighSpeed
"
)]
public
short
UpdownAxis_HomeHighSpeed
{
get
;
set
;
}
[
ConfigProAttribute
(
"
InOut_Axis
"
)]
public
ConfigMoveAxis
InOut_Axis
{
get
;
set
;
}
/// <summary>
///
PRO (轴二)升降轴轴原点加速度 UpdownAxis_HomeAddSpeed 30
///
轴3压紧轴
/// </summary>
[
ConfigProAttribute
(
"
UpdownAxis_HomeAddSpeed
"
)]
public
short
UpdownAxis_HomeAddSpeed
{
get
;
set
;
}
[
ConfigProAttribute
(
"
Comp_Axis
"
)]
public
ConfigMoveAxis
Comp_Axis
{
get
;
set
;
}
/// <summary>
/// PRO (轴三)进出轴原点低速 InoutAxis_HomeLowSpeed 50
/// </summary>
[
ConfigProAttribute
(
"InoutAxis_HomeLowSpeed"
)]
public
short
InoutAxis_HomeLowSpeed
{
get
;
set
;
}
/// <summary>
/// PRO (轴三)进出轴原点高速 InoutAxis_HomeHighSpeed 100
/// </summary>
[
ConfigProAttribute
(
"InoutAxis_HomeHighSpeed"
)]
public
short
InoutAxis_HomeHighSpeed
{
get
;
set
;
}
/// <summary>
/// PRO (轴三)进出轴原点加速度 InoutAxis_HomeAddSpeed 30
/// </summary>
[
ConfigProAttribute
(
"InoutAxis_HomeAddSpeed"
)]
public
short
InoutAxis_HomeAddSpeed
{
get
;
set
;
}
/// <summary>
/// PRO 升降轴(轴2)P1速度 UpDownAxis_P1_Speed
/// </summary>
[
ConfigProAttribute
(
"UpDownAxis_P1_Speed"
)]
...
...
@@ -237,39 +115,7 @@ namespace OnlineStore.LoadCSVLibrary
[
ConfigProAttribute
(
"InOutAxis_P3_Speed"
)]
public
int
InOutAxis_P3_Speed
{
get
;
set
;
}
/// <summary>
/// PRO (轴一)旋转轴停止时可误差的脉冲数的最小值 MiddleAxis_ErrorCountMin 200
/// </summary>
[
ConfigProAttribute
(
"MiddleAxis_ErrorCountMin"
)]
public
int
MiddleAxis_ErrorCountMin
{
get
;
set
;
}
/// <summary>
/// PRO (轴二)升降轴轴停止时可误差的脉冲数的最小值 UpdownAxis_ErrorCountMin 200
/// </summary>
[
ConfigProAttribute
(
"UpdownAxis_ErrorCountMin"
)]
public
int
UpdownAxis_ErrorCountMin
{
get
;
set
;
}
/// <summary>
/// PRO (轴三)进出轴停止时可误差的脉冲数的最小值 InoutAxis_ErrorCountMin 200
/// </summary>
[
ConfigProAttribute
(
"InoutAxis_ErrorCountMin"
)]
public
int
InoutAxis_ErrorCountMin
{
get
;
set
;
}
/// <summary>
/// PRO (轴一)旋转轴停止时可误差的脉冲数的最大值 MiddleAxis_ErrorCountMax 500
/// </summary>
[
ConfigProAttribute
(
"MiddleAxis_ErrorCountMax"
)]
public
int
MiddleAxis_ErrorCountMax
{
get
;
set
;
}
/// <summary>
/// PRO (轴二)升降轴轴停止时可误差的脉冲数的最大值 UpdownAxis_ErrorCountMax 500
/// </summary>
[
ConfigProAttribute
(
"UpdownAxis_ErrorCountMax"
)]
public
int
UpdownAxis_ErrorCountMax
{
get
;
set
;
}
/// <summary>
/// PRO (轴三)进出轴停止时可误差的脉冲数的最大值 InoutAxis_ErrorCountMax 500
/// </summary>
[
ConfigProAttribute
(
"InoutAxis_ErrorCountMax"
)]
public
int
InoutAxis_ErrorCountMax
{
get
;
set
;
}
/// <summary>
/// PRO,BOX出入库次数多少次时,会自动重置旋转轴,Box_ResetMCount,10,,,,,
/// </summary>
...
...
@@ -333,118 +179,9 @@ namespace OnlineStore.LoadCSVLibrary
public
int
IsUse_Tray_Check
{
get
;
set
;
}
/// <summary>
///轴2升降轴 运动上下轴
/// </summary>
[
ConfigProAttribute
(
"UpDown_Axis"
)]
public
ConfigMoveAxis
UpDown_Axis
{
get
;
set
;
}
/// <summary>
/// 轴1旋转轴 运动中轴
/// </summary>
[
ConfigProAttribute
(
"Middle_Axis"
)]
public
ConfigMoveAxis
Middle_Axis
{
get
;
set
;
}
/// <summary>
/// 轴3进出轴
/// </summary>
[
ConfigProAttribute
(
"InOut_Axis"
)]
public
ConfigMoveAxis
InOut_Axis
{
get
;
set
;
}
/// <summary>
/// 轴3压紧轴
/// </summary>
[
ConfigProAttribute
(
"Comp_Axis"
)]
public
ConfigMoveAxis
Comp_Axis
{
get
;
set
;
}
/// <summary>
/// PRO (轴四)压紧轴目标速度 CompAxis_TargetSpeed 100
/// </summary>
[
ConfigProAttribute
(
"CompAxis_TargetSpeed"
)]
public
int
CompAxis_TargetSpeed
{
get
;
set
;
}
/// <summary>
/// PRO (轴四)压紧轴加速度 CompAxis_AddSpeed 300
/// </summary>
[
ConfigProAttribute
(
"CompAxis_AddSpeed"
)]
public
short
CompAxis_AddSpeed
{
get
;
set
;
}
/// <summary>
/// PRO (轴四)压紧轴减速度 CompAxis_DelSpeed 300
/// </summary>
[
ConfigProAttribute
(
"CompAxis_DelSpeed"
)]
public
short
CompAxis_DelSpeed
{
get
;
set
;
}
/// <summary>
/// PRO (轴四)压紧轴原点低速 CompAxis_HomeLowSpeed 20
/// </summary>
[
ConfigProAttribute
(
"CompAxis_HomeLowSpeed"
)]
public
int
CompAxis_HomeLowSpeed
{
get
;
set
;
}
/// <summary>
/// PRO (轴四)压紧轴原点高速 CompAxis_HomeHighSpeed 60
/// </summary>
[
ConfigProAttribute
(
"CompAxis_HomeHighSpeed"
)]
public
int
CompAxis_HomeHighSpeed
{
get
;
set
;
}
/// <summary>
/// PRO (轴四)压紧轴原点加速度 CompAxis_HomeAddSpeed 200
/// </summary>
[
ConfigProAttribute
(
"CompAxis_HomeAddSpeed"
)]
public
int
CompAxis_HomeAddSpeed
{
get
;
set
;
}
/// <summary>
/// PRO (轴一)旋转轴最小限位 MiddleAxis_PositionMin
/// </summary>
[
ConfigProAttribute
(
"MiddleAxis_PositionMin"
,
false
)]
public
int
MiddleAxis_PositionMin
{
get
;
set
;
}
/// <summary>
/// PRO (轴二)升降轴最小限位 UpdownAxis_PositionMin
/// </summary>
[
ConfigProAttribute
(
"UpdownAxis_PositionMin"
,
false
)]
public
int
UpdownAxis_PositionMin
{
get
;
set
;
}
/// <summary>
/// PRO (轴三)进出轴最小限位 InoutAxis_PositionMin
/// </summary>
[
ConfigProAttribute
(
"InoutAxis_PositionMin"
,
false
)]
public
int
InoutAxis_PositionMin
{
get
;
set
;
}
/// <summary>
/// PRO (轴一)旋转轴最大限位 MiddleAxis_PositionMax
/// </summary>
[
ConfigProAttribute
(
"MiddleAxis_PositionMax"
,
false
)]
public
int
MiddleAxis_PositionMax
{
get
;
set
;
}
/// <summary>
/// PRO (轴二)升降轴最大限位 UpdownAxis_PositionMax
/// </summary>
[
ConfigProAttribute
(
"UpdownAxis_PositionMax"
,
false
)]
public
int
UpdownAxis_PositionMax
{
get
;
set
;
}
/// <summary>
/// PRO (轴三)进出轴最大限位 InoutAxis_PositionMax
/// </summary>
[
ConfigProAttribute
(
"InoutAxis_PositionMax"
,
false
)]
/// <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>
/// 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>
...
...
@@ -465,166 +202,85 @@ namespace OnlineStore.LoadCSVLibrary
/// <summary>
///
PRO IO模块对应的DI数量 IO_DILength 192.168.200.10#16;192.168.200.11#4
///
PRO 每次吹气的时间(分钟) BlowAir_Time 10
/// </summary>
[
ConfigProAttribute
(
"IO_DILength"
)]
public
string
IO_DILength
{
get
;
set
;
}
[
ConfigProAttribute
(
"BlowAir_Time"
,
false
)]
public
int
BlowAir_Time
{
get
;
set
;
}
/// <summary>
/// PRO
模块对应的DO数量 IO_DOLength 192.168.200.10#16;192.168.200.11#4
/// PRO
两次吹气间隔(分钟) BlowAir_Interval 10
/// </summary>
[
ConfigProAttribute
(
"
IO_DOLength"
)]
public
string
IO_DOLength
{
get
;
set
;
}
[
ConfigProAttribute
(
"
BlowAir_Interval"
,
false
)]
public
int
BlowAir_Interval
{
get
;
set
;
}
/// <summary>
///
PRO 是否有仓门 HasDoor 1
///
PRO,0,是否调试状态,ISDebug,0,,,,,,,,,,,,
/// </summary>
[
ConfigProAttribute
(
"HasDoor"
)]
public
int
HasDoor
{
get
;
set
;
}
protected
override
void
initMustHavePro
()
{
MustHaveDIList
=
new
List
<
string
>();
MustHaveDOList
=
new
List
<
string
>();
MustHaveDIList
.
Add
(
IO_Type
.
SuddenStop_BTN
);
MustHaveDIList
.
Add
(
IO_Type
.
Reset_BTN
);
MustHaveDIList
.
Add
(
IO_Type
.
DoorLimit
);
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
.
Alarm_HddLed
);
MustHaveDOList
.
Add
(
IO_Type
.
RunSign_HddLed
);
MustHaveDOList
.
Add
(
IO_Type
.
StartOrStopBlow
);
MustHaveDOList
.
Add
(
IO_Type
.
Run_Signal
);
MustHaveDOList
.
Add
(
IO_Type
.
Door_Up
);
MustHaveDOList
.
Add
(
IO_Type
.
Door_Down
);
MustHaveDOList
.
Add
(
IO_Type
.
Axis_Brake
);
}
public
static
void
ConfigAxis
(
BoxConfig
Config
)
{
Config
.
Middle_Axis
.
TargetSpeed
=
Config
.
MiddleAxis_TargetSpeed
;
Config
.
Middle_Axis
.
AddSpeed
=
Config
.
MiddleAxis_AddSpeed
;
Config
.
Middle_Axis
.
DelSpeed
=
Config
.
MiddleAxis_DelSpeed
;
Config
.
Middle_Axis
.
HomeAddSpeed
=
Config
.
MiddleAxis_HomeAddSpeed
;
Config
.
Middle_Axis
.
HomeHighSpeed
=
Config
.
MiddleAxis_HomeHighSpeed
;
Config
.
Middle_Axis
.
HomeLowSpeed
=
Config
.
MiddleAxis_HomeLowSpeed
;
Config
.
InOut_Axis
.
TargetSpeed
=
Config
.
InoutAxis_TargetSpeed
;
Config
.
InOut_Axis
.
DelSpeed
=
Config
.
InoutAxis_AddSpeed
;
Config
.
InOut_Axis
.
AddSpeed
=
Config
.
InoutAxis_DelSpeed
;
Config
.
InOut_Axis
.
HomeAddSpeed
=
Config
.
InoutAxis_HomeAddSpeed
;
Config
.
InOut_Axis
.
HomeHighSpeed
=
Config
.
InoutAxis_HomeHighSpeed
;
Config
.
InOut_Axis
.
HomeLowSpeed
=
Config
.
InoutAxis_HomeLowSpeed
;
Config
.
UpDown_Axis
.
TargetSpeed
=
Config
.
UpdownAxis_TargetSpeed
;
Config
.
UpDown_Axis
.
AddSpeed
=
Config
.
UpdownAxis_AddSpeed
;
Config
.
UpDown_Axis
.
DelSpeed
=
Config
.
UpdownAxis_DelSpeed
;
Config
.
UpDown_Axis
.
HomeAddSpeed
=
Config
.
UpdownAxis_HomeAddSpeed
;
Config
.
UpDown_Axis
.
HomeHighSpeed
=
Config
.
UpdownAxis_HomeHighSpeed
;
Config
.
UpDown_Axis
.
HomeLowSpeed
=
Config
.
UpdownAxis_HomeLowSpeed
;
Config
.
Comp_Axis
.
TargetSpeed
=
Config
.
CompAxis_TargetSpeed
;
Config
.
Comp_Axis
.
AddSpeed
=
Config
.
CompAxis_AddSpeed
;
Config
.
Comp_Axis
.
DelSpeed
=
Config
.
CompAxis_DelSpeed
;
Config
.
Comp_Axis
.
HomeAddSpeed
=
Config
.
CompAxis_HomeAddSpeed
;
Config
.
Comp_Axis
.
HomeHighSpeed
=
Config
.
CompAxis_HomeHighSpeed
;
Config
.
Comp_Axis
.
HomeLowSpeed
=
Config
.
CompAxis_HomeLowSpeed
;
Config
.
Middle_Axis
.
CanErrorCountMin
=
Config
.
MiddleAxis_ErrorCountMin
;
Config
.
InOut_Axis
.
CanErrorCountMin
=
Config
.
InoutAxis_ErrorCountMin
;
Config
.
UpDown_Axis
.
CanErrorCountMin
=
Config
.
UpdownAxis_ErrorCountMin
;
Config
.
Middle_Axis
.
CanErrorCountMax
=
Config
.
MiddleAxis_ErrorCountMax
;
Config
.
InOut_Axis
.
CanErrorCountMax
=
Config
.
InoutAxis_ErrorCountMax
;
Config
.
UpDown_Axis
.
CanErrorCountMax
=
Config
.
UpdownAxis_ErrorCountMax
;
Config
.
Middle_Axis
.
PositionMin
=
Config
.
MiddleAxis_PositionMin
;
Config
.
Middle_Axis
.
PositionMax
=
Config
.
MiddleAxis_PositionMax
;
Config
.
InOut_Axis
.
PositionMin
=
Config
.
InoutAxis_PositionMin
;
Config
.
InOut_Axis
.
PositionMax
=
Config
.
InoutAxis_PositionMax
;
Config
.
UpDown_Axis
.
PositionMin
=
Config
.
UpdownAxis_PositionMin
;
Config
.
UpDown_Axis
.
PositionMax
=
Config
.
UpdownAxis_PositionMax
;
//Config.InOut_Axis.ResolveSpeed = Config.InoutAxis_ResolveSpeed;
//Config.UpDown_Axis.ResolveSpeed = Config.UpdownAxis_ResolveSpeed;
//Config.Middle_Axis.ResolveSpeed = Config.MiddleAxis_ResolveSpeed;
Config
.
Middle_Axis
.
DefaultPosition
=
Config
.
MiddleAxis_P1_Position
;
Config
.
InOut_Axis
.
DefaultPosition
=
Config
.
InOutAxis_P1_Position
;
Config
.
UpDown_Axis
.
DefaultPosition
=
Config
.
UpDownAxis_DoorOPosition_P1
;
Config
.
Comp_Axis
.
DefaultPosition
=
Config
.
CompressAxis_P1_Position
;
Config
.
Comp_Axis
.
CanErrorCountMax
=
1000
;
Config
.
Comp_Axis
.
CanErrorCountMin
=
10
;
Config
.
Comp_Axis
.
PositionMin
=
0
;
Config
.
Comp_Axis
.
PositionMax
=
0
;
}
[
ConfigProAttribute
(
"ISDebug"
)]
public
int
ISDebug
{
get
;
set
;
}
private
Dictionary
<
string
,
ushort
>
DILengthMap
=
null
;
private
Dictionary
<
string
,
ushort
>
DOLengthMap
=
null
;
public
ushort
GetDILength
(
string
ip
)
{
try
{
if
(
DILengthMap
==
null
)
{
DILengthMap
=
new
Dictionary
<
string
,
ushort
>();
string
[]
arrayList
=
IO_DILength
.
Split
(
';'
);
foreach
(
string
str
in
arrayList
)
{
string
[]
arrStr
=
str
.
Split
(
'#'
);
if
(
arrStr
.
Length
==
2
)
{
string
ioip
=
arrStr
[
0
];
ushort
length
=
Convert
.
ToUInt16
(
arrStr
[
1
]);
DILengthMap
.
Add
(
ioip
,
length
);
}
}
}
}
catch
(
Exception
ex
)
{
}
if
(
DILengthMap
.
ContainsKey
(
ip
))
{
return
DILengthMap
[
ip
];
}
return
16
;
//try
//{
// if (DILengthMap == null)
// {
// DILengthMap = new Dictionary<string, ushort>();
// string[] arrayList = IO_DILength.Split(';');
// foreach (string str in arrayList)
// {
// string[] arrStr = str.Split('#');
// if (arrStr.Length == 2)
// {
// string ioip = arrStr[0];
// ushort length = Convert.ToUInt16(arrStr[1]);
// DILengthMap.Add(ioip, length);
// }
// }
// }
//}
//catch (Exception ex)
//{
//}
//if (DILengthMap.ContainsKey(ip))
//{
// return DILengthMap[ip];
//}
//return 16;
}
public
ushort
GetDOLength
(
string
ip
)
{
try
{
if
(
DOLengthMap
==
null
)
{
DOLengthMap
=
new
Dictionary
<
string
,
ushort
>();
string
[]
arrayList
=
IO_DOLength
.
Split
(
';'
);
foreach
(
string
str
in
arrayList
)
{
string
[]
arrStr
=
str
.
Split
(
'#'
);
if
(
arrStr
.
Length
==
2
)
{
string
ioip
=
arrStr
[
0
];
ushort
length
=
Convert
.
ToUInt16
(
arrStr
[
1
]);
DOLengthMap
.
Add
(
ioip
,
length
);
}
}
}
}
catch
(
Exception
ex
)
{
}
if
(
DOLengthMap
.
ContainsKey
(
ip
))
{
return
DOLengthMap
[
ip
];
}
return
16
;
//try
//{
// if (DOLengthMap == null)
// {
// DOLengthMap = new Dictionary<string, ushort>();
// string[] arrayList = IO_DOLength.Split(';');
// foreach (string str in arrayList)
// {
// string[] arrStr = str.Split('#');
// if (arrStr.Length == 2)
// {
// string ioip = arrStr[0];
// ushort length = Convert.ToUInt16(arrStr[1]);
// DOLengthMap.Add(ioip, length);
// }
// }
// }
//}
//catch (Exception ex)
//{
//}
//if (DOLengthMap.ContainsKey(ip))
//{
// return DOLengthMap[ip];
//}
//return 16;
}
}
...
...
source/LoadCVSLibrary/storeConfig/config/
Store_
IO_Type.cs
→
source/LoadCVSLibrary/storeConfig/config/IO_Type.cs
查看文件 @
4385548
...
...
@@ -120,7 +120,14 @@ namespace OnlineStore.LoadCSVLibrary
public
static
string
DoorLimit
=
"DoorLimit"
;
/// <summary>
/// DO,0,报警蜂鸣器,Alarm_Buzzer,3,HC,Y04,
/// </summary>
public
static
string
Alarm_Buzzer
=
"Alarm_Buzzer"
;
/// <summary>
/// DO,0,设备照明ON,Device_Led,8,HC,Y09,
/// </summary>
public
static
string
Device_Led
=
"Device_Led"
;
}
public
enum
IO_VALUE
...
...
source/LoadCVSLibrary/storeConfig/config/StoreConfig.cs
查看文件 @
4385548
...
...
@@ -14,11 +14,61 @@ namespace OnlineStore.LoadCSVLibrary
public
StoreConfig
(
int
id
,
string
cid
,
string
type
,
string
filepath
)
:
base
(
id
,
cid
,
type
,
filepath
)
{
}
/// <summary>
/// PRO IO信号超时时间(毫秒) IOSingle_TimerOut 5000
/// </summary>
}
/// <summary>
/// 预警温度
/// </summary>
[
ConfigProAttribute
(
"WarnTemperate"
)]
public
int
WarnTemperate
{
get
;
set
;
}
/// <summary>
/// 预警湿度
/// </summary>
[
ConfigProAttribute
(
"WarnHumidity"
)]
public
int
WarnHumidity
{
get
;
set
;
}
/// <summary>
/// 气压检测IO关闭需要持续的时间(=3表示需要关闭三秒以上才算关闭)
/// </summary>
[
ConfigProAttribute
(
"AirCheckSeconds"
)]
public
int
AirCheckSeconds
{
get
;
set
;
}
/// <summary>
/// PRO IO信号超时时间(毫秒) IOSingle_TimerOut 5000
/// </summary>
[
ConfigProAttribute
(
"IOSingle_TimerOut"
,
false
)]
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>
/// 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
;
}
public
ushort
GetDOLength
(
string
ioIp
)
{
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论