Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
张东亮
/
SO1057-XLRStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 338752ba
由
张东亮
编写于
2025-06-20 17:18:00 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
存储机构压紧轴回原时旋转轴确保在水平、优先出库限制取消、入料机构回原时如果夹爪有料,回原后放到NG箱、入库扫到相同条码时如果缓存口有相同缓存信息认为上一次抓料失…
…败,清除缓存、入料机构从缓存口抓料添加3次重试抓取
1 个父辈
0fd93eeb
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
125 行增加
和
64 行删除
source/DeviceLibrary/manager/model/DeviceStep.cs
source/DeviceLibrary/storeBean/boxBean/BoxEquip.cs
source/DeviceLibrary/storeBean/boxBean/BoxEquip_OutExecute.cs
source/DeviceLibrary/storeBean/boxBean/BoxEquip_Partial.cs
source/DeviceLibrary/storeBean/inputBean/InputEquip.cs
source/DeviceLibrary/storeBean/inputBean/InputEquip_InStore.cs
source/DeviceLibrary/manager/model/DeviceStep.cs
查看文件 @
338752b
...
@@ -188,12 +188,14 @@ namespace OnlineStore.DeviceLibrary
...
@@ -188,12 +188,14 @@ namespace OnlineStore.DeviceLibrary
/// <summary>
/// <summary>
/// BOX复位:料斗拉取升降轴、AB面压紧轴返回原点
/// BOX复位:料斗拉取升降轴、AB面压紧轴返回原点
/// </summary>
/// </summary>
BOX_H04_PullAxis_Updown_
ABComAxis_
Home
,
BOX_H04_PullAxis_Updown_Home
,
/// <summary>
/// <summary>
/// BOX复位:AB面移栽x轴原点返回
/// BOX复位:AB面移栽x轴原点返回
/// </summary>
/// </summary>
BOX_H05_XAxis_AB_UpDown_Home
,
BOX_H05_XAxis_AB_UpDown_Home
,
BOX_H05_1_UpdownToP1
,
BOX_H05_1_UpdownToP1
,
BOX_H05_2_MiddleAxisToP1
,
BOX_H05_3_ComAxis_Home
,
/// <summary>
/// <summary>
/// BOX复位:行走机构、移栽升降轴、AB面移栽旋转轴原点返回
/// BOX复位:行走机构、移栽升降轴、AB面移栽旋转轴原点返回
/// </summary>
/// </summary>
...
...
source/DeviceLibrary/storeBean/boxBean/BoxEquip.cs
查看文件 @
338752b
...
@@ -660,15 +660,13 @@ namespace OnlineStore.DeviceLibrary
...
@@ -660,15 +660,13 @@ namespace OnlineStore.DeviceLibrary
PullAxis_Inout
.
HomeMove
(
MoveInfo
);
PullAxis_Inout
.
HomeMove
(
MoveInfo
);
break
;
break
;
case
StepEnum
.
BOX_H03_PullAxis_InoutHome
:
case
StepEnum
.
BOX_H03_PullAxis_InoutHome
:
MoveInfo
.
NextMoveStep
(
StepEnum
.
BOX_H04_PullAxis_Updown_
ABComAxis_
Home
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
BOX_H04_PullAxis_Updown_Home
);
LogInfo
(
$
"复位 {MoveInfo.SLog}:抽屉拉取升降轴
、AB面压紧轴回原点
"
);
LogInfo
(
$
"复位 {MoveInfo.SLog}:抽屉拉取升降轴"
);
//if (!IsMoveAxisInSafePos())
//if (!IsMoveAxisInSafePos())
// MoveAxis.AbsMove(MoveInfo, Config.MoveAxis_SafePos, Config.MoveAxis_P1_Speed);
// MoveAxis.AbsMove(MoveInfo, Config.MoveAxis_SafePos, Config.MoveAxis_P1_Speed);
PullAxis_Updown
.
HomeMove
(
MoveInfo
);
PullAxis_Updown
.
HomeMove
(
MoveInfo
);
ComAxis_A
.
HomeMove
(
MoveInfo
);
ComAxis_B
.
HomeMove
(
MoveInfo
);
break
;
break
;
case
StepEnum
.
BOX_H04_PullAxis_Updown_
ABComAxis_
Home
:
case
StepEnum
.
BOX_H04_PullAxis_Updown_Home
:
MoveInfo
.
NextMoveStep
(
StepEnum
.
BOX_H05_XAxis_AB_UpDown_Home
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
BOX_H05_XAxis_AB_UpDown_Home
);
LogInfo
(
$
"复位 {MoveInfo.SLog}:AB面移栽X轴回原点、移栽升降轴回原"
);
LogInfo
(
$
"复位 {MoveInfo.SLog}:AB面移栽X轴回原点、移栽升降轴回原"
);
XAxis_A
.
HomeMove
(
MoveInfo
);
XAxis_A
.
HomeMove
(
MoveInfo
);
...
@@ -683,12 +681,23 @@ namespace OnlineStore.DeviceLibrary
...
@@ -683,12 +681,23 @@ namespace OnlineStore.DeviceLibrary
MiddleAxis_B
.
HomeMove
(
MoveInfo
);
MiddleAxis_B
.
HomeMove
(
MoveInfo
);
break
;
break
;
case
StepEnum
.
BOX_H05_1_UpdownToP1
:
case
StepEnum
.
BOX_H05_1_UpdownToP1
:
MoveInfo
.
NextMoveStep
(
StepEnum
.
BOX_H0
6_1_OtherAxis_Home
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
BOX_H0
5_2_MiddleAxisToP1
);
LogInfo
(
$
"复位 {MoveInfo.SLog}:料斗升降和移栽升降到待机点"
);
LogInfo
(
$
"复位 {MoveInfo.SLog}:料斗升降和移栽升降到待机点"
);
UpdownAxis
.
AbsMove
(
MoveInfo
,
Config
.
Updown_P1
,
Config
.
Updown_P1_Speed
);
UpdownAxis
.
AbsMove
(
MoveInfo
,
Config
.
Updown_P1
,
Config
.
Updown_P1_Speed
);
PullAxis_Updown
.
AbsMove
(
MoveInfo
,
Config
.
PullAxis_Updown_P1
,
Config
.
PullAxis_Updown_P1_Speed
);
PullAxis_Updown
.
AbsMove
(
MoveInfo
,
Config
.
PullAxis_Updown_P1
,
Config
.
PullAxis_Updown_P1_Speed
);
break
;
break
;
case
StepEnum
.
BOX_H05_2_MiddleAxisToP1
:
MoveInfo
.
NextMoveStep
(
StepEnum
.
BOX_H05_3_ComAxis_Home
);
LogInfo
(
$
"复位 {MoveInfo.SLog}:AB面移栽旋转轴返回水平点P2"
);
MiddleAxis_A
.
AbsMove
(
MoveInfo
,
Config
.
MiddleAxis_A_P2
,
Config
.
MiddleAxis_A_P2_Speed
);
MiddleAxis_B
.
AbsMove
(
MoveInfo
,
Config
.
MiddleAxis_B_P2
,
Config
.
MiddleAxis_B_P2_Speed
);
break
;
case
StepEnum
.
BOX_H05_3_ComAxis_Home
:
MoveInfo
.
NextMoveStep
(
StepEnum
.
BOX_H06_1_OtherAxis_Home
);
LogInfo
(
$
"复位 {MoveInfo.SLog}:AB面压紧轴回原点"
);
ComAxis_A
.
HomeMove
(
MoveInfo
);
ComAxis_B
.
HomeMove
(
MoveInfo
);
break
;
case
StepEnum
.
BOX_H06_1_OtherAxis_Home
:
case
StepEnum
.
BOX_H06_1_OtherAxis_Home
:
MoveInfo
.
NextMoveStep
(
StepEnum
.
BOX_H06_2_OtherAxis_Home
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
BOX_H06_2_OtherAxis_Home
);
//开门
//开门
...
@@ -808,12 +817,12 @@ namespace OnlineStore.DeviceLibrary
...
@@ -808,12 +817,12 @@ namespace OnlineStore.DeviceLibrary
int
SigLastTime
=
7
;
//5秒
int
SigLastTime
=
7
;
//5秒
protected
override
void
OnTimerProcess
()
protected
override
void
OnTimerProcess
()
{
{
bool
isRunning
=
runStatus
.
Equals
(
RunStatus
.
Runing
);
//
bool isRunning = runStatus.Equals(RunStatus.Runing);
if
(
isRunning
&&
ExecuteOutListProcess
())
//
if (isRunning && ExecuteOutListProcess())
{
//
{
LogInfo
(
"优先出库执行"
);
//
LogInfo("优先出库执行");
return
;
//
return;
}
//
}
//if (!runStatus.Equals(RunStatus.Runing))
//if (!runStatus.Equals(RunStatus.Runing))
// return;
// return;
TimeSpan
timeSpanA
=
DateTime
.
Now
-
dtUpperA
;
TimeSpan
timeSpanA
=
DateTime
.
Now
-
dtUpperA
;
...
...
source/DeviceLibrary/storeBean/boxBean/BoxEquip_OutExecute.cs
查看文件 @
338752b
using
CodeLibrary
;
using
OnlineStore.DeviceLibrary.deviceLibrary
;
using
OnlineStore.Common
;
using
OnlineStore.DeviceLibrary.deviceLibrary
;
using
OnlineStore.LoadCSVLibrary
;
using
OnlineStore.LoadCSVLibrary
;
using
System
;
using
System
;
using
System.Collections.Generic
;
using
System.Diagnostics
;
using
System.Drawing
;
using
System.Linq
;
using
System.Text
;
using
System.Threading
;
using
System.Threading.Tasks
;
using
System.Windows.Forms.VisualStyles
;
namespace
OnlineStore.DeviceLibrary
namespace
OnlineStore.DeviceLibrary
{
{
...
...
source/DeviceLibrary/storeBean/boxBean/BoxEquip_Partial.cs
查看文件 @
338752b
...
@@ -1407,10 +1407,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1407,10 +1407,10 @@ namespace OnlineStore.DeviceLibrary
public
bool
CloseOutStoreCheck
=
false
;
public
bool
CloseOutStoreCheck
=
false
;
public
override
bool
StartOutstore
(
InOutParam
param
)
public
override
bool
StartOutstore
(
InOutParam
param
)
{
{
if
(
InDoorSigCheck
())
//
if (InDoorSigCheck())
{
//
{
return
false
;
//
return false;
}
//
}
if
(!
CloseOutStoreCheck
)
if
(!
CloseOutStoreCheck
)
{
{
if
(!
OutDoorCheck
(
param
))
if
(!
OutDoorCheck
(
param
))
...
...
source/DeviceLibrary/storeBean/inputBean/InputEquip.cs
查看文件 @
338752b
...
@@ -218,8 +218,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -218,8 +218,10 @@ namespace OnlineStore.DeviceLibrary
OnlyResetInputAxis
=
false
;
OnlyResetInputAxis
=
false
;
LogInfo
(
$
"复位 {MoveInfo.SLog} :批量轴开始复位"
);
LogInfo
(
$
"复位 {MoveInfo.SLog} :批量轴开始复位"
);
}
}
/// <summary>
/// 复位时,是否有夹爪气缸夹住了料盘
/// </summary>
bool
clampHasReelWhen
=
false
;
protected
override
void
ResetProcess
()
protected
override
void
ResetProcess
()
{
{
if
(
MoveInfo
.
IsInWait
)
if
(
MoveInfo
.
IsInWait
)
...
@@ -359,12 +361,22 @@ namespace OnlineStore.DeviceLibrary
...
@@ -359,12 +361,22 @@ namespace OnlineStore.DeviceLibrary
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IR05_UpdownHome
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IR05_UpdownHome
))
{
{
IR06_UpdownToP1
();
IR06_UpdownToP1
();
clampHasReelWhen
=
false
;
}
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IR06_UpdownToP1
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IR06_UpdownToP1
))
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
IR07_ClampRelax
);
if
(
CheckClampHasReel
())
LogInfo
(
$
"复位{MoveInfo.SLog}:夹爪气缸放松"
);
{
ClampRelax
(
MoveInfo
,
MoveInfo
.
MoveParam
.
PosInfo
.
barcode
);
clampHasReelWhen
=
true
;
LogInfo
(
$
"复位{MoveInfo.SLog}:夹爪气缸有料,需要放到NG"
);
}
else
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
IR07_ClampRelax
);
LogInfo
(
$
"复位{MoveInfo.SLog}:夹爪气缸放松"
);
ClampRelax
(
MoveInfo
,
MoveInfo
.
MoveParam
.
PosInfo
.
barcode
);
}
}
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IR07_ClampRelax
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IR07_ClampRelax
))
{
{
...
@@ -388,6 +400,17 @@ namespace OnlineStore.DeviceLibrary
...
@@ -388,6 +400,17 @@ namespace OnlineStore.DeviceLibrary
LogInfo
(
"复位完成"
);
LogInfo
(
"复位完成"
);
runStatus
=
RunStatus
.
Runing
;
runStatus
=
RunStatus
.
Runing
;
MoveInfo
.
EndMove
();
MoveInfo
.
EndMove
();
if
(
clampHasReelWhen
)
{
runStatus
=
RunStatus
.
Busy
;
MoveInfo
.
NewMove
(
MoveType
.
OutStore
,
new
InOutParam
());
MoveInfo
.
NextMoveStep
(
StepEnum
.
II81_MiddleToNg
);
MoveLog
(
$
"出库{MoveInfo.SLog}: 回原夹爪有料 升降轴到P8(NG料区放料高点){Config.Updown_P8_NGH},旋转轴到P6(NG料区放料点){Config.Middle_P6_NG}"
);
MiddleAxis
.
AbsMove
(
MoveInfo
,
Config
.
Middle_P6_NG
,
Config
.
Middle_P6_Speed
);
UpdownAxis
.
AbsMove
(
MoveInfo
,
Config
.
Updown_P8_NGH
,
Config
.
Updown_P8_Speed
);
clampHasReelWhen
=
false
;
}
}
}
else
if
(
MoveInfo
.
IsTimeOut
(
180
))
else
if
(
MoveInfo
.
IsTimeOut
(
180
))
{
{
...
...
source/DeviceLibrary/storeBean/inputBean/InputEquip_InStore.cs
查看文件 @
338752b
using
Asa
;
using
Asa
;
using
log4net.Util
;
using
OnlineStore.Common
;
using
OnlineStore.Common
;
using
OnlineStore.DeviceLibrary.deviceLibrary
;
using
OnlineStore.DeviceLibrary.deviceLibrary
;
using
OnlineStore.LoadCSVLibrary
;
using
OnlineStore.LoadCSVLibrary
;
...
@@ -132,6 +133,14 @@ namespace OnlineStore.DeviceLibrary
...
@@ -132,6 +133,14 @@ namespace OnlineStore.DeviceLibrary
}
}
}
}
/// <summary>
/// 检查夹爪是否有料
/// </summary>
/// <returns></returns>
bool
CheckClampHasReel
()
{
return
IOValue
(
IO_Type
.
Feeding_Reel_13_Check
).
Equals
(
IO_VALUE
.
HIGH
)
||
IOValue
(
IO_Type
.
Feeding_Reel_7_Check
).
Equals
(
IO_VALUE
.
HIGH
);
}
#
region
入库
#
region
入库
private
DateTime
startInTime
=
DateTime
.
Now
;
private
DateTime
startInTime
=
DateTime
.
Now
;
public
override
bool
StartInstore
(
InOutParam
param
)
public
override
bool
StartInstore
(
InOutParam
param
)
...
@@ -236,22 +245,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -236,22 +245,7 @@ namespace OnlineStore.DeviceLibrary
}
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
II09_UpdownToP1
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
II09_UpdownToP1
))
{
{
// MoveInfo.NextMoveStep(StepEnum.II09_MiddleToP1);
II10_WaitAxisCheck
();
// MoveLog($"入库取料{shelf}{MoveInfo.SLog}: 旋转轴到待机点P1 {Config.Middle_P1}");
// UpdownAxis.AbsMove(MoveInfo, Config.Middle_P1, Config.Middle_P1_Speed);
//}else if (MoveInfo.IsStep(StepEnum.II09_MiddleToP1))
//{
//如果是测试,直接开始取目标位置
//if (MoveInfo.MoveParam.PosInfo.barcode.EndsWith("TEST"))
//{
// MoveLog($"入库取料{shelf}{MoveInfo.SLog}: 条码 {MoveInfo.MoveParam.PosInfo.barcode}为测试料,直接去目标位置");
// LastPosInfo = MoveInfo.MoveParam.PosInfo;
// StrartToTargetP();
//}
//else
{
II10_WaitAxisCheck
();
}
}
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
II10_WaitAxisCheck
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
II10_WaitAxisCheck
))
{
{
...
@@ -281,7 +275,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -281,7 +275,7 @@ namespace OnlineStore.DeviceLibrary
}
}
else
if
(
MoveInfo
.
IsTimeOut
(
60
))
else
if
(
MoveInfo
.
IsTimeOut
(
60
))
{
{
SetWarnMsg
(
Name
+
" "
+
moveBean
.
Name
+
"获取料盘高度超时"
);
SetWarnMsg
(
Name
+
" "
+
moveBean
.
Name
+
"获取料盘高度超时"
);
}
}
}
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
II13_GetPosId
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
II13_GetPosId
))
...
@@ -649,14 +643,31 @@ namespace OnlineStore.DeviceLibrary
...
@@ -649,14 +643,31 @@ namespace OnlineStore.DeviceLibrary
MiddleAxis
.
AbsMove
(
MoveInfo
,
Config
.
Middle_P6_NG
,
Config
.
Middle_P6_Speed
);
MiddleAxis
.
AbsMove
(
MoveInfo
,
Config
.
Middle_P6_NG
,
Config
.
Middle_P6_Speed
);
UpdownAxis
.
AbsMove
(
MoveInfo
,
Config
.
Updown_P8_NGH
,
Config
.
Updown_P8_Speed
);
UpdownAxis
.
AbsMove
(
MoveInfo
,
Config
.
Updown_P8_NGH
,
Config
.
Updown_P8_Speed
);
}
}
else
if
(
lastPosInfo
.
GetPosSide
().
Equals
(
"A"
))
{
II41_MiddleToP4
();
}
else
else
{
{
II61_MiddleToP5
();
//检查暂存区是否有相同料
if
(
BufferDataManager
.
AInStoreInfo
!=
null
&&
BufferDataManager
.
AInStoreInfo
.
barcode
.
Equals
(
lastPosInfo
.
barcode
)
&&
IOValue
(
IO_Type
.
FeedingA_Instore_UpperArea_ReelCheck
).
Equals
(
IO_VALUE
.
LOW
))
{
SServerManager
.
cancelPutInTask
(
Name
,
BufferDataManager
.
AInStoreInfo
.
barcode
);
BufferDataManager
.
AInStoreInfo
=
null
;
MoveLog
(
$
"入库取料{MoveInfo.SLog}: A上暂存区已有相同{lastPosInfo.ToStr()},且信号未亮,清除A上暂存区"
);
}
else
if
(
BufferDataManager
.
BInStoreInfo
!=
null
&&
BufferDataManager
.
BInStoreInfo
.
barcode
.
Equals
(
lastPosInfo
.
barcode
)
&&
IOValue
(
IO_Type
.
FeedingB_Instore_UpperArea_ReelCheck
).
Equals
(
IO_VALUE
.
LOW
))
{
SServerManager
.
cancelPutInTask
(
Name
,
BufferDataManager
.
BInStoreInfo
.
barcode
);
BufferDataManager
.
BInStoreInfo
=
null
;
MoveLog
(
$
"入库取料{MoveInfo.SLog}: A上暂存区已有相同{lastPosInfo.ToStr()},且信号未亮,清除B上暂存区"
);
}
if
(
lastPosInfo
.
GetPosSide
().
Equals
(
"A"
))
{
II41_MiddleToP4
();
}
else
{
II61_MiddleToP5
();
}
}
}
TrayStartLeave
();
TrayStartLeave
();
}
}
...
@@ -916,6 +927,10 @@ namespace OnlineStore.DeviceLibrary
...
@@ -916,6 +927,10 @@ namespace OnlineStore.DeviceLibrary
BatchMove_B
.
GetTrayStartLeave
();
BatchMove_B
.
GetTrayStartLeave
();
}
}
}
}
/// <summary>
/// 夹爪重试次数
/// </summary>
int
clampTryCount
=
0
;
protected
override
void
OutstoreProcess
()
protected
override
void
OutstoreProcess
()
{
{
if
(
MoveInfo
.
IsInWait
)
if
(
MoveInfo
.
IsInWait
)
...
@@ -933,6 +948,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -933,6 +948,7 @@ namespace OnlineStore.DeviceLibrary
{
{
if
(
BufferDataManager
.
AOutStoreInfo
!=
null
)
if
(
BufferDataManager
.
AOutStoreInfo
!=
null
)
{
{
clampTryCount
=
0
;
if
(
BufferDataManager
.
AOutStoreInfo
.
barcode
.
Equals
(
MoveInfo
.
MoveParam
.
PosInfo
.
barcode
))
if
(
BufferDataManager
.
AOutStoreInfo
.
barcode
.
Equals
(
MoveInfo
.
MoveParam
.
PosInfo
.
barcode
))
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
IO02_UpdownToP6
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
IO02_UpdownToP6
);
...
@@ -973,9 +989,19 @@ namespace OnlineStore.DeviceLibrary
...
@@ -973,9 +989,19 @@ namespace OnlineStore.DeviceLibrary
}
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IO06_UpdownToP6
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IO06_UpdownToP6
))
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
IO07_1_InoutToP1
);
if
(
CheckClampHasReel
()
||
clampTryCount
>
3
)
MoveLog
(
$
"出库A->{shelf}料串 {MoveInfo.SLog}: 进出轴到P1(待机点点){Config.Inout_P1}"
);
{
InOutAxis
.
AbsMove
(
MoveInfo
,
Config
.
Inout_P1
,
Config
.
Inout_P1_Speed
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
IO07_1_InoutToP1
);
clampTryCount
=
0
;
MoveLog
(
$
"出库A->{shelf}料串 {MoveInfo.SLog}: 进出轴到P1(待机点点){Config.Inout_P1}"
);
InOutAxis
.
AbsMove
(
MoveInfo
,
Config
.
Inout_P1
,
Config
.
Inout_P1_Speed
);
}
else
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
IO03_InoutToP2
);
clampTryCount
++;
MoveLog
(
$
"出库A->{shelf}料串 {MoveInfo.SLog}: 未检测到料,重新抓取"
);
}
}
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IO07_1_InoutToP1
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IO07_1_InoutToP1
))
{
{
...
@@ -987,7 +1013,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -987,7 +1013,7 @@ namespace OnlineStore.DeviceLibrary
ToNG
();
ToNG
();
return
;
return
;
}
}
else
if
(
string
.
IsNullOrEmpty
(
MoveInfo
.
MoveParam
.
PosInfo
.
hSerial
))
else
if
(
string
.
IsNullOrEmpty
(
MoveInfo
.
MoveParam
.
PosInfo
.
hSerial
))
{
{
ToUrgentBox
();
ToUrgentBox
();
return
;
return
;
...
@@ -1030,6 +1056,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1030,6 +1056,7 @@ namespace OnlineStore.DeviceLibrary
{
{
if
(
BufferDataManager
.
BOutStoreInfo
!=
null
)
if
(
BufferDataManager
.
BOutStoreInfo
!=
null
)
{
{
clampTryCount
=
0
;
if
(
BufferDataManager
.
BOutStoreInfo
.
barcode
.
Equals
(
MoveInfo
.
MoveParam
.
PosInfo
.
barcode
))
if
(
BufferDataManager
.
BOutStoreInfo
.
barcode
.
Equals
(
MoveInfo
.
MoveParam
.
PosInfo
.
barcode
))
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
IO12_UpdownToP12
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
IO12_UpdownToP12
);
...
@@ -1071,16 +1098,26 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1071,16 +1098,26 @@ namespace OnlineStore.DeviceLibrary
}
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IO16_UpdownToP6
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IO16_UpdownToP6
))
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
IO17_1_InoutToP1
);
if
(
CheckClampHasReel
()
||
clampTryCount
>
3
)
MoveLog
(
$
"出库B->{shelf}料串 {MoveInfo.SLog}: j进出轴到P11(待机点){Config.Inout_P1}"
);
{
InOutAxis
.
AbsMove
(
MoveInfo
,
Config
.
Inout_P1
,
Config
.
Inout_P1_Speed
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
IO17_1_InoutToP1
);
clampTryCount
=
0
;
MoveLog
(
$
"出库B->{shelf}料串 {MoveInfo.SLog}: j进出轴到P11(待机点){Config.Inout_P1}"
);
InOutAxis
.
AbsMove
(
MoveInfo
,
Config
.
Inout_P1
,
Config
.
Inout_P1_Speed
);
}
else
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
IO13_InoutToP3
);
clampTryCount
++;
MoveLog
(
$
"出库B->{shelf}料串 {MoveInfo.SLog}: 未检测到料,重新抓取"
);
}
}
}
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IO17_1_InoutToP1
))
else
if
(
MoveInfo
.
IsStep
(
StepEnum
.
IO17_1_InoutToP1
))
{
{
//判断料盘信号是否消失
//判断料盘信号是否消失
if
(
IOValue
(
IO_Type
.
FeedingB_Outstore_UnderArea_ReelCheck
).
Equals
(
IO_VALUE
.
LOW
))
if
(
IOValue
(
IO_Type
.
FeedingB_Outstore_UnderArea_ReelCheck
).
Equals
(
IO_VALUE
.
LOW
))
{
{
if
(
MoveInfo
.
MoveParam
.
PosInfo
.
IsNG
)
if
(
MoveInfo
.
MoveParam
.
PosInfo
.
IsNG
)
{
{
ToNG
();
ToNG
();
return
;
return
;
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论