Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
RC1250-ACPackingStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 8b465734
由
张东亮
编写于
2023-06-07 16:11:08 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
入库完空料架等待30秒,有出库时出库
1 个父辈
966c1238
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
65 行增加
和
12 行删除
source/DeviceLibrary/PackingStore/AC_BOX_Bean_OutStore.cs
source/DeviceLibrary/PackingStore/AC_BOX_Bean_Shelf.cs
source/DeviceLibrary/store/StoreStep.cs
source/DeviceLibrary/PackingStore/AC_BOX_Bean_OutStore.cs
查看文件 @
8b46573
...
@@ -17,7 +17,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -17,7 +17,7 @@ namespace OnlineStore.DeviceLibrary
{
{
private
DateTime
startOutStoreTime
=
DateTime
.
Now
;
private
DateTime
startOutStoreTime
=
DateTime
.
Now
;
public
bool
IsIgnoreComSig
=
false
;
//忽略料叉压紧信号
public
bool
IsIgnoreComSig
=
false
;
//忽略料叉压紧信号
private
void
StartExecuctOut
(
InOutParam
param
)
private
bool
StartExecuctOut
(
InOutParam
param
)
{
{
bool
result
;
bool
result
;
...
@@ -29,6 +29,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -29,6 +29,7 @@ namespace OnlineStore.DeviceLibrary
LogInfo
(
" 执行出库【"
+
param
.
ToStr
()
+
"】失败,加入等待队列"
);
LogInfo
(
" 执行出库【"
+
param
.
ToStr
()
+
"】失败,加入等待队列"
);
waitOutStoreList
.
Enqueue
(
param
);
waitOutStoreList
.
Enqueue
(
param
);
}
}
return
result
;
}
}
/// <summary>
/// <summary>
...
@@ -412,8 +413,13 @@ namespace OnlineStore.DeviceLibrary
...
@@ -412,8 +413,13 @@ namespace OnlineStore.DeviceLibrary
if
(
hasShelf
)
if
(
hasShelf
)
{
{
string
LastRfidID
=
GetLastRfid
();
string
LastRfidID
=
GetLastRfid
();
// if (IsRightShelfId(CurrShelfID, MoveInfo.MoveParam.realRfid))
if
(
IsRightShelfId
(
LastRfidID
,
MoveInfo
.
MoveParam
.
realRfid
))
if
(
MoveInfo
.
MoveParam
.
rfid
.
Equals
(
LastRfidID
))
{
LogRunStepInfo
(
$
"【LastRfidID={LastRfidID}】【{MoveInfo.MoveParam.rfid}】 料架未使用,开始取料"
);
SO_03_ToBagPosition
();
return
;
}
else
if
(
MoveInfo
.
MoveParam
.
rfid
.
Equals
(
LastRfidID
))
{
{
//if(MoveInfo.MoveParam.cutReel || MoveInfo.MoveParam.urgentReel)
//if(MoveInfo.MoveParam.cutReel || MoveInfo.MoveParam.urgentReel)
//{
//{
...
@@ -688,7 +694,25 @@ namespace OnlineStore.DeviceLibrary
...
@@ -688,7 +694,25 @@ namespace OnlineStore.DeviceLibrary
LogUtil
.
error
(
Name
+
" 出库处理,moveStatus="
+
MoveInfo
.
MoveStep
+
",没有对应的处理!"
);
LogUtil
.
error
(
Name
+
" 出库处理,moveStatus="
+
MoveInfo
.
MoveStep
+
",没有对应的处理!"
);
}
}
}
}
bool
IsRightShelfId
(
string
curShelfId
,
string
xuniId
)
{
if
(
string
.
IsNullOrEmpty
(
curShelfId
)
||
curShelfId
.
StartsWith
(
"0"
))
{
LogRunStepInfo
(
$
"当前料架号为空,无法出库"
);
return
false
;
}
if
(
string
.
IsNullOrEmpty
(
xuniId
))
{
LogRunStepInfo
(
$
"当前虚拟rfid为空,无法出库"
);
return
false
;
}
if
(
string
.
IsNullOrEmpty
(
StoreManager
.
FindRealRfidByTempRfid
(
xuniId
)))
{
LogRunStepInfo
(
$
"当前虚拟rfid={xuniId}未出库,可以使用{curShelfId}出库"
);
return
true
;
}
return
false
;
}
//private void SO_06_StartCompress()
//private void SO_06_StartCompress()
//{
//{
// //如果检测信号亮或者当前位置大于P4,直接走相对位置
// //如果检测信号亮或者当前位置大于P4,直接走相对位置
...
...
source/DeviceLibrary/PackingStore/AC_BOX_Bean_Shelf.cs
查看文件 @
8b46573
...
@@ -184,7 +184,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -184,7 +184,7 @@ namespace OnlineStore.DeviceLibrary
{
{
if
(
instoreShelf
)
if
(
instoreShelf
)
{
{
if
(!
IgnoreEmptySig
()
&&
CheckShelfIsEmpty
())
//空料架
if
(!
IgnoreEmptySig
()
&&
CheckShelfIsEmpty
())
//空料架
{
{
LogRunStepInfo
(
moveName
+
"检测到料架为空料架,不进行入库,即将送出料架"
);
LogRunStepInfo
(
moveName
+
"检测到料架为空料架,不进行入库,即将送出料架"
);
StartShelfOut
();
StartShelfOut
();
...
@@ -215,7 +215,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -215,7 +215,7 @@ namespace OnlineStore.DeviceLibrary
}
}
else
else
{
{
if
(
IgnoreEmptySig
())
if
(
IgnoreEmptySig
())
{
{
SO_03_ToBagPosition
();
SO_03_ToBagPosition
();
}
}
...
@@ -264,13 +264,11 @@ namespace OnlineStore.DeviceLibrary
...
@@ -264,13 +264,11 @@ namespace OnlineStore.DeviceLibrary
if
(
MoveInfo
.
MoveType
.
Equals
(
StoreMoveType
.
OutStore
))
if
(
MoveInfo
.
MoveType
.
Equals
(
StoreMoveType
.
OutStore
))
{
{
string
mark
=
GetMarkInfo
();
string
mark
=
GetMarkInfo
();
LogRunStepInfo
(
"送出["
+
CurrShelfID
+
"]["
+
mark
+
"]:顶升下降,调用 NeedLeave["
+
mark
+
"]["
+
CurrShelfID
+
"] "
);
LogRunStepInfo
(
"送出出库料架["
+
CurrShelfID
+
"]["
+
mark
+
"]:顶升下降["
+
mark
+
"]["
+
CurrShelfID
+
"] "
);
AgvClient
.
NeedLeave
(
Config
.
AgvNodeName
,
mark
,
CurrShelfID
);
}
}
else
else
{
{
LogRunStepInfo
(
"送出空料架["
+
CurrShelfID
+
"]:顶升下降,调用 NeedLeave[0]["
+
CurrShelfID
+
"],clearPutInRfid["
+
CurrShelfID
+
"]"
);
LogRunStepInfo
(
"送出空料架["
+
CurrShelfID
+
"]:顶升下降["
+
CurrShelfID
+
"],clearPutInRfid["
+
CurrShelfID
+
"]"
);
AgvClient
.
NeedLeave
(
Config
.
AgvNodeName
,
"0"
,
CurrShelfID
);
StoreManager
.
clearPutInRfid
(
Name
,
CurrShelfID
);
StoreManager
.
clearPutInRfid
(
Name
,
CurrShelfID
);
ACAxisMove
(
Config
.
UpDown_Axis
,
Config
.
UpDownAxis_P1
,
Config
.
UpDownAxis_P1_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
Config
.
UpDownAxis_P1
,
Config
.
UpDownAxis_P1_Speed
);
}
}
...
@@ -290,10 +288,40 @@ namespace OnlineStore.DeviceLibrary
...
@@ -290,10 +288,40 @@ namespace OnlineStore.DeviceLibrary
// LogCPU();
// LogCPU();
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BS_01_TopDown
))
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BS_01_TopDown
))
{
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BS_02_LocatinDown
);
if
(
MoveInfo
.
MoveType
.
Equals
(
StoreMoveType
.
OutStore
))
LogRunStepInfo
(
moveName
+
"定位气缸下降"
);
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BS_02_LocatinDown
);
LogRunStepInfo
(
moveName
+
"定位气缸下降"
);
}
else
{
if
(
CheckShelfIsEmpty
())
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BS_02_1_CheckOutSotre
);
LogRunStepInfo
(
moveName
+
"是空料架,检查出库并等待30秒"
);
}
else
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BS_02_LocatinDown
);
LogRunStepInfo
(
moveName
+
"不是空料架,定位气缸下降"
);
}
}
// CylinderMove(MoveInfo, IO_Type.LocationCylinder_Up, IO_Type.LocationCylinder_Down);
// CylinderMove(MoveInfo, IO_Type.LocationCylinder_Up, IO_Type.LocationCylinder_Down);
}
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BS_02_1_CheckOutSotre
))
{
TimeSpan
span
=
DateTime
.
Now
-
MoveInfo
.
LastSetpTime
;
if
(
waitOutStoreList
.
Count
>
0
)
{
LogRunStepInfo
(
moveName
+
"有出库任务,结束出空料架"
);
MoveEndToRuningStatus
();
}
else
if
(
span
.
TotalSeconds
>
30
)
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BS_02_LocatinDown
);
LogRunStepInfo
(
moveName
+
"等待30秒无出库任务"
);
}
}
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BS_02_LocatinDown
))
else
if
(
MoveInfo
.
MoveStep
.
Equals
(
StoreMoveStep
.
BS_02_LocatinDown
))
{
{
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BS_03_WaitEmptyAgv
);
MoveInfo
.
NextMoveStep
(
StoreMoveStep
.
BS_03_WaitEmptyAgv
);
...
...
source/DeviceLibrary/store/StoreStep.cs
查看文件 @
8b46573
...
@@ -558,6 +558,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -558,6 +558,7 @@ namespace OnlineStore.DeviceLibrary
/// 送出空料架:关闭仓门
/// 送出空料架:关闭仓门
/// </summary>
/// </summary>
BS_11_CloseDoor
=
4011
,
BS_11_CloseDoor
=
4011
,
BS_02_1_CheckOutSotre
,
#
endregion
#
endregion
#
region
把紧急料送到紧急料箱
#
region
把紧急料送到紧急料箱
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论