Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
ACSingleStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit f5094191
由
LN
编写于
2021-02-23 15:41:55 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1
1 个父辈
082bd137
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
2537 行增加
和
0 行删除
source/ACSingleStore/positionTool/AxisJogControl.Designer.cs
source/ACSingleStore/positionTool/AxisJogControl.cs
source/ACSingleStore/positionTool/AxisJogControl.resx
source/ACSingleStore/positionTool/FrmTool.Designer.cs
source/ACSingleStore/positionTool/FrmTool.cs
source/ACSingleStore/positionTool/FrmTool.resx
source/DeviceLibrary/acSingleStore/BoxAutoPoint.cs
source/ACSingleStore/positionTool/AxisJogControl.Designer.cs
0 → 100644
查看文件 @
f509419
namespace
OnlineStore.ACSingleStore
{
partial
class
AxisJogControl
{
/// <summary>
/// Required designer variable.
/// </summary>
private
System
.
ComponentModel
.
IContainer
components
=
null
;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected
override
void
Dispose
(
bool
disposing
)
{
if
(
disposing
&&
(
components
!=
null
))
{
components
.
Dispose
();
}
base
.
Dispose
(
disposing
);
}
#
region
Windows
Form
Designer
generated
code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private
void
InitializeComponent
()
{
this
.
components
=
new
System
.
ComponentModel
.
Container
();
this
.
label1
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
label2
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
label3
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
btnMiddleMove
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
txtMiddleSpeed
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
txtUpDownSpeed
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
txtInOutSpeed
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
btnUpDownMove
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnInOutMove
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnInOutMovej
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnUpDownMovej
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnMiddleMovej
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
txtInOutPosition
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
txtUpdownPosition
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
txtMiddlePosition
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
label5
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
label6
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
timer1
=
new
System
.
Windows
.
Forms
.
Timer
(
this
.
components
);
this
.
txtComPosition
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
btnComMovej
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnComMove
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
txtComSpeed
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
label4
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
lblSpeed
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
trackBar1
=
new
System
.
Windows
.
Forms
.
TrackBar
();
this
.
btnMCopy
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnUCopy
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnICopy
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnCCopy
=
new
System
.
Windows
.
Forms
.
Button
();
((
System
.
ComponentModel
.
ISupportInitialize
)(
this
.
trackBar1
)).
BeginInit
();
this
.
SuspendLayout
();
//
// label1
//
this
.
label1
.
AutoSize
=
true
;
this
.
label1
.
Location
=
new
System
.
Drawing
.
Point
(
4
,
57
);
this
.
label1
.
Name
=
"label1"
;
this
.
label1
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
12
);
this
.
label1
.
TabIndex
=
0
;
this
.
label1
.
Text
=
"(轴一)旋转轴"
;
//
// label2
//
this
.
label2
.
AutoSize
=
true
;
this
.
label2
.
Location
=
new
System
.
Drawing
.
Point
(
4
,
114
);
this
.
label2
.
Name
=
"label2"
;
this
.
label2
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
12
);
this
.
label2
.
TabIndex
=
1
;
this
.
label2
.
Text
=
"(轴二)升降轴"
;
//
// label3
//
this
.
label3
.
AutoSize
=
true
;
this
.
label3
.
Location
=
new
System
.
Drawing
.
Point
(
4
,
172
);
this
.
label3
.
Name
=
"label3"
;
this
.
label3
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
12
);
this
.
label3
.
TabIndex
=
2
;
this
.
label3
.
Text
=
"(轴三)进出轴"
;
//
// btnMiddleMove
//
this
.
btnMiddleMove
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
this
.
btnMiddleMove
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnMiddleMove
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnMiddleMove
.
Location
=
new
System
.
Drawing
.
Point
(
175
,
43
);
this
.
btnMiddleMove
.
Name
=
"btnMiddleMove"
;
this
.
btnMiddleMove
.
Size
=
new
System
.
Drawing
.
Size
(
140
,
45
);
this
.
btnMiddleMove
.
TabIndex
=
4
;
this
.
btnMiddleMove
.
Text
=
"旋转轴+(顺时针)"
;
this
.
btnMiddleMove
.
UseVisualStyleBackColor
=
false
;
this
.
btnMiddleMove
.
MouseDown
+=
new
System
.
Windows
.
Forms
.
MouseEventHandler
(
this
.
btnMiddleMove_MouseDown
);
this
.
btnMiddleMove
.
MouseUp
+=
new
System
.
Windows
.
Forms
.
MouseEventHandler
(
this
.
btnMiddleMove_MouseUp
);
//
// txtMiddleSpeed
//
this
.
txtMiddleSpeed
.
Enabled
=
false
;
this
.
txtMiddleSpeed
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtMiddleSpeed
.
Location
=
new
System
.
Drawing
.
Point
(
98
,
52
);
this
.
txtMiddleSpeed
.
MaxLength
=
10
;
this
.
txtMiddleSpeed
.
Name
=
"txtMiddleSpeed"
;
this
.
txtMiddleSpeed
.
Size
=
new
System
.
Drawing
.
Size
(
74
,
26
);
this
.
txtMiddleSpeed
.
TabIndex
=
5
;
//
// txtUpDownSpeed
//
this
.
txtUpDownSpeed
.
Enabled
=
false
;
this
.
txtUpDownSpeed
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtUpDownSpeed
.
Location
=
new
System
.
Drawing
.
Point
(
98
,
109
);
this
.
txtUpDownSpeed
.
MaxLength
=
10
;
this
.
txtUpDownSpeed
.
Name
=
"txtUpDownSpeed"
;
this
.
txtUpDownSpeed
.
Size
=
new
System
.
Drawing
.
Size
(
74
,
26
);
this
.
txtUpDownSpeed
.
TabIndex
=
6
;
//
// txtInOutSpeed
//
this
.
txtInOutSpeed
.
Enabled
=
false
;
this
.
txtInOutSpeed
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtInOutSpeed
.
Location
=
new
System
.
Drawing
.
Point
(
98
,
167
);
this
.
txtInOutSpeed
.
MaxLength
=
10
;
this
.
txtInOutSpeed
.
Name
=
"txtInOutSpeed"
;
this
.
txtInOutSpeed
.
Size
=
new
System
.
Drawing
.
Size
(
74
,
26
);
this
.
txtInOutSpeed
.
TabIndex
=
7
;
//
// btnUpDownMove
//
this
.
btnUpDownMove
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
this
.
btnUpDownMove
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnUpDownMove
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnUpDownMove
.
Location
=
new
System
.
Drawing
.
Point
(
175
,
100
);
this
.
btnUpDownMove
.
Name
=
"btnUpDownMove"
;
this
.
btnUpDownMove
.
Size
=
new
System
.
Drawing
.
Size
(
140
,
45
);
this
.
btnUpDownMove
.
TabIndex
=
9
;
this
.
btnUpDownMove
.
Text
=
"升降轴+(上升)"
;
this
.
btnUpDownMove
.
UseVisualStyleBackColor
=
false
;
this
.
btnUpDownMove
.
MouseDown
+=
new
System
.
Windows
.
Forms
.
MouseEventHandler
(
this
.
btnUpDownMove_MouseDown
);
this
.
btnUpDownMove
.
MouseUp
+=
new
System
.
Windows
.
Forms
.
MouseEventHandler
(
this
.
btnUpDownMove_MouseUp
);
//
// btnInOutMove
//
this
.
btnInOutMove
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
this
.
btnInOutMove
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnInOutMove
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnInOutMove
.
Location
=
new
System
.
Drawing
.
Point
(
175
,
158
);
this
.
btnInOutMove
.
Name
=
"btnInOutMove"
;
this
.
btnInOutMove
.
Size
=
new
System
.
Drawing
.
Size
(
140
,
45
);
this
.
btnInOutMove
.
TabIndex
=
10
;
this
.
btnInOutMove
.
Text
=
"进出轴+(前进)"
;
this
.
btnInOutMove
.
UseVisualStyleBackColor
=
false
;
this
.
btnInOutMove
.
MouseDown
+=
new
System
.
Windows
.
Forms
.
MouseEventHandler
(
this
.
btnInOutMove_MouseDown
);
this
.
btnInOutMove
.
MouseUp
+=
new
System
.
Windows
.
Forms
.
MouseEventHandler
(
this
.
btnInOutMove_MouseUp
);
//
// btnInOutMovej
//
this
.
btnInOutMovej
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
this
.
btnInOutMovej
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnInOutMovej
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnInOutMovej
.
Location
=
new
System
.
Drawing
.
Point
(
318
,
158
);
this
.
btnInOutMovej
.
Name
=
"btnInOutMovej"
;
this
.
btnInOutMovej
.
Size
=
new
System
.
Drawing
.
Size
(
140
,
45
);
this
.
btnInOutMovej
.
TabIndex
=
14
;
this
.
btnInOutMovej
.
Text
=
"进出轴-(后退)"
;
this
.
btnInOutMovej
.
UseVisualStyleBackColor
=
false
;
this
.
btnInOutMovej
.
MouseDown
+=
new
System
.
Windows
.
Forms
.
MouseEventHandler
(
this
.
btnInOutMovej_MouseDown
);
this
.
btnInOutMovej
.
MouseUp
+=
new
System
.
Windows
.
Forms
.
MouseEventHandler
(
this
.
btnInOutMovej_MouseUp
);
//
// btnUpDownMovej
//
this
.
btnUpDownMovej
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
this
.
btnUpDownMovej
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnUpDownMovej
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnUpDownMovej
.
Location
=
new
System
.
Drawing
.
Point
(
318
,
100
);
this
.
btnUpDownMovej
.
Name
=
"btnUpDownMovej"
;
this
.
btnUpDownMovej
.
Size
=
new
System
.
Drawing
.
Size
(
140
,
45
);
this
.
btnUpDownMovej
.
TabIndex
=
13
;
this
.
btnUpDownMovej
.
Text
=
"升降轴-(下降)"
;
this
.
btnUpDownMovej
.
UseVisualStyleBackColor
=
false
;
this
.
btnUpDownMovej
.
MouseDown
+=
new
System
.
Windows
.
Forms
.
MouseEventHandler
(
this
.
btnUpDownMovej_MouseDown
);
this
.
btnUpDownMovej
.
MouseUp
+=
new
System
.
Windows
.
Forms
.
MouseEventHandler
(
this
.
btnUpDownMovej_MouseUp
);
//
// btnMiddleMovej
//
this
.
btnMiddleMovej
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
this
.
btnMiddleMovej
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnMiddleMovej
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnMiddleMovej
.
Location
=
new
System
.
Drawing
.
Point
(
318
,
43
);
this
.
btnMiddleMovej
.
Name
=
"btnMiddleMovej"
;
this
.
btnMiddleMovej
.
Size
=
new
System
.
Drawing
.
Size
(
140
,
45
);
this
.
btnMiddleMovej
.
TabIndex
=
12
;
this
.
btnMiddleMovej
.
Text
=
"旋转轴-(逆时针)"
;
this
.
btnMiddleMovej
.
UseVisualStyleBackColor
=
false
;
this
.
btnMiddleMovej
.
MouseDown
+=
new
System
.
Windows
.
Forms
.
MouseEventHandler
(
this
.
btnMiddleMovej_MouseDown
);
this
.
btnMiddleMovej
.
MouseUp
+=
new
System
.
Windows
.
Forms
.
MouseEventHandler
(
this
.
btnMiddleMovej_MouseUp
);
//
// txtInOutPosition
//
this
.
txtInOutPosition
.
Enabled
=
false
;
this
.
txtInOutPosition
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtInOutPosition
.
Location
=
new
System
.
Drawing
.
Point
(
459
,
167
);
this
.
txtInOutPosition
.
MaxLength
=
20
;
this
.
txtInOutPosition
.
Name
=
"txtInOutPosition"
;
this
.
txtInOutPosition
.
Size
=
new
System
.
Drawing
.
Size
(
74
,
26
);
this
.
txtInOutPosition
.
TabIndex
=
19
;
//
// txtUpdownPosition
//
this
.
txtUpdownPosition
.
Enabled
=
false
;
this
.
txtUpdownPosition
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtUpdownPosition
.
Location
=
new
System
.
Drawing
.
Point
(
459
,
109
);
this
.
txtUpdownPosition
.
MaxLength
=
20
;
this
.
txtUpdownPosition
.
Name
=
"txtUpdownPosition"
;
this
.
txtUpdownPosition
.
Size
=
new
System
.
Drawing
.
Size
(
74
,
26
);
this
.
txtUpdownPosition
.
TabIndex
=
18
;
//
// txtMiddlePosition
//
this
.
txtMiddlePosition
.
Enabled
=
false
;
this
.
txtMiddlePosition
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtMiddlePosition
.
Location
=
new
System
.
Drawing
.
Point
(
459
,
52
);
this
.
txtMiddlePosition
.
MaxLength
=
20
;
this
.
txtMiddlePosition
.
Name
=
"txtMiddlePosition"
;
this
.
txtMiddlePosition
.
Size
=
new
System
.
Drawing
.
Size
(
74
,
26
);
this
.
txtMiddlePosition
.
TabIndex
=
17
;
//
// label5
//
this
.
label5
.
AutoSize
=
true
;
this
.
label5
.
Location
=
new
System
.
Drawing
.
Point
(
108
,
9
);
this
.
label5
.
Name
=
"label5"
;
this
.
label5
.
Size
=
new
System
.
Drawing
.
Size
(
53
,
12
);
this
.
label5
.
TabIndex
=
20
;
this
.
label5
.
Text
=
"点动速度"
;
//
// label6
//
this
.
label6
.
AutoSize
=
true
;
this
.
label6
.
Location
=
new
System
.
Drawing
.
Point
(
479
,
9
);
this
.
label6
.
Name
=
"label6"
;
this
.
label6
.
Size
=
new
System
.
Drawing
.
Size
(
53
,
12
);
this
.
label6
.
TabIndex
=
21
;
this
.
label6
.
Text
=
"实时坐标"
;
//
// timer1
//
this
.
timer1
.
Interval
=
2000
;
this
.
timer1
.
Tick
+=
new
System
.
EventHandler
(
this
.
timer1_Tick
);
//
// txtComPosition
//
this
.
txtComPosition
.
Enabled
=
false
;
this
.
txtComPosition
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtComPosition
.
Location
=
new
System
.
Drawing
.
Point
(
459
,
227
);
this
.
txtComPosition
.
MaxLength
=
20
;
this
.
txtComPosition
.
Name
=
"txtComPosition"
;
this
.
txtComPosition
.
Size
=
new
System
.
Drawing
.
Size
(
74
,
26
);
this
.
txtComPosition
.
TabIndex
=
26
;
//
// btnComMovej
//
this
.
btnComMovej
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
this
.
btnComMovej
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnComMovej
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnComMovej
.
Location
=
new
System
.
Drawing
.
Point
(
318
,
218
);
this
.
btnComMovej
.
Name
=
"btnComMovej"
;
this
.
btnComMovej
.
Size
=
new
System
.
Drawing
.
Size
(
140
,
45
);
this
.
btnComMovej
.
TabIndex
=
25
;
this
.
btnComMovej
.
Text
=
"压紧轴-(向上)"
;
this
.
btnComMovej
.
UseVisualStyleBackColor
=
false
;
this
.
btnComMovej
.
MouseDown
+=
new
System
.
Windows
.
Forms
.
MouseEventHandler
(
this
.
btnComMovej_MouseDown
);
this
.
btnComMovej
.
MouseUp
+=
new
System
.
Windows
.
Forms
.
MouseEventHandler
(
this
.
btnComMovej_MouseUp
);
//
// btnComMove
//
this
.
btnComMove
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
this
.
btnComMove
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnComMove
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnComMove
.
Location
=
new
System
.
Drawing
.
Point
(
175
,
218
);
this
.
btnComMove
.
Name
=
"btnComMove"
;
this
.
btnComMove
.
Size
=
new
System
.
Drawing
.
Size
(
140
,
45
);
this
.
btnComMove
.
TabIndex
=
24
;
this
.
btnComMove
.
Text
=
"压紧轴+(向下)"
;
this
.
btnComMove
.
UseVisualStyleBackColor
=
false
;
this
.
btnComMove
.
MouseDown
+=
new
System
.
Windows
.
Forms
.
MouseEventHandler
(
this
.
btnComMove_MouseDown
);
this
.
btnComMove
.
MouseUp
+=
new
System
.
Windows
.
Forms
.
MouseEventHandler
(
this
.
btnComMove_MouseUp
);
//
// txtComSpeed
//
this
.
txtComSpeed
.
Enabled
=
false
;
this
.
txtComSpeed
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtComSpeed
.
Location
=
new
System
.
Drawing
.
Point
(
98
,
227
);
this
.
txtComSpeed
.
MaxLength
=
10
;
this
.
txtComSpeed
.
Name
=
"txtComSpeed"
;
this
.
txtComSpeed
.
Size
=
new
System
.
Drawing
.
Size
(
74
,
26
);
this
.
txtComSpeed
.
TabIndex
=
23
;
//
// label4
//
this
.
label4
.
AutoSize
=
true
;
this
.
label4
.
Location
=
new
System
.
Drawing
.
Point
(
4
,
232
);
this
.
label4
.
Name
=
"label4"
;
this
.
label4
.
Size
=
new
System
.
Drawing
.
Size
(
89
,
12
);
this
.
label4
.
TabIndex
=
22
;
this
.
label4
.
Text
=
"(轴四)压紧轴"
;
//
// lblSpeed
//
this
.
lblSpeed
.
AutoSize
=
true
;
this
.
lblSpeed
.
Location
=
new
System
.
Drawing
.
Point
(
278
,
336
);
this
.
lblSpeed
.
Name
=
"lblSpeed"
;
this
.
lblSpeed
.
Size
=
new
System
.
Drawing
.
Size
(
137
,
12
);
this
.
lblSpeed
.
TabIndex
=
30
;
this
.
lblSpeed
.
Text
=
"点动速度=0.2倍目标速度"
;
//
// trackBar1
//
this
.
trackBar1
.
LargeChange
=
2
;
this
.
trackBar1
.
Location
=
new
System
.
Drawing
.
Point
(
7
,
284
);
this
.
trackBar1
.
Minimum
=
1
;
this
.
trackBar1
.
Name
=
"trackBar1"
;
this
.
trackBar1
.
Size
=
new
System
.
Drawing
.
Size
(
366
,
45
);
this
.
trackBar1
.
TabIndex
=
29
;
this
.
trackBar1
.
Value
=
2
;
this
.
trackBar1
.
ValueChanged
+=
new
System
.
EventHandler
(
this
.
trackBar1_ValueChanged
);
//
// btnMCopy
//
this
.
btnMCopy
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnMCopy
.
Location
=
new
System
.
Drawing
.
Point
(
534
,
51
);
this
.
btnMCopy
.
Name
=
"btnMCopy"
;
this
.
btnMCopy
.
Size
=
new
System
.
Drawing
.
Size
(
50
,
28
);
this
.
btnMCopy
.
TabIndex
=
31
;
this
.
btnMCopy
.
Text
=
"复制"
;
this
.
btnMCopy
.
UseVisualStyleBackColor
=
true
;
this
.
btnMCopy
.
Click
+=
new
System
.
EventHandler
(
this
.
btnMCopy_Click
);
//
// btnUCopy
//
this
.
btnUCopy
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnUCopy
.
Location
=
new
System
.
Drawing
.
Point
(
534
,
108
);
this
.
btnUCopy
.
Name
=
"btnUCopy"
;
this
.
btnUCopy
.
Size
=
new
System
.
Drawing
.
Size
(
50
,
28
);
this
.
btnUCopy
.
TabIndex
=
32
;
this
.
btnUCopy
.
Text
=
"复制"
;
this
.
btnUCopy
.
UseVisualStyleBackColor
=
true
;
this
.
btnUCopy
.
Click
+=
new
System
.
EventHandler
(
this
.
btnUCopy_Click
);
//
// btnICopy
//
this
.
btnICopy
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnICopy
.
Location
=
new
System
.
Drawing
.
Point
(
534
,
166
);
this
.
btnICopy
.
Name
=
"btnICopy"
;
this
.
btnICopy
.
Size
=
new
System
.
Drawing
.
Size
(
50
,
28
);
this
.
btnICopy
.
TabIndex
=
33
;
this
.
btnICopy
.
Text
=
"复制"
;
this
.
btnICopy
.
UseVisualStyleBackColor
=
true
;
this
.
btnICopy
.
Click
+=
new
System
.
EventHandler
(
this
.
btnICopy_Click
);
//
// btnCCopy
//
this
.
btnCCopy
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnCCopy
.
Location
=
new
System
.
Drawing
.
Point
(
534
,
226
);
this
.
btnCCopy
.
Name
=
"btnCCopy"
;
this
.
btnCCopy
.
Size
=
new
System
.
Drawing
.
Size
(
50
,
28
);
this
.
btnCCopy
.
TabIndex
=
34
;
this
.
btnCCopy
.
Text
=
"复制"
;
this
.
btnCCopy
.
UseVisualStyleBackColor
=
true
;
this
.
btnCCopy
.
Click
+=
new
System
.
EventHandler
(
this
.
btnCCopy_Click
);
//
// AxisJogControl
//
this
.
AutoScaleMode
=
System
.
Windows
.
Forms
.
AutoScaleMode
.
None
;
this
.
BackColor
=
System
.
Drawing
.
Color
.
White
;
this
.
Controls
.
Add
(
this
.
btnCCopy
);
this
.
Controls
.
Add
(
this
.
btnICopy
);
this
.
Controls
.
Add
(
this
.
btnUCopy
);
this
.
Controls
.
Add
(
this
.
btnMCopy
);
this
.
Controls
.
Add
(
this
.
lblSpeed
);
this
.
Controls
.
Add
(
this
.
trackBar1
);
this
.
Controls
.
Add
(
this
.
txtComPosition
);
this
.
Controls
.
Add
(
this
.
btnComMovej
);
this
.
Controls
.
Add
(
this
.
btnComMove
);
this
.
Controls
.
Add
(
this
.
txtComSpeed
);
this
.
Controls
.
Add
(
this
.
label4
);
this
.
Controls
.
Add
(
this
.
label6
);
this
.
Controls
.
Add
(
this
.
label5
);
this
.
Controls
.
Add
(
this
.
txtInOutPosition
);
this
.
Controls
.
Add
(
this
.
txtUpdownPosition
);
this
.
Controls
.
Add
(
this
.
txtMiddlePosition
);
this
.
Controls
.
Add
(
this
.
btnInOutMovej
);
this
.
Controls
.
Add
(
this
.
btnUpDownMovej
);
this
.
Controls
.
Add
(
this
.
btnMiddleMovej
);
this
.
Controls
.
Add
(
this
.
btnInOutMove
);
this
.
Controls
.
Add
(
this
.
btnUpDownMove
);
this
.
Controls
.
Add
(
this
.
txtInOutSpeed
);
this
.
Controls
.
Add
(
this
.
txtUpDownSpeed
);
this
.
Controls
.
Add
(
this
.
txtMiddleSpeed
);
this
.
Controls
.
Add
(
this
.
btnMiddleMove
);
this
.
Controls
.
Add
(
this
.
label3
);
this
.
Controls
.
Add
(
this
.
label2
);
this
.
Controls
.
Add
(
this
.
label1
);
this
.
Name
=
"AxisJogControl"
;
this
.
Size
=
new
System
.
Drawing
.
Size
(
596
,
370
);
this
.
Load
+=
new
System
.
EventHandler
(
this
.
FrmAxisDebug_Load
);
((
System
.
ComponentModel
.
ISupportInitialize
)(
this
.
trackBar1
)).
EndInit
();
this
.
ResumeLayout
(
false
);
this
.
PerformLayout
();
}
#
endregion
private
System
.
Windows
.
Forms
.
Label
label1
;
private
System
.
Windows
.
Forms
.
Label
label2
;
private
System
.
Windows
.
Forms
.
Label
label3
;
private
System
.
Windows
.
Forms
.
Button
btnMiddleMove
;
private
System
.
Windows
.
Forms
.
TextBox
txtMiddleSpeed
;
private
System
.
Windows
.
Forms
.
TextBox
txtUpDownSpeed
;
private
System
.
Windows
.
Forms
.
TextBox
txtInOutSpeed
;
private
System
.
Windows
.
Forms
.
Button
btnUpDownMove
;
private
System
.
Windows
.
Forms
.
Button
btnInOutMove
;
private
System
.
Windows
.
Forms
.
Button
btnInOutMovej
;
private
System
.
Windows
.
Forms
.
Button
btnUpDownMovej
;
private
System
.
Windows
.
Forms
.
Button
btnMiddleMovej
;
private
System
.
Windows
.
Forms
.
TextBox
txtInOutPosition
;
private
System
.
Windows
.
Forms
.
TextBox
txtUpdownPosition
;
private
System
.
Windows
.
Forms
.
TextBox
txtMiddlePosition
;
private
System
.
Windows
.
Forms
.
Label
label5
;
private
System
.
Windows
.
Forms
.
Label
label6
;
private
System
.
Windows
.
Forms
.
Timer
timer1
;
private
System
.
Windows
.
Forms
.
TextBox
txtComPosition
;
private
System
.
Windows
.
Forms
.
Button
btnComMovej
;
private
System
.
Windows
.
Forms
.
Button
btnComMove
;
private
System
.
Windows
.
Forms
.
TextBox
txtComSpeed
;
private
System
.
Windows
.
Forms
.
Label
label4
;
private
System
.
Windows
.
Forms
.
Label
lblSpeed
;
private
System
.
Windows
.
Forms
.
TrackBar
trackBar1
;
private
System
.
Windows
.
Forms
.
Button
btnMCopy
;
private
System
.
Windows
.
Forms
.
Button
btnUCopy
;
private
System
.
Windows
.
Forms
.
Button
btnICopy
;
private
System
.
Windows
.
Forms
.
Button
btnCCopy
;
}
}
\ No newline at end of file
\ No newline at end of file
source/ACSingleStore/positionTool/AxisJogControl.cs
0 → 100644
查看文件 @
f509419
using
log4net
;
using
OnlineStore.Common
;
using
OnlineStore.DeviceLibrary
;
using
OnlineStore.LoadCSVLibrary
;
using
System
;
using
System.Collections.Generic
;
using
System.ComponentModel
;
using
System.Data
;
using
System.Drawing
;
using
System.Linq
;
using
System.Reflection
;
using
System.Text
;
using
System.Threading.Tasks
;
using
System.Windows.Forms
;
namespace
OnlineStore.ACSingleStore
{
public
partial
class
AxisJogControl
:
UserControl
{
private
ConfigMoveAxis
middle
=
null
;
private
ConfigMoveAxis
updown
=
null
;
private
ConfigMoveAxis
inout
=
null
;
private
ConfigMoveAxis
comp
=
null
;
public
static
readonly
ILog
LOGGER
=
LogManager
.
GetLogger
(
MethodBase
.
GetCurrentMethod
().
DeclaringType
);
public
AxisJogControl
(
)
{
InitializeComponent
();
}
internal
void
SetBoxBean
(
AC_SA_BoxBean
boxBean
)
{
middle
=
boxBean
.
Config
.
Middle_Axis
;
updown
=
boxBean
.
Config
.
UpDown_Axis
;
comp
=
boxBean
.
Config
.
Comp_Axis
;
inout
=
boxBean
.
Config
.
InOut_Axis
;
this
.
Text
=
boxBean
.
StoreName
+
"_轴点动调试"
;
txtMiddleSpeed
.
Text
=
(
middle
.
TargetSpeed
/
5
).
ToString
();
txtInOutSpeed
.
Text
=
(
inout
.
TargetSpeed
/
5
).
ToString
();
txtUpDownSpeed
.
Text
=
(
updown
.
TargetSpeed
/
5
).
ToString
();
txtComSpeed
.
Text
=
(
comp
.
TargetSpeed
/
5
).
ToString
();
timer1
.
Start
();
}
private
void
AxisMove
(
ConfigMoveAxis
axis
,
int
speed
)
{
LogUtil
.
debug
(
LOGGER
,
"点动:deviceName="
+
axis
.
DeviceName
+
",axis="
+
axis
.
GetAxisValue
()
+
",speed="
+
speed
);
ACServerManager
.
SpeedMove
(
axis
.
DeviceName
,
axis
.
GetAxisValue
(),
speed
);
}
private
void
FrmAxisDebug_Load
(
object
sender
,
EventArgs
e
)
{
}
/// <summary>
/// 判断进出轴是否在P1点
/// </summary>
private
bool
InOutIsIsP1
()
{
int
InOutDefaultPosition
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
InOutDefaultPosition
);
//if (InOutDefaultPosition > 3000 || InOutDefaultPosition.Equals(0))
//{
// InOutDefaultPosition = 3000;
//}
int
currValue
=
ACServerManager
.
GetActualtPosition
(
inout
.
DeviceName
,
inout
.
GetAxisValue
());
if
(
currValue
<=
InOutDefaultPosition
)
{
return
true
;
}
// MyMessage.Show("叉子不在待机位,请先将叉子退回待机位(" + InOutDefaultPosition + ")", "警告(叉子在待机位时,才能移动升降轴和旋转轴) ", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
MessageBox
.
Show
(
ResourceCulture
.
GetString
(
"叉子不在待机位,请先将叉子退回待机位"
)
+
"("
+
InOutDefaultPosition
+
")!"
,
ResourceCulture
.
GetString
(
"警告(叉子在待机位时,才能移动升降轴和旋转轴)"
),
MessageBoxButtons
.
OK
,
MessageBoxIcon
.
Exclamation
);
return
false
;
}
private
void
btnMiddleMove_MouseDown
(
object
sender
,
MouseEventArgs
e
)
{
if
(!
InOutIsIsP1
())
{
return
;
}
if
(
btnMiddleMove
.
BackColor
.
Equals
(
System
.
Drawing
.
SystemColors
.
Control
))
{
int
speed
=
FormUtil
.
GetIntValue
(
txtMiddleSpeed
);
if
(
speed
<=
0
)
{
MyMessage
.
Show
(
"请先输入正确的速度"
);
return
;
}
btnMiddleMove
.
BackColor
=
Color
.
Green
;
AxisMove
(
middle
,
speed
);
}
}
private
void
btnMiddleMove_MouseUp
(
object
sender
,
MouseEventArgs
e
)
{
if
(
btnMiddleMove
.
BackColor
==
Color
.
Green
)
{
btnMiddleMove
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
ACServerManager
.
SuddenStop
(
middle
.
DeviceName
,
middle
.
GetAxisValue
());
UpdateMiddlePosition
();
}
}
private
void
btnUpDownMove_MouseDown
(
object
sender
,
MouseEventArgs
e
)
{
if
(!
InOutIsIsP1
())
{
return
;
}
if
(
btnUpDownMove
.
BackColor
.
Equals
(
System
.
Drawing
.
SystemColors
.
Control
))
{
int
speed
=
FormUtil
.
GetIntValue
(
txtUpDownSpeed
);
if
(
speed
<=
0
)
{
MyMessage
.
Show
(
"请先输入正确的速度"
);
return
;
}
btnUpDownMove
.
BackColor
=
Color
.
Green
;
AxisMove
(
updown
,
speed
);
}
}
private
void
btnUpDownMove_MouseUp
(
object
sender
,
MouseEventArgs
e
)
{
if
(
btnUpDownMove
.
BackColor
==
Color
.
Green
)
{
btnUpDownMove
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
ACServerManager
.
SuddenStop
(
updown
.
DeviceName
,
updown
.
GetAxisValue
());
UpdateUpdownPosition
();
}
}
private
void
btnInOutMove_MouseDown
(
object
sender
,
MouseEventArgs
e
)
{
if
(
this
.
btnInOutMove
.
BackColor
.
Equals
(
System
.
Drawing
.
SystemColors
.
Control
))
{
if
(
StoreManager
.
Store
.
InOutAxisCanMove
().
Equals
(
false
))
{
MyMessage
.
Show
(
"定位气缸不在下降端,不能移动进出轴"
,
"警告"
,
MessageBoxButtons
.
OK
,
MessageBoxIcon
.
Warning
);
return
;
}
int
speed
=
FormUtil
.
GetIntValue
(
txtInOutSpeed
);
if
(
speed
<=
0
)
{
MyMessage
.
Show
(
"请先输入正确的速度"
);
return
;
}
this
.
btnInOutMove
.
BackColor
=
Color
.
Green
;
AxisMove
(
inout
,
speed
);
}
}
private
void
btnInOutMove_MouseUp
(
object
sender
,
MouseEventArgs
e
)
{
if
(
this
.
btnInOutMove
.
BackColor
==
Color
.
Green
)
{
btnInOutMove
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
ACServerManager
.
SuddenStop
(
inout
.
DeviceName
,
inout
.
GetAxisValue
());
UpdateInOutPosition
();
}
}
private
void
btnMiddleMovej_MouseDown
(
object
sender
,
MouseEventArgs
e
)
{
if
(!
InOutIsIsP1
())
{
return
;
}
if
(
btnMiddleMovej
.
BackColor
.
Equals
(
System
.
Drawing
.
SystemColors
.
Control
))
{
int
speed
=
FormUtil
.
GetIntValue
(
txtMiddleSpeed
);
if
(
speed
<=
0
)
{
MyMessage
.
Show
(
"请先输入正确的速度"
);
return
;
}
this
.
btnMiddleMovej
.
BackColor
=
Color
.
Green
;
AxisMove
(
middle
,
-
speed
);
}
}
private
void
btnMiddleMovej_MouseUp
(
object
sender
,
MouseEventArgs
e
)
{
if
(
btnMiddleMovej
.
BackColor
==
Color
.
Green
)
{
btnMiddleMovej
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
ACServerManager
.
SuddenStop
(
middle
.
DeviceName
,
middle
.
GetAxisValue
());
UpdateMiddlePosition
();
}
}
private
void
btnUpDownMovej_MouseDown
(
object
sender
,
MouseEventArgs
e
)
{
if
(!
InOutIsIsP1
())
{
return
;
}
if
(
btnUpDownMovej
.
BackColor
.
Equals
(
System
.
Drawing
.
SystemColors
.
Control
))
{
int
speed
=
FormUtil
.
GetIntValue
(
txtUpDownSpeed
);
if
(
speed
<=
0
)
{
MyMessage
.
Show
(
"请先输入正确的速度"
);
return
;
}
btnUpDownMovej
.
BackColor
=
Color
.
Green
;
AxisMove
(
updown
,
-
speed
);
}
}
private
void
btnUpDownMovej_MouseUp
(
object
sender
,
MouseEventArgs
e
)
{
if
(
btnUpDownMovej
.
BackColor
==
Color
.
Green
)
{
btnUpDownMovej
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
ACServerManager
.
SuddenStop
(
updown
.
DeviceName
,
updown
.
GetAxisValue
());
UpdateUpdownPosition
();
}
}
private
void
btnInOutMovej_MouseDown
(
object
sender
,
MouseEventArgs
e
)
{
if
(
btnInOutMovej
.
BackColor
.
Equals
(
System
.
Drawing
.
SystemColors
.
Control
))
{
if
(
StoreManager
.
Store
.
InOutAxisCanMove
().
Equals
(
false
))
{
MyMessage
.
Show
(
"定位气缸不在下降端,不能移动进出轴"
,
"警告"
,
MessageBoxButtons
.
OK
,
MessageBoxIcon
.
Warning
);
return
;
}
int
speed
=
FormUtil
.
GetIntValue
(
txtInOutSpeed
);
if
(
speed
<=
0
)
{
MyMessage
.
Show
(
"请先输入正确的速度"
);
return
;
}
this
.
btnInOutMovej
.
BackColor
=
Color
.
Green
;
AxisMove
(
inout
,
-
speed
);
}
}
private
void
btnInOutMovej_MouseUp
(
object
sender
,
MouseEventArgs
e
)
{
if
(
btnInOutMovej
.
BackColor
.
Equals
(
Color
.
Green
))
{
btnInOutMovej
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
ACServerManager
.
SuddenStop
(
inout
.
DeviceName
,
inout
.
GetAxisValue
());
UpdateInOutPosition
();
}
}
private
void
btnComMove_MouseDown
(
object
sender
,
MouseEventArgs
e
)
{
if
(
btnComMove
.
BackColor
.
Equals
(
System
.
Drawing
.
SystemColors
.
Control
))
{
int
speed
=
FormUtil
.
GetIntValue
(
txtComSpeed
);
if
(
speed
<=
0
)
{
MyMessage
.
Show
(
"请先输入正确的速度"
);
return
;
}
this
.
btnComMove
.
BackColor
=
Color
.
Green
;
AxisMove
(
comp
,
speed
);
}
}
private
void
btnComMove_MouseUp
(
object
sender
,
MouseEventArgs
e
)
{
if
(
this
.
btnComMove
.
BackColor
==
Color
.
Green
)
{
btnComMove
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
ACServerManager
.
SuddenStop
(
comp
.
DeviceName
,
comp
.
GetAxisValue
());
UpdateCompPosition
();
}
}
private
void
btnComMovej_MouseDown
(
object
sender
,
MouseEventArgs
e
)
{
int
speed
=
FormUtil
.
GetIntValue
(
txtComSpeed
);
if
(
speed
<=
0
)
{
MyMessage
.
Show
(
"请先输入正确的速度"
);
return
;
}
this
.
btnComMovej
.
BackColor
=
Color
.
Green
;
AxisMove
(
comp
,
-
speed
);
}
private
void
btnComMovej_MouseUp
(
object
sender
,
MouseEventArgs
e
)
{
if
(
btnComMovej
.
BackColor
.
Equals
(
Color
.
Green
))
{
btnComMovej
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
ACServerManager
.
SuddenStop
(
comp
.
DeviceName
,
comp
.
GetAxisValue
());
UpdateCompPosition
();
}
}
private
void
FrmAxisDebug_Shown
(
object
sender
,
EventArgs
e
)
{
}
private
void
timer1_Tick
(
object
sender
,
EventArgs
e
)
{
if
(
this
.
Visible
)
{
UpdateMiddlePosition
();
UpdateInOutPosition
();
UpdateUpdownPosition
();
UpdateCompPosition
();
// txtComPosition.Text = ShuoKeControls.GetLastPosition(compress_Slv).ToString();
}
}
private
void
UpdateCompPosition
()
{
int
compPosition
=
ACServerManager
.
GetTargetPosition
(
comp
.
DeviceName
,
comp
.
GetAxisValue
());
if
(!
txtComPosition
.
Text
.
Equals
(
compPosition
.
ToString
()))
{
txtComPosition
.
Text
=
compPosition
.
ToString
();
}
}
private
void
UpdateUpdownPosition
()
{
int
updownPosition
=
ACServerManager
.
GetTargetPosition
(
updown
.
DeviceName
,
updown
.
GetAxisValue
());
if
(!
txtUpdownPosition
.
Text
.
Equals
(
updownPosition
.
ToString
()))
{
txtUpdownPosition
.
Text
=
updownPosition
.
ToString
();
}
}
private
void
UpdateMiddlePosition
()
{
int
middlePosition
=
ACServerManager
.
GetTargetPosition
(
middle
.
DeviceName
,
middle
.
GetAxisValue
());
if
(!
txtMiddlePosition
.
Text
.
Equals
(
middlePosition
.
ToString
()))
{
txtMiddlePosition
.
Text
=
middlePosition
.
ToString
();
}
}
private
void
UpdateInOutPosition
()
{
int
inoutPosition
=
ACServerManager
.
GetTargetPosition
(
inout
.
DeviceName
,
inout
.
GetAxisValue
());
if
(!
txtInOutPosition
.
Text
.
Equals
(
inoutPosition
.
ToString
()))
{
txtInOutPosition
.
Text
=
inoutPosition
.
ToString
();
}
}
private
void
trackBar1_ValueChanged
(
object
sender
,
EventArgs
e
)
{
int
value
=
trackBar1
.
Value
;
lblSpeed
.
Text
=
ResourceCulture
.
GetString
(
"点动速度"
)
+
" = "
+
(
value
/
10f
)
+
ResourceCulture
.
GetString
(
"倍目标速度"
);
txtMiddleSpeed
.
Text
=
(
middle
.
TargetSpeed
*
value
/
10
).
ToString
();
txtInOutSpeed
.
Text
=
(
inout
.
TargetSpeed
*
value
/
10
).
ToString
();
txtUpDownSpeed
.
Text
=
(
updown
.
TargetSpeed
*
value
/
10
).
ToString
();
txtComSpeed
.
Text
=
(
comp
.
TargetSpeed
*
value
/
10
).
ToString
();
}
private
void
btnMCopy_Click
(
object
sender
,
EventArgs
e
)
{
Clipboard
.
SetDataObject
(
txtMiddlePosition
.
Text
,
true
);
}
private
void
btnUCopy_Click
(
object
sender
,
EventArgs
e
)
{
Clipboard
.
SetDataObject
(
txtUpdownPosition
.
Text
,
true
);
}
private
void
btnICopy_Click
(
object
sender
,
EventArgs
e
)
{
Clipboard
.
SetDataObject
(
txtInOutPosition
.
Text
,
true
);
}
private
void
btnCCopy_Click
(
object
sender
,
EventArgs
e
)
{
Clipboard
.
SetDataObject
(
txtComPosition
.
Text
,
true
);
}
}
}
source/ACSingleStore/positionTool/AxisJogControl.resx
0 → 100644
查看文件 @
f509419
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>3, 17</value>
</metadata>
</root>
\ No newline at end of file
\ No newline at end of file
source/ACSingleStore/positionTool/FrmTool.Designer.cs
0 → 100644
查看文件 @
f509419
namespace
OnlineStore.ACSingleStore
{
partial
class
FrmTool
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private
System
.
ComponentModel
.
IContainer
components
=
null
;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
protected
override
void
Dispose
(
bool
disposing
)
{
if
(
disposing
&&
(
components
!=
null
))
{
components
.
Dispose
();
}
base
.
Dispose
(
disposing
);
}
#
region
Windows
窗体设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private
void
InitializeComponent
()
{
this
.
components
=
new
System
.
ComponentModel
.
Container
();
this
.
panelAll
=
new
System
.
Windows
.
Forms
.
Panel
();
this
.
lblErrorMsg
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
lblMoveInfo
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
group6
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
lblFileP
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
btnOpenFolder
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
group2
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
txtUpdownStart
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
label1
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
txtTargetPosition
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
label14
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
btnUpdownP
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
group4
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
label4
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
txtP4Offset
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
txtP5Offset
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
label10
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
label5
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
txtP3Offset
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
txtP6Offset
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
label9
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
group3
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
btnMStop
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnMHome
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
dataGridView1
=
new
System
.
Windows
.
Forms
.
DataGridView
();
this
.
Column_Index
=
new
System
.
Windows
.
Forms
.
DataGridViewTextBoxColumn
();
this
.
Column_position
=
new
System
.
Windows
.
Forms
.
DataGridViewTextBoxColumn
();
this
.
Column_Del
=
new
System
.
Windows
.
Forms
.
DataGridViewLinkColumn
();
this
.
btnAddMiddleP
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
group1
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
label11
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
btnInoutP
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
txtInout
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
group5
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
ioSingle
=
new
UserFromControl
.
IOTextControl
();
this
.
txtSpeed
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
label8
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
btnStart
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnStop
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnExit
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
panel1
=
new
System
.
Windows
.
Forms
.
Panel
();
this
.
axisJogControl1
=
new
OnlineStore
.
ACSingleStore
.
AxisJogControl
();
this
.
timer1
=
new
System
.
Windows
.
Forms
.
Timer
(
this
.
components
);
this
.
panelAll
.
SuspendLayout
();
this
.
group6
.
SuspendLayout
();
this
.
group2
.
SuspendLayout
();
this
.
group4
.
SuspendLayout
();
this
.
group3
.
SuspendLayout
();
((
System
.
ComponentModel
.
ISupportInitialize
)(
this
.
dataGridView1
)).
BeginInit
();
this
.
group1
.
SuspendLayout
();
this
.
group5
.
SuspendLayout
();
this
.
panel1
.
SuspendLayout
();
this
.
SuspendLayout
();
//
// panelAll
//
this
.
panelAll
.
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
.
panelAll
.
Controls
.
Add
(
this
.
lblErrorMsg
);
this
.
panelAll
.
Controls
.
Add
(
this
.
lblMoveInfo
);
this
.
panelAll
.
Controls
.
Add
(
this
.
group6
);
this
.
panelAll
.
Controls
.
Add
(
this
.
group2
);
this
.
panelAll
.
Controls
.
Add
(
this
.
group4
);
this
.
panelAll
.
Controls
.
Add
(
this
.
group3
);
this
.
panelAll
.
Controls
.
Add
(
this
.
group1
);
this
.
panelAll
.
Controls
.
Add
(
this
.
group5
);
this
.
panelAll
.
Controls
.
Add
(
this
.
btnExit
);
this
.
panelAll
.
Controls
.
Add
(
this
.
panel1
);
this
.
panelAll
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
panelAll
.
Location
=
new
System
.
Drawing
.
Point
(
5
,
3
);
this
.
panelAll
.
Name
=
"panelAll"
;
this
.
panelAll
.
Size
=
new
System
.
Drawing
.
Size
(
994
,
661
);
this
.
panelAll
.
TabIndex
=
250
;
//
// lblErrorMsg
//
this
.
lblErrorMsg
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
lblErrorMsg
.
ForeColor
=
System
.
Drawing
.
Color
.
Red
;
this
.
lblErrorMsg
.
Location
=
new
System
.
Drawing
.
Point
(
382
,
456
);
this
.
lblErrorMsg
.
Name
=
"lblErrorMsg"
;
this
.
lblErrorMsg
.
Size
=
new
System
.
Drawing
.
Size
(
605
,
32
);
this
.
lblErrorMsg
.
TabIndex
=
325
;
this
.
lblErrorMsg
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleLeft
;
//
// lblMoveInfo
//
this
.
lblMoveInfo
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
lblMoveInfo
.
ForeColor
=
System
.
Drawing
.
Color
.
Blue
;
this
.
lblMoveInfo
.
Location
=
new
System
.
Drawing
.
Point
(
382
,
381
);
this
.
lblMoveInfo
.
Name
=
"lblMoveInfo"
;
this
.
lblMoveInfo
.
Size
=
new
System
.
Drawing
.
Size
(
467
,
70
);
this
.
lblMoveInfo
.
TabIndex
=
324
;
this
.
lblMoveInfo
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleLeft
;
//
// group6
//
this
.
group6
.
Controls
.
Add
(
this
.
lblFileP
);
this
.
group6
.
Controls
.
Add
(
this
.
btnOpenFolder
);
this
.
group6
.
Location
=
new
System
.
Drawing
.
Point
(
639
,
499
);
this
.
group6
.
Name
=
"group6"
;
this
.
group6
.
Size
=
new
System
.
Drawing
.
Size
(
347
,
155
);
this
.
group6
.
TabIndex
=
323
;
this
.
group6
.
TabStop
=
false
;
this
.
group6
.
Text
=
"第六步:查看位置列表:"
;
//
// lblFileP
//
this
.
lblFileP
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
lblFileP
.
Location
=
new
System
.
Drawing
.
Point
(
8
,
28
);
this
.
lblFileP
.
Name
=
"lblFileP"
;
this
.
lblFileP
.
Size
=
new
System
.
Drawing
.
Size
(
335
,
67
);
this
.
lblFileP
.
TabIndex
=
281
;
this
.
lblFileP
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleLeft
;
//
// btnOpenFolder
//
this
.
btnOpenFolder
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnOpenFolder
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnOpenFolder
.
Location
=
new
System
.
Drawing
.
Point
(
198
,
104
);
this
.
btnOpenFolder
.
Name
=
"btnOpenFolder"
;
this
.
btnOpenFolder
.
Size
=
new
System
.
Drawing
.
Size
(
132
,
36
);
this
.
btnOpenFolder
.
TabIndex
=
280
;
this
.
btnOpenFolder
.
Text
=
"打开文件夹"
;
this
.
btnOpenFolder
.
UseVisualStyleBackColor
=
true
;
this
.
btnOpenFolder
.
Click
+=
new
System
.
EventHandler
(
this
.
btnOpenFolder_Click
);
//
// group2
//
this
.
group2
.
Controls
.
Add
(
this
.
txtUpdownStart
);
this
.
group2
.
Controls
.
Add
(
this
.
label1
);
this
.
group2
.
Controls
.
Add
(
this
.
txtTargetPosition
);
this
.
group2
.
Controls
.
Add
(
this
.
label14
);
this
.
group2
.
Controls
.
Add
(
this
.
btnUpdownP
);
this
.
group2
.
Location
=
new
System
.
Drawing
.
Point
(
6
,
93
);
this
.
group2
.
Name
=
"group2"
;
this
.
group2
.
Size
=
new
System
.
Drawing
.
Size
(
371
,
117
);
this
.
group2
.
TabIndex
=
322
;
this
.
group2
.
TabStop
=
false
;
this
.
group2
.
Text
=
"第二步:确认(轴二)升降轴最高位置:"
;
//
// txtUpdownStart
//
this
.
txtUpdownStart
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtUpdownStart
.
Location
=
new
System
.
Drawing
.
Point
(
124
,
30
);
this
.
txtUpdownStart
.
MaxLength
=
30
;
this
.
txtUpdownStart
.
Name
=
"txtUpdownStart"
;
this
.
txtUpdownStart
.
Size
=
new
System
.
Drawing
.
Size
(
80
,
26
);
this
.
txtUpdownStart
.
TabIndex
=
260
;
//
// label1
//
this
.
label1
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label1
.
Location
=
new
System
.
Drawing
.
Point
(
8
,
34
);
this
.
label1
.
Name
=
"label1"
;
this
.
label1
.
Size
=
new
System
.
Drawing
.
Size
(
110
,
20
);
this
.
label1
.
TabIndex
=
261
;
this
.
label1
.
Text
=
"升降轴开始位置:"
;
this
.
label1
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// txtTargetPosition
//
this
.
txtTargetPosition
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtTargetPosition
.
Location
=
new
System
.
Drawing
.
Point
(
124
,
72
);
this
.
txtTargetPosition
.
MaxLength
=
30
;
this
.
txtTargetPosition
.
Name
=
"txtTargetPosition"
;
this
.
txtTargetPosition
.
Size
=
new
System
.
Drawing
.
Size
(
80
,
26
);
this
.
txtTargetPosition
.
TabIndex
=
89
;
//
// label14
//
this
.
label14
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label14
.
Location
=
new
System
.
Drawing
.
Point
(
8
,
76
);
this
.
label14
.
Name
=
"label14"
;
this
.
label14
.
Size
=
new
System
.
Drawing
.
Size
(
110
,
20
);
this
.
label14
.
TabIndex
=
94
;
this
.
label14
.
Text
=
"升降轴最高位置:"
;
this
.
label14
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// btnUpdownP
//
this
.
btnUpdownP
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnUpdownP
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnUpdownP
.
Location
=
new
System
.
Drawing
.
Point
(
218
,
68
);
this
.
btnUpdownP
.
Name
=
"btnUpdownP"
;
this
.
btnUpdownP
.
Size
=
new
System
.
Drawing
.
Size
(
138
,
36
);
this
.
btnUpdownP
.
TabIndex
=
259
;
this
.
btnUpdownP
.
Text
=
"使用实时位置"
;
this
.
btnUpdownP
.
UseVisualStyleBackColor
=
true
;
this
.
btnUpdownP
.
Click
+=
new
System
.
EventHandler
(
this
.
btnUpdownP_Click
);
//
// group4
//
this
.
group4
.
Controls
.
Add
(
this
.
label4
);
this
.
group4
.
Controls
.
Add
(
this
.
txtP4Offset
);
this
.
group4
.
Controls
.
Add
(
this
.
txtP5Offset
);
this
.
group4
.
Controls
.
Add
(
this
.
label10
);
this
.
group4
.
Controls
.
Add
(
this
.
label5
);
this
.
group4
.
Controls
.
Add
(
this
.
txtP3Offset
);
this
.
group4
.
Controls
.
Add
(
this
.
txtP6Offset
);
this
.
group4
.
Controls
.
Add
(
this
.
label9
);
this
.
group4
.
Location
=
new
System
.
Drawing
.
Point
(
6
,
499
);
this
.
group4
.
Name
=
"group4"
;
this
.
group4
.
Size
=
new
System
.
Drawing
.
Size
(
276
,
155
);
this
.
group4
.
TabIndex
=
321
;
this
.
group4
.
TabStop
=
false
;
this
.
group4
.
Text
=
"第四步:确认点位偏移量:"
;
//
// label4
//
this
.
label4
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label4
.
Location
=
new
System
.
Drawing
.
Point
(
11
,
23
);
this
.
label4
.
Name
=
"label4"
;
this
.
label4
.
Size
=
new
System
.
Drawing
.
Size
(
160
,
20
);
this
.
label4
.
TabIndex
=
282
;
this
.
label4
.
Text
=
"出料前点P5偏移值:"
;
this
.
label4
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// txtP4Offset
//
this
.
txtP4Offset
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtP4Offset
.
Location
=
new
System
.
Drawing
.
Point
(
172
,
117
);
this
.
txtP4Offset
.
MaxLength
=
30
;
this
.
txtP4Offset
.
Name
=
"txtP4Offset"
;
this
.
txtP4Offset
.
Size
=
new
System
.
Drawing
.
Size
(
80
,
26
);
this
.
txtP4Offset
.
TabIndex
=
287
;
this
.
txtP4Offset
.
Text
=
"30"
;
//
// txtP5Offset
//
this
.
txtP5Offset
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtP5Offset
.
Location
=
new
System
.
Drawing
.
Point
(
172
,
21
);
this
.
txtP5Offset
.
MaxLength
=
30
;
this
.
txtP5Offset
.
Name
=
"txtP5Offset"
;
this
.
txtP5Offset
.
Size
=
new
System
.
Drawing
.
Size
(
80
,
26
);
this
.
txtP5Offset
.
TabIndex
=
281
;
this
.
txtP5Offset
.
Text
=
"30"
;
//
// label10
//
this
.
label10
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label10
.
Location
=
new
System
.
Drawing
.
Point
(
11
,
119
);
this
.
label10
.
Name
=
"label10"
;
this
.
label10
.
Size
=
new
System
.
Drawing
.
Size
(
160
,
20
);
this
.
label10
.
TabIndex
=
288
;
this
.
label10
.
Text
=
"入料缓冲点P4偏移量:"
;
this
.
label10
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// label5
//
this
.
label5
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label5
.
Location
=
new
System
.
Drawing
.
Point
(
11
,
55
);
this
.
label5
.
Name
=
"label5"
;
this
.
label5
.
Size
=
new
System
.
Drawing
.
Size
(
160
,
20
);
this
.
label5
.
TabIndex
=
284
;
this
.
label5
.
Text
=
"出料缓冲点P6偏移量:"
;
this
.
label5
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// txtP3Offset
//
this
.
txtP3Offset
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtP3Offset
.
Location
=
new
System
.
Drawing
.
Point
(
172
,
85
);
this
.
txtP3Offset
.
MaxLength
=
30
;
this
.
txtP3Offset
.
Name
=
"txtP3Offset"
;
this
.
txtP3Offset
.
Size
=
new
System
.
Drawing
.
Size
(
80
,
26
);
this
.
txtP3Offset
.
TabIndex
=
285
;
this
.
txtP3Offset
.
Text
=
"100"
;
//
// txtP6Offset
//
this
.
txtP6Offset
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtP6Offset
.
Location
=
new
System
.
Drawing
.
Point
(
172
,
53
);
this
.
txtP6Offset
.
MaxLength
=
30
;
this
.
txtP6Offset
.
Name
=
"txtP6Offset"
;
this
.
txtP6Offset
.
Size
=
new
System
.
Drawing
.
Size
(
80
,
26
);
this
.
txtP6Offset
.
TabIndex
=
283
;
this
.
txtP6Offset
.
Text
=
"100"
;
//
// label9
//
this
.
label9
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label9
.
Location
=
new
System
.
Drawing
.
Point
(
11
,
87
);
this
.
label9
.
Name
=
"label9"
;
this
.
label9
.
Size
=
new
System
.
Drawing
.
Size
(
160
,
20
);
this
.
label9
.
TabIndex
=
286
;
this
.
label9
.
Text
=
"入料前点P3偏移量:"
;
this
.
label9
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// group3
//
this
.
group3
.
Controls
.
Add
(
this
.
btnMStop
);
this
.
group3
.
Controls
.
Add
(
this
.
btnMHome
);
this
.
group3
.
Controls
.
Add
(
this
.
dataGridView1
);
this
.
group3
.
Controls
.
Add
(
this
.
btnAddMiddleP
);
this
.
group3
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
group3
.
Location
=
new
System
.
Drawing
.
Point
(
6
,
214
);
this
.
group3
.
Name
=
"group3"
;
this
.
group3
.
Size
=
new
System
.
Drawing
.
Size
(
371
,
278
);
this
.
group3
.
TabIndex
=
320
;
this
.
group3
.
TabStop
=
false
;
this
.
group3
.
Text
=
"第三步:确认(轴一)旋转轴位置列表:"
;
//
// btnMStop
//
this
.
btnMStop
.
Anchor
=
((
System
.
Windows
.
Forms
.
AnchorStyles
)((
System
.
Windows
.
Forms
.
AnchorStyles
.
Bottom
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Left
)));
this
.
btnMStop
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnMStop
.
ForeColor
=
System
.
Drawing
.
Color
.
Black
;
this
.
btnMStop
.
Location
=
new
System
.
Drawing
.
Point
(
123
,
232
);
this
.
btnMStop
.
Name
=
"btnMStop"
;
this
.
btnMStop
.
Size
=
new
System
.
Drawing
.
Size
(
110
,
36
);
this
.
btnMStop
.
TabIndex
=
325
;
this
.
btnMStop
.
Text
=
"旋转轴停止"
;
this
.
btnMStop
.
UseVisualStyleBackColor
=
true
;
this
.
btnMStop
.
Click
+=
new
System
.
EventHandler
(
this
.
btnMStop_Click
);
//
// btnMHome
//
this
.
btnMHome
.
Anchor
=
((
System
.
Windows
.
Forms
.
AnchorStyles
)((
System
.
Windows
.
Forms
.
AnchorStyles
.
Bottom
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Left
)));
this
.
btnMHome
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnMHome
.
ForeColor
=
System
.
Drawing
.
Color
.
Black
;
this
.
btnMHome
.
Location
=
new
System
.
Drawing
.
Point
(
11
,
232
);
this
.
btnMHome
.
Name
=
"btnMHome"
;
this
.
btnMHome
.
Size
=
new
System
.
Drawing
.
Size
(
110
,
36
);
this
.
btnMHome
.
TabIndex
=
324
;
this
.
btnMHome
.
Text
=
"旋转轴回原点"
;
this
.
btnMHome
.
UseVisualStyleBackColor
=
true
;
this
.
btnMHome
.
Click
+=
new
System
.
EventHandler
(
this
.
btnMHome_Click
);
//
// dataGridView1
//
this
.
dataGridView1
.
AllowUserToAddRows
=
false
;
this
.
dataGridView1
.
AllowUserToDeleteRows
=
false
;
this
.
dataGridView1
.
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
.
dataGridView1
.
ColumnHeadersHeightSizeMode
=
System
.
Windows
.
Forms
.
DataGridViewColumnHeadersHeightSizeMode
.
AutoSize
;
this
.
dataGridView1
.
Columns
.
AddRange
(
new
System
.
Windows
.
Forms
.
DataGridViewColumn
[]
{
this
.
Column_Index
,
this
.
Column_position
,
this
.
Column_Del
});
this
.
dataGridView1
.
Location
=
new
System
.
Drawing
.
Point
(
10
,
20
);
this
.
dataGridView1
.
MultiSelect
=
false
;
this
.
dataGridView1
.
Name
=
"dataGridView1"
;
this
.
dataGridView1
.
RowHeadersWidth
=
5
;
this
.
dataGridView1
.
RowTemplate
.
Height
=
23
;
this
.
dataGridView1
.
SelectionMode
=
System
.
Windows
.
Forms
.
DataGridViewSelectionMode
.
FullRowSelect
;
this
.
dataGridView1
.
Size
=
new
System
.
Drawing
.
Size
(
335
,
207
);
this
.
dataGridView1
.
TabIndex
=
323
;
this
.
dataGridView1
.
CellContentClick
+=
new
System
.
Windows
.
Forms
.
DataGridViewCellEventHandler
(
this
.
dataGridView1_CellContentClick
);
this
.
dataGridView1
.
CellValidating
+=
new
System
.
Windows
.
Forms
.
DataGridViewCellValidatingEventHandler
(
this
.
dataGridView1_CellValidating
);
//
// Column_Index
//
this
.
Column_Index
.
HeaderText
=
"编号"
;
this
.
Column_Index
.
Name
=
"Column_Index"
;
this
.
Column_Index
.
Width
=
60
;
//
// Column_position
//
this
.
Column_position
.
HeaderText
=
"位置"
;
this
.
Column_position
.
Name
=
"Column_position"
;
this
.
Column_position
.
Width
=
120
;
//
// Column_Del
//
this
.
Column_Del
.
FillWeight
=
60F
;
this
.
Column_Del
.
HeaderText
=
"删除"
;
this
.
Column_Del
.
Name
=
"Column_Del"
;
this
.
Column_Del
.
Resizable
=
System
.
Windows
.
Forms
.
DataGridViewTriState
.
True
;
this
.
Column_Del
.
Text
=
"删除"
;
this
.
Column_Del
.
ToolTipText
=
"删除"
;
this
.
Column_Del
.
UseColumnTextForLinkValue
=
true
;
this
.
Column_Del
.
Width
=
80
;
//
// btnAddMiddleP
//
this
.
btnAddMiddleP
.
Anchor
=
((
System
.
Windows
.
Forms
.
AnchorStyles
)((
System
.
Windows
.
Forms
.
AnchorStyles
.
Bottom
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Left
)));
this
.
btnAddMiddleP
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnAddMiddleP
.
ForeColor
=
System
.
Drawing
.
Color
.
Black
;
this
.
btnAddMiddleP
.
Location
=
new
System
.
Drawing
.
Point
(
235
,
232
);
this
.
btnAddMiddleP
.
Name
=
"btnAddMiddleP"
;
this
.
btnAddMiddleP
.
Size
=
new
System
.
Drawing
.
Size
(
110
,
36
);
this
.
btnAddMiddleP
.
TabIndex
=
322
;
this
.
btnAddMiddleP
.
Text
=
"加入实时位置"
;
this
.
btnAddMiddleP
.
UseVisualStyleBackColor
=
true
;
this
.
btnAddMiddleP
.
Click
+=
new
System
.
EventHandler
(
this
.
btnAddMiddleP_Click
);
//
// group1
//
this
.
group1
.
Controls
.
Add
(
this
.
label11
);
this
.
group1
.
Controls
.
Add
(
this
.
btnInoutP
);
this
.
group1
.
Controls
.
Add
(
this
.
txtInout
);
this
.
group1
.
Location
=
new
System
.
Drawing
.
Point
(
6
,
9
);
this
.
group1
.
Name
=
"group1"
;
this
.
group1
.
Size
=
new
System
.
Drawing
.
Size
(
371
,
77
);
this
.
group1
.
TabIndex
=
285
;
this
.
group1
.
TabStop
=
false
;
this
.
group1
.
Text
=
"第一步:确认(轴三)进出轴前进位置:"
;
//
// label11
//
this
.
label11
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
label11
.
Location
=
new
System
.
Drawing
.
Point
(
8
,
34
);
this
.
label11
.
Name
=
"label11"
;
this
.
label11
.
Size
=
new
System
.
Drawing
.
Size
(
110
,
20
);
this
.
label11
.
TabIndex
=
1
;
this
.
label11
.
Text
=
"进出轴前进位置:"
;
this
.
label11
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// btnInoutP
//
this
.
btnInoutP
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnInoutP
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnInoutP
.
Location
=
new
System
.
Drawing
.
Point
(
218
,
26
);
this
.
btnInoutP
.
Name
=
"btnInoutP"
;
this
.
btnInoutP
.
Size
=
new
System
.
Drawing
.
Size
(
138
,
36
);
this
.
btnInoutP
.
TabIndex
=
258
;
this
.
btnInoutP
.
Text
=
"使用实时位置"
;
this
.
btnInoutP
.
UseVisualStyleBackColor
=
true
;
this
.
btnInoutP
.
Click
+=
new
System
.
EventHandler
(
this
.
btnInoutP_Click
);
//
// txtInout
//
this
.
txtInout
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtInout
.
Location
=
new
System
.
Drawing
.
Point
(
124
,
31
);
this
.
txtInout
.
MaxLength
=
30
;
this
.
txtInout
.
Name
=
"txtInout"
;
this
.
txtInout
.
Size
=
new
System
.
Drawing
.
Size
(
80
,
26
);
this
.
txtInout
.
TabIndex
=
276
;
//
// group5
//
this
.
group5
.
Controls
.
Add
(
this
.
ioSingle
);
this
.
group5
.
Controls
.
Add
(
this
.
txtSpeed
);
this
.
group5
.
Controls
.
Add
(
this
.
label8
);
this
.
group5
.
Controls
.
Add
(
this
.
btnStart
);
this
.
group5
.
Controls
.
Add
(
this
.
btnStop
);
this
.
group5
.
Location
=
new
System
.
Drawing
.
Point
(
288
,
499
);
this
.
group5
.
Name
=
"group5"
;
this
.
group5
.
Size
=
new
System
.
Drawing
.
Size
(
345
,
155
);
this
.
group5
.
TabIndex
=
283
;
this
.
group5
.
TabStop
=
false
;
this
.
group5
.
Text
=
"第五步:开始校对位置:"
;
//
// ioSingle
//
this
.
ioSingle
.
BackColor
=
System
.
Drawing
.
Color
.
White
;
this
.
ioSingle
.
IOName
=
"检测信号"
;
this
.
ioSingle
.
IOValue
=
0
;
this
.
ioSingle
.
isCanClick
=
false
;
this
.
ioSingle
.
Location
=
new
System
.
Drawing
.
Point
(
6
,
126
);
this
.
ioSingle
.
Name
=
"ioSingle"
;
this
.
ioSingle
.
Size
=
new
System
.
Drawing
.
Size
(
220
,
23
);
this
.
ioSingle
.
TabIndex
=
289
;
//
// txtSpeed
//
this
.
txtSpeed
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
txtSpeed
.
Location
=
new
System
.
Drawing
.
Point
(
101
,
43
);
this
.
txtSpeed
.
MaxLength
=
30
;
this
.
txtSpeed
.
Name
=
"txtSpeed"
;
this
.
txtSpeed
.
Size
=
new
System
.
Drawing
.
Size
(
80
,
26
);
this
.
txtSpeed
.
TabIndex
=
83
;
this
.
txtSpeed
.
Text
=
"20"
;
//
// label8
//
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
(
21
,
47
);
this
.
label8
.
Name
=
"label8"
;
this
.
label8
.
Size
=
new
System
.
Drawing
.
Size
(
87
,
20
);
this
.
label8
.
TabIndex
=
84
;
this
.
label8
.
Text
=
"移动速度:"
;
this
.
label8
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleRight
;
//
// btnStart
//
this
.
btnStart
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnStart
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnStart
.
Location
=
new
System
.
Drawing
.
Point
(
205
,
40
);
this
.
btnStart
.
Name
=
"btnStart"
;
this
.
btnStart
.
Size
=
new
System
.
Drawing
.
Size
(
132
,
36
);
this
.
btnStart
.
TabIndex
=
88
;
this
.
btnStart
.
Text
=
"开始校对位置"
;
this
.
btnStart
.
UseVisualStyleBackColor
=
true
;
this
.
btnStart
.
Click
+=
new
System
.
EventHandler
(
this
.
btnAbsMove_Click
);
//
// btnStop
//
this
.
btnStop
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnStop
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
9F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
btnStop
.
Location
=
new
System
.
Drawing
.
Point
(
205
,
81
);
this
.
btnStop
.
Name
=
"btnStop"
;
this
.
btnStop
.
Size
=
new
System
.
Drawing
.
Size
(
132
,
36
);
this
.
btnStop
.
TabIndex
=
257
;
this
.
btnStop
.
Text
=
"停止"
;
this
.
btnStop
.
UseVisualStyleBackColor
=
true
;
this
.
btnStop
.
Click
+=
new
System
.
EventHandler
(
this
.
btnSdStop_Click
);
//
// btnExit
//
this
.
btnExit
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnExit
.
Location
=
new
System
.
Drawing
.
Point
(
855
,
416
);
this
.
btnExit
.
Name
=
"btnExit"
;
this
.
btnExit
.
Size
=
new
System
.
Drawing
.
Size
(
132
,
36
);
this
.
btnExit
.
TabIndex
=
281
;
this
.
btnExit
.
Text
=
"退出"
;
this
.
btnExit
.
UseVisualStyleBackColor
=
true
;
this
.
btnExit
.
Click
+=
new
System
.
EventHandler
(
this
.
btnExit_Click
);
//
// panel1
//
this
.
panel1
.
Controls
.
Add
(
this
.
axisJogControl1
);
this
.
panel1
.
Location
=
new
System
.
Drawing
.
Point
(
381
,
5
);
this
.
panel1
.
Name
=
"panel1"
;
this
.
panel1
.
Size
=
new
System
.
Drawing
.
Size
(
655
,
370
);
this
.
panel1
.
TabIndex
=
284
;
//
// axisJogControl1
//
this
.
axisJogControl1
.
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
.
axisJogControl1
.
BackColor
=
System
.
Drawing
.
Color
.
White
;
this
.
axisJogControl1
.
BorderStyle
=
System
.
Windows
.
Forms
.
BorderStyle
.
FixedSingle
;
this
.
axisJogControl1
.
Location
=
new
System
.
Drawing
.
Point
(
4
,
3
);
this
.
axisJogControl1
.
Name
=
"axisJogControl1"
;
this
.
axisJogControl1
.
Size
=
new
System
.
Drawing
.
Size
(
609
,
364
);
this
.
axisJogControl1
.
TabIndex
=
0
;
//
// timer1
//
this
.
timer1
.
Interval
=
1000
;
this
.
timer1
.
Tick
+=
new
System
.
EventHandler
(
this
.
timer1_Tick
);
//
// FrmTool
//
this
.
AutoScaleDimensions
=
new
System
.
Drawing
.
SizeF
(
96F
,
96F
);
this
.
AutoScaleMode
=
System
.
Windows
.
Forms
.
AutoScaleMode
.
Dpi
;
this
.
ClientSize
=
new
System
.
Drawing
.
Size
(
1004
,
670
);
this
.
Controls
.
Add
(
this
.
panelAll
);
this
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
MinimizeBox
=
false
;
this
.
Name
=
"FrmTool"
;
this
.
Text
=
"自动对点位"
;
this
.
FormClosing
+=
new
System
.
Windows
.
Forms
.
FormClosingEventHandler
(
this
.
FrmPositionTool_FormClosing
);
this
.
FormClosed
+=
new
System
.
Windows
.
Forms
.
FormClosedEventHandler
(
this
.
FrmTool_FormClosed
);
this
.
Load
+=
new
System
.
EventHandler
(
this
.
Form1_Load
);
this
.
panelAll
.
ResumeLayout
(
false
);
this
.
group6
.
ResumeLayout
(
false
);
this
.
group2
.
ResumeLayout
(
false
);
this
.
group2
.
PerformLayout
();
this
.
group4
.
ResumeLayout
(
false
);
this
.
group4
.
PerformLayout
();
this
.
group3
.
ResumeLayout
(
false
);
((
System
.
ComponentModel
.
ISupportInitialize
)(
this
.
dataGridView1
)).
EndInit
();
this
.
group1
.
ResumeLayout
(
false
);
this
.
group1
.
PerformLayout
();
this
.
group5
.
ResumeLayout
(
false
);
this
.
group5
.
PerformLayout
();
this
.
panel1
.
ResumeLayout
(
false
);
this
.
ResumeLayout
(
false
);
}
#
endregion
private
System
.
Windows
.
Forms
.
Panel
panelAll
;
private
System
.
Windows
.
Forms
.
TextBox
txtTargetPosition
;
private
System
.
Windows
.
Forms
.
Button
btnStart
;
private
System
.
Windows
.
Forms
.
Label
label8
;
private
System
.
Windows
.
Forms
.
TextBox
txtSpeed
;
private
System
.
Windows
.
Forms
.
Button
btnStop
;
private
System
.
Windows
.
Forms
.
Timer
timer1
;
private
System
.
Windows
.
Forms
.
Button
btnOpenFolder
;
private
System
.
Windows
.
Forms
.
Button
btnExit
;
private
System
.
Windows
.
Forms
.
GroupBox
group5
;
private
System
.
Windows
.
Forms
.
TextBox
txtP4Offset
;
private
System
.
Windows
.
Forms
.
Label
label10
;
private
System
.
Windows
.
Forms
.
TextBox
txtP3Offset
;
private
System
.
Windows
.
Forms
.
Label
label9
;
private
System
.
Windows
.
Forms
.
TextBox
txtP6Offset
;
private
System
.
Windows
.
Forms
.
Label
label5
;
private
System
.
Windows
.
Forms
.
TextBox
txtP5Offset
;
private
System
.
Windows
.
Forms
.
Label
label4
;
private
UserFromControl
.
IOTextControl
ioSingle
;
private
System
.
Windows
.
Forms
.
Panel
panel1
;
private
System
.
Windows
.
Forms
.
GroupBox
group1
;
private
System
.
Windows
.
Forms
.
Label
label11
;
private
System
.
Windows
.
Forms
.
Label
label14
;
private
System
.
Windows
.
Forms
.
Button
btnInoutP
;
private
System
.
Windows
.
Forms
.
TextBox
txtInout
;
private
System
.
Windows
.
Forms
.
Button
btnUpdownP
;
private
System
.
Windows
.
Forms
.
GroupBox
group3
;
private
System
.
Windows
.
Forms
.
Button
btnAddMiddleP
;
private
System
.
Windows
.
Forms
.
GroupBox
group4
;
private
System
.
Windows
.
Forms
.
GroupBox
group2
;
private
System
.
Windows
.
Forms
.
GroupBox
group6
;
private
AxisJogControl
axisJogControl1
;
private
System
.
Windows
.
Forms
.
DataGridView
dataGridView1
;
private
System
.
Windows
.
Forms
.
Label
lblFileP
;
private
System
.
Windows
.
Forms
.
Label
lblMoveInfo
;
private
System
.
Windows
.
Forms
.
Button
btnMHome
;
private
System
.
Windows
.
Forms
.
DataGridViewTextBoxColumn
Column_Index
;
private
System
.
Windows
.
Forms
.
DataGridViewTextBoxColumn
Column_position
;
private
System
.
Windows
.
Forms
.
DataGridViewLinkColumn
Column_Del
;
private
System
.
Windows
.
Forms
.
Button
btnMStop
;
private
System
.
Windows
.
Forms
.
TextBox
txtUpdownStart
;
private
System
.
Windows
.
Forms
.
Label
label1
;
private
System
.
Windows
.
Forms
.
Label
lblErrorMsg
;
}
}
source/ACSingleStore/positionTool/FrmTool.cs
0 → 100644
查看文件 @
f509419
using
OnlineStore.Common
;
using
OnlineStore.DeviceLibrary
;
using
OnlineStore.LoadCSVLibrary
;
using
System
;
using
System.Collections.Generic
;
using
System.ComponentModel
;
using
System.Data
;
using
System.Drawing
;
using
System.IO
;
using
System.IO.Ports
;
using
System.Linq
;
using
System.Text
;
using
System.Threading
;
using
System.Threading.Tasks
;
using
System.Windows.Forms
;
namespace
OnlineStore.ACSingleStore
{
public
partial
class
FrmTool
:
FrmBase
{
private
BoxAutoPoint
autoP
;
private
string
LogName
=
"自动对点位"
;
private
string
DefaultfilePath
=
""
;
private
bool
IsStart
=
false
;
private
AC_SA_BoxBean
Box
=
null
;
//private PToolInfo workInfo = new PToolInfo();
public
FrmTool
(
AC_SA_BoxBean
box
,
string
ioIp
,
int
ioIndex
,
string
name
)
{
InitializeComponent
();
this
.
Box
=
box
;
autoP
=
new
BoxAutoPoint
(
box
);
DefaultfilePath
=
Application
.
StartupPath
+
@"\" + @"
position
\
";
if
(!
Directory
.
Exists
(
DefaultfilePath
))
{
Directory
.
CreateDirectory
(
DefaultfilePath
);
LogUtil
.
info
(
LogName
+
"创建位置保存文件夹:"
+
DefaultfilePath
);
}
lblFileP
.
Text
=
DefaultfilePath
;
this
.
Text
=
StoreManager
.
Store
.
Config
.
CID
+
"_"
+
name
+
"_自动对点位 "
;
LogName
=
this
.
Text
;
txtUpdownStart
.
Text
=
0.
ToString
();
FrmTool
.
CheckForIllegalCrossThreadCalls
=
false
;
}
private
int
P3Offset
=
0
;
private
int
P4Offset
=
0
;
private
int
P5Offset
=
0
;
private
int
P6Offset
=
0
;
private
void
Form1_Load
(
object
sender
,
EventArgs
e
)
{
ACServerManager
.
IsShowMsg
=
false
;
CheckForIllegalCrossThreadCalls
=
false
;
if
(
IOManager
.
instance
==
null
)
{
IOManager
.
Init
();
IOManager
.
instance
.
ConnectionIOList
(
new
List
<
string
>
{
/*IoIp*/
});
}
P3Offset
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
Tool_P3_Offset
);
P4Offset
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
Tool_P4_Offset
);
P5Offset
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
Tool_P5_Offset
);
P6Offset
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
Tool_P6_Offset
);
int
tSpeed
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
Tool_TargetSpeed
);
int
tPosition
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
Tool_TargetPosition
);
if
(
P3Offset
.
Equals
(
0
))
P3Offset
=
60
;
if
(
P4Offset
.
Equals
(
0
))
P4Offset
=
-
60
;
if
(
P5Offset
.
Equals
(
0
))
P5Offset
=
-
60
;
if
(
P6Offset
.
Equals
(
0
))
P6Offset
=
60
;
if
(
tSpeed
.
Equals
(
0
))
tSpeed
=
20
;
if
(
tPosition
.
Equals
(
0
))
tPosition
=
60
;
txtP3Offset
.
Text
=
P3Offset
.
ToString
();
txtP4Offset
.
Text
=
P4Offset
.
ToString
();
txtP5Offset
.
Text
=
P5Offset
.
ToString
();
txtP6Offset
.
Text
=
P6Offset
.
ToString
();
txtSpeed
.
Text
=
tSpeed
.
ToString
();
txtTargetPosition
.
Text
=
tPosition
.
ToString
();
SaveConfig
(
tSpeed
,
tPosition
);
axisJogControl1
.
SetBoxBean
(
Box
);
int
p
=
ACServerManager
.
GetActualtPosition
(
Box
.
Config
.
InOut_Axis
.
DeviceName
,
Box
.
Config
.
InOut_Axis
.
GetAxisValue
());
if
(
p
>
0
)
{
txtInout
.
Text
=
p
.
ToString
();
}
p
=
ACServerManager
.
GetActualtPosition
(
Box
.
Config
.
Middle_Axis
.
DeviceName
,
Box
.
Config
.
Middle_Axis
.
GetAxisValue
());
if
(
p
>
0
)
{
DataGridViewRow
view
=
new
DataGridViewRow
();
view
.
CreateCells
(
dataGridView1
);
view
.
Cells
[
0
].
Value
=
p
;
dataGridView1
.
Rows
.
Add
(
view
);
}
timer1
.
Start
();
ioSingle
.
IOName
=
ResourceCulture
.
GetString
(
"激光检测信号"
);
}
private
void
SaveConfig
(
int
speed
,
int
position
)
{
//保存配置
ConfigAppSettings
.
SaveValue
(
Setting_Init
.
Tool_P3_Offset
,
P3Offset
);
ConfigAppSettings
.
SaveValue
(
Setting_Init
.
Tool_P4_Offset
,
P4Offset
);
ConfigAppSettings
.
SaveValue
(
Setting_Init
.
Tool_P5_Offset
,
P5Offset
);
ConfigAppSettings
.
SaveValue
(
Setting_Init
.
Tool_P6_Offset
,
P6Offset
);
ConfigAppSettings
.
SaveValue
(
Setting_Init
.
Tool_TargetSpeed
,
speed
);
ConfigAppSettings
.
SaveValue
(
Setting_Init
.
Tool_TargetPosition
,
position
);
}
private
void
workMoveStatus
(
bool
isStart
)
{
group1
.
Enabled
=
!
isStart
;
group2
.
Enabled
=
!
isStart
;
group3
.
Enabled
=
!
isStart
;
group4
.
Enabled
=
!
isStart
;
group5
.
Enabled
=
true
;
//group6.Enabled = !isStart ;
group6
.
Enabled
=
true
;
btnStart
.
Enabled
=
!
isStart
;
btnStop
.
Enabled
=
isStart
;
axisJogControl1
.
Enabled
=
!
isStart
;
txtSpeed
.
Enabled
=
!
isStart
;
btnExit
.
Enabled
=
!
isStart
;
}
private
void
btnSdStop_Click
(
object
sender
,
EventArgs
e
)
{
LogUtil
.
info
(
LogName
+
"点击:停止运动"
);
autoP
.
StopMove
();
}
private
bool
isInProcesss
=
false
;
private
void
timer1_Tick
(
object
sender
,
EventArgs
e
)
{
try
{
ioSingle
.
IOValue
=
(
int
)
IOManager
.
IOValue
(
IO_Type
.
CheckPos
);
ioSingle
.
ShowData
();
if
(
autoP
.
IsStop
())
{
if
(
group1
.
Enabled
.
Equals
(
false
))
{
workMoveStatus
(
false
);
}
if
(!
IsStart
)
{
lblMoveInfo
.
Text
=
"请按步骤确认位置信息,然后点击“开始校对位置”按钮启动位置校准"
;
}
else
{
lblMoveInfo
.
Text
=
"点位校准已结束,请打开文件夹查看位置文件"
;
}
lblErrorMsg
.
Text
=
""
;
}
else
{
if
(
group1
.
Enabled
.
Equals
(
true
))
{
workMoveStatus
(
true
);
}
lblMoveInfo
.
Text
=
autoP
.
CurrStr
();
lblErrorMsg
.
Text
=
autoP
.
WarnMsg
;
}
}
catch
(
Exception
ex
)
{
}
}
private
void
FrmPositionTool_FormClosing
(
object
sender
,
FormClosingEventArgs
e
)
{
if
(!
autoP
.
IsStop
())
{
MessageBox
.
Show
(
"请先停止位置校准,再退出界面"
,
"提示"
,
MessageBoxButtons
.
OK
,
MessageBoxIcon
.
Warning
);
e
.
Cancel
=
true
;
return
;
}
timer1
.
Stop
();
LogUtil
.
logBox
=
null
;
}
private
void
btnOpenFolder_Click
(
object
sender
,
EventArgs
e
)
{
if
(
IsStart
)
{
System
.
Diagnostics
.
Process
.
Start
(
"Explorer.exe"
,
autoP
.
paramInfo
.
FileTargetPath
);
}
else
{
System
.
Diagnostics
.
Process
.
Start
(
"Explorer.exe"
,
DefaultfilePath
);
}
}
private
void
btnExit_Click
(
object
sender
,
EventArgs
e
)
{
this
.
Close
();
}
private
void
btnInoutP_Click
(
object
sender
,
EventArgs
e
)
{
int
p
=
ACServerManager
.
GetActualtPosition
(
Box
.
Config
.
InOut_Axis
.
DeviceName
,
Box
.
Config
.
InOut_Axis
.
GetAxisValue
());
txtInout
.
Text
=
p
.
ToString
();
}
private
void
btnUpdownP_Click
(
object
sender
,
EventArgs
e
)
{
int
p
=
ACServerManager
.
GetActualtPosition
(
Box
.
Config
.
UpDown_Axis
.
DeviceName
,
Box
.
Config
.
UpDown_Axis
.
GetAxisValue
());
txtTargetPosition
.
Text
=
p
.
ToString
();
}
private
void
btnAddMiddleP_Click
(
object
sender
,
EventArgs
e
)
{
int
p
=
ACServerManager
.
GetActualtPosition
(
Box
.
Config
.
Middle_Axis
.
DeviceName
,
Box
.
Config
.
Middle_Axis
.
GetAxisValue
());
DataGridViewRow
view
=
new
DataGridViewRow
();
view
.
CreateCells
(
dataGridView1
);
view
.
Cells
[
0
].
Value
=
dataGridView1
.
Rows
.
Count
+
1
;
view
.
Cells
[
1
].
Value
=
p
;
dataGridView1
.
Rows
.
Add
(
view
);
}
private
void
dataGridView1_CellContentClick
(
object
sender
,
DataGridViewCellEventArgs
e
)
{
if
(
e
.
RowIndex
!=
-
1
&&
e
.
ColumnIndex
>=
0
)
{
string
name
=
this
.
dataGridView1
.
Columns
[
e
.
ColumnIndex
].
Name
;
int
rowIndex
=
e
.
RowIndex
;
if
(
name
.
Equals
(
this
.
Column_Del
.
Name
))
{
DialogResult
dialogResult
=
MessageBox
.
Show
(
"确认要删除该行数据吗?"
,
"提示?"
,
MessageBoxButtons
.
OKCancel
,
MessageBoxIcon
.
Question
);
if
(
dialogResult
.
Equals
(
DialogResult
.
OK
))
{
this
.
dataGridView1
.
Rows
.
RemoveAt
(
rowIndex
);
for
(
int
index
=
0
;
index
<
dataGridView1
.
Rows
.
Count
;
index
++)
{
dataGridView1
.
Rows
[
index
].
Cells
[
0
].
Value
=
(
index
+
1
);
}
}
}
}
}
private
void
dataGridView1_CellValidating
(
object
sender
,
DataGridViewCellValidatingEventArgs
e
)
{
if
(
e
.
RowIndex
>
-
1
&&
e
.
ColumnIndex
>
-
1
)
{
DataGridView
grid
=
(
DataGridView
)
sender
;
grid
.
Rows
[
e
.
RowIndex
].
ErrorText
=
""
;
//这里最好用列名,而不是列索引号做判断
if
(
grid
.
Columns
[
e
.
ColumnIndex
].
Name
==
Column_position
.
Name
)
{
Int32
newInteger
=
0
;
if
(!
int
.
TryParse
(
e
.
FormattedValue
.
ToString
(),
out
newInteger
))
{
e
.
Cancel
=
true
;
grid
.
Rows
[
e
.
RowIndex
].
ErrorText
=
"位置只能输入整数,请输入正确的位置 !"
;
MessageBox
.
Show
(
"位置只能输入整数,请输入正确的位置 !"
);
return
;
}
}
}
}
#
region
校准位置功能
private
void
btnAbsMove_Click
(
object
sender
,
EventArgs
e
)
{
int
inoutP
=
FormUtil
.
GetIntValue
(
txtInout
);
if
(
inoutP
<=
0
)
{
MessageBox
.
Show
(
"请输入正确的进出轴前进位置"
,
"提示"
);
txtInout
.
Focus
();
return
;
}
int
SPostion
=
FormUtil
.
GetIntValue
(
txtUpdownStart
);
if
(
SPostion
<
0
)
{
MessageBox
.
Show
(
"请输入正确的升降轴开始位置"
,
"提示"
);
txtUpdownStart
.
Focus
();
return
;
}
txtUpdownStart
.
Text
=
SPostion
.
ToString
();
int
TPostion
=
FormUtil
.
GetIntValue
(
txtTargetPosition
);
if
(
TPostion
<=
0
)
{
MessageBox
.
Show
(
"请输入正确的升降轴最高位置"
,
"提示"
);
txtTargetPosition
.
Focus
();
return
;
}
int
speed
=
FormUtil
.
GetIntValue
(
txtSpeed
);
if
(
speed
<=
(
0
))
{
MessageBox
.
Show
(
ResourceCulture
.
GetString
(
"请输入正确的速度"
),
"提示"
);
txtSpeed
.
Focus
();
return
;
}
P3Offset
=
FormUtil
.
GetIntValue
(
txtP3Offset
);
P4Offset
=
FormUtil
.
GetIntValue
(
txtP4Offset
);
P5Offset
=
FormUtil
.
GetIntValue
(
txtP5Offset
);
P6Offset
=
FormUtil
.
GetIntValue
(
txtP6Offset
);
SaveConfig
(
speed
,
TPostion
);
autoP
.
paramInfo
=
new
PToolInfo
();
autoP
.
paramInfo
.
InoutTargetPosition
=
inoutP
;
autoP
.
paramInfo
.
UpdownStartPosition
=
SPostion
;
autoP
.
paramInfo
.
UpdownTargetPosition
=
TPostion
;
autoP
.
paramInfo
.
UpdownSpeed
=
speed
;
autoP
.
paramInfo
.
MiddlePositionList
=
new
List
<
int
>();
autoP
.
paramInfo
.
PositionList
=
new
List
<
int
>();
autoP
.
paramInfo
.
P3Offset
=
P3Offset
;
autoP
.
paramInfo
.
P4Offset
=
P4Offset
;
autoP
.
paramInfo
.
P5Offset
=
P5Offset
;
autoP
.
paramInfo
.
P6Offset
=
P6Offset
;
foreach
(
DataGridViewRow
row
in
dataGridView1
.
Rows
)
{
string
p
=
row
.
Cells
[
Column_position
.
Index
].
Value
.
ToString
();
try
{
int
mP
=
Convert
.
ToInt32
(
p
);
autoP
.
paramInfo
.
MiddlePositionList
.
Add
(
mP
);
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
"旋转轴位置列表【"
+
p
+
"】不是整数,直接跳过"
);
}
}
if
(
autoP
.
paramInfo
.
MiddlePositionList
.
Count
<=
0
)
{
MessageBox
.
Show
(
"请至少输入一个旋转轴位置"
,
"提示"
);
dataGridView1
.
Focus
();
return
;
}
autoP
.
paramInfo
.
LastValue
=
IO_VALUE
.
LOW
;
string
date
=
DateTime
.
Now
.
ToString
(
"yyyyMMddHHmm"
);
string
filePath
=
DefaultfilePath
+
date
+
@"\"
;
if
(
Directory
.
Exists
(
filePath
))
{
DialogResult
result
=
MessageBox
.
Show
(
"文件夹【"
+
filePath
+
"】已存在,将覆盖文件夹内容,是否确定继续?"
,
"确认提示"
,
MessageBoxButtons
.
OKCancel
,
MessageBoxIcon
.
Question
);
if
(!
result
.
Equals
(
DialogResult
.
OK
))
{
return
;
}
}
else
{
Directory
.
CreateDirectory
(
filePath
);
}
autoP
.
paramInfo
.
FileTargetPath
=
filePath
;
string
msg
=
autoP
.
paramInfo
.
ParamStr
();
DialogResult
result1
=
MessageBox
.
Show
(
msg
,
"请确认对点位参数"
,
MessageBoxButtons
.
OKCancel
,
MessageBoxIcon
.
Question
);
if
(
result1
.
Equals
(
DialogResult
.
OK
))
{
autoP
.
StopMove
();
LogUtil
.
info
(
LogName
+
"开始校对位置:"
+
msg
+
" 启动定时器 "
);
autoP
.
Start
();
lblFileP
.
Text
=
filePath
;
IsStart
=
true
;
}
}
#
endregion
private
void
btnMHome_Click
(
object
sender
,
EventArgs
e
)
{
LogUtil
.
info
(
LogName
+
"点击:旋转轴回原点"
);
ConfigMoveAxis
axis
=
Box
.
Config
.
Middle_Axis
;
ACServerManager
.
HomeMove
(
axis
.
DeviceName
,
axis
.
GetAxisValue
(),
axis
.
HomeHighSpeed
);
}
private
void
btnMStop_Click
(
object
sender
,
EventArgs
e
)
{
LogUtil
.
info
(
LogName
+
"点击:旋转轴停止"
);
ConfigMoveAxis
axis
=
Box
.
Config
.
Middle_Axis
;
ACServerManager
.
SuddenStop
(
axis
.
DeviceName
,
axis
.
GetAxisValue
());
}
private
void
FrmTool_FormClosed
(
object
sender
,
FormClosedEventArgs
e
)
{
}
}
}
source/ACSingleStore/positionTool/FrmTool.resx
0 → 100644
查看文件 @
f509419
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="Column_Index.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column_position.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column_Del.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column_Index.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column_position.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Column_Del.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root>
\ No newline at end of file
\ No newline at end of file
source/DeviceLibrary/acSingleStore/BoxAutoPoint.cs
0 → 100644
查看文件 @
f509419
using
OnlineStore.Common
;
using
OnlineStore.LoadCSVLibrary
;
using
System
;
using
System.Collections.Generic
;
using
System.IO
;
using
System.Linq
;
using
System.Text
;
using
System.Threading.Tasks
;
namespace
OnlineStore.DeviceLibrary
{
public
class
BoxAutoPoint
{
private
StoreMoveInfo
MoveInfo
;
private
AC_SA_BoxBean
box
=
null
;
private
System
.
Timers
.
Timer
toolTimer
=
new
System
.
Timers
.
Timer
();
public
PToolInfo
paramInfo
=
new
PToolInfo
();
private
string
LogName
=
""
;
public
string
WarnMsg
=
""
;
public
BoxAutoPoint
(
AC_SA_BoxBean
box
)
{
toolTimer
.
Enabled
=
false
;
toolTimer
.
Interval
=
500
;
toolTimer
.
AutoReset
=
true
;
toolTimer
.
Elapsed
+=
ToolTimer_Elapsed
;
this
.
box
=
box
;
LogName
=
box
.
StoreName
+
"校准点位 "
;
MoveInfo
=
new
StoreMoveInfo
(
box
.
StoreID
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
Wait
);
}
public
bool
IsStop
()
{
return
!
toolTimer
.
Enabled
;
}
public
void
Start
()
{
LoadStr
();
WarnMsg
=
""
;
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
AP_01_InoutHome
);
LogUtil
.
info
(
LogName
+
MoveInfo
+
"第"
+
paramInfo
.
CurrIndex
+
"列,旋转轴位置["
+
paramInfo
.
GetCurrMiddleP
()
+
"] :进出轴先原点返回"
);
ConfigMoveAxis
axis
=
box
.
Config
.
InOut_Axis
;
ACServerManager
.
HomeMove
(
axis
.
DeviceName
,
(
short
)
axis
.
GetAxisValue
(),
axis
.
HomeHighSpeed
);
toolTimer
.
Interval
=
500
;
toolTimer
.
Start
();
}
private
bool
isInProcesss
=
false
;
private
bool
HomeIsEnd
(
ConfigMoveAxis
moveAxis
)
{
if
(
ACServerManager
.
IsHomeMoveEnd
(
moveAxis
.
DeviceName
,
moveAxis
.
GetAxisValue
()))
{
//原点完成并且位置=0
int
outCount
=
ACServerManager
.
GetActualtPosition
(
moveAxis
.
DeviceName
,
moveAxis
.
GetAxisValue
());
int
errorCount
=
Math
.
Abs
(
outCount
);
if
(
errorCount
<=
moveAxis
.
CanErrorCountMax
)
{
return
true
;
}
}
return
false
;
}
private
bool
AbsMoveIsEnd
(
ConfigMoveAxis
moveAxis
,
int
targetP
)
{
string
deviceName
=
moveAxis
.
DeviceName
;
short
axisNo
=
moveAxis
.
GetAxisValue
();
bool
isOk
=
ACServerManager
.
GetBusyStatus
(
deviceName
,
axisNo
).
Equals
(
0
);
int
outCount
=
ACServerManager
.
GetActualtPosition
(
deviceName
,
axisNo
);
int
errorCount
=
Math
.
Abs
(
outCount
-
targetP
);
if
(
isOk
)
{
if
(
errorCount
<=
moveAxis
.
CanErrorCountMax
)
{
return
true
;
}
}
return
false
;
}
public
DateTime
LastTime
=
DateTime
.
Now
;
private
string
timeOut
=
ResourceControl
.
GetString
(
"超时"
);
private
string
homeM
=
ResourceControl
.
GetString
(
"原点返回"
);
private
string
wait
=
ResourceControl
.
GetString
(
"等待"
);
private
string
targetP
=
ResourceControl
.
GetString
(
"到目标位置"
);
private
string
startP
=
ResourceControl
.
GetString
(
"到开始位置"
);
private
string
sec
=
ResourceControl
.
GetString
(
"秒"
);
private
void
LoadStr
()
{
}
private
void
ToolTimer_Elapsed
(
object
sender
,
System
.
Timers
.
ElapsedEventArgs
e
)
{
TimeSpan
span
=
DateTime
.
Now
-
LastTime
;
if
(
isInProcesss
&&
span
.
TotalSeconds
<
1
)
{
return
;
}
isInProcesss
=
true
;
LastTime
=
DateTime
.
Now
;
try
{
int
currIndex
=
paramInfo
.
CurrIndex
;
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
AP_01_InoutHome
))
{
if
(
HomeIsEnd
(
box
.
Config
.
InOut_Axis
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
AP_02_UpdownHome
);
LogUtil
.
info
(
LogName
+
MoveInfo
+
" "
+
currIndex
+
":升降轴原点返回"
);
ConfigMoveAxis
axis
=
box
.
Config
.
UpDown_Axis
;
ACServerManager
.
HomeMove
(
axis
.
DeviceName
,
(
short
)
axis
.
GetAxisValue
(),
axis
.
HomeHighSpeed
);
}
else
if
(
MoveInfo
.
IsTimeOut
(
60
))
{
WarnMsg
=
LogName
+
$
"[{ MoveInfo.MoveStep }]{wait}{box.Config.InOut_Axis.DisplayStr}{homeM}{timeOut} [{Math.Round(MoveInfo.StepSpan().TotalSeconds, 1) }]{sec} "
;
LogUtil
.
error
(
WarnMsg
,(
int
)
MoveInfo
.
MoveStep
);
}
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
AP_02_UpdownHome
))
{
if
(
HomeIsEnd
(
box
.
Config
.
UpDown_Axis
))
{
if
(
paramInfo
.
UpdownStartPosition
.
Equals
(
0
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
AP_04_MiddleMove
);
ConfigMoveAxis
axis
=
box
.
Config
.
Middle_Axis
;
int
p
=
paramInfo
.
GetCurrMiddleP
();
LogUtil
.
info
(
LogName
+
MoveInfo
+
" "
+
currIndex
+
":旋转轴移动到目标位置:"
+
p
);
ACServerManager
.
AbsMove
(
axis
.
DeviceName
,
(
short
)
axis
.
GetAxisValue
(),
p
,
box
.
Config
.
MiddleAxis_P1_Speed
);
}
else
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
AP_03_UpdownMove
);
ConfigMoveAxis
iaxis
=
box
.
Config
.
UpDown_Axis
;
LogUtil
.
info
(
LogName
+
MoveInfo
+
" "
+
currIndex
+
":升降轴移动到开始位置:"
+
paramInfo
.
UpdownStartPosition
);
ACServerManager
.
AbsMove
(
iaxis
.
DeviceName
,
(
short
)
iaxis
.
GetAxisValue
(),
paramInfo
.
UpdownStartPosition
,
box
.
Config
.
UpDownAxis_P1_Speed
);
}
}
else
if
(
MoveInfo
.
IsTimeOut
(
120
))
{
WarnMsg
=
LogName
+
$
"[{ MoveInfo.MoveStep }]{wait}{box.Config.UpDown_Axis.DisplayStr}{homeM}{timeOut}[{ Math.Round(MoveInfo.StepSpan().TotalSeconds, 1) }]{sec} "
;
LogUtil
.
error
(
WarnMsg
,
(
int
)
MoveInfo
.
MoveStep
);
}
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
AP_03_UpdownMove
))
{
if
(
AbsMoveIsEnd
(
box
.
Config
.
UpDown_Axis
,
paramInfo
.
UpdownStartPosition
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
AP_04_MiddleMove
);
ConfigMoveAxis
axis
=
box
.
Config
.
Middle_Axis
;
int
p
=
paramInfo
.
GetCurrMiddleP
();
LogUtil
.
info
(
LogName
+
MoveInfo
+
" "
+
currIndex
+
":旋转轴移动到目标位置:"
+
p
);
ACServerManager
.
AbsMove
(
axis
.
DeviceName
,
(
short
)
axis
.
GetAxisValue
(),
p
,
box
.
Config
.
MiddleAxis_P1_Speed
);
}
else
if
(
MoveInfo
.
IsTimeOut
(
120
))
{
WarnMsg
=
LogName
+
$
"[{ MoveInfo.MoveStep }]{wait}{box.Config.UpDown_Axis.DisplayStr}{startP}[{paramInfo.UpdownStartPosition}]{timeOut} [{ Math.Round(MoveInfo.StepSpan().TotalSeconds, 1) }]{sec} "
;
LogUtil
.
error
(
WarnMsg
,
(
int
)
MoveInfo
.
MoveStep
);
}
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
AP_04_MiddleMove
))
{
int
p
=
paramInfo
.
GetCurrMiddleP
();
if
(
AbsMoveIsEnd
(
box
.
Config
.
Middle_Axis
,
p
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
AP_05_InoutToP
);
ConfigMoveAxis
iaxis
=
box
.
Config
.
InOut_Axis
;
LogUtil
.
info
(
LogName
+
MoveInfo
+
" "
+
currIndex
+
":进出轴移动到目标位置:"
+
paramInfo
.
InoutTargetPosition
);
ACServerManager
.
AbsMove
(
iaxis
.
DeviceName
,
(
short
)
iaxis
.
GetAxisValue
(),
paramInfo
.
InoutTargetPosition
,
box
.
Config
.
InOutAxis_P1_Speed
);
}
else
if
(
MoveInfo
.
IsTimeOut
(
120
))
{
WarnMsg
=
LogName
+
$
"[{ MoveInfo.MoveStep }]{box.Config.Middle_Axis.DisplayStr}{targetP}[{p}]{timeOut} [{ Math.Round(MoveInfo.StepSpan().TotalSeconds, 1) }]{sec} "
;
LogUtil
.
error
(
WarnMsg
,
(
int
)
MoveInfo
.
MoveStep
);
}
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
AP_05_InoutToP
))
{
if
(
AbsMoveIsEnd
(
box
.
Config
.
InOut_Axis
,
paramInfo
.
InoutTargetPosition
))
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
AP_06_UpdownMove
);
ConfigMoveAxis
axis
=
box
.
Config
.
UpDown_Axis
;
LogUtil
.
info
(
LogName
+
MoveInfo
+
" "
+
currIndex
+
":升降轴移动到目标位置:"
+
paramInfo
.
UpdownTargetPosition
);
ACServerManager
.
AbsMove
(
axis
.
DeviceName
,
(
short
)
axis
.
GetAxisValue
(),
paramInfo
.
UpdownTargetPosition
,
paramInfo
.
UpdownSpeed
);
toolTimer
.
Interval
=
50
;
}
else
if
(
MoveInfo
.
IsTimeOut
(
60
))
{
WarnMsg
=
LogName
+
$
"[{ MoveInfo.MoveStep }]{box.Config.InOut_Axis.DisplayStr}{targetP}[{ paramInfo.InoutTargetPosition}] {timeOut} [{ Math.Round(MoveInfo.StepSpan().TotalSeconds, 1) }]{sec} "
;
LogUtil
.
error
(
WarnMsg
,
(
int
)
MoveInfo
.
MoveStep
);
}
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
AP_06_UpdownMove
))
{
try
{
ConfigMoveAxis
axis
=
box
.
Config
.
UpDown_Axis
;
int
moveS
=
ACServerManager
.
GetBusyStatus
(
axis
.
DeviceName
,
axis
.
GetAxisValue
());
if
(
moveS
.
Equals
(
1
))
{
IO_VALUE
currValue
=
IOManager
.
IOValue
(
IO_Type
.
CheckPos
);
TimeSpan
checkSpan
=
DateTime
.
Now
-
paramInfo
.
LastGetPTime
;
//间隔两秒以上才有效
if
(
paramInfo
.
LastValue
.
Equals
(
IO_VALUE
.
LOW
)
&&
currValue
.
Equals
(
IO_VALUE
.
HIGH
)
&&
checkSpan
.
TotalSeconds
>
2
)
{
int
currPos
=
ACServerManager
.
GetActualtPosition
(
axis
.
DeviceName
,
axis
.
GetAxisValue
());
paramInfo
.
PositionList
.
Add
(
currPos
);
int
num
=
paramInfo
.
PositionList
.
Count
;
int
preValue
=
0
;
if
(
paramInfo
.
PositionList
.
Count
>
1
)
{
preValue
=
paramInfo
.
PositionList
[
num
-
2
];
}
LogUtil
.
info
(
LogName
+
MoveInfo
+
" "
+
currIndex
+
"【"
+
num
+
"】【"
+
currPos
+
"】【"
+
Math
.
Abs
(
currPos
-
preValue
)
+
"】"
);
paramInfo
.
LastValue
=
IO_VALUE
.
HIGH
;
paramInfo
.
LastGetPTime
=
DateTime
.
Now
;
}
paramInfo
.
LastValue
=
currValue
;
}
else
{
//TODO 下一个
SaveAndNext
(
true
);
}
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
LogName
+
"ToolTimer_Elapsed"
+
ex
.
ToString
());
}
}
else
{
LogUtil
.
error
(
LogName
+
"BoxAutoPoint ToolTimer_Elapsed 出错:未找到"
+
MoveInfo
.
MoveStep
+
"的处理"
);
}
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
LogName
+
"BoxAutoPoint ToolTimer_Elapsed 出错:"
+
ex
.
ToString
());
}
isInProcesss
=
false
;
}
private
void
SaveAndNext
(
bool
needNext
=
true
)
{
toolTimer
.
Stop
();
if
(
paramInfo
.
PositionList
.
Count
>
0
)
{
LogUtil
.
info
(
LogName
+
"当前第"
+
paramInfo
.
CurrIndex
+
"列运动结束,停止定时器,记录数据"
);
List
<
string
>
strList
=
new
List
<
string
>();
strList
.
Add
(
"编号,旋转轴位置,标准位置,库位差值,升降轴库位出料前点P5,升降轴库位出料缓冲点P6,升降轴库位入料前点P3,升降轴库位入料缓冲点P4"
);
int
index
=
1
;
foreach
(
int
p
in
paramInfo
.
PositionList
)
{
int
P3
=
p
+
paramInfo
.
P3Offset
;
int
P4
=
p
+
paramInfo
.
P4Offset
;
int
P5
=
p
+
paramInfo
.
P5Offset
;
int
P6
=
p
+
paramInfo
.
P6Offset
;
int
cha
=
0
;
if
(
index
>
1
)
{
cha
=
p
-
paramInfo
.
PositionList
[
index
-
2
];
}
string
spilt
=
","
;
string
resultstr
=
index
+
spilt
+
paramInfo
.
GetCurrMiddleP
()+
spilt
+
p
+
spilt
+
cha
+
spilt
+
P5
+
spilt
+
P6
+
spilt
+
P3
+
spilt
+
P4
+
""
;
strList
.
Add
(
resultstr
);
index
++;
}
int
count
=
paramInfo
.
CurrIndex
+
1
;
string
fileName
=
"position"
+
count
+
"_"
+
paramInfo
.
GetCurrMiddleP
()+
".csv"
;
string
filePath
=
paramInfo
.
FileTargetPath
+
fileName
;
try
{
File
.
WriteAllLines
(
filePath
,
strList
.
ToArray
(),
Encoding
.
UTF8
);
LogUtil
.
error
(
LogName
+
"保存位置到文件【"
+
filePath
+
"】成功"
);
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
LogName
+
"保存位置到文件【"
+
filePath
+
"】出错:"
+
ex
.
ToString
());
}
}
else
{
LogUtil
.
info
(
LogName
+
"当前第"
+
paramInfo
.
CurrIndex
+
"列运动结束,停止定时器,暂无点位需要保存"
);
}
if
(
needNext
)
{
int
nextIndex
=
paramInfo
.
CurrIndex
+
1
;
if
(
nextIndex
<
paramInfo
.
MiddlePositionList
.
Count
)
{
LogUtil
.
info
(
LogName
+
"开始下一列点位校准"
);
paramInfo
.
PositionList
=
new
List
<
int
>();
paramInfo
.
CurrIndex
=
nextIndex
;
Start
();
}
else
{
LogUtil
.
info
(
LogName
+
"已经是最后一列,位置校准结束"
);
}
}
//workMoveStatus(true);
}
public
void
StopMove
()
{
SaveAndNext
(
false
);
ACServerManager
.
SuddenStop
(
box
.
Config
.
UpDown_Axis
.
DeviceName
,
box
.
Config
.
UpDown_Axis
.
GetAxisValue
());
ACServerManager
.
SuddenStop
(
box
.
Config
.
InOut_Axis
.
DeviceName
,
box
.
Config
.
InOut_Axis
.
GetAxisValue
());
ACServerManager
.
SuddenStop
(
box
.
Config
.
Middle_Axis
.
DeviceName
,
box
.
Config
.
Middle_Axis
.
GetAxisValue
());
}
public
string
CurrStr
()
{
string
str
=
"位置校准中:"
+
MoveInfo
.
MoveStep
+
" "
+
MoveInfo
.
LastSetpTime
.
ToLongTimeString
()+
"\r\n"
+
"当前第"
+
(
paramInfo
.
CurrIndex
+
1
)
+
"/"
+
paramInfo
.
MiddlePositionList
.
Count
+
"列,已校准库位"
+
paramInfo
.
PositionList
.
Count
+
"个"
;
return
str
;
}
}
public
class
PToolInfo
{
public
int
P3Offset
=
0
;
public
int
P4Offset
=
0
;
public
int
P5Offset
=
0
;
public
int
P6Offset
=
0
;
public
int
UpdownSpeed
=
20
;
/// <summary>
/// 升降轴开始位置
/// </summary>
public
int
UpdownStartPosition
=
0
;
/// <summary>
/// 升降轴目标位置
/// </summary>
public
int
UpdownTargetPosition
=
0
;
/// <summary>
/// 进出轴目标位置
/// </summary>
public
int
InoutTargetPosition
=
0
;
/// <summary>
/// 旋转轴位置
/// </summary>
public
List
<
int
>
MiddlePositionList
=
new
List
<
int
>();
/// <summary>
/// 当前列
/// </summary>
public
int
CurrIndex
=
0
;
public
int
GetCurrMiddleP
()
{
return
MiddlePositionList
[
CurrIndex
];
}
public
string
FileTargetPath
=
""
;
public
List
<
int
>
PositionList
=
new
List
<
int
>();
public
IO_VALUE
LastValue
=
IO_VALUE
.
LOW
;
public
DateTime
LastGetPTime
=
DateTime
.
Now
;
public
string
ParamStr
()
{
string
msgStr
=
"请确认以下对点位参数,点击“确定”按钮开始自动校准点位:\r\n"
;
msgStr
+=
" 进出轴前进位置:"
+
InoutTargetPosition
+
"\r\n"
;
msgStr
+=
" 升降轴开始位置:"
+
UpdownStartPosition
+
",目标位置:"
+
UpdownTargetPosition
+
",速度:"
+
UpdownSpeed
+
"\r\n"
;
msgStr
+=
" 旋转轴位置列表:"
;
foreach
(
int
mP
in
MiddlePositionList
)
{
msgStr
+=
mP
+
","
;
}
if
(
msgStr
.
EndsWith
(
","
))
{
msgStr
=
msgStr
.
Substring
(
0
,
msgStr
.
Length
-
1
);
}
msgStr
+=
"\r\n"
;
msgStr
+=
" 点位偏移量:P3["
+
P3Offset
+
"],P4["
+
P4Offset
+
"],P5["
+
P5Offset
+
"],P6["
+
P6Offset
+
"]\r\n"
;
msgStr
+=
" 文件保存位置:"
+
FileTargetPath
;
return
msgStr
;
}
}
}
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论