Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
张东亮
/
SO1057-XLRStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 0fd93eeb
由
张东亮
编写于
2025-04-28 09:57:48 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
料叉检测料盘检测几次无料后再报警
1 个父辈
3350a450
显示空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
54 行增加
和
15 行删除
source/DeviceLibrary/storeBean/boxBean/BoxEquip_InExecute.cs
source/DeviceLibrary/storeBean/boxBean/BoxEquip_OutExecute.cs
source/DeviceLibrary/storeBean/boxBean/BoxEquip_OutExecute_Partial.cs
source/DeviceLibrary/storeBean/boxBean/BoxEquip_Partial.cs
source/DeviceLibrary/storeBean/inputBean/InputEquip_InStore.cs
source/DeviceLibrary/storeBean/boxBean/BoxEquip_InExecute.cs
查看文件 @
0fd93ee
...
@@ -272,14 +272,15 @@ namespace OnlineStore.DeviceLibrary
...
@@ -272,14 +272,15 @@ namespace OnlineStore.DeviceLibrary
case
StepEnum
.
SI_05_GetReel
:
case
StepEnum
.
SI_05_GetReel
:
if
(!
CheckReel
(
true
))
if
(!
CheckReel
(
true
))
{
{
WarnMsg
=
$
"未检测到{MoveInfo.MoveParam.PosInfo.GetPosSide()}面料叉上的料盘,请检查"
;
if
(
isAlarmForkCheck
())
Msg
.
add
(
WarnMsg
,
MsgLevel
.
critical
);
SetCriticalMsg
(
$
"未检测到{MoveInfo.MoveParam.PosInfo.GetPosSide()}面料叉上的料盘【{MoveInfo?.MoveParam?.PosInfo?.barcode}】,请检查检查"
);
return
;
return
;
}
}
SetWarnMsg
(
""
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
SI_06_InOutBackToP1FromBuff
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
SI_06_InOutBackToP1FromBuff
);
LogInfo
(
$
"入库 {MoveInfo.SLog}:移栽X轴到待机点P1,行走机构到待机点P1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
LogInfo
(
$
"入库 {MoveInfo.SLog}:移栽X轴到待机点P1,行走机构到待机点P1[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
ignoreCurFork
=
false
;
ignoreCurFork
=
false
;
checkForkCnt
=
0
;
XAxis_To_P1
();
XAxis_To_P1
();
MoveAxisToP1
();
MoveAxisToP1
();
break
;
break
;
...
@@ -337,11 +338,14 @@ namespace OnlineStore.DeviceLibrary
...
@@ -337,11 +338,14 @@ namespace OnlineStore.DeviceLibrary
case
StepEnum
.
SI_08_ToPosition
:
case
StepEnum
.
SI_08_ToPosition
:
if
(!
CheckReel
(
true
))
if
(!
CheckReel
(
true
))
{
{
SetCriticalMsg
(
$
"未检测到{MoveInfo.MoveParam.PosInfo.GetPosSide()}面料叉上的料盘,请检查"
);
if
(
isAlarmForkCheck
())
SetCriticalMsg
(
$
"未检测到{MoveInfo.MoveParam.PosInfo.GetPosSide()}面料叉上的料盘【{MoveInfo?.MoveParam?.PosInfo?.barcode}】,请检查"
);
return
;
return
;
}
}
SetWarnMsg
(
""
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
SI_08_ToPosition1
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
SI_08_ToPosition1
);
ignoreCurFork
=
false
;
ignoreCurFork
=
false
;
checkForkCnt
=
0
;
LogInfo
(
$
"入库 {MoveInfo.SLog}:运行到库位,行走机构到存储库位取放点位P3,"
+
LogInfo
(
$
"入库 {MoveInfo.SLog}:运行到库位,行走机构到存储库位取放点位P3,"
+
$
"[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
$
"[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
MoveAxisToP3
();
MoveAxisToP3
();
...
@@ -352,12 +356,14 @@ namespace OnlineStore.DeviceLibrary
...
@@ -352,12 +356,14 @@ namespace OnlineStore.DeviceLibrary
StopForkCheck
();
StopForkCheck
();
if
(!
CheckReel
(
true
))
if
(!
CheckReel
(
true
))
{
{
SetCriticalMsg
(
$
"未检测到{MoveInfo.MoveParam.PosInfo.GetPosSide()}面料叉上的料盘,请检查"
);
if
(
isAlarmForkCheck
())
SetCriticalMsg
(
$
"未检测到{MoveInfo.MoveParam.PosInfo.GetPosSide()}面料叉上的料盘【{MoveInfo?.MoveParam?.PosInfo?.barcode}】,请检查"
);
return
;
return
;
}
}
SetWarnMsg
(
""
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
SI_09_ToTray
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
SI_09_ToTray
);
ignoreCurFork
=
false
;
ignoreCurFork
=
false
;
checkForkCnt
=
0
;
LogInfo
(
$
"入库 {MoveInfo.SLog}:到抽屉提取点,料斗拉取进出轴到抽屉提取点P2/P4[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
LogInfo
(
$
"入库 {MoveInfo.SLog}:到抽屉提取点,料斗拉取进出轴到抽屉提取点P2/P4[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
PullAxis_Inout_To_P2_P4
();
PullAxis_Inout_To_P2_P4
();
break
;
break
;
...
@@ -396,12 +402,14 @@ namespace OnlineStore.DeviceLibrary
...
@@ -396,12 +402,14 @@ namespace OnlineStore.DeviceLibrary
case
StepEnum
.
SI_12_MiddleToP3
:
case
StepEnum
.
SI_12_MiddleToP3
:
if
(!
CheckReel
(
true
))
if
(!
CheckReel
(
true
))
{
{
SetCriticalMsg
(
$
"未检测到{MoveInfo.MoveParam.PosInfo.GetPosSide()}面料叉上的料盘,请检查"
);
if
(
isAlarmForkCheck
())
SetCriticalMsg
(
$
"未检测到{MoveInfo.MoveParam.PosInfo.GetPosSide()}面料叉上的料盘【{MoveInfo?.MoveParam?.PosInfo?.barcode}】,请检查"
);
return
;
return
;
}
}
SetWarnMsg
(
""
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
SI_13_GetReel
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
SI_13_GetReel
);
ignoreCurFork
=
false
;
ignoreCurFork
=
false
;
checkForkCnt
=
0
;
LogInfo
(
$
"入库 {MoveInfo.SLog}:进入库位中,移栽升降轴到抽屉取放点P7/P13[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
LogInfo
(
$
"入库 {MoveInfo.SLog}:进入库位中,移栽升降轴到抽屉取放点P7/P13[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
UpdownAxisToP7_P13
();
UpdownAxisToP7_P13
();
break
;
break
;
...
@@ -503,11 +511,14 @@ namespace OnlineStore.DeviceLibrary
...
@@ -503,11 +511,14 @@ namespace OnlineStore.DeviceLibrary
case
StepEnum
.
SI_19_InoutBack
:
case
StepEnum
.
SI_19_InoutBack
:
if
(!
CheckReel
(
false
))
if
(!
CheckReel
(
false
))
{
{
if
(
isAlarmForkCheck
())
SetCriticalMsg
(
"检测到料叉上有料盘,请检查"
);
SetCriticalMsg
(
"检测到料叉上有料盘,请检查"
);
return
;
return
;
}
}
SetWarnMsg
(
""
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
SI_19_InoutBack_1
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
SI_19_InoutBack_1
);
ignoreCurFork
=
false
;
ignoreCurFork
=
false
;
checkForkCnt
=
0
;
MiddleAxis_To_P2
();
MiddleAxis_To_P2
();
LogInfo
(
$
"入库 {MoveInfo.SLog}:移栽旋转轴到水平点[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
LogInfo
(
$
"入库 {MoveInfo.SLog}:移栽旋转轴到水平点[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
break
;
break
;
...
...
source/DeviceLibrary/storeBean/boxBean/BoxEquip_OutExecute.cs
查看文件 @
0fd93ee
...
@@ -175,11 +175,13 @@ namespace OnlineStore.DeviceLibrary
...
@@ -175,11 +175,13 @@ namespace OnlineStore.DeviceLibrary
case
StepEnum
.
SO_13_InoutBack_1
:
case
StepEnum
.
SO_13_InoutBack_1
:
if
(!
CheckReel
(
true
))
if
(!
CheckReel
(
true
))
{
{
SetCriticalMsg
(
$
"未检测到{MoveInfo.MoveParam.PosInfo.GetPosSide()}面料叉上的料盘,请检查"
);
if
(
isAlarmForkCheck
())
SetCriticalMsg
(
$
"未检测到{MoveInfo.MoveParam.PosInfo.GetPosSide()}面料叉上的料盘【{MoveInfo?.MoveParam?.PosInfo?.barcode}】,请检查"
);
return
;
return
;
}
}
SetWarnMsg
(
""
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
SO_13_InoutBack
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
SO_13_InoutBack
);
checkForkCnt
=
0
;
ignoreCurFork
=
false
;
ignoreCurFork
=
false
;
LogInfo
(
$
"出库 {MoveInfo.SLog}:抽屉拉取进出轴已到达拍照点,移栽旋转轴到取放料水平点P2[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
LogInfo
(
$
"出库 {MoveInfo.SLog}:抽屉拉取进出轴已到达拍照点,移栽旋转轴到取放料水平点P2[{MoveInfo.MoveParam.PosInfo.GetPosSide()}面]"
);
MiddleAxis_To_P2
();
MiddleAxis_To_P2
();
...
...
source/DeviceLibrary/storeBean/boxBean/BoxEquip_OutExecute_Partial.cs
查看文件 @
0fd93ee
...
@@ -34,13 +34,15 @@ namespace OnlineStore.DeviceLibrary
...
@@ -34,13 +34,15 @@ namespace OnlineStore.DeviceLibrary
case
StepEnum
.
SOB_14_GetReels_Ready1
:
case
StepEnum
.
SOB_14_GetReels_Ready1
:
if
(!
CheckBothReel
(
true
))
if
(!
CheckBothReel
(
true
))
{
{
WarnMsg
=
$
"两面料叉上存在未检测到料盘,请检查"
;
if
(
isAlarmForkCheck
())
Msg
.
add
(
WarnMsg
,
MsgLevel
.
critical
);
SetCriticalMsg
(
$
"两面料叉上存在未检测到料盘【{MoveInfo.MoveParam?.PosInfo?.barcode}】【{MoveInfo.MoveParam?.PosInfoBack?.barcode}】,请检查"
);
return
;
return
;
}
}
SetWarnMsg
(
""
);
//两侧已有同尺寸的料
//两侧已有同尺寸的料
MoveInfo
.
NextMoveStep
(
StepEnum
.
SOB_15_ToBufferArea
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
SOB_15_ToBufferArea
);
ignoreCurFork
=
false
;
ignoreCurFork
=
false
;
checkForkCnt
=
0
;
LogInfo
(
$
"出库 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.barcode}]取料完成,准备送往出料口。行走机构到待机点P1"
);
LogInfo
(
$
"出库 {MoveInfo.SLog}:[{MoveInfo.MoveParam.PosInfo.barcode}]取料完成,准备送往出料口。行走机构到待机点P1"
);
MoveAxisToP1
();
MoveAxisToP1
();
//PullAxis_UpdownToP1();
//PullAxis_UpdownToP1();
...
@@ -96,10 +98,11 @@ namespace OnlineStore.DeviceLibrary
...
@@ -96,10 +98,11 @@ namespace OnlineStore.DeviceLibrary
case
StepEnum
.
SOB_19_InOutBackFromBuff
:
case
StepEnum
.
SOB_19_InOutBackFromBuff
:
if
(!
CheckBothReel
(
false
))
if
(!
CheckBothReel
(
false
))
{
{
SetCriticalMsg
(
$
"两面料叉上还能检测到料盘,请检查"
);
if
(
isAlarmForkCheck
())
SetCriticalMsg
(
$
"两面料叉上还能检测到料盘【{MoveInfo.MoveParam?.PosInfo?.barcode}】【{MoveInfo.MoveParam?.PosInfoBack?.barcode}】,请检查"
);
return
;
return
;
}
}
SetWarnMsg
(
""
);
//出库料盘放置成功,将料盘信息写入对应出料口
//出库料盘放置成功,将料盘信息写入对应出料口
if
(
CheckASide
())
if
(
CheckASide
())
{
{
...
@@ -113,6 +116,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -113,6 +116,7 @@ namespace OnlineStore.DeviceLibrary
}
}
MoveInfo
.
NextMoveStep
(
StepEnum
.
SOB_20_Finish
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
SOB_20_Finish
);
BuffAreaOutstoreDoor
(
false
);
BuffAreaOutstoreDoor
(
false
);
checkForkCnt
=
0
;
ignoreCurFork
=
false
;
ignoreCurFork
=
false
;
LogInfo
(
$
"出库 {MoveInfo.SLog}:关闭出料防护门,出库结束"
);
LogInfo
(
$
"出库 {MoveInfo.SLog}:关闭出料防护门,出库结束"
);
...
...
source/DeviceLibrary/storeBean/boxBean/BoxEquip_Partial.cs
查看文件 @
0fd93ee
...
@@ -713,6 +713,17 @@ namespace OnlineStore.DeviceLibrary
...
@@ -713,6 +713,17 @@ namespace OnlineStore.DeviceLibrary
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
ForkB_Tray_Check
,
hasReel
?
IO_VALUE
.
HIGH
:
IO_VALUE
.
LOW
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_Type
.
ForkB_Tray_Check
,
hasReel
?
IO_VALUE
.
HIGH
:
IO_VALUE
.
LOW
));
}
}
}
}
public
int
checkForkCnt
=
0
;
bool
isAlarmForkCheck
()
{
if
(
checkForkCnt
>
3
)
{
return
true
;
}
return
false
;
}
/// <summary>
/// <summary>
/// 检查料叉上的状态
/// 检查料叉上的状态
/// </summary>
/// </summary>
...
@@ -728,6 +739,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -728,6 +739,7 @@ namespace OnlineStore.DeviceLibrary
{
{
return
true
;
return
true
;
}
}
checkForkCnt
++;
if
(
CheckASide
())
if
(
CheckASide
())
{
{
return
IOValue
(
IO_Type
.
ForkA_Tray_Check
).
Equals
(
hasReel
?
IO_VALUE
.
HIGH
:
IO_VALUE
.
LOW
);
return
IOValue
(
IO_Type
.
ForkA_Tray_Check
).
Equals
(
hasReel
?
IO_VALUE
.
HIGH
:
IO_VALUE
.
LOW
);
...
@@ -748,7 +760,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -748,7 +760,7 @@ namespace OnlineStore.DeviceLibrary
{
{
return
true
;
return
true
;
}
}
checkForkCnt
++;
return
IOValue
(
IO_Type
.
ForkA_Tray_Check
).
Equals
(
hasReel
?
IO_VALUE
.
HIGH
:
IO_VALUE
.
LOW
)
&&
IOValue
(
IO_Type
.
ForkB_Tray_Check
).
Equals
(
hasReel
?
IO_VALUE
.
HIGH
:
IO_VALUE
.
LOW
);
return
IOValue
(
IO_Type
.
ForkA_Tray_Check
).
Equals
(
hasReel
?
IO_VALUE
.
HIGH
:
IO_VALUE
.
LOW
)
&&
IOValue
(
IO_Type
.
ForkB_Tray_Check
).
Equals
(
hasReel
?
IO_VALUE
.
HIGH
:
IO_VALUE
.
LOW
);
}
}
/// <summary>
/// <summary>
...
...
source/DeviceLibrary/storeBean/inputBean/InputEquip_InStore.cs
查看文件 @
0fd93ee
...
@@ -805,6 +805,16 @@ namespace OnlineStore.DeviceLibrary
...
@@ -805,6 +805,16 @@ namespace OnlineStore.DeviceLibrary
private
void
ToNG
()
private
void
ToNG
()
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
II81_MiddleToNg
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
II81_MiddleToNg
);
//清空暂存区
int
startp
=
MoveInfo
.
MoveParam
.
PosInfo
.
GetPosType
();
if
(
startp
.
Equals
(
1
))
{
BufferDataManager
.
AOutStoreInfo
=
null
;
}
else
{
BufferDataManager
.
BOutStoreInfo
=
null
;
}
MoveLog
(
$
"出库{MoveInfo.SLog}: NG料 升降轴到P8(NG料区放料高点){Config.Updown_P8_NGH},旋转轴到P6(NG料区放料点){Config.Middle_P6_NG}"
);
MoveLog
(
$
"出库{MoveInfo.SLog}: NG料 升降轴到P8(NG料区放料高点){Config.Updown_P8_NGH},旋转轴到P6(NG料区放料点){Config.Middle_P6_NG}"
);
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
);
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论