Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
李娜
/
SO827-OutletEquip
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 1ae565cc
由
LN
编写于
2021-04-19 13:39:19 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
料架处理bug修改
1 个父辈
1758d6f4
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
46 行增加
和
39 行删除
source/DeviceLibrary/bean/WorkStation.cs
source/DeviceLibrary/bean/WorkStation.cs
查看文件 @
1ae565c
...
...
@@ -101,7 +101,7 @@ namespace OnlineStore.DeviceLibrary
LogUtil
.
info
(
Name
+
"读取料架号:"
+
CurrShelf
.
ToStr
());
return
CurrShelf
.
RealShelf
;
}
public
void
Reset
()
{
...
...
@@ -113,18 +113,26 @@ namespace OnlineStore.DeviceLibrary
return
;
}
if
(
CurrShelf
.
IsBusy
)
{
{
LogUtil
.
error
(
Name
+
"复位失败,料架忙碌中"
);
return
;
return
;
}
alarmType
=
StoreAlarmType
.
None
;
WarnMsg
=
""
;
MoveInfo
.
EndMove
();
MoveInfo
.
NewMove
(
StoreMoveType
.
StoreReset
);
MoveInfo
.
NextMoveStep
(
MoveStep
.
SR_01_LocationDown
);
LogUtil
.
info
(
Name
+
" 开始复位:顶升下降"
);
LocationDown
(
MoveInfo
);
if
(
ProcessShelfEnter
||
ProcessShelfOut
)
{
LogUtil
.
info
(
Name
+
" 开始复位:顶升下降"
);
}
else
{
LogUtil
.
info
(
Name
+
" 开始复位:顶升下降,设置状态为None"
);
AgvClient
.
SetToNone
(
AgvName
);
}
LocationDown
(
MoveInfo
);
}
private
void
ResetProcess
()
{
...
...
@@ -260,24 +268,31 @@ namespace OnlineStore.DeviceLibrary
}
else
{
if
(
CheckShelf
(
IO_VALUE
.
HIGH
)
&&
(
CurrShelf
.
RealShelf
.
Equals
(
""
)))
{
LogUtil
.
info
(
Name
+
"检测到料架信号,但是没有料架号,自动复位"
);
Reset
();
}
else
if
(
CheckShelf
(
IO_VALUE
.
LOW
)
&&
(!
CurrShelf
.
RealShelf
.
Equals
(
""
)))
if
(
ProcessShelfEnter
||
ProcessShelfOut
)
{
LogUtil
.
info
(
Name
+
"未检测到料架信号,但是有料架号,自动复位"
);
Reset
();
}
if
(
IOManager
.
IOValue
(
DI_InCheck
).
Equals
(
IO_VALUE
.
HIGH
)
&&
(
CurrShelf
.
RealShelf
.
Equals
(
""
)))
{
LogUtil
.
info
(
Name
+
"检测到入口料架信号,但是没有料架号,自动复位"
);
Reset
();
}
else
{
AgvStatusPro
();
if
(
CheckShelf
(
IO_VALUE
.
HIGH
)
&&
(
CurrShelf
.
RealShelf
.
Equals
(
""
)))
{
LogUtil
.
info
(
Name
+
"检测到料架信号,但是没有料架号,自动复位"
);
Reset
();
}
else
if
(
CheckShelf
(
IO_VALUE
.
LOW
)
&&
(!
CurrShelf
.
RealShelf
.
Equals
(
""
)))
{
LogUtil
.
info
(
Name
+
"未检测到料架信号,但是有料架号,自动复位"
);
Reset
();
}
else
if
(
IOManager
.
IOValue
(
DI_InCheck
).
Equals
(
IO_VALUE
.
HIGH
)
&&
(
CurrShelf
.
RealShelf
.
Equals
(
""
)))
{
LogUtil
.
info
(
Name
+
"检测到入口料架信号,但是没有料架号,自动复位"
);
Reset
();
}
else
{
AgvStatusPro
();
}
}
}
}
...
...
@@ -446,19 +461,7 @@ namespace OnlineStore.DeviceLibrary
private
void
AgvStatusPro
()
{
////判断是否在放料中,如果是,直接返回
//if (EquipManager.Equip.MoveInfo.MoveType.Equals(StoreMoveType.InStore))
//{
// InOutParam inoup = EquipManager.Equip.MoveInfo.MoveParam;
// if (inoup.PosInfo.IsNg.Equals(false) && inoup.PosInfo.ShelfPosId.StartsWith(Name))
// {
// AgvClient.SetToNone(AgvName);
// return;
// }
//}
{
if
(
IsReady
())
{
if
(
CheckNeedLeave
(
))
...
...
@@ -599,6 +602,7 @@ namespace OnlineStore.DeviceLibrary
}
finally
{
AgvClient
.
SetStatus
(
AgvName
,
""
,
ClientAction
.
None
,
ClientLevel
.
High
);
LineStop
();
ProcessShelfOut
=
false
;
}
...
...
@@ -617,14 +621,16 @@ namespace OnlineStore.DeviceLibrary
ProcessShelfEnter
=
true
;
LineRun
();
bool
result
=
false
;
//等待进料检测信号
bool
result
=
WaitIo
(
DI_InCheck
,
IO_VALUE
.
HIGH
,
600000
);
result
=
WaitIo
(
DI_InCheck
,
IO_VALUE
.
HIGH
,
600000
,
logName
+
"等待"
+
DI_InCheck
+
"信号"
);
LogUtil
.
info
(
logName
+
" 等待 "
+
DI_InCheck
+
"=High "
+
result
+
", 等待 "
+
DI_FrontCheck
+
" 信号"
);
result
=
WaitIo
(
DI_FrontCheck
,
IO_VALUE
.
HIGH
,
600000
);
LogUtil
.
info
(
logName
+
" 等待 "
+
DI_InCheck
+
"=High 结果: "
+
result
+
", 开始等待 "
+
DI_FrontCheck
+
" 信号"
);
LogUtil
.
info
(
logName
+
" 等待 "
+
DI_FrontCheck
+
"=High "
+
result
+
",开始等待CloseDoor 超时10分钟"
);
result
=
WaitIo
(
DI_FrontCheck
,
IO_VALUE
.
HIGH
,
600000
,
logName
+
"等待"
+
DI_FrontCheck
+
"信号"
);
LogUtil
.
info
(
logName
+
" 等待 "
+
DI_FrontCheck
+
"=High 结果: "
+
result
+
",开始等待CloseDoor 超时10分钟"
);
try
{
result
=
WaitUtil
.
Wait
(
600000
,
delegate
()
...
...
@@ -636,11 +642,11 @@ namespace OnlineStore.DeviceLibrary
{
LogUtil
.
error
(
logName
+
" 超时:"
+
te
);
}
LogUtil
.
info
(
logName
+
"完成"
);
LineStop
();
Thread
.
Sleep
(
2000
);
AgvClient
.
SetStatus
(
AgvName
,
""
,
ClientAction
.
None
,
ClientLevel
.
High
,
true
);
ProcessShelfEnter
=
false
;
ProcessShelfEnter
=
false
;
Reset
();
}
...
...
@@ -654,6 +660,7 @@ namespace OnlineStore.DeviceLibrary
}
finally
{
AgvClient
.
SetStatus
(
AgvName
,
""
,
ClientAction
.
None
,
ClientLevel
.
High
,
true
);
LineStop
();
ProcessShelfEnter
=
false
;
}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论