Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
刘韬
/
SO491-DUOStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 2fc1e625
由
刘韬
编写于
2021-03-02 14:24:40 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
基本走通出入库流程
1 个父辈
0840e7fe
全部展开
显示空白字符变更
内嵌
并排
正在显示
25 个修改的文件
包含
370 行增加
和
136 行删除
source/DUOStore/App.config
source/DUOStore/FrmAxisMove.Designer.cs
source/DUOStore/FrmAxisMove.cs
source/DUOStore/FrmBox.Designer.cs
source/DUOStore/FrmBox.cs
source/DUOStore/FrmIOStatus.Designer.cs
source/DUOStore/FrmIOStatus.cs
source/DUOStore/FrmStore.cs
source/DeviceLibrary/StoreConfig/BoxConfig_1.csv
source/DeviceLibrary/StoreConfig/BoxConfig_2.csv
source/DeviceLibrary/StoreConfig/StoreConfig.csv
source/DeviceLibrary/StoreConfig/linePositions_1.csv
source/DeviceLibrary/StoreConfig/linePositions_2.csv
source/DeviceLibrary/device/halcon/CodeManager.cs
source/DeviceLibrary/duoStore/BoxBean.cs
source/DeviceLibrary/duoStore/BoxBean_Partial.cs
source/DeviceLibrary/duoStore/BoxBean_Shelf.cs
source/DeviceLibrary/duoStore/DUOStoreBean.cs
source/DeviceLibrary/duoStore/DUOStoreBean_Partial.cs
source/DeviceLibrary/duoStore/EquipBase.cs
source/DeviceLibrary/duoStore/StoreManager.cs
source/DeviceLibrary/store/AutoInoutInfo.cs
source/DeviceLibrary/store/InOutParam.cs
source/DeviceLibrary/store/StoreStep.cs
source/DeviceLibrary/store/model/StoreMoveInfo.cs
source/DUOStore/App.config
查看文件 @
2fc1e62
...
...
@@ -23,6 +23,8 @@
<
add
key
=
"Store_CID"
value
=
"duo-store"
/>
<
add
key
=
"Store_CID_1"
value
=
"duo-1"
/>
<
add
key
=
"Store_CID_2"
value
=
"duo-2"
/>
<
add
key
=
"Store_CID_1_disabled"
value
=
"1"
/>
<
add
key
=
"Store_CID_2_disabled"
value
=
"1"
/>
<!--
end
one
store
config
-->
<
add
key
=
"ACBaudRate"
value
=
"115200"
/>
<
add
key
=
"Config_Pwd"
value
=
"123456"
/>
...
...
source/DUOStore/FrmAxisMove.Designer.cs
查看文件 @
2fc1e62
...
...
@@ -56,6 +56,7 @@ namespace OnlineStore.DUOStore
this
.
txtMiddleP3
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
btnMiddleP3
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
axisMoveControl1
=
new
OnlineStore
.
DUOStore
.
AxisMoveControl
();
this
.
btnSotreReset
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
groupInout
.
SuspendLayout
();
this
.
SuspendLayout
();
//
...
...
@@ -549,11 +550,23 @@ namespace OnlineStore.DUOStore
this
.
axisMoveControl1
.
Size
=
new
System
.
Drawing
.
Size
(
735
,
305
);
this
.
axisMoveControl1
.
TabIndex
=
274
;
//
// btnSotreReset
//
this
.
btnSotreReset
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
this
.
btnSotreReset
.
Location
=
new
System
.
Drawing
.
Point
(
762
,
12
);
this
.
btnSotreReset
.
Name
=
"btnSotreReset"
;
this
.
btnSotreReset
.
Size
=
new
System
.
Drawing
.
Size
(
128
,
39
);
this
.
btnSotreReset
.
TabIndex
=
275
;
this
.
btnSotreReset
.
Text
=
"复位"
;
this
.
btnSotreReset
.
UseVisualStyleBackColor
=
true
;
this
.
btnSotreReset
.
Click
+=
new
System
.
EventHandler
(
this
.
btnSotreReset_Click
);
//
// FrmAxisMove
//
this
.
AutoScaleDimensions
=
new
System
.
Drawing
.
SizeF
(
96F
,
96F
);
this
.
AutoScaleMode
=
System
.
Windows
.
Forms
.
AutoScaleMode
.
Dpi
;
this
.
ClientSize
=
new
System
.
Drawing
.
Size
(
964
,
630
);
this
.
Controls
.
Add
(
this
.
btnSotreReset
);
this
.
Controls
.
Add
(
this
.
groupInout
);
this
.
Controls
.
Add
(
this
.
axisMoveControl1
);
this
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
...
...
@@ -601,6 +614,7 @@ namespace OnlineStore.DUOStore
private
System
.
Windows
.
Forms
.
Button
btnSaveP
;
public
System
.
Windows
.
Forms
.
TextBox
txtT2P4
;
public
System
.
Windows
.
Forms
.
Button
btnT2P4
;
private
System
.
Windows
.
Forms
.
Button
btnSotreReset
;
}
}
source/DUOStore/FrmAxisMove.cs
查看文件 @
2fc1e62
...
...
@@ -184,5 +184,14 @@ namespace OnlineStore.DUOStore
{
AxisABSMove
(
StoreManager
.
Store
.
T2_MiddleAxis
,
txtT2P4
,
StoreManager
.
Store
.
Config
.
MiddleAxis_P4Speed
);
}
private
void
btnSotreReset_Click
(
object
sender
,
EventArgs
e
)
{
if
(
StoreManager
.
Store
.
runStatus
>=
StoreRunStatus
.
HomeMoving
)
{
StoreManager
.
Store
.
ResetLine
();
//btnSotreReset.Enabled = false;
}
}
}
}
source/DUOStore/FrmBox.Designer.cs
查看文件 @
2fc1e62
...
...
@@ -110,6 +110,7 @@ namespace OnlineStore.DUOStore
this
.
btnStoreStart
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
lblWarnMsg
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
lblThisSta
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
chbDisable
=
new
System
.
Windows
.
Forms
.
CheckBox
();
this
.
groupBox4
.
SuspendLayout
();
this
.
groupBox1
.
SuspendLayout
();
this
.
tabControl1
.
SuspendLayout
();
...
...
@@ -1329,11 +1330,25 @@ namespace OnlineStore.DUOStore
this
.
lblThisSta
.
TabIndex
=
216
;
this
.
lblThisSta
.
Text
=
"等待启动"
;
//
// chbDisable
//
this
.
chbDisable
.
Anchor
=
((
System
.
Windows
.
Forms
.
AnchorStyles
)((
System
.
Windows
.
Forms
.
AnchorStyles
.
Top
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Right
)));
this
.
chbDisable
.
AutoSize
=
true
;
this
.
chbDisable
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
chbDisable
.
Location
=
new
System
.
Drawing
.
Point
(
153
,
560
);
this
.
chbDisable
.
Name
=
"chbDisable"
;
this
.
chbDisable
.
Size
=
new
System
.
Drawing
.
Size
(
84
,
24
);
this
.
chbDisable
.
TabIndex
=
273
;
this
.
chbDisable
.
Text
=
"禁用料仓"
;
this
.
chbDisable
.
UseVisualStyleBackColor
=
true
;
this
.
chbDisable
.
CheckedChanged
+=
new
System
.
EventHandler
(
this
.
chbDisable_CheckedChanged
);
//
// FrmBox
//
this
.
AutoScaleDimensions
=
new
System
.
Drawing
.
SizeF
(
96F
,
96F
);
this
.
AutoScaleMode
=
System
.
Windows
.
Forms
.
AutoScaleMode
.
Dpi
;
this
.
ClientSize
=
new
System
.
Drawing
.
Size
(
1084
,
623
);
this
.
Controls
.
Add
(
this
.
chbDisable
);
this
.
Controls
.
Add
(
this
.
groupBox4
);
this
.
Controls
.
Add
(
this
.
chbDebug
);
this
.
Controls
.
Add
(
this
.
lblTemp
);
...
...
@@ -1452,6 +1467,7 @@ namespace OnlineStore.DUOStore
private
System
.
Windows
.
Forms
.
Button
btnSingleOut
;
private
System
.
Windows
.
Forms
.
Button
btnNgPro
;
private
System
.
Windows
.
Forms
.
Label
lblCanOut
;
private
System
.
Windows
.
Forms
.
CheckBox
chbDisable
;
}
}
source/DUOStore/FrmBox.cs
查看文件 @
2fc1e62
...
...
@@ -60,6 +60,8 @@ namespace OnlineStore.DUOStore
acPosition
=
CSVPositionReader
<
ACBoxPosition
>.
GetPositon
(
cmbPosition
.
Text
);
//BoxBean.PositionNumList = positionNumList;
}
chbDisable
.
Checked
=
ConfigAppSettings
.
GetIntValue
(
"Store_CID_"
+
BoxBean
.
ID
+
"_disabled"
)
==
1
?
true
:
false
;
txtMiddleP1
.
Text
=
BoxBean
.
Config
.
MiddleAxis_P1
.
ToString
();
...
...
@@ -80,6 +82,8 @@ namespace OnlineStore.DUOStore
txtTempPort
.
Text
=
BoxBean
.
Config
.
Humiture_Port
;
timer1
.
Start
();
}
#
endregion
...
...
@@ -470,7 +474,7 @@ namespace OnlineStore.DUOStore
}
private
void
btnInoutP11_Click
(
object
sender
,
EventArgs
e
)
{
AxisAbsMove
(
BoxBean
.
Config
.
UpDown
_Axis
,
txtInoutP11
,
BoxBean
.
Config
.
InOutAxis_P11_Speed
);
AxisAbsMove
(
BoxBean
.
Config
.
InOut
_Axis
,
txtInoutP11
,
BoxBean
.
Config
.
InOutAxis_P11_Speed
);
}
private
void
btnMiddleP11_Click
(
object
sender
,
EventArgs
e
)
...
...
@@ -829,5 +833,12 @@ namespace OnlineStore.DUOStore
MessageBox
.
Show
(
"请先启动料仓!"
);
}
}
private
void
chbDisable_CheckedChanged
(
object
sender
,
EventArgs
e
)
{
BoxBean
.
Disabled
=
chbDisable
.
Checked
;
ConfigAppSettings
.
SaveValue
(
"Store_CID_"
+
BoxBean
.
ID
+
"_disabled"
,
chbDisable
.
Checked
?
1
:
0
);
}
}
}
source/DUOStore/FrmIOStatus.Designer.cs
查看文件 @
2fc1e62
...
...
@@ -43,7 +43,6 @@
this
.
tableLayoutPanel2
=
new
System
.
Windows
.
Forms
.
TableLayoutPanel
();
this
.
groupBox3
=
new
System
.
Windows
.
Forms
.
GroupBox
();
this
.
tableLayoutPanel1
=
new
System
.
Windows
.
Forms
.
TableLayoutPanel
();
this
.
button1
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
groupBox1
.
SuspendLayout
();
this
.
groupBox4
.
SuspendLayout
();
this
.
groupBox3
.
SuspendLayout
();
...
...
@@ -58,7 +57,6 @@
//
this
.
groupBox1
.
Anchor
=
((
System
.
Windows
.
Forms
.
AnchorStyles
)(((
System
.
Windows
.
Forms
.
AnchorStyles
.
Top
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Bottom
)
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Left
)));
this
.
groupBox1
.
Controls
.
Add
(
this
.
button1
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
btnForceOutShelf
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
btnCloseAll
);
this
.
groupBox1
.
Controls
.
Add
(
this
.
btnRelax
);
...
...
@@ -396,16 +394,6 @@
this
.
tableLayoutPanel1
.
Size
=
new
System
.
Drawing
.
Size
(
244
,
594
);
this
.
tableLayoutPanel1
.
TabIndex
=
102
;
//
// button1
//
this
.
button1
.
Location
=
new
System
.
Drawing
.
Point
(
34
,
491
);
this
.
button1
.
Name
=
"button1"
;
this
.
button1
.
Size
=
new
System
.
Drawing
.
Size
(
75
,
23
);
this
.
button1
.
TabIndex
=
303
;
this
.
button1
.
Text
=
"button1"
;
this
.
button1
.
UseVisualStyleBackColor
=
true
;
this
.
button1
.
Click
+=
new
System
.
EventHandler
(
this
.
button1_Click_1
);
//
// FrmIOStatus
//
this
.
AutoScaleDimensions
=
new
System
.
Drawing
.
SizeF
(
7F
,
17F
);
...
...
@@ -458,7 +446,6 @@
private
System
.
Windows
.
Forms
.
Button
btnClamp
;
private
System
.
Windows
.
Forms
.
Button
btnCloseAll
;
private
System
.
Windows
.
Forms
.
Button
btnForceOutShelf
;
private
System
.
Windows
.
Forms
.
Button
button1
;
}
}
source/DUOStore/FrmIOStatus.cs
查看文件 @
2fc1e62
...
...
@@ -287,7 +287,7 @@ namespace OnlineStore.DUOStore
private
void
btnStoreOn_Click
(
object
sender
,
EventArgs
e
)
{
BtnMove
(
btn
Camer
Led
,
"打开设备电源"
,
"关闭设备电源"
,
IO_Type
.
Device_Led
);
BtnMove
(
btn
Device
Led
,
"打开设备电源"
,
"关闭设备电源"
,
IO_Type
.
Device_Led
);
}
private
void
btnCloseCyDo_Click
(
object
sender
,
EventArgs
e
)
...
...
@@ -357,16 +357,5 @@ namespace OnlineStore.DUOStore
StoreManager
.
Store
.
LO_31_BatchAxisToP1
();
}
private
void
button1_Click_1
(
object
sender
,
EventArgs
e
)
{
LogUtil
.
info
(
"test"
);
LogUtil
.
info
(
"test2"
);
List
<
string
>
cc
=
CodeManager
.
CameraScan
(
StoreManager
.
Store
.
Config
.
GetCameraList
(),
Name
);
LogUtil
.
info
(
cc
.
Count
().
ToString
());
}
}
}
source/DUOStore/FrmStore.cs
查看文件 @
2fc1e62
...
...
@@ -155,6 +155,7 @@ namespace OnlineStore.DUOStore
if
(!
equip
.
MoveInfo
.
MoveType
.
Equals
(
MoveType
.
None
))
{
s
=
StoreRunStatus
.
Busy
;
if
(
equip
.
MoveInfo
!=
null
&&
equip
.
MoveInfo
.
MoveParam
!=
null
)
trayInfo
=
equip
.
MoveInfo
.
MoveParam
.
ToStr
();
}
SetItemText
(
i
,
item_move_info_index
,
trayInfo
);
...
...
source/DeviceLibrary/StoreConfig/BoxConfig_1.csv
查看文件 @
2fc1e62
类型,分类编号,说明,名称,属性值,设备名称,电器定义,目标速度,加速时间,减速时间,原点低速度,原点高速,原点加速度,脉冲最小误差,脉冲最大误差,脉冲最小限位,脉冲最大限位
AXIS,,L1_旋转轴,Middle_Axis,1,COM
1,,150,1
000,1000,80,60,50,10,1000,0,0
AXIS,,L2_上下轴,UpDown_Axis,2,COM
1,,300,400,4
00,400,400,400,10,1000,0,0
AXIS,,L3_进出轴,InOut_Axis,3,COM
1,,100,300,3
00,20,60,200,10,1000,0,0
AXIS,,L4_压紧轴,Comp_Axis,4,COM
1,,100,300,300,20,60,200,10,1
000,0,0
AXIS,,L1_旋转轴,Middle_Axis,1,COM
2,,150,3
000,1000,80,60,50,10,1000,0,0
AXIS,,L2_上下轴,UpDown_Axis,2,COM
2,,150,3000,10
00,400,400,400,10,1000,0,0
AXIS,,L3_进出轴,InOut_Axis,3,COM
2,,100,3000,10
00,20,60,200,10,1000,0,0
AXIS,,L4_压紧轴,Comp_Axis,4,COM
2,,100,3000,1000,20,60,200,10,10
000,0,0
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,,L2_上下轴_P1待机点/入料口低点,UpDownAxis_P1,
585000
,,,,,,,,,,,,
PRO,,L2_上下轴_P2入料口高点,UpDownAxis_P2,
604500
,,,,,,,,,,,,
PRO,,L1_旋转轴_P1待机点/入料口位置,MiddleAxis_P1,
30720
0,,,,,,,,,,,,
PRO,,L2_上下轴_P1待机点/入料口低点,UpDownAxis_P1,
441828
,,,,,,,,,,,,
PRO,,L2_上下轴_P2入料口高点,UpDownAxis_P2,
449572
,,,,,,,,,,,,
PRO,,L1_旋转轴_P1待机点/入料口位置,MiddleAxis_P1,
9219
0,,,,,,,,,,,,
PRO,,L3_进出轴_P1待机点,InOutAxis_P1,1000,,,,,,,,,,,,
PRO,,L4_压紧轴_P1待机点,CompAxis_P1,140000,,,,,,,,,,,,
PRO,,L4_压紧轴_P3压紧前点,CompAxis_P3,1
80000
,,,,,,,,,,,,
PRO,,L4_压紧轴_P2压紧点范围对应值,CompAxis_P2_List,8=
385001
;12=383001;16=379001;,,,,,,,,,,,,
PRO,,L4_压紧轴_P1待机点,CompAxis_P1,140000,,,,,,
201264
,,,,,,
PRO,,L4_压紧轴_P3压紧前点,CompAxis_P3,1
69106
,,,,,,,,,,,,
PRO,,L4_压紧轴_P2压紧点范围对应值,CompAxis_P2_List,8=
247455
;12=383001;16=379001;,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,,L2_上下轴_P11-出料口-低点,UpDownAxis_P11,
1000000
,,,,,,,,,,,,
PRO,,L2_上下轴_P12-出料口-高点,UpDownAxis_P12,
1023000
,,,,,,,,,,,,
PRO,,L1_旋转轴_P11-出料口位置,MiddleAxis_P11,
30690
0,,,,,,,,,,,,
PRO,,L3_进出轴_P2-入料口取放料点,InOutAxis_P2,1
40800
,,,,,,,,,,,,
PRO,,L3_进出轴_P11-出料口取放料点,InOutAxis_P11,1
48000
,,,,,,,,,,,,
PRO,,L2_上下轴_P11-出料口-低点,UpDownAxis_P11,
284362
,,,,,,,,,,,,
PRO,,L2_上下轴_P12-出料口-高点,UpDownAxis_P12,
293122
,,,,,,,,,,,,
PRO,,L1_旋转轴_P11-出料口位置,MiddleAxis_P11,
29043
0,,,,,,,,,,,,
PRO,,L3_进出轴_P2-入料口取放料点,InOutAxis_P2,1
10339
,,,,,,,,,,,,
PRO,,L3_进出轴_P11-出料口取放料点,InOutAxis_P11,1
10692
,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,,L2_上下轴_P1速度/高速,UpDownAxis_P1_Speed,
6
00,,,,,,,,,,,,
PRO,,L2_上下轴_P2速度/低
速,UpDownAxis_P2_Speed,6
00,,,,,,,,,,,,
PRO,,L2_上下轴_P1速度/高速,UpDownAxis_P1_Speed,
4
00,,,,,,,,,,,,
PRO,,L2_上下轴_P2速度/低
俗,UpDownAxis_P2_Speed,4
00,,,,,,,,,,,,
PRO,,L2_上下轴_P3速度,UpDownAxis_P3_Speed,1000,,, ,,,,,,,,,
PRO,,L2_上下轴_P4速度,UpDownAxis_P4_Speed,200,,,,,,,,,,,,
PRO,,L2_上下轴_P5速度,UpDownAxis_P5_Speed,1000,,,,,,,,,,,,
PRO,,L2_上下轴_P6速度,UpDownAxis_P6_Speed,200,,,,,,,,,,,,
PRO,,L2_上下轴_P7速度,UpDownAxis_P7_Speed,
6
00,,,,,,,,,,,,
PRO,,L2_上下轴_P8速度,UpDownAxis_P8_Speed,
6
00,,,,,,,,,,,,
PRO,,L2_上下轴_P7速度,UpDownAxis_P7_Speed,
2
00,,,,,,,,,,,,
PRO,,L2_上下轴_P8速度,UpDownAxis_P8_Speed,
2
00,,,,,,,,,,,,
PRO,,L1_旋转轴_P1速度,MiddleAxis_P1_Speed,300,,,,,,,,,,,,
PRO,,L1_旋转轴_P2速度,MiddleAxis_P2_Speed,300,,,,,,,,,,,,
PRO,,L3_进出轴_P1速度,InOutAxis_P1_Speed,
3
00,,,,,,,,,,,,
PRO,,L3_进出轴_P2速度,InOutAxis_P2_Speed,
3
00,,,,,,,,,,,,
PRO,,L3_进出轴_P3速度,InOutAxis_P3_Speed,
3
00,,,,,,,,,,,,
PRO,,L3_进出轴_P1速度,InOutAxis_P1_Speed,
1
00,,,,,,,,,,,,
PRO,,L3_进出轴_P2速度,InOutAxis_P2_Speed,
1
00,,,,,,,,,,,,
PRO,,L3_进出轴_P3速度,InOutAxis_P3_Speed,
1
00,,,,,,,,,,,,
PRO,,L4_压紧轴_P1速度,CompAxis_P1_Speed,400,,,,,,,,,,,,
PRO,,L4_压紧轴_P2速度,CompAxis_P2_Speed,400,,,,,,,,,,,,
PRO,,L4_压紧轴_P3速度,CompAxis_P3_Speed,400,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,,L2_上下轴_P11速度
/低速,UpDownAxis_P11_Speed,6
00,,,,,,,,,,,,
PRO,,L2_上下轴_P12速度
/高速,UpDownAxis_P12_Speed,6
00,,,,,,,,,,,,
PRO,,L3_进出轴_P11速度,InOutAxis_P11_Speed,
3
00,,,,,,,,,,,,
PRO,,L1_旋转轴_P11速度,MiddleAxis_P11_Speed,
3
00,,,,,,,,,,,,
PRO,,L2_上下轴_P11速度
,UpDownAxis_P11_Speed,2
00,,,,,,,,,,,,
PRO,,L2_上下轴_P12速度
,UpDownAxis_P12_Speed,2
00,,,,,,,,,,,,
PRO,,L3_进出轴_P11速度,InOutAxis_P11_Speed,
2
00,,,,,,,,,,,,
PRO,,L1_旋转轴_P11速度,MiddleAxis_P11_Speed,
2
00,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,,温湿度端口号,Humiture_Port,COM
5
,,,,,,,,,,,,
PRO,,温湿度端口号,Humiture_Port,COM
3
,,,,,,,,,,,,
PRO,,是否是调试状态,IsInDebug,0,,,,,,,,,,,,
source/DeviceLibrary/StoreConfig/BoxConfig_2.csv
查看文件 @
2fc1e62
类型,分类编号,说明,名称,属性值,设备名称,电器定义,目标速度,加速时间,减速时间,原点低速度,原点高速,原点加速度,脉冲最小误差,脉冲最大误差,脉冲最小限位,脉冲最大限位
AXIS,,R1_旋转轴,Middle_Axis,1,COM
2,,250,1000,1
000,80,60,50,10,1000,0,0
AXIS,,R2_上下轴,UpDown_Axis,2,COM
2,,300,400,4
00,400,400,400,10,1000,0,0
AXIS,,R3_进出轴,InOut_Axis,3,COM
2,,100,300,3
00,20,60,200,10,1000,0,0
AXIS,,R4_压紧轴,Comp_Axis,4,COM
2,,100,300,3
00,20,60,200,10,1000,0,0
AXIS,,R1_旋转轴,Middle_Axis,1,COM
1,,150,3000,3
000,80,60,50,10,1000,0,0
AXIS,,R2_上下轴,UpDown_Axis,2,COM
1,,150,3000,30
00,400,400,400,10,1000,0,0
AXIS,,R3_进出轴,InOut_Axis,3,COM
1,,100,3000,30
00,20,60,200,10,1000,0,0
AXIS,,R4_压紧轴,Comp_Axis,4,COM
1,,100,3000,30
00,20,60,200,10,1000,0,0
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,,R2_上下轴_P1待机点/扫码放料低点,UpDownAxis_P1,
585000
,,,,,,,,,,,,
PRO,,R2_上下轴_P2扫码放料高点缓冲点,UpDownAxis_P2,
604500
,,,,,,,,,,,,
PRO,,R1_旋转轴_P1待机点/扫码放料点,MiddleAxis_P1,
307200
,,,,,,,,,,,,
PRO,,R2_上下轴_P1待机点/扫码放料低点,UpDownAxis_P1,
445039
,,,,,,,,,,,,
PRO,,R2_上下轴_P2扫码放料高点缓冲点,UpDownAxis_P2,
450927
,,,,,,,,,,,,
PRO,,R1_旋转轴_P1待机点/扫码放料点,MiddleAxis_P1,
634099
,,,,,,,,,,,,
PRO,,R3_进出轴_P1待机点,InOutAxis_P1,1000,,,,,,,,,,,,
PRO,,R4_压紧轴_P1待机点,CompAxis_P1,140000,,,,,,,,,,,,
PRO,,R4_压紧轴_P3压紧前点,CompAxis_P3,1
80000
,,,,,,,,,,,,
PRO,,R4_压紧轴_P2压紧点范围对应值,CompAxis_P2_List,8=2
01264;12=383001;16=379001
;,,,,,,,,,,,,
PRO,,R4_压紧轴_P1待机点,CompAxis_P1,140000,,,,,,
231158
,,,,,,
PRO,,R4_压紧轴_P3压紧前点,CompAxis_P3,1
72009
,,,,,,,,,,,,
PRO,,R4_压紧轴_P2压紧点范围对应值,CompAxis_P2_List,8=2
40064;12=215074;16=196749
;,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,,R2_上下轴_P11-出料口-低点,UpDownAxis_P11,
1000000
,,,,,,,,,,,,
PRO,,R2_上下轴_P12-出料口-高点,UpDownAxis_P12,
1023000
,,,,,,,,,,,,
PRO,,R1_旋转轴_P11-出料口位置,MiddleAxis_P11,
306900
,,,,,,,,,,,,
PRO,,R3_进出轴_P2-入料口取放料点,InOutAxis_P2,1
40800
,,,,,,,,,,,,
PRO,,R3_进出轴_P11-出料口取放料点,InOutAxis_P11,1
48000
,,,,,,,,,,,,
PRO,,R2_上下轴_P11-出料口-低点,UpDownAxis_P11,
278888
,,,,,,,,,,,,
PRO,,R2_上下轴_P12-出料口-高点,UpDownAxis_P12,
290434
,,,,,,,,,,,,
PRO,,R1_旋转轴_P11-出料口位置,MiddleAxis_P11,
434114
,,,,,,,,,,,,
PRO,,R3_进出轴_P2-入料口取放料点,InOutAxis_P2,1
10339
,,,,,,,,,,,,
PRO,,R3_进出轴_P11-出料口取放料点,InOutAxis_P11,1
10339
,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,,R2_上下轴_P1速度/高速,UpDownAxis_P1_Speed,
6
00,,,,,,,,,,,,
PRO,,R2_上下轴_P2速度/低速,UpDownAxis_P2_Speed,
6
00,,,,,,,,,,,,
PRO,,R2_上下轴_P1速度/高速,UpDownAxis_P1_Speed,
4
00,,,,,,,,,,,,
PRO,,R2_上下轴_P2速度/低速,UpDownAxis_P2_Speed,
4
00,,,,,,,,,,,,
PRO,,R2_上下轴_P3速度,UpDownAxis_P3_Speed,1000,,, ,,,,,,,,,
PRO,,R2_上下轴_P4速度,UpDownAxis_P4_Speed,200,,,,,,,,,,,,
PRO,,R2_上下轴_P5速度,UpDownAxis_P5_Speed,1000,,,,,,,,,,,,
PRO,,R2_上下轴_P6速度,UpDownAxis_P6_Speed,200,,,,,,,,,,,,
PRO,,R2_上下轴_P7速度,UpDownAxis_P7_Speed,
6
00,,,,,,,,,,,,
PRO,,R2_上下轴_P8速度,UpDownAxis_P8_Speed,
6
00,,,,,,,,,,,,
PRO,,R2_上下轴_P7速度,UpDownAxis_P7_Speed,
2
00,,,,,,,,,,,,
PRO,,R2_上下轴_P8速度,UpDownAxis_P8_Speed,
2
00,,,,,,,,,,,,
PRO,,R1_旋转轴_P1速度,MiddleAxis_P1_Speed,300,,,,,,,,,,,,
PRO,,R1_旋转轴_P2速度,MiddleAxis_P2_Speed,300,,,,,,,,,,,,
PRO,,R3_进出轴_P1速度,InOutAxis_P1_Speed,
3
00,,,,,,,,,,,,
PRO,,R3_进出轴_P2速度,InOutAxis_P2_Speed,
3
00,,,,,,,,,,,,
PRO,,R3_进出轴_P3速度,InOutAxis_P3_Speed,
3
00,,,,,,,,,,,,
PRO,,R3_进出轴_P1速度,InOutAxis_P1_Speed,
1
00,,,,,,,,,,,,
PRO,,R3_进出轴_P2速度,InOutAxis_P2_Speed,
1
00,,,,,,,,,,,,
PRO,,R3_进出轴_P3速度,InOutAxis_P3_Speed,
1
00,,,,,,,,,,,,
PRO,,R4_压紧轴_P1速度,CompAxis_P1_Speed,400,,,,,,,,,,,,
PRO,,R4_压紧轴_P2速度,CompAxis_P2_Speed,400,,,,,,,,,,,,
PRO,,R4_压紧轴_P3速度,CompAxis_P3_Speed,400,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,,R2_上下轴_P11速度
/低速,UpDownAxis_P11_Speed,6
00,,,,,,,,,,,,
PRO,,R2_上下轴_P12速度
/高速,UpDownAxis_P12_Speed,6
00,,,,,,,,,,,,
PRO,,R3_进出轴_P11速度,InOutAxis_P11_Speed,
3
00,,,,,,,,,,,,
PRO,,R1_旋转轴_P11速度,MiddleAxis_P11_Speed,
3
00,,,,,,,,,,,,
PRO,,R2_上下轴_P11速度
,UpDownAxis_P11_Speed,2
00,,,,,,,,,,,,
PRO,,R2_上下轴_P12速度
,UpDownAxis_P12_Speed,2
00,,,,,,,,,,,,
PRO,,R3_进出轴_P11速度,InOutAxis_P11_Speed,
2
00,,,,,,,,,,,,
PRO,,R1_旋转轴_P11速度,MiddleAxis_P11_Speed,
2
00,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,,温湿度端口号,Humiture_Port,COM
5
,,,,,,,,,,,,
PRO,,温湿度端口号,Humiture_Port,COM
4
,,,,,,,,,,,,
PRO,,是否是调试状态,IsInDebug,0,,,,,,,,,,,,
source/DeviceLibrary/StoreConfig/StoreConfig.csv
查看文件 @
2fc1e62
类型,分类编号,说明,名称,属性值,设备名称,电器定义,目标速度,加速时间,减速时间,原点低速度,原点高速,原点加速度,脉冲最小误差,脉冲最大误差,脉冲最小限位,脉冲最大限位
AXIS,,T1_提升机构升降轴,T1_Batch_Axis,1,COM
3,,250,500,500,100,200,10
00,10,1000,0,0
AXIS,,T2_取料机构旋转轴,T2_Middle_Axis,2,COM
3,,1000,1000,1000,200,500,50
0,10,1000,0,0
AXIS,,T3_取料机构上下轴,T3_Updown_Axis,3,COM
3,,800,1000,1000,200,500,
500,10,1000,0,0
AXIS,,T1_提升机构升降轴,T1_Batch_Axis,1,COM
6,,600,1500,1500,100,300,15
00,10,1000,0,0
AXIS,,T2_取料机构旋转轴,T2_Middle_Axis,2,COM
6,,250,1000,1000,70,250,75
0,10,1000,0,0
AXIS,,T3_取料机构上下轴,T3_Updown_Axis,3,COM
6,,500,1500,1500,100,500,1
500,10,1000,0,0
,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,,IO模块对应的DI数量,IO_DILength,192.168.20
1.21#16;192.168.201
.22#16;192.168.200.23#8,,,,,,,,,,,,
PRO,,IO模块对应的DO数量,IO_DOLength,192.168.20
1.21#16;192.168.201
.22#16;192.168.200.23#8,,,,,,,,,,,,
PRO,,IO模块对应的DI数量,IO_DILength,192.168.20
0.21#16;192.168.200
.22#16;192.168.200.23#8,,,,,,,,,,,,
PRO,,IO模块对应的DO数量,IO_DOLength,192.168.20
0.21#16;192.168.200
.22#16;192.168.200.23#8,,,,,,,,,,,,
PRO,,第一块IO模块IP,PRO_AIO_IP_1,192.168.200.21,,,,,,,,,,,,
PRO,,第二块IO模块IP,PRO_AIO_IP_2,192.168.200.22,,,,,,,,,,,,
PRO,,第三块IO模块IP,PRO_AIO_IP_3,192.168.200.23,,,,,,,,,,,,
...
...
@@ -59,8 +59,8 @@ DI,2,右侧出料口安全光栅,OutDoor_SafeSignal,10,PRO_AIO_IP_2,X31,,,,,,,,,,
DI,2,右侧暂存区料盘检测,InDoor_Check,11,PRO_AIO_IP_2,X32,,,,,,,,,,
DI,2,右侧出料口门上升/打开端,OutDoor_Up,12,PRO_AIO_IP_2,X33,,,,,,,,,,
DI,2,右侧出料口门下降/关闭端,OutDoor_Down,13,PRO_AIO_IP_2,X34,,,,,,,,,,
DI,2,右侧料叉料盘检测,
Fixture_Check,14
,PRO_AIO_IP_2,X35,,,,,,,,,,
DI,2,右侧出料口料盘检测,
OutDoor_Check,15
,PRO_AIO_IP_2,X36,,,,,,,,,,
DI,2,右侧料叉料盘检测,
OutDoor_Check,15
,PRO_AIO_IP_2,X35,,,,,,,,,,
DI,2,右侧出料口料盘检测,
Fixture_Check,14
,PRO_AIO_IP_2,X36,,,,,,,,,,
,,,,,,,,,,,,,,,,
DO,2,右侧料仓伺服ON,Axis_Run,0,PRO_AIO_IP_2,Y21,,,,,,,,,,
DO,0,取料机构伺服ON,MoveAxis_Run,1,PRO_AIO_IP_2,Y22,,,,,,,,,,
...
...
@@ -97,27 +97,27 @@ DO,0,设备内部照明ON,Device_Led,2,PRO_AIO_IP_3,Y43,,,,,,,,,,
,0,,,6,PRO_AIO_IP_3,Y47,,,,,,,,,,
,0,,,7,PRO_AIO_IP_3,Y48,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,T1_提升轴待机点 P1,BatchAxis_P1,500
0
,,,,, ,,,,,,,
PRO,0,T1_提升轴上升目标点_P2,BatchAxis_P2,
4000
,,,,, ,,,,,,,
PRO,0,T1_提升轴P1速度,BatchAxis_P1Speed,
40
00,,,,,,,,,,,,
PRO,0,T1_提升轴P2速度,BatchAxis_P2Speed,
5
00,,,,, ,,,,,,,
PRO,0,T1_提升轴待机点 P1,BatchAxis_P1,500,,,,, ,,,,,,,
PRO,0,T1_提升轴上升目标点_P2,BatchAxis_P2,
3148341
,,,,, ,,,,,,,
PRO,0,T1_提升轴P1速度,BatchAxis_P1Speed,
8
00,,,,,,,,,,,,
PRO,0,T1_提升轴P2速度,BatchAxis_P2Speed,
4
00,,,,, ,,,,,,,
PRO,0,T1_提升轴高度转换系数(1mm对应的脉冲),BatchAxis_ChangeValue,11000,,,,,,,,,,,,
,,,,,,,,,,,,,,,,T2_旋转轴_料串取放料点P4:
PRO,0,T2_旋转轴待机点/取放料点 P1,MiddleAxis_P1,5000,,,,,,,,,,,,
PRO,0,T2_旋转轴左侧料仓取放料点_P2,MiddleAxis_P2,59002,,,,,,,,,,,,
PRO,0,T2_旋转轴右侧料仓取放料点_P3,MiddleAxis_P3,59003,,,,,,,,,,,,
PRO,0,T2_旋转轴_料串取放料点_P4,MiddleAxis_P4,59004,,,,,,,,,,,,
PRO,0,T2_旋转轴P1速度,MiddleAxis_P1Speed,500,,,,,,,,,,,,
PRO,0,T2_旋转轴P2速度,MiddleAxis_P2Speed,500,,,,,,,,,,,,
PRO,0,T2_旋转轴P3速度,MiddleAxis_P3Speed,500,,,,,,,,,,,,
PRO,0,T2_旋转轴P4速度,MiddleAxis_P4Speed,500,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,T3_升降轴料串取放料低点 P1,UpdownAxis_P1,5000,,,,,,,,,,,,
PRO,0,T3_升降轴料串取放料高点/待机点 P2,UpdownAxis_P2,5001,,,,,,,,,,,,
PRO,0,T3_升降轴左侧料仓取放料低点 P3,UpdownAxis_P3,5002,,,,,,,,,,,,
PRO,0,T3_升降轴左侧料仓取放料高点 P4,UpdownAxis_P4,5003,,,,,,,,,,,,
PRO,0,T3_升降轴右侧料仓取放料低点 P5,UpdownAxis_P5,5004,,,,,,,,,,,,
PRO,0,T3_升降轴右侧料仓取放料高点 P6,UpdownAxis_P6,5005,,,,,,,,,,,,
PRO,0,T2_旋转轴待机点/取放料点 P1,MiddleAxis_P1,18422,,,,,,,,,,,,
PRO,0,T2_旋转轴左侧料仓取放料点_P2,MiddleAxis_P2,66376,,,,,,,,,,,,
PRO,0,T2_旋转轴右侧料仓取放料点_P3,MiddleAxis_P3,-1500,,,,,,,,,,,,
PRO,0,T2_旋转轴_料串取放料点_P4,MiddleAxis_P4,32842,,,,,,,,,,,,
PRO,0,T2_旋转轴P1速度,MiddleAxis_P1Speed,100,,,,,,,,,,,,
PRO,0,T2_旋转轴P2速度,MiddleAxis_P2Speed,100,,,,,,,,,,,,
PRO,0,T2_旋转轴P3速度,MiddleAxis_P3Speed,100,,,,,,,,,,,,
PRO,0,T2_旋转轴P4速度,MiddleAxis_P4Speed,100,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,T3_升降轴料串取放料低点 P1,UpdownAxis_P1,123352,,,,,,,,,,,,
PRO,0,T3_升降轴料串取放料高点/待机点 P2,UpdownAxis_P2,0,,,,,,,,,,,,
PRO,0,T3_升降轴左侧料仓取放料低点 P3,UpdownAxis_P3,137140,,,,,,,,,,,,
PRO,0,T3_升降轴左侧料仓取放料高点 P4,UpdownAxis_P4,0,,,,,,,,,,,,
PRO,0,T3_升降轴右侧料仓取放料低点 P5,UpdownAxis_P5,117616,,,,,,,,,,,,
PRO,0,T3_升降轴右侧料仓取放料高点 P6,UpdownAxis_P6,0,,,,,,,,,,,,
PRO,0,T2_升降轴P1速度/慢速度,UpdownAxis_P1Speed,500,,,,,,,,,,,,
PRO,0,T2_升降轴P2速度/快速度,UpdownAxis_P2Speed,501,,,,,,,,,,,,
PRO,0,T2_升降轴P3速度/慢速度,UpdownAxis_P3Speed,502,,,,,,,,,,,,
...
...
@@ -139,5 +139,5 @@ PRO,,两次吹气间隔(分钟),BlowAir_Interval,10,,,,,,,,,,,,
,,,,,,,,,,,,,,,,
PRO,0,是否调试状态(1=调试,0=正常),IsDebug,1,,,,,,,,,,,,
PRO,,气压检测IO关闭需要持续的时间,AirCheckSeconds,3,,,,,,,,,,,,
PRO,,所有料仓的CID(用#号分隔),All_CIDs,
packing-1#packing
-2,,,,,,,,,,,,
PRO,,扫码的相机名称(多个用#分隔),CameraNameList,GigE:MV-CE200-10GC (00
D76546875)
,,,,,,,,,,,,
PRO,,所有料仓的CID(用#号分隔),All_CIDs,
duo-1,duo
-2,,,,,,,,,,,,
PRO,,扫码的相机名称(多个用#分隔),CameraNameList,GigE:MV-CE200-10GC (00
E45255378)#
,,,,,,,,,,,,
source/DeviceLibrary/StoreConfig/linePositions_1.csv
查看文件 @
2fc1e62
此文件的差异被折叠,
点击展开。
source/DeviceLibrary/StoreConfig/linePositions_2.csv
查看文件 @
2fc1e62
此文件的差异太大,无法显示。
source/DeviceLibrary/device/halcon/CodeManager.cs
查看文件 @
2fc1e62
...
...
@@ -142,7 +142,7 @@ namespace OnlineStore.DeviceLibrary
string
r
=
""
;
List
<
CodeInfo
>
tlci
=
EyemDecode
.
Decoder
(
ref
bmp
);
List
<
CodeInfo
>
tlci
=
EyemDecode
.
Decoder
(
ref
bmp
,
null
,
15
);
foreach
(
CodeInfo
code
in
tlci
)
{
...
...
source/DeviceLibrary/duoStore/BoxBean.cs
查看文件 @
2fc1e62
...
...
@@ -30,6 +30,8 @@ namespace OnlineStore.DeviceLibrary
public
AxisBean
ComAxis
=
null
;
public
AxisBean
InoutAxis
=
null
;
public
bool
Disabled
=
false
;
/// <summary>
/// 出料口最后一盘料信息,0=暂无,1=单盘出库料亮绿灯,2=入库NG料亮红灯
/// </summary>
...
...
@@ -109,6 +111,12 @@ namespace OnlineStore.DeviceLibrary
LogUtil
.
error
(
Name
+
"启动失败:设备未初始化完成"
);
return
false
;
}
if
(
Disabled
)
{
WarnMsg
=
"启动失败:设备被禁用"
;
LogUtil
.
error
(
Name
+
"启动失败:设备被禁用"
);
return
false
;
}
LogInfo
(
"开始启动,启动时间:"
+
StartTime
.
ToString
());
AutoInout
.
StopAuto
();
mainTimer
.
Enabled
=
false
;
...
...
@@ -168,6 +176,8 @@ namespace OnlineStore.DeviceLibrary
public
override
void
Reset
(
bool
isNeedClearAuto
=
true
)
{
if
(
Disabled
)
return
;
AutoInout
.
ClearCount
();
//复位之前先停止运行
if
(
isNeedClearAuto
)
...
...
@@ -296,6 +306,7 @@ namespace OnlineStore.DeviceLibrary
else
if
(
runStatus
.
Equals
(
StoreRunStatus
.
Runing
))
{
ShowTimeLog
(
"判断是否需要出入库"
);
AutoResetProcess
();
ShowTimeLog
(
"AutoResetProcess"
);
IOTimeOutProcess
();
...
...
@@ -321,6 +332,7 @@ namespace OnlineStore.DeviceLibrary
try
{
bool
noInStore
=
MoveInfo
.
MoveType
.
Equals
(
MoveType
.
None
)
&&
alarmType
.
Equals
(
AlarmType
.
None
);
//LogInfo($"判断是否需要出入库noInStore={noInStore},MoveInfo.MoveType={MoveInfo.MoveType},InDoor_Check={IOValue(IO_Type.InDoor_Check)},waitInStoreParam={waitInStoreParam},IsDebug={IsDebug}");
if
(
AutoInout
.
CurrInOutACount
>=
StoreManager
.
Config
.
Box_ResetACount
&&
noInStore
)
{
if
(
runStatus
<
StoreRunStatus
.
Runing
||
MoveInfo
.
MoveType
==
MoveType
.
InStore
||
MoveInfo
.
MoveType
==
MoveType
.
OutStore
)
...
...
@@ -334,7 +346,36 @@ namespace OnlineStore.DeviceLibrary
}
return
;
}
else
if
(
waitInStoreParam
!=
null
&&
noInStore
&&
IsDebug
.
Equals
(
false
))
else
if
(
IOValue
(
IO_Type
.
OutDoor_Check
).
Equals
(
IO_VALUE
.
HIGH
)
&&
noInStore
&&
IsDebug
.
Equals
(
false
))
{
LogInfo
(
"发现紧急出口有料"
);
InOutParam
inOutParam
=
new
InOutParam
(
MoveType
.
InStore
);
inOutParam
.
InStoreNg
=
true
;
inOutParam
.
TargetPosition
=
1
;
inOutParam
.
moveType
=
MoveType
.
InStore
;
StoreManager
.
LoadInoutParam
(
inOutParam
,
MoveType
.
InStore
,
true
,
this
);
runStatus
=
StoreRunStatus
.
Busy
;
storeStatus
=
StoreStatus
.
InStoreExecute
;
MoveInfo
.
NewMove
(
MoveType
.
InStore
,
inOutParam
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SI_24_PurReel
);
//InoutAxis.AbsMove(MoveInfo, Config.InOutAxis_P1, Config.InOutAxis_P1_Speed);
}
else
if
(
false
&&
IOValue
(
IO_Type
.
Fixture_Check
).
Equals
(
IO_VALUE
.
HIGH
)
&&
noInStore
&&
IsDebug
.
Equals
(
false
))
{
LogInfo
(
"发现料叉上有料"
);
InOutParam
inOutParam
=
new
InOutParam
(
MoveType
.
InStore
);
inOutParam
.
InStoreNg
=
true
;
inOutParam
.
TargetPosition
=
1
;
inOutParam
.
moveType
=
MoveType
.
InStore
;
StoreManager
.
LoadInoutParam
(
inOutParam
,
MoveType
.
InStore
,
true
,
this
);
runStatus
=
StoreRunStatus
.
Busy
;
storeStatus
=
StoreStatus
.
InStoreExecute
;
MoveInfo
.
NewMove
(
MoveType
.
InStore
,
inOutParam
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
SI_04_GetReel
);
//InoutAxis.AbsMove(MoveInfo, Config.InOutAxis_P1, Config.InOutAxis_P1_Speed);
}
else
if
(
waitInStoreParam
!=
null
&&
IOValue
(
IO_Type
.
InDoor_Check
).
Equals
(
IO_VALUE
.
HIGH
)
&&
noInStore
&&
IsDebug
.
Equals
(
false
))
{
if
(!
StartInStoreMove
(
waitInStoreParam
))
{
...
...
@@ -346,6 +387,22 @@ namespace OnlineStore.DeviceLibrary
waitInStoreParam
=
null
;
}
}
else
if
(
waitInStoreParam
==
null
&&
IOValue
(
IO_Type
.
InDoor_Check
).
Equals
(
IO_VALUE
.
HIGH
)
&&
noInStore
&&
IsDebug
.
Equals
(
false
))
{
InOutParam
inOutParam
=
new
InOutParam
(
MoveType
.
InStore
);
inOutParam
.
InStoreNg
=
true
;
inOutParam
.
TargetPosition
=
1
;
if
(!
StartInStoreMove
(
inOutParam
))
{
LogInfo
(
"执行无信息NG入库失败"
);
}
else
{
LogInfo
(
"执行无信息NG紧急口出料成功,清理缓存"
);
//waitInStoreParam = null;
}
}
else
if
(
waitOutStoreList
.
Count
>
0
&&
noInStore
&&
IsDebug
.
Equals
(
false
))
{
InOutParam
param
=
null
;
...
...
@@ -381,7 +438,7 @@ namespace OnlineStore.DeviceLibrary
public
bool
OpenAllAxis
(
bool
isCheck
)
{
return
RunMultiAxis
(
true
,
IO_Type
.
Axis_Run
,
IO_Type
.
UpdownAxis_Break
,
new
AxisBean
[]
{
MiddleAxis
,
UpdownAxis
,
InoutAxis
,
ComAxis
});
return
RunMultiAxis
(
isCheck
,
IO_Type
.
Axis_Run
,
IO_Type
.
UpdownAxis_Break
,
new
AxisBean
[]
{
MiddleAxis
,
UpdownAxis
,
InoutAxis
,
ComAxis
});
}
public
void
CloseAllAxis
()
{
...
...
source/DeviceLibrary/duoStore/BoxBean_Partial.cs
查看文件 @
2fc1e62
此文件的差异被折叠,
点击展开。
source/DeviceLibrary/duoStore/BoxBean_Shelf.cs
查看文件 @
2fc1e62
...
...
@@ -177,7 +177,7 @@ namespace OnlineStore.DeviceLibrary
}
if
(
resultOperation
.
op
.
Equals
(
1
))
{
//
ReviceInStoreProcess("", resultOperation);
//ReviceInStoreProcess("", resultOperation);
}
else
if
(
resultOperation
.
op
.
Equals
(
2
))
{
...
...
@@ -198,6 +198,58 @@ namespace OnlineStore.DeviceLibrary
}
}
public
bool
ReviceInStoreCMD
(
string
posId
,
int
plateH
,
int
plateW
,
string
message
)
{
string
logName
=
"入库库位验证【 "
+
message
+
"】【"
+
posId
+
"】:"
;
try
{
if
(
runStatus
.
Equals
(
StoreRunStatus
.
Wait
))
{
LogUtil
.
info
(
logName
+
" 设备未启动,验证失败"
);
return
false
;
}
//发送扫码内容到服务器进行入库操作
Operation
operation
=
getLineBoxStatus
();
operation
.
op
=
1
;
operation
.
data
=
new
Dictionary
<
string
,
string
>()
{
{
"code"
,
message
},
{
"boxId"
,
this
.
ID
.
ToString
()
}};
operation
.
data
.
Add
(
"inPos"
,
posId
);
string
server
=
ConfigAppSettings
.
GetValue
(
Setting_Init
.
http_server
);
for
(
int
i
=
1
;
i
<=
3
;
i
++)
{
bool
timeOut
=
false
;
Operation
resultOperation
=
HttpHelper
.
PostOperation
(
StoreManager
.
GetPostApi
(
server
),
operation
);
if
(
timeOut
)
{
LogUtil
.
info
(
logName
+
" 第"
+
i
+
"次发送超时 "
);
continue
;
}
if
(
resultOperation
==
null
)
{
// CodeMsg = "二维码【" + message + "】没有收到服务器反馈";
LogUtil
.
info
(
logName
+
" 没有收到服务器反馈 "
);
}
else
if
(!
string
.
IsNullOrEmpty
(
resultOperation
.
msg
))
{
//如果有提示消息,直接显示提示
LogUtil
.
info
(
logName
+
"服务器反馈 :"
+
resultOperation
.
msg
);
}
else
if
(
resultOperation
.
op
.
Equals
(
1
))
{
LogUtil
.
info
(
logName
+
" 成功"
);
return
true
;
}
break
;
}
}
catch
(
Exception
ex
)
{
LogUtil
.
info
(
logName
+
" 出错:"
+
ex
.
ToString
());
}
return
false
;
}
private
void
ReviceOutStoreProcess
(
Operation
resultOperation
)
{
...
...
@@ -260,7 +312,7 @@ namespace OnlineStore.DeviceLibrary
reviceList
=
(
from
m
in
reviceList
where
m
.
PosID
.
Equals
(
posId
)
select
m
).
ToList
<
InOutParam
>();
if
(
reviceList
.
Count
>
0
)
{
LogUtil
.
error
(
Name
+
" 出库命令【"
+
inoutParam
.
ToStr
()
+
"】重复,排队列表中已存在【"
+
reviceList
[
0
].
ToStr
()
+
"】"
);
LogUtil
.
error
(
Name
+
" 出库命令【"
+
inoutParam
.
ToStr
()
+
"】重复,排队列表中已存在【"
+
reviceList
[
0
].
ToStr
()
+
"】"
+
reviceList
.
Count
);
continue
;
}
...
...
source/DeviceLibrary/duoStore/DUOStoreBean.cs
查看文件 @
2fc1e62
...
...
@@ -58,7 +58,8 @@ namespace OnlineStore.DeviceLibrary
foreach
(
BOX_Config
config
in
configList
.
Values
)
{
BoxBean
equip
=
new
BoxBean
(
config
);
bool
boxDisable
=
ConfigAppSettings
.
GetIntValue
(
"Store_CID_"
+
config
.
Id
+
"_disabled"
)
==
1
?
true
:
false
;
equip
.
Disabled
=
boxDisable
;
AddDeviceName
(
ioList
,
config
.
IOIPList
);
BoxMap
.
Add
(
config
.
Id
,
equip
);
BoxConfigMap
.
Add
(
config
.
Id
,
config
);
...
...
@@ -74,7 +75,7 @@ namespace OnlineStore.DeviceLibrary
CurrShelfNum
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
CurrShelfNum
);
CurrShelfType
=
ConfigAppSettings
.
GetIntValue
(
Setting_Init
.
CurrShelfType
);
UpdateShelfNum
(
-
1
,
-
1
);
UpdateShelfNum
(
CurrShelfNum
,
CurrShelfType
);
Task
.
Factory
.
StartNew
(
delegate
{
// RFIDManager.RfidReader.Open(rfidList.ToArray());
...
...
@@ -149,7 +150,7 @@ namespace OnlineStore.DeviceLibrary
}
return
false
;
}
bool
boxreset
=
true
;
public
override
void
Reset
(
bool
isNeedClearAuto
=
true
)
{
mainTimer
.
Enabled
=
false
;
...
...
@@ -163,7 +164,7 @@ namespace OnlineStore.DeviceLibrary
}
runStatus
=
StoreRunStatus
.
Reset
;
StartResetMove
();
boxreset
=
true
;
foreach
(
BoxBean
equip
in
BoxMap
.
Values
)
{
if
(!
equip
.
alarmType
.
Equals
(
AlarmType
.
None
))
...
...
@@ -178,6 +179,21 @@ namespace OnlineStore.DeviceLibrary
}
mainTimer
.
Enabled
=
true
;
}
public
void
ResetLine
()
{
mainTimer
.
Enabled
=
false
;
boxreset
=
false
;
//停止运动
MoveInfo
.
EndMove
();
if
(!
OpenAllAxis
(
true
))
{
LogInfo
(
"复位时打开轴失败,需要再次复位,直接报警停止复位"
);
return
;
}
runStatus
=
StoreRunStatus
.
Reset
;
StartResetMove
();
mainTimer
.
Enabled
=
true
;
}
private
void
StartResetMove
()
{
mainTimer
.
Enabled
=
false
;
...
...
@@ -265,10 +281,18 @@ namespace OnlineStore.DeviceLibrary
else
if
(
MoveInfo
.
IsStep
(
StoreMoveStep
.
LR_07_WaitBox
))
{
bool
isOk
=
true
;
if
(!
boxreset
)
{
LogUtil
.
info
(
Name
+
"线体重置完成"
);
MoveEndP
();
return
;
}
//判断是否所有的已经返回完成
string
msg
=
"等待BOX复位完成超时"
;
foreach
(
BoxBean
box
in
this
.
BoxMap
.
Values
)
{
if
(
box
.
Disabled
)
continue
;
if
((
box
.
runStatus
.
Equals
(
StoreRunStatus
.
HomeMoving
)
||
box
.
runStatus
.
Equals
(
StoreRunStatus
.
Reset
)))
//if ((box.storeRunStatus.Equals(StoreRunStatus.HomeMoving) || box.storeRunStatus.Equals(StoreRunStatus.Reset)) && box.IsDebug.Equals(false))
{
...
...
@@ -421,6 +445,21 @@ namespace OnlineStore.DeviceLibrary
{
IOMove
(
IO_Type
.
Alarm_HddLed
,
IO_VALUE
.
LOW
);
}
if
(
IOValue
(
IO_Type
.
Line_OutCheck
).
Equals
(
IO_VALUE
.
HIGH
))
{
//IOMove(IO_Type.LineOut_Led, IO_VALUE.HIGH);
}
else
{
//IOMove(IO_Type.LineOut_Led, IO_VALUE.LOW);
}
if
(
IOValue
(
IO_Type
.
Line_InCheck
).
Equals
(
IO_VALUE
.
LOW
))
{
//IOMove(IO_Type.LineIn_Led, IO_VALUE.HIGH);
}
else
{
//IOMove(IO_Type.LineIn_Led, IO_VALUE.LOW);
}
}
catch
(
Exception
ex
)
...
...
@@ -586,12 +625,35 @@ namespace OnlineStore.DeviceLibrary
private
void
LineOut_BTN_Process
()
{
if
(
IOValue
(
IO_Type
.
LineOut_BTN
).
Equals
(
IO_VALUE
.
HIGH
)
&&
IOValue
(
IO_Type
.
Line_OutCheck
).
Equals
(
IO_VALUE
.
HIGH
))
if
(
IOValue
(
IO_Type
.
LineOut_BTN
).
Equals
(
IO_VALUE
.
LOW
))
return
;
if
(
IOValue
(
IO_Type
.
Line_OutCheck
).
Equals
(
IO_VALUE
.
HIGH
))
{
IOMove
(
IO_Type
.
Line_Run
,
IO_VALUE
.
HIGH
,
false
,
3
000
);
IOMove
(
IO_Type
.
Line_Run
,
IO_VALUE
.
HIGH
,
false
,
4
000
);
IOMove
(
IO_Type
.
Line_Stop4_Out
,
IO_VALUE
.
HIGH
,
false
,
1000
);
LogUtil
.
info
(
Name
+
"脚踩按钮,放行区放行"
);
}
if
(
IOValue
(
IO_Type
.
Line_OutCheck
).
Equals
(
IO_VALUE
.
LOW
)
&&
IOValue
(
IO_Type
.
Line_BufferCheck
).
Equals
(
IO_VALUE
.
LOW
)
&&
IOValue
(
IO_Type
.
Line_WorkCheck
).
Equals
(
IO_VALUE
.
HIGH
)
&&
IOValue
(
IO_Type
.
Hoister_Back
).
Equals
(
IO_VALUE
.
HIGH
)
)
{
IOMove
(
IO_Type
.
Line_Run
,
IO_VALUE
.
HIGH
,
false
,
3000
);
IOMove
(
IO_Type
.
Line_Stop2_Work
,
IO_VALUE
.
HIGH
,
false
,
2000
);
LogUtil
.
info
(
Name
+
"脚踩按钮,工作区放行"
);
}
bool
box1stay
=
BoxMap
[
1
].
runStatus
==
StoreRunStatus
.
Runing
||
BoxMap
[
1
].
runStatus
==
StoreRunStatus
.
Wait
;
bool
box2stay
=
BoxMap
[
2
].
runStatus
==
StoreRunStatus
.
Runing
||
BoxMap
[
2
].
runStatus
==
StoreRunStatus
.
Wait
;
bool
shelfstay
=
StoreManager
.
Store
.
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
LO_09_WaitOut
);
if
(
box1stay
&&
box2stay
&&
shelfstay
)
{
//OutstoreEndSendShelf = true;
LO_31_BatchAxisToP1
();
LogUtil
.
info
(
Name
+
"脚踩按钮,出库强制放行"
);
}
}
private
bool
LowProcess
=
false
;
...
...
source/DeviceLibrary/duoStore/DUOStoreBean_Partial.cs
查看文件 @
2fc1e62
此文件的差异被折叠,
点击展开。
source/DeviceLibrary/duoStore/EquipBase.cs
查看文件 @
2fc1e62
...
...
@@ -170,6 +170,7 @@ namespace OnlineStore.DeviceLibrary
internal
void
MoveEndP
()
{
MoveInfo
.
EndMove
();
runStatus
=
StoreRunStatus
.
Runing
;
storeStatus
=
StoreStatus
.
StoreOnline
;
if
(
alarmType
.
Equals
(
AlarmType
.
None
))
...
...
source/DeviceLibrary/duoStore/StoreManager.cs
查看文件 @
2fc1e62
...
...
@@ -86,8 +86,10 @@ namespace OnlineStore.DeviceLibrary
string
config
=
appPath
+
moveEquipConfig
.
Replace
(
".csv"
,
"_"
+
nameStr
+
".csv"
);
string
storeIdConfig
=
Setting_Init
.
Store_CID
+
"_"
+
i
;
string
boxCid
=
ConfigAppSettings
.
GetValue
(
storeIdConfig
);
BOX_Config
moveConfig
=
CSVConfigReader
.
LoadBoxConfig
(
i
,
boxCid
,
"BOX"
,
config
);
moveConfig
.
SetIO
(
i
);
AllConfigMap
.
Add
(
i
,
moveConfig
);
storeConfig
.
Add
(
i
,
moveConfig
);
}
...
...
@@ -216,6 +218,13 @@ namespace OnlineStore.DeviceLibrary
p
.
UpDown_P2
=
box
.
Config
.
UpDownAxis_P2
;
// p.UpDown_P7 = box.Config.UpDownAxis_DoorOBPosition_P7;
if
(
param
.
TargetPosition
==
1
)
{
p
.
ComPress_P2
=
box
.
Config
.
GetComP2
(
param
.
PlateH
);
p
.
ComPress_P3
=
box
.
Config
.
CompAxis_P3
;
}
else
{
ACBoxPosition
position
=
CSVPositionReader
<
ACBoxPosition
>.
GetPositon
(
param
.
PosID
);
if
(
position
==
null
)
{
...
...
@@ -226,11 +235,13 @@ namespace OnlineStore.DeviceLibrary
LogUtil
.
error
(
box
.
Name
+
"GetPositon["
+
param
.
PosID
+
"]=null,没有库位不能执行出入库"
);
return
false
;
}
if
(
param
.
PlateH
<=
0
)
if
(
param
.
PlateH
<=
0
)
{
param
.
PlateH
=
position
.
BagHigh
;
}
if
(
param
.
PlateW
<=
0
)
if
(
param
.
PlateW
<=
0
)
{
param
.
PlateW
=
position
.
BagWidth
;
}
...
...
@@ -242,6 +253,7 @@ namespace OnlineStore.DeviceLibrary
p
.
UpDown_P4
=
position
.
UpdownAxis_IL_P4
;
p
.
UpDown_P5
=
position
.
UpdownAxis_OH_P5
;
p
.
UpDown_P6
=
position
.
UpdownAxis_OL_P6
;
}
param
.
MoveP
=
p
;
...
...
@@ -372,7 +384,7 @@ namespace OnlineStore.DeviceLibrary
string
cids
=
""
;
foreach
(
int
k
in
Store
.
BoxMap
.
Keys
)
{
if
(
Store
.
BoxMap
[
k
].
runStatus
>
StoreRunStatus
.
Wait
)
if
(
Store
.
BoxMap
[
k
].
runStatus
>
StoreRunStatus
.
Wait
&&
Store
.
BoxMap
[
k
].
IOValue
(
IO_Type
.
InDoor_Check
).
Equals
(
IO_VALUE
.
LOW
)
)
{
cids
+=
Store
.
BoxMap
[
k
].
CID
+
","
;
}
...
...
@@ -424,22 +436,26 @@ namespace OnlineStore.DeviceLibrary
if
(
Store
.
BoxMap
.
ContainsKey
(
storeId
))
{
BoxBean
box
=
Store
.
BoxMap
[
storeId
];
if
(
box
.
IsReviceInPosId
(
posId
))
if
(
false
||
box
.
IsReviceInPosId
(
posId
))
{
result
.
Param
.
InStoreNg
=
true
;
result
.
Param
.
NgMsg
=
"入库库位重复"
;
result
.
Msg
=
deviceName
+
(
"收到入库命令:"
+
"入库库位重复: "
+
result
.
Param
.
ToStr
()
+
" ,入库失败!"
);
return
result
;
}
LogUtil
.
info
(
deviceName
+
"收到入库命令: "
+
result
.
Param
.
ToStr
()
+
" "
);
if
(!
box
.
StartInStoreMove
(
result
.
Param
))
{
if
(
box
.
waitInStoreParam
==
null
)
{
result
.
Msg
=
deviceName
+
(
"收到入库命令:"
+
"启动入库失败,缓存到waitInStoreList等待稍后入库: "
+
result
.
Param
.
ToStr
()
+
" "
);
box
.
waitInStoreParam
=
result
.
Param
;
}
}
result
.
Param
.
InStoreNg
=
false
;
result
.
Msg
=
""
;
return
result
;
//if (!box.StartInStoreMove(result.Param))
//{
// if (box.waitInStoreParam == null)
// {
// result.Msg = deviceName + ("收到入库命令:" + "启动入库失败,缓存到waitInStoreList等待稍后入库: " + result.Param.ToStr() + " ");
// box.waitInStoreParam = result.Param;
// }
//}
}
else
{
...
...
@@ -456,6 +472,7 @@ namespace OnlineStore.DeviceLibrary
}
return
result
;
}
//public static void SendPosToStoreCheck(string deviceName, InOutParam param)
//{
// if (param == null || param.InStoreNg)
...
...
source/DeviceLibrary/store/AutoInoutInfo.cs
查看文件 @
2fc1e62
...
...
@@ -55,7 +55,7 @@ namespace OnlineStore.DeviceLibrary
}
if
(
storeMoveType
.
Equals
(
MoveType
.
InStore
))
{
int
newIndex
=
positionIndex
;
int
newIndex
=
positionIndex
-
Jiange
;
if
(
newIndex
<
0
)
{
if
(
startIndex
>=
0
&&
startIndex
<
boxBean
.
PositionNumList
.
Count
)
...
...
@@ -92,7 +92,7 @@ namespace OnlineStore.DeviceLibrary
}
else
if
(
storeMoveType
.
Equals
(
MoveType
.
OutStore
))
{
int
newIndex
=
positionIndex
-
Jiange
;
int
newIndex
=
positionIndex
;
if
(
newIndex
<
0
)
{
if
(
startIndex
>=
0
&&
startIndex
<
boxBean
.
PositionNumList
.
Count
)
...
...
source/DeviceLibrary/store/InOutParam.cs
查看文件 @
2fc1e62
...
...
@@ -3,8 +3,10 @@ using OnlineStore.Common;
using
OnlineStore.LoadCSVLibrary
;
using
System
;
using
System.Collections.Generic
;
using
System.IO
;
using
System.Linq
;
using
System.Reflection
;
using
System.Runtime.Serialization.Formatters.Binary
;
using
System.Text
;
...
...
@@ -150,6 +152,16 @@ namespace OnlineStore.DeviceLibrary
}
}
public
InOutParam
clone
()
{
return
(
InOutParam
)
this
.
MemberwiseClone
();
/*
MemoryStream stream = new MemoryStream();
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(stream, this);
stream.Position = 0;
return formatter.Deserialize(stream) as InOutParam;*/
}
}
}
source/DeviceLibrary/store/StoreStep.cs
查看文件 @
2fc1e62
...
...
@@ -276,7 +276,10 @@ namespace OnlineStore.DeviceLibrary
/// </summary>
SO_12_WaitTrayGo
,
SO_14_InoutToP1
,
SO_15_AxisBack
,
SO_16_InoutToP2
,
SO_17_GetReel
,
/// <summary>
/// 单盘出库:移动到出料口,旋转轴到P11,升降轴到P12高点
/// </summary>
...
...
@@ -599,6 +602,7 @@ namespace OnlineStore.DeviceLibrary
///送出料架, 流水线停止转动,
/// </summary>
LO_37_LineStop
,
#
endregion
}
...
...
source/DeviceLibrary/store/model/StoreMoveInfo.cs
查看文件 @
2fc1e62
...
...
@@ -87,7 +87,7 @@ namespace OnlineStore.DeviceLibrary
{
param
=
new
InOutParam
(
type
);
}
this
.
MoveParam
=
param
;
this
.
MoveParam
=
param
.
clone
()
;
LastSetpTime
=
DateTime
.
Now
;
WaitList
=
new
List
<
WaitResultInfo
>();
}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论