Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
张东亮
/
SO1057-XLRStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 3c31060e
由
张东亮
编写于
2025-06-21 20:53:26 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
出库同一个工单两料串都有料情况
1 个父辈
338752ba
显示空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
29 行增加
和
10 行删除
source/DeviceLibrary/storeBean/inputBean/BatchMoveBean.cs
source/DeviceLibrary/storeBean/inputBean/InputEquip.cs
source/DeviceLibrary/storeBean/inputBean/InputEquip_InStore.cs
source/DeviceLibrary/storeBean/inputBean/BatchMoveBean.cs
查看文件 @
3c31060
...
@@ -66,7 +66,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -66,7 +66,7 @@ namespace OnlineStore.DeviceLibrary
public
void
TimerProcess
()
public
void
TimerProcess
()
{
{
//如果急停,不再处理
//如果急停,不再处理
if
(
Robot
.
alarmType
.
Equals
(
AlarmType
.
SuddenStop
)||
Robot
.
alarmType
.
Equals
(
AlarmType
.
NoAirpressure_Check
))
if
(
Robot
.
alarmType
.
Equals
(
AlarmType
.
SuddenStop
)
||
Robot
.
alarmType
.
Equals
(
AlarmType
.
NoAirpressure_Check
))
{
{
return
;
return
;
}
}
...
@@ -85,7 +85,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -85,7 +85,8 @@ namespace OnlineStore.DeviceLibrary
if
(
Robot
.
IOValue
(
Config
.
IO_AGV_RequestIn
).
Equals
(
IO_VALUE
.
HIGH
))
if
(
Robot
.
IOValue
(
Config
.
IO_AGV_RequestIn
).
Equals
(
IO_VALUE
.
HIGH
))
{
{
ShelfEnterProcess
(
""
,
""
);
ShelfEnterProcess
(
""
,
""
);
}
else
if
(
Robot
.
AutoInput
&&
Robot
.
IOValue
(
Config
.
IO_LineIn_Check
).
Equals
(
IO_VALUE
.
HIGH
))
}
else
if
(
Robot
.
AutoInput
&&
Robot
.
IOValue
(
Config
.
IO_LineIn_Check
).
Equals
(
IO_VALUE
.
HIGH
))
{
{
LogUtil
.
debug
(
$
"{Name} 处理2"
);
LogUtil
.
debug
(
$
"{Name} 处理2"
);
StartInstore
(
new
InOutParam
());
StartInstore
(
new
InOutParam
());
...
@@ -164,7 +165,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -164,7 +165,7 @@ namespace OnlineStore.DeviceLibrary
BatchAxis
.
SuddenStop
();
BatchAxis
.
SuddenStop
();
BatchAxis
.
ServoOff
();
BatchAxis
.
ServoOff
();
WarnMsg
=
Name
+
"复位失败:批量轴打开失败:"
+
msg
;
WarnMsg
=
Name
+
"复位失败:批量轴打开失败:"
+
msg
;
return
false
;
return
false
;
}
}
if
(
resetShelf
)
if
(
resetShelf
)
...
@@ -175,7 +176,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -175,7 +176,7 @@ namespace OnlineStore.DeviceLibrary
preCodeList
=
new
List
<
string
>();
preCodeList
=
new
List
<
string
>();
WarnMsg
=
""
;
WarnMsg
=
""
;
alarmType
=
AlarmType
.
None
;
alarmType
=
AlarmType
.
None
;
MoveInfo
.
NewMove
(
MoveType
.
Reset
,
new
InOutParam
());
MoveInfo
.
NewMove
(
MoveType
.
Reset
,
new
InOutParam
());
MoveInfo
.
NextMoveStep
(
StepEnum
.
IBR01_StopDown
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
IBR01_StopDown
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
100
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
100
));
WorkLog
(
"开始复位,定位气缸下降"
);
WorkLog
(
"开始复位,定位气缸下降"
);
...
@@ -347,7 +348,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -347,7 +348,8 @@ namespace OnlineStore.DeviceLibrary
}
}
targetSpeed
=
Robot
.
Config
.
BatchAxis_P3Speed
;
targetSpeed
=
Robot
.
Config
.
BatchAxis_P3Speed
;
}
}
else
{
else
{
targetSpeed
=
Robot
.
Config
.
BatchAxis_P1Speed
;
targetSpeed
=
Robot
.
Config
.
BatchAxis_P1Speed
;
}
}
// 需要增加定时器,获取验证信号并停止伺服
// 需要增加定时器,获取验证信号并停止伺服
...
@@ -562,7 +564,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -562,7 +564,7 @@ namespace OnlineStore.DeviceLibrary
}
}
}
}
internal
bool
ShelfReadyOut
(
InOutPosInfo
posInfo
=
null
,
bool
SendShelfOut
=
false
)
internal
bool
ShelfReadyOut
(
InOutPosInfo
posInfo
=
null
,
bool
SendShelfOut
=
false
,
ShelfInfo
otherBatchShelf
=
null
)
{
{
if
(
MoveInfo
.
MoveType
.
Equals
(
MoveType
.
OutStore
)
&&
MoveInfo
.
IsStep
(
StepEnum
.
IS11_ShelfReady
))
if
(
MoveInfo
.
MoveType
.
Equals
(
MoveType
.
OutStore
)
&&
MoveInfo
.
IsStep
(
StepEnum
.
IS11_ShelfReady
))
{
{
...
@@ -570,6 +572,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -570,6 +572,7 @@ namespace OnlineStore.DeviceLibrary
{
{
return
true
;
return
true
;
}
}
//TODO 验证料串是否同一个,不是同一个直接送出料串
//TODO 验证料串是否同一个,不是同一个直接送出料串
if
(
String
.
IsNullOrEmpty
(
CurrShelf
.
XuniRfid
))
if
(
String
.
IsNullOrEmpty
(
CurrShelf
.
XuniRfid
))
{
{
...
@@ -654,7 +657,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -654,7 +657,7 @@ namespace OnlineStore.DeviceLibrary
{
{
if
(
WarnMsg
.
Contains
(
msg
))
if
(
WarnMsg
.
Contains
(
msg
))
{
{
WarnMsg
=
""
;
WarnMsg
=
""
;
}
}
}
}
}
}
...
...
source/DeviceLibrary/storeBean/inputBean/InputEquip.cs
查看文件 @
3c31060
...
@@ -400,7 +400,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -400,7 +400,7 @@ namespace OnlineStore.DeviceLibrary
LogInfo
(
"复位完成"
);
LogInfo
(
"复位完成"
);
runStatus
=
RunStatus
.
Runing
;
runStatus
=
RunStatus
.
Runing
;
MoveInfo
.
EndMove
();
MoveInfo
.
EndMove
();
if
(
clampHasReelWhen
)
if
(
clampHasReelWhen
)
{
{
runStatus
=
RunStatus
.
Busy
;
runStatus
=
RunStatus
.
Busy
;
MoveInfo
.
NewMove
(
MoveType
.
OutStore
,
new
InOutParam
());
MoveInfo
.
NewMove
(
MoveType
.
OutStore
,
new
InOutParam
());
...
@@ -633,6 +633,13 @@ namespace OnlineStore.DeviceLibrary
...
@@ -633,6 +633,13 @@ namespace OnlineStore.DeviceLibrary
{
{
if
(
moveBean
.
MoveInfo
.
MoveType
.
Equals
(
MoveType
.
Reset
)
||
moveBean
.
MoveInfo
.
MoveType
.
Equals
(
MoveType
.
RHome
))
if
(
moveBean
.
MoveInfo
.
MoveType
.
Equals
(
MoveType
.
Reset
)
||
moveBean
.
MoveInfo
.
MoveType
.
Equals
(
MoveType
.
RHome
))
continue
;
continue
;
var
otherModeBean
=
BatchMoveList
.
Find
(
s
=>
!
s
.
Name
.
Equals
(
moveBean
.
Name
));
var
othSerial
=
otherModeBean
?.
MoveInfo
.
MoveParam
?.
PosInfo
?.
hSerial
??
""
;
var
othHasTheHserial
=
false
;
if
(!
string
.
IsNullOrEmpty
(
othSerial
)
&&
othSerial
.
Equals
(
posInfo
.
hSerial
))
{
othHasTheHserial
=
true
;
}
//LogUtil.debug($"{moveBean.Name} CheckStartOutPos 处理");
//LogUtil.debug($"{moveBean.Name} CheckStartOutPos 处理");
var
curhSerial
=
moveBean
.
MoveInfo
.
MoveParam
?.
PosInfo
?.
hSerial
??
""
;
var
curhSerial
=
moveBean
.
MoveInfo
.
MoveParam
?.
PosInfo
?.
hSerial
??
""
;
if
(!
string
.
IsNullOrEmpty
(
curhSerial
)
&&
curhSerial
!=
posInfo
.
hSerial
)
if
(!
string
.
IsNullOrEmpty
(
curhSerial
)
&&
curhSerial
!=
posInfo
.
hSerial
)
...
@@ -646,7 +653,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -646,7 +653,7 @@ namespace OnlineStore.DeviceLibrary
moveBean
.
StartOutstore
();
moveBean
.
StartOutstore
();
return
true
;
return
true
;
}
}
else
if
(
moveBean
.
ShelfReadyOut
(
posInfo
,
shelfAutoLeave
))
else
if
(
!
othHasTheHserial
&&
moveBean
.
ShelfReadyOut
(
posInfo
,
shelfAutoLeave
))
{
{
InOutParam
param
=
new
InOutParam
(
posInfo
.
ToCopy
());
InOutParam
param
=
new
InOutParam
(
posInfo
.
ToCopy
());
param
.
ShelfType
=
moveBean
.
ShelfType
;
param
.
ShelfType
=
moveBean
.
ShelfType
;
...
@@ -713,6 +720,13 @@ namespace OnlineStore.DeviceLibrary
...
@@ -713,6 +720,13 @@ namespace OnlineStore.DeviceLibrary
// LogUtil.debug($"{moveBean.Name} CheckStartOutPos {moveBean.MoveInfo.MoveType}");
// LogUtil.debug($"{moveBean.Name} CheckStartOutPos {moveBean.MoveInfo.MoveType}");
if
(
moveBean
.
MoveInfo
.
MoveType
.
Equals
(
MoveType
.
Reset
)
||
moveBean
.
MoveInfo
.
MoveType
.
Equals
(
MoveType
.
RHome
))
if
(
moveBean
.
MoveInfo
.
MoveType
.
Equals
(
MoveType
.
Reset
)
||
moveBean
.
MoveInfo
.
MoveType
.
Equals
(
MoveType
.
RHome
))
continue
;
continue
;
var
otherModeBean
=
BatchMoveList
.
Find
(
s
=>
!
s
.
Name
.
Equals
(
moveBean
.
Name
));
var
othSerial
=
otherModeBean
?.
MoveInfo
.
MoveParam
?.
PosInfo
?.
hSerial
??
""
;
var
othHasTheHserial
=
false
;
if
(!
string
.
IsNullOrEmpty
(
othSerial
)
&&
othSerial
.
Equals
(
posInfo
.
hSerial
))
{
othHasTheHserial
=
true
;
}
// LogUtil.debug($"{moveBean.Name} CheckStartOutPos 处理");
// LogUtil.debug($"{moveBean.Name} CheckStartOutPos 处理");
var
curhSerial
=
moveBean
.
MoveInfo
.
MoveParam
?.
PosInfo
?.
hSerial
??
""
;
var
curhSerial
=
moveBean
.
MoveInfo
.
MoveParam
?.
PosInfo
?.
hSerial
??
""
;
if
(!
string
.
IsNullOrEmpty
(
curhSerial
)
&&
curhSerial
!=
posInfo
.
hSerial
)
if
(!
string
.
IsNullOrEmpty
(
curhSerial
)
&&
curhSerial
!=
posInfo
.
hSerial
)
...
@@ -726,7 +740,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -726,7 +740,7 @@ namespace OnlineStore.DeviceLibrary
moveBean
.
StartOutstore
();
moveBean
.
StartOutstore
();
return
true
;
return
true
;
}
}
else
if
(
moveBean
.
ShelfReadyOut
(
posInfo
,
shelfAutoLeave
))
else
if
(
!
othHasTheHserial
&&
moveBean
.
ShelfReadyOut
(
posInfo
,
shelfAutoLeave
))
{
{
InOutParam
param
=
new
InOutParam
(
posInfo
.
ToCopy
());
InOutParam
param
=
new
InOutParam
(
posInfo
.
ToCopy
());
param
.
ShelfType
=
moveBean
.
ShelfType
;
param
.
ShelfType
=
moveBean
.
ShelfType
;
...
...
source/DeviceLibrary/storeBean/inputBean/InputEquip_InStore.cs
查看文件 @
3c31060
...
@@ -999,6 +999,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -999,6 +999,7 @@ namespace OnlineStore.DeviceLibrary
else
else
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
IO03_InoutToP2
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
IO03_InoutToP2
);
ClampRelax
(
MoveInfo
);
clampTryCount
++;
clampTryCount
++;
MoveLog
(
$
"出库A->{shelf}料串 {MoveInfo.SLog}: 未检测到料,重新抓取"
);
MoveLog
(
$
"出库A->{shelf}料串 {MoveInfo.SLog}: 未检测到料,重新抓取"
);
}
}
...
@@ -1108,6 +1109,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1108,6 +1109,7 @@ namespace OnlineStore.DeviceLibrary
else
else
{
{
MoveInfo
.
NextMoveStep
(
StepEnum
.
IO13_InoutToP3
);
MoveInfo
.
NextMoveStep
(
StepEnum
.
IO13_InoutToP3
);
ClampRelax
(
MoveInfo
);
clampTryCount
++;
clampTryCount
++;
MoveLog
(
$
"出库B->{shelf}料串 {MoveInfo.SLog}: 未检测到料,重新抓取"
);
MoveLog
(
$
"出库B->{shelf}料串 {MoveInfo.SLog}: 未检测到料,重新抓取"
);
}
}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论