Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
ACSquareStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 007a0c22
由
LN
编写于
2020-03-31 15:58:06 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
左右侧出入库测试修改
1 个父辈
b6325a73
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
153 行增加
和
96 行删除
source/ACSquareStore/FrmStoreBox.Designer.cs
source/ACSquareStore/FrmStoreBox.cs
source/DeviceLibrary/acSquareStore/Square_BoxBean.cs
source/DeviceLibrary/acSquareStore/Square_BoxBean_Partial.cs
source/DeviceLibrary/store/StoreStep.cs
source/ACSquareStore/FrmStoreBox.Designer.cs
查看文件 @
007a0c2
...
...
@@ -154,6 +154,7 @@
this
.
btnTempInit
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
tabControl2
=
new
System
.
Windows
.
Forms
.
TabControl
();
this
.
tabPage4
=
new
System
.
Windows
.
Forms
.
TabPage
();
this
.
chbUseTrayCheck
=
new
System
.
Windows
.
Forms
.
CheckBox
();
this
.
btnStoreExit
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnStoreHome
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnSotreReset
=
new
System
.
Windows
.
Forms
.
Button
();
...
...
@@ -170,7 +171,6 @@
this
.
button4
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnClearL
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
btnLogDebug
=
new
System
.
Windows
.
Forms
.
Button
();
this
.
chbUseTrayCheck
=
new
System
.
Windows
.
Forms
.
CheckBox
();
this
.
groupAxis
.
SuspendLayout
();
this
.
groupBox1
.
SuspendLayout
();
this
.
groupInout
.
SuspendLayout
();
...
...
@@ -1004,6 +1004,7 @@
this
.
btnInOutP3
.
Text
=
"Y-进出轴右侧点P3:"
;
this
.
btnInOutP3
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleLeft
;
this
.
btnInOutP3
.
UseVisualStyleBackColor
=
false
;
this
.
btnInOutP3
.
Click
+=
new
System
.
EventHandler
(
this
.
btnInOutP3_Click
);
//
// lblTemp
//
...
...
@@ -1466,7 +1467,7 @@
this
.
btnInOutP4
.
Text
=
"Y-进出轴库位点P4:"
;
this
.
btnInOutP4
.
TextAlign
=
System
.
Drawing
.
ContentAlignment
.
MiddleLeft
;
this
.
btnInOutP4
.
UseVisualStyleBackColor
=
false
;
this
.
btnInOutP4
.
Click
+=
new
System
.
EventHandler
(
this
.
btnInOutP
3
_Click
);
this
.
btnInOutP4
.
Click
+=
new
System
.
EventHandler
(
this
.
btnInOutP
4
_Click
);
//
// btnMiddleP2
//
...
...
@@ -1880,6 +1881,19 @@
this
.
tabPage4
.
Text
=
" 料仓操作 "
;
this
.
tabPage4
.
UseVisualStyleBackColor
=
true
;
//
// chbUseTrayCheck
//
this
.
chbUseTrayCheck
.
Anchor
=
((
System
.
Windows
.
Forms
.
AnchorStyles
)((
System
.
Windows
.
Forms
.
AnchorStyles
.
Top
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Right
)));
this
.
chbUseTrayCheck
.
AutoSize
=
true
;
this
.
chbUseTrayCheck
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
chbUseTrayCheck
.
Location
=
new
System
.
Drawing
.
Point
(
699
,
12
);
this
.
chbUseTrayCheck
.
Name
=
"chbUseTrayCheck"
;
this
.
chbUseTrayCheck
.
Size
=
new
System
.
Drawing
.
Size
(
112
,
24
);
this
.
chbUseTrayCheck
.
TabIndex
=
272
;
this
.
chbUseTrayCheck
.
Text
=
"启用物料检测"
;
this
.
chbUseTrayCheck
.
UseVisualStyleBackColor
=
true
;
this
.
chbUseTrayCheck
.
CheckedChanged
+=
new
System
.
EventHandler
(
this
.
chbUseTrayCheck_CheckedChanged
);
//
// btnStoreExit
//
this
.
btnStoreExit
.
FlatStyle
=
System
.
Windows
.
Forms
.
FlatStyle
.
Flat
;
...
...
@@ -2076,19 +2090,6 @@
this
.
btnLogDebug
.
UseVisualStyleBackColor
=
true
;
this
.
btnLogDebug
.
Click
+=
new
System
.
EventHandler
(
this
.
开启
DEBUGToolStripMenuItem_Click
);
//
// chbUseTrayCheck
//
this
.
chbUseTrayCheck
.
Anchor
=
((
System
.
Windows
.
Forms
.
AnchorStyles
)((
System
.
Windows
.
Forms
.
AnchorStyles
.
Top
|
System
.
Windows
.
Forms
.
AnchorStyles
.
Right
)));
this
.
chbUseTrayCheck
.
AutoSize
=
true
;
this
.
chbUseTrayCheck
.
Font
=
new
System
.
Drawing
.
Font
(
"微软雅黑"
,
10.5F
,
System
.
Drawing
.
FontStyle
.
Regular
,
System
.
Drawing
.
GraphicsUnit
.
Point
,
((
byte
)(
134
)));
this
.
chbUseTrayCheck
.
Location
=
new
System
.
Drawing
.
Point
(
699
,
12
);
this
.
chbUseTrayCheck
.
Name
=
"chbUseTrayCheck"
;
this
.
chbUseTrayCheck
.
Size
=
new
System
.
Drawing
.
Size
(
112
,
24
);
this
.
chbUseTrayCheck
.
TabIndex
=
272
;
this
.
chbUseTrayCheck
.
Text
=
"启用物料检测"
;
this
.
chbUseTrayCheck
.
UseVisualStyleBackColor
=
true
;
this
.
chbUseTrayCheck
.
CheckedChanged
+=
new
System
.
EventHandler
(
this
.
chbUseTrayCheck_CheckedChanged
);
//
// FrmStoreBox
//
this
.
AutoScaleDimensions
=
new
System
.
Drawing
.
SizeF
(
96F
,
96F
);
...
...
source/ACSquareStore/FrmStoreBox.cs
查看文件 @
007a0c2
...
...
@@ -172,14 +172,14 @@ namespace OnlineStore.ACSquareStore
lblTemp
.
Text
=
store
.
currTempStr
;
if
(
store
.
StoreMove
.
MoveType
.
Equals
(
StoreMoveType
.
InStore
)
||
store
.
StoreMove
.
MoveType
.
Equals
(
StoreMoveType
.
OutStore
))
{
lblMoveEquipInfo
.
Text
=
store
.
StoreMove
.
MoveParam
.
PosInfo
.
ToStr
()+
""
;
lblMoveEquipInfo
.
Text
=
store
.
StoreMove
.
MoveParam
.
PosInfo
.
ToStr
()
+
""
;
}
else
{
lblMoveEquipInfo
.
Text
=
""
;
}
// lblMoveEquipInfo.Text = "移栽状态:" + (LineConnect.CanStartOut() ? "可出库" : "不可出库") + " " + LineConnect.LastUpdateTime.ToLongTimeString();
// lblMoveEquipInfo.Text = "移栽状态:" + (LineConnect.CanStartOut() ? "可出库" : "不可出库") + " " + LineConnect.LastUpdateTime.ToLongTimeString();
//忙碌状态不读取状态
if
(!
store
.
storeRunStatus
.
Equals
(
StoreRunStatus
.
Busy
))
{
...
...
@@ -224,16 +224,16 @@ namespace OnlineStore.ACSquareStore
}
lblWarnMsg
.
Text
=
store
.
WarnMsg
;
if
(
IOManager
.
IOValue
(
IO_Type
.
DoorLimit_L
).
Equals
(
IO_VALUE
.
LOW
))
{
lblWarnMsg
.
Text
=
lblWarnMsg
.
Text
+
" 前门未关"
;
}
if
(
IOManager
.
IOValue
(
IO_Type
.
DoorLimit_B
).
Equals
(
IO_VALUE
.
LOW
))
{
lblWarnMsg
.
Text
=
lblWarnMsg
.
Text
+
" 后门未关"
;
}
if
(
IOManager
.
IOValue
(
IO_Type
.
DoorLimit_L
).
Equals
(
IO_VALUE
.
LOW
))
{
lblWarnMsg
.
Text
=
lblWarnMsg
.
Text
+
" 前门未关"
;
}
if
(
IOManager
.
IOValue
(
IO_Type
.
DoorLimit_B
).
Equals
(
IO_VALUE
.
LOW
))
{
lblWarnMsg
.
Text
=
lblWarnMsg
.
Text
+
" 后门未关"
;
}
//如果不在出入库中,且叉子上有信号,需要提示检查叉子
if
(
store
.
storeRunStatus
.
Equals
(
StoreRunStatus
.
Runing
)
&&
IOManager
.
IOValue
(
IO_Type
.
TrayCheck_Fixture
).
Equals
(
IO_VALUE
.
HIGH
))
{
...
...
@@ -247,7 +247,7 @@ namespace OnlineStore.ACSquareStore
{
lblWarnMsg
.
Text
=
lblWarnMsg
.
Text
+
" 温湿度报警["
+
store
.
TempAlarmTime
.
ToLongTimeString
()
+
"]"
;
}
if
(
store
.
autoNext
)
{
string
msg
=
store
.
autoMsg
;
...
...
@@ -290,8 +290,8 @@ namespace OnlineStore.ACSquareStore
btnOpenLDoor
.
BackColor
=
Color
.
Aqua
;
}
else
{
btnOpenLDoor
.
Text
=
"左侧门锁-打开"
;
{
btnOpenLDoor
.
Text
=
"左侧门锁-打开"
;
btnOpenLDoor
.
BackColor
=
Color
.
White
;
}
if
(
IOManager
.
IOValue
(
IO_Type
.
RightDoor_Close
).
Equals
(
IO_VALUE
.
HIGH
))
...
...
@@ -412,7 +412,12 @@ namespace OnlineStore.ACSquareStore
{
LineMoveP
ktk
=
new
LineMoveP
();
ktk
.
InOut_P1
=
FormUtil
.
GetIntValue
(
txtInOutP1
);
ktk
.
InOut_P2
=
FormUtil
.
GetIntValue
(
txtInOutP2
);
if
(
rdbRight
.
Checked
)
{
ktk
.
InOut_P2
=
FormUtil
.
GetIntValue
(
txtInOutP3
);
}
ktk
.
InOut_P4
=
FormUtil
.
GetIntValue
(
txtInOutP4
);
ktk
.
Middle_P1
=
FormUtil
.
GetIntValue
(
txtMiddleP1
);
ktk
.
Middle_P2
=
FormUtil
.
GetIntValue
(
txtMiddleP2
);
...
...
@@ -791,7 +796,7 @@ namespace OnlineStore.ACSquareStore
private
void
btnInOutP3_Click
(
object
sender
,
EventArgs
e
)
{
int
value
=
FormUtil
.
GetIntValue
(
txtInOutP
4
);
int
value
=
FormUtil
.
GetIntValue
(
txtInOutP
3
);
AxisABSMove
(
store
.
Config
.
InOut_Axis
,
value
,
store
.
Config
.
InOutAxis_P3_Speed
);
}
...
...
@@ -1305,5 +1310,11 @@ namespace OnlineStore.ACSquareStore
ConfigAppSettings
.
SaveValue
(
Setting_Init
.
UseTrayCheck
,
chbUseTrayCheck
.
Checked
?
1
:
0
);
LogUtil
.
info
(
"点击:启用物料检测 = "
+
chbUseTrayCheck
.
Checked
);
}
private
void
btnInOutP4_Click
(
object
sender
,
EventArgs
e
)
{
int
value
=
FormUtil
.
GetIntValue
(
txtInOutP4
);
AxisABSMove
(
store
.
Config
.
InOut_Axis
,
value
,
store
.
Config
.
InOutAxis_P4_Speed
);
}
}
}
source/DeviceLibrary/acSquareStore/Square_BoxBean.cs
查看文件 @
007a0c2
...
...
@@ -113,6 +113,24 @@ namespace OnlineStore.DeviceLibrary
Alarm
(
StoreAlarmType
.
SuddenStop
,
"1"
,
WarnMsg
,
StoreMoveType
.
None
);
}
}
else
if
(
IOManager
.
IOValue
(
IO_Type
.
DoorLimit_L
).
Equals
(
IO_VALUE
.
LOW
))
{
isInSuddenDown
=
true
;
LogUtil
.
error
(
LOGGER
,
StoreName
+
"前门打开 ,报警急停"
);
WarnMsg
=
StoreName
+
"前门打开,报警急停"
;
//报警时会关闭所有轴
Alarm
(
StoreAlarmType
.
SuddenStop
,
"1"
,
WarnMsg
,
StoreMoveType
.
None
);
}
else
if
(
IOManager
.
IOValue
(
IO_Type
.
DoorLimit_B
).
Equals
(
IO_VALUE
.
LOW
))
{
isInSuddenDown
=
true
;
LogUtil
.
error
(
LOGGER
,
StoreName
+
"后门打开,报警急停"
);
WarnMsg
=
StoreName
+
"后门打开,报警急停"
;
//报警时会关闭所有轴
Alarm
(
StoreAlarmType
.
SuddenStop
,
"1"
,
WarnMsg
,
StoreMoveType
.
None
);
}
}
}
...
...
@@ -149,22 +167,24 @@ namespace OnlineStore.DeviceLibrary
IO_VALUE
suddenBtn
=
IOManager
.
IOValue
(
IO_Type
.
SuddenStop_BTN
);
IO_VALUE
airCheck
=
IOManager
.
IOValue
(
IO_Type
.
Airpressure_Check
);
//if (suddenBtn == IO_VALUE.HIGH)
//if (suddenBtn == IO_VALUE.HIGH)
if
(
suddenBtn
.
Equals
(
IO_VALUE
.
HIGH
)
&&
(
airCheck
.
Equals
(
IO_VALUE
.
HIGH
)
||
Config
.
HasDoor
.
Equals
(
0
)))
{
//lastAirValue = airCheck;
lastAirCloseTime
=
DateTime
.
Now
;
if
(!
RunAxis
(
true
))
{
return
false
;
}
string
doorMsg
=
DoorIsClose
();
if
(!
String
.
IsNullOrEmpty
(
doorMsg
))
{
WarnMsg
=
"启动失败:"
+
doorMsg
;
LogUtil
.
error
(
StoreName
+
WarnMsg
);
return
false
;
}
if
(!
RunAxis
(
true
))
{
return
false
;
}
//TODO 启动时先所有轴远点返回,测试暂时关闭
storeRunStatus
=
StoreRunStatus
.
HomeMoving
;
storeStatus
=
StoreStatus
.
ResetMove
;
...
...
@@ -421,6 +441,14 @@ namespace OnlineStore.DeviceLibrary
{
return
"右侧门未关"
;
}
if
(!
IOManager
.
IOValue
(
IO_Type
.
DoorLimit_L
).
Equals
(
IO_VALUE
.
HIGH
))
{
return
"前门未关"
;
}
if
(!
IOManager
.
IOValue
(
IO_Type
.
DoorLimit_B
).
Equals
(
IO_VALUE
.
HIGH
))
{
return
"后门未关"
;
}
return
""
;
}
public
void
OpenDoor
(
int
type
=
1
,
StoreMoveInfo
moveInfo
=
null
)
...
...
source/DeviceLibrary/acSquareStore/Square_BoxBean_Partial.cs
查看文件 @
007a0c2
...
...
@@ -176,10 +176,10 @@ namespace OnlineStore.DeviceLibrary
{
wait
.
IsEnd
=
IOManager
.
IOValue
(
wait
.
IoType
).
Equals
(
wait
.
IoValue
);
int
timeOutMs
=
Config
.
IOSingle_TimerOut
;
if
(
StoreMove
.
MoveStep
.
Equals
(
StoreMoveStep
.
SO_15_WaitTake
))
{
timeOutMs
=
650000
;
}
//
if (StoreMove.MoveStep.Equals(StoreMoveStep.SO_15_WaitTake))
//
{
//
timeOutMs = 650000;
//
}
if
((!
wait
.
IsEnd
)
&&
span
.
TotalMilliseconds
>
timeOutMs
)
{
ConfigIO
io
=
Config
.
getWaitIO
(
wait
.
IoType
);
...
...
@@ -360,7 +360,7 @@ namespace OnlineStore.DeviceLibrary
InStoreLog
(
"入库:SI_07 叉子 从入料口抽出,进出轴至P1(待机点) "
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_07_InoutBack
);
InOutBackToP1
(
moveP
.
InOut_P1
);
}
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SI_07_InoutBack
)
{
InStoreLog
(
"入库:SI_08 判断是否拿到物料"
);
...
...
@@ -376,15 +376,15 @@ namespace OnlineStore.DeviceLibrary
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
RightShelf_Check
,
IO_VALUE
.
LOW
));
}
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
TrayCheck_Fixture
,
IO_VALUE
.
HIGH
));
}
}
}
}
//判断是否拿到料
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SI_08_WaitShelfDI
)
{
InStoreLog
(
"入库:SI_09 移动到库位点,前后轴至P2(库位点),"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_09_MoveToBag
);
ACAxisMove
(
Config
.
Middle_Axis
,
moveP
.
Middle_P2
,
Config
.
MiddleAxis_P2_Speed
);
// ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P3, Config.UpDownAxis_P3_Speed);
// ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P3, Config.UpDownAxis_P3_Speed);
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SI_09_MoveToBag
)
{
...
...
@@ -432,13 +432,22 @@ namespace OnlineStore.DeviceLibrary
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SI_14_CheckTrayIsGo
)
{
InStoreLog
(
"入库:SI_15 升降轴
,前后轴
返回待机点 ,托架前进"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_15_
Go
Back
);
ACAxisMove
(
Config
.
Middle_Axis
,
moveP
.
Middle_P1
,
Config
.
MiddleAxis_P1_Speed
);
InStoreLog
(
"入库:SI_15 升降轴
返回待机点 ,托架前进"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_15_
Updown
Back
);
//
ACAxisMove(Config.Middle_Axis, moveP.Middle_P1, Config.MiddleAxis_P1_Speed);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P1
,
Config
.
UpDownAxis_P1_Speed
);
ShelfForward
(
StoreMove
.
MoveParam
.
PosInfo
.
ShelfType
);
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SI_15_GoBack
)
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SI_15_UpdownBack
)
{
InStoreLog
(
"入库:SI_15 前后轴 返回待机点 "
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SI_16_GoBack
);
ACAxisMove
(
Config
.
Middle_Axis
,
moveP
.
Middle_P1
,
Config
.
MiddleAxis_P1_Speed
);
// ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P1, Config.UpDownAxis_P1_Speed);
// ShelfForward(StoreMove.MoveParam.PosInfo.ShelfType);
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SI_16_GoBack
)
{
TimeSpan
span
=
DateTime
.
Now
-
startInStoreTime
;
string
posId
=
StoreMove
.
MoveParam
!=
null
?
StoreMove
.
MoveParam
.
PosInfo
.
PosId
:
""
;
...
...
@@ -573,18 +582,26 @@ namespace OnlineStore.DeviceLibrary
LogUtil
.
error
(
CodeMsg
);
}
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_08_
ToDoorPosition
);
OutStoreLog
(
"出库:SO_08
走到料门口,前后轴至P1(待机点)
升降轴至P2(进料口出料前点), 托架后退 "
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_08_
UpdownBack
);
OutStoreLog
(
"出库:SO_08 升降轴至P2(进料口出料前点), 托架后退 "
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P2
,
Config
.
UpDownAxis_P2_Speed
);
ACAxisMove
(
Config
.
Middle_Axis
,
moveP
.
Middle_P1
,
Config
.
MiddleAxis_P1_Speed
);
//
ACAxisMove(Config.Middle_Axis, moveP.Middle_P1, Config.MiddleAxis_P1_Speed);
ShelfBack
(
StoreMove
.
MoveParam
.
PosInfo
.
ShelfType
,
StoreMove
);
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_08_ToDoorPosition
)
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_08_UpdownBack
)
{
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_09_ToDoorPosition
);
OutStoreLog
(
"出库:SO_09 前后轴至P1(待机点) "
);
// ACAxisMove(Config.UpDown_Axis, moveP.UpDown_P2, Config.UpDownAxis_P2_Speed);
ACAxisMove
(
Config
.
Middle_Axis
,
moveP
.
Middle_P1
,
Config
.
MiddleAxis_P1_Speed
);
// ShelfBack(StoreMove.MoveParam.PosInfo.ShelfType, StoreMove);
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_09_ToDoorPosition
)
{
//SO_10_DeviceToDoorPro();
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_
09
_WaitNoTray
);
OutStoreLog
(
"出库:SO_
09
_WaitNoTray 等待托架无料 "
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_
10
_WaitNoTray
);
OutStoreLog
(
"出库:SO_
10
_WaitNoTray 等待托架无料 "
);
if
(
StoreMove
.
MoveParam
.
PosInfo
.
ShelfType
.
Equals
(
1
))
{
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
LeftShelf_Check
,
IO_VALUE
.
LOW
));
...
...
@@ -595,26 +612,28 @@ namespace OnlineStore.DeviceLibrary
}
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_09_WaitNoTray
)
{
SO_10_DeviceToDoorPro
();
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_10_WaitNoTray
)
{
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_11_DeviceToDoor
);
OutStoreLog
(
"出库:SO_11 叉子进出料口,进出轴至P2(进料口取料点) "
);
ACAxisMove
(
Config
.
InOut_Axis
,
moveP
.
InOut_P2
,
Config
.
InOutAxis_P2_Speed
);
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_1
0
_DeviceToDoor
)
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_1
1
_DeviceToDoor
)
{
OutStoreLog
(
"出库:SO_1
1
放下物品,升降轴至P8(进料口出料缓冲点) "
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_1
1
_DevicePutWare
);
OutStoreLog
(
"出库:SO_1
2
放下物品,升降轴至P8(进料口出料缓冲点) "
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_1
2
_DevicePutWare
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P8
,
Config
.
UpDownAxis_P8_Speed
);
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_1
1
_DevicePutWare
)
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_1
2
_DevicePutWare
)
{
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_1
2
_DeviceOutFromDoor
);
OutStoreLog
(
"出库:SO_1
2
叉子从出料口返回,,进出轴动作至P1(待机点) "
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_1
3
_DeviceOutFromDoor
);
OutStoreLog
(
"出库:SO_1
3
叉子从出料口返回,,进出轴动作至P1(待机点) "
);
InOutBackToP1
(
moveP
.
InOut_P1
);
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_1
2
_DeviceOutFromDoor
)
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_1
3
_DeviceOutFromDoor
)
{
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_1
3
_CheckShelfDI
);
OutStoreLog
(
"出库:SO_1
3
判断物料信号是否正确 "
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_1
4
_CheckShelfDI
);
OutStoreLog
(
"出库:SO_1
4
判断物料信号是否正确 "
);
if
(
StoreManager
.
UseShelfCheck
)
{
if
(
StoreMove
.
MoveParam
.
PosInfo
.
ShelfType
.
Equals
(
1
))
...
...
@@ -628,15 +647,15 @@ namespace OnlineStore.DeviceLibrary
StoreMove
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
TrayCheck_Fixture
,
IO_VALUE
.
LOW
));
}
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_1
3
_CheckShelfDI
)
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_1
4
_CheckShelfDI
)
{
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_1
4
_GoBack
);
OutStoreLog
(
"出库:SO_1
4
升降轴到P1(待机点) ,托架前进,打开门锁"
);
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_1
5
_GoBack
);
OutStoreLog
(
"出库:SO_1
5
升降轴到P1(待机点) ,托架前进,打开门锁"
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_P1
,
Config
.
UpDownAxis_P1_Speed
);
OpenDoor
(
StoreMove
.
MoveParam
.
PosInfo
.
ShelfType
);
ShelfForward
(
StoreMove
.
MoveParam
.
PosInfo
.
ShelfType
,
StoreMove
);
}
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_1
4
_GoBack
)
else
if
(
StoreMove
.
MoveStep
==
StoreMoveStep
.
SO_1
5
_GoBack
)
{
TimeSpan
span
=
DateTime
.
Now
-
startOutStoreTime
;
string
posId
=
StoreMove
.
MoveParam
!=
null
?
StoreMove
.
MoveParam
.
PosInfo
.
PosId
:
""
;
...
...
@@ -653,17 +672,7 @@ namespace OnlineStore.DeviceLibrary
}
}
private
void
SO_10_DeviceToDoorPro
()
{
//判断仓门是否打开
LineMoveP
moveP
=
StoreMove
.
MoveParam
.
MoveP
;
StoreMove
.
NextMoveStep
(
StoreMoveStep
.
SO_10_DeviceToDoor
);
OutStoreLog
(
"出库:SO_10 叉子进出料口,进出轴至P2(进料口取料点) "
);
ACAxisMove
(
Config
.
InOut_Axis
,
moveP
.
InOut_P2
,
Config
.
InOutAxis_P2_Speed
);
}
#
endregion
public
List
<
InOutPosInfo
>
waitOutStoreList
=
new
List
<
InOutPosInfo
>();
public
object
waitOutListLock
=
""
;
...
...
source/DeviceLibrary/store/StoreStep.cs
查看文件 @
007a0c2
...
...
@@ -195,40 +195,44 @@ namespace OnlineStore.DeviceLibrary
/// <summary>
/// 出库:叉子进出料口,,轴3( 叉子) 至P2( 进料口取料点)
/// /// </summary>
SO_08_UpdownBack
=
108
,
/// <summary>
/// 出库:所有设备运行到门,,轴1( 转盘) 至P1( 待机点)轴2( 上下) 至P2( 进料口出料前点)
/// </summary>
SO_08_ToDoorPosition
=
108
,
SO_09_ToDoorPosition
=
109
,
/// <summary>
/// 等待门口无料盘
/// </summary>
SO_
09_WaitNoTray
=
109
,
SO_
10_WaitNoTray
=
110
,
/// <summary>
/// 出库:叉子进出料口,,轴3( 叉子) 至P2( 进料口取料点)
/// /// </summary>
SO_1
0_DeviceToDoor
=
110
,
SO_1
1_DeviceToDoor
=
111
,
/// <summary>
/// 出库:把物品放下,,轴2( 上下) 至P8( 进料口出料缓冲点)轴4( 压紧) 至P1( 待机点)
/// </summary>
SO_1
1_DevicePutWare
=
111
,
SO_1
2_DevicePutWare
=
112
,
/// <summary>
/// 出库:叉子从出料口返回,,轴3( 叉子) 动作至P1( 待机点)
/// </summary>
SO_1
2_DeviceOutFromDoor
=
112
,
SO_1
3_DeviceOutFromDoor
=
113
,
/// <summary>
/// 出库:判断物料信号
/// </summary>
SO_1
3_CheckShelfDI
=
113
,
SO_1
4_CheckShelfDI
=
114
,
/// <summary>
/// 出库:升降轴返回,, 轴2至P1( 待机点)
/// </summary>
SO_1
4_GoBack
=
114
,
/// <summary>
/// 等待拿走物品
/// </summary>
SO_15_WaitTake
=
115
,
SO_1
5_GoBack
=
115
,
///
//
<summary>
///
//
等待拿走物品
///
//
</summary>
//
SO_15_WaitTake = 115,
#
endregion
...
...
@@ -293,9 +297,13 @@ namespace OnlineStore.DeviceLibrary
/// </summary>
SI_14_CheckTrayIsGo
=
214
,
/// <summary>
/// 入库。。返回待机点,轴2/轴1/轴4动作至P1( 待机点))开始
/// 入库。。升降轴返回
/// </summary>
SI_15_UpdownBack
=
215
,
/// <summary>
/// 入库。。进出轴返回
/// </summary>
SI_1
5_GoBack
=
215
,
SI_1
6_GoBack
=
216
,
#
endregion
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论