Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
刘韬
/
SO1057_XLC_Store
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 85f89f2e
由
张东亮
编写于
2024-01-19 12:05:08 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
里面出库先检查提升是否有料,出料口出库有料不放行,提示
1 个父辈
257c0ac7
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
56 行增加
和
16 行删除
DeviceLibrary/theMachine/BoxTransport.cs
DeviceLibrary/theMachine/InOutDevice_OUT.cs
DeviceLibrary/theMachine/BoxTransport.cs
查看文件 @
85f89f2
...
...
@@ -147,7 +147,7 @@ namespace DeviceLibrary
if
(
IOManager
.
IOValue
(
IO_Type
.
SideA_ForkMaterial_Check
).
Equals
(
IO_VALUE
.
HIGH
)
||
IOManager
.
IOValue
(
IO_Type
.
SideB_ForkMaterial_Check
).
Equals
(
IO_VALUE
.
HIGH
))
{
if
(
IOMonitor
.
IODebound
(
IO_Type
.
SideA_ForkMaterial_Check
,
Config
,
IO_VALUE
.
HIGH
,
2000
)
||
if
(
IOMonitor
.
IODebound
(
IO_Type
.
SideA_ForkMaterial_Check
,
Config
,
IO_VALUE
.
HIGH
,
2000
)
||
IOMonitor
.
IODebound
(
IO_Type
.
SideB_ForkMaterial_Check
,
Config
,
IO_VALUE
.
HIGH
,
2000
))
{
Msg
.
add
(
"存储机构取料暂停"
,
MsgLevel
.
alarm
);
//伸缩叉2侧X06/X07检测到有物料无法继续,请检查
...
...
@@ -185,6 +185,26 @@ namespace DeviceLibrary
MoveInfo
.
log
(
$
"{storeMoveType}:行走机构到达取料点"
);
break
;
case
MoveStep
.
StoreTS04
:
if
(
storeMoveType
.
Equals
(
StoreMoveType
.
OutStore
))
{
if
(
To
.
posid
.
Equals
(
BoxStorePosition
.
rightdoor
))
{
if
(
mainMachine
.
RightInOut
.
EndMaterialTop_Check
)
{
Msg
.
add
(
"右侧出入口顶升感应到有物料,无法放料"
,
MsgLevel
.
warning
);
return
false
;
}
}
else
if
(
To
.
posid
.
Equals
(
BoxStorePosition
.
leftdoor
))
{
if
(
mainMachine
.
LeftInOut
.
EndMaterialTop_Check
)
{
Msg
.
add
(
"左侧出入口顶升感应到有物料,无法放料"
,
MsgLevel
.
warning
);
return
false
;
}
}
}
MoveInfo
.
NextMoveStep
(
MoveStep
.
StoreTS05
);
//YAxis.AbsMove(MoveInfo, From.Yaxis_PL, Config.Yaxis_P1_speed);
//MoveInfo.log($"{storeMoveType}:上下轴到达取料低点");
...
...
DeviceLibrary/theMachine/InOutDevice_OUT.cs
查看文件 @
85f89f2
...
...
@@ -14,19 +14,28 @@ namespace DeviceLibrary
{
get
{
return
IOValue
(
IO_EndMaterialTop_Check
).
Equals
(
IO_VALUE
.
LOW
)
&&
Lift
.
isAtTOP
&&
MoveInfo
.
MoveStep
==
MoveStep
.
WaitOutBox
;
return
IOValue
(
IO_EndMaterialTop_Check
).
Equals
(
IO_VALUE
.
LOW
)
&&
Lift
.
isAtTOP
&&
MoveInfo
.
MoveStep
==
MoveStep
.
WaitOutBox
;
}
}
public
bool
TurnToOut
(
JobInfo
jobInfo
)
{
public
bool
TurnToOut
(
JobInfo
jobInfo
)
{
if
(
MoveInfo
.
MoveStep
!=
MoveStep
.
Wait
)
return
false
;
MoveInfo
.
NewMove
(
MoveStep
.
Out01
);
CurrnetDirection
=
InOutDirectionE
.
OUT
;
MoveInfo
.
MoveParam
.
PosID
=
jobInfo
.
PosId
;
MoveInfo
.
MoveParam
.
hSerial
=
jobInfo
.
hSerial
;
MoveInfo
.
MoveParam
.
PosID
=
jobInfo
.
PosId
;
MoveInfo
.
MoveParam
.
hSerial
=
jobInfo
.
hSerial
;
MoveInfo
.
log
(
"开始出库任务"
);
return
true
;
}
/// <summary>
/// 提升机末端上方物料检测
/// </summary>
public
bool
EndMaterialTop_Check
{
get
{
return
IOValue
(
IO_EndMaterialTop_Check
).
Equals
(
IO_VALUE
.
HIGH
);
}
}
void
OutProcess
()
{
if
(
mainMachine
.
CheckWait
(
MoveInfo
))
...
...
@@ -51,7 +60,7 @@ namespace DeviceLibrary
}
else
{
Msg
.
add
(
"周转箱顶升感应到有物料,无法继续出库"
,
MsgLevel
.
info
);
Msg
.
add
(
"周转箱顶升感应到有物料,无法继续出库"
,
MsgLevel
.
warning
);
MoveInfo
.
log
(
"周转箱顶升感应到有物料,无法继续出库"
);
}
break
;
...
...
@@ -71,11 +80,21 @@ namespace DeviceLibrary
}
break
;
case
MoveStep
.
Out05
:
MoveInfo
.
NextMoveStep
(
MoveStep
.
Out06
);
Line
.
LineRun
(
"work"
,
true
,
999
);
MiddleStop
(
MoveInfo
,
IO_VALUE
.
LOW
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_F_Stop_Out
,
IO_VALUE
.
HIGH
));
MoveInfo
.
log
(
$
"线体转动"
);
if
(
IOValue
(
IO_F_Stop_Out
).
Equals
(
IO_VALUE
.
HIGH
))
{
Msg
.
add
(
"有出库料箱,请拿走出口有周转箱"
,
MsgLevel
.
warning
);
MoveInfo
.
log
(
"有出库料箱,请拿走出口有周转箱"
);
}
else
{
MoveInfo
.
NextMoveStep
(
MoveStep
.
Out06
);
Line
.
LineRun
(
"work"
,
true
,
999
);
MiddleStop
(
MoveInfo
,
IO_VALUE
.
LOW
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_EndMaterialTop_Check
,
IO_VALUE
.
LOW
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitIO
(
IO_F_Stop_Out
,
IO_VALUE
.
HIGH
));
MoveInfo
.
log
(
$
"线体转动"
);
}
break
;
case
MoveStep
.
Out06
:
MoveInfo
.
NextMoveStep
(
MoveStep
.
Out07
);
...
...
@@ -89,7 +108,7 @@ namespace DeviceLibrary
MoveInfo
.
log
(
$
"等待agv接走周转箱"
);
break
;
case
MoveStep
.
OutWaitAgv
:
Msg
.
add
(
"等待AGV接走周转箱"
+
MoveInfo
.
MoveParam
.
WareCode
,
MsgLevel
.
info
);
Msg
.
add
(
"等待AGV接走周转箱"
+
MoveInfo
.
MoveParam
.
WareCode
,
MsgLevel
.
info
);
if
(
IOValue
(
IO_AgvOut_Req
).
Equals
(
IO_VALUE
.
HIGH
))
{
MoveInfo
.
NextMoveStep
(
MoveStep
.
Out08
);
...
...
@@ -98,12 +117,13 @@ namespace DeviceLibrary
Line
.
LineRun
(
"work"
,
true
,
999
);
MoveInfo
.
log
(
$
"收到agv抵达信号, 开始送出周转箱"
);
}
if
(
IOMonitor
.
IODebound
(
IO_F_Stop_Out
,
Config
,
IO_VALUE
.
LOW
,
2000
))
{
if
(
IOMonitor
.
IODebound
(
IO_F_Stop_Out
,
Config
,
IO_VALUE
.
LOW
,
2000
))
{
MoveInfo
.
log
(
$
"检测到周转箱已离开,结束出库"
);
RobotManage
.
mainMachine
.
IsClearWarnMsg
=
true
;
MoveInfo
.
EndMove
();
}
else
if
(
MoveInfo
.
IsTimeOut
(
60
*
ConfigHelper
.
Config
.
Get
(
"OutWaitAgvLeaveTimeout"
,
5
)))
else
if
(
MoveInfo
.
IsTimeOut
(
60
*
ConfigHelper
.
Config
.
Get
(
"OutWaitAgvLeaveTimeout"
,
5
)))
{
Msg
.
add
(
$
"出口料箱未下降"
,
MsgLevel
.
warning
);
//等待周转箱[{MoveInfo.MoveParam.WareCode}]离开超时
RobotManage
.
mainMachine
.
IsClearWarnMsg
=
false
;
...
...
@@ -119,11 +139,11 @@ namespace DeviceLibrary
}
else
if
(
MoveInfo
.
IsTimeOut
(
15
))
{
Msg
.
add
(
"周转箱转出至AGV超时"
,
MsgLevel
.
alarm
);
Msg
.
add
(
"周转箱转出至AGV超时"
,
MsgLevel
.
alarm
);
MoveInfo
.
log
(
$
"周转箱转出超时"
);
}
break
;
case
MoveStep
.
Out09
:
case
MoveStep
.
Out09
:
IOMove
(
DO_Agv_Rsp
,
IO_VALUE
.
LOW
);
FrontStop
(
MoveInfo
,
IO_VALUE
.
HIGH
);
MiddleStop
(
MoveInfo
,
IO_VALUE
.
HIGH
);
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论