Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
RC1250-ACPackingStore
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 134a19b4
由
LN
编写于
2020-04-13 11:14:21 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
紧急料分盘料送出料架逻辑修改
1 个父辈
3806a146
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
33 行增加
和
23 行删除
source/ACPackingStore/记录.txt
source/DeviceLibrary/ACPackingStore/AC_BOX_Bean.cs
source/DeviceLibrary/ACPackingStore/AC_BOX_Bean_Partial.cs
source/DeviceLibrary/ACPackingStore/StoreManager.cs
source/ACPackingStore/记录.txt
查看文件 @
134a19b
...
@@ -117,9 +117,11 @@ PRO,压紧轴(轴4)七寸盘压紧前点相对压紧点的位置,CompAxis7_P
...
@@ -117,9 +117,11 @@ PRO,压紧轴(轴4)七寸盘压紧前点相对压紧点的位置,CompAxis7_P
agv到达时,根据rfid判断是否有料架
agv到达时,根据rfid判断是否有料架
20200411
出库时未读到料架号,直接送出料架
出库时未读到料架号,直接送出料架
紧急料分盘料料架送出逻辑修改。
分盘料/紧急料放上料串或料架时调用 /rest/api/qisda/device/afterPutCut 参数: cid: 料仓cid,流水线可传入空 barcode : 条码 rfid : RFID rfidLoc: 料架位置,流水线可传-1 > 返回: >>` {"code": 0, "msg":"ok", "data":{"cutPackageTask":"0","urgentPackageTask":"20","cutTask":"21","urgentTask":"22"}} ` >> >> - code: 0为正常,其他为异常, >> - msg:消息, >> - data:为包装料仓的空闲仓位数(key为与客户端一致的料仓标识,value为空闲仓位) >> - cutPackageTask: 表示当前包装仓的分盘任务数 >> - urgentPackageTask: 表示当前包装仓的紧急料任务数 >> - cutTask: 表示流水线分盘任务数 >> - urgentTask: 表示流水线紧急料任务数
...
...
source/DeviceLibrary/ACPackingStore/AC_BOX_Bean.cs
查看文件 @
134a19b
...
@@ -18,7 +18,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -18,7 +18,7 @@ namespace OnlineStore.DeviceLibrary
/// </summary>
/// </summary>
public
partial
class
AC_BOX_Bean
:
KTK_Store
public
partial
class
AC_BOX_Bean
:
KTK_Store
{
{
private
ShelfData
serverShelf
Data
=
null
;
private
TaskData
task
Data
=
null
;
public
EnteryDoorBean
DoorBean
=
null
;
public
EnteryDoorBean
DoorBean
=
null
;
private
bool
IsIntSlvBlock
=
false
;
private
bool
IsIntSlvBlock
=
false
;
public
AutoInoutInfo
AutoInout
=
new
AutoInoutInfo
();
public
AutoInoutInfo
AutoInout
=
new
AutoInoutInfo
();
...
@@ -35,10 +35,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -35,10 +35,7 @@ namespace OnlineStore.DeviceLibrary
/// 所有料架库位列表
/// 所有料架库位列表
/// </summary>
/// </summary>
public
List
<
string
>
ShelfPosList
=
new
List
<
string
>();
public
List
<
string
>
ShelfPosList
=
new
List
<
string
>();
///// <summary>
///// 料架未放料盘的位置列表
///// </summary>
// public ConcurrentQueue<string> EmprtShelfList = new ConcurrentQueue<string>();
public
HumitureBean
humBean
=
null
;
public
HumitureBean
humBean
=
null
;
private
System
.
Timers
.
Timer
serverConnectTimer
=
new
System
.
Timers
.
Timer
();
private
System
.
Timers
.
Timer
serverConnectTimer
=
new
System
.
Timers
.
Timer
();
...
...
source/DeviceLibrary/ACPackingStore/AC_BOX_Bean_Partial.cs
查看文件 @
134a19b
...
@@ -785,7 +785,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -785,7 +785,7 @@ namespace OnlineStore.DeviceLibrary
return
false
;
return
false
;
}
}
serverShelf
Data
=
null
;
task
Data
=
null
;
storeStatus
=
StoreStatus
.
OutStoreExecute
;
storeStatus
=
StoreStatus
.
OutStoreExecute
;
storeRunStatus
=
StoreRunStatus
.
Busy
;
storeRunStatus
=
StoreRunStatus
.
Busy
;
MoveInfo
.
NewMove
(
StoreMoveType
.
OutStore
,
param
);
MoveInfo
.
NewMove
(
StoreMoveType
.
OutStore
,
param
);
...
@@ -945,18 +945,17 @@ namespace OnlineStore.DeviceLibrary
...
@@ -945,18 +945,17 @@ namespace OnlineStore.DeviceLibrary
ACAxisMove
(
Config
.
Comp_Axis
,
moveP
.
ComPress_P1
,
Config
.
CompAxis_P1_Speed
);
ACAxisMove
(
Config
.
Comp_Axis
,
moveP
.
ComPress_P1
,
Config
.
CompAxis_P1_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_LP101
,
Config
.
UpDownAxis_P101_Speed
);
ACAxisMove
(
Config
.
UpDown_Axis
,
moveP
.
UpDown_LP101
,
Config
.
UpDownAxis_P101_Speed
);
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1000
));
MoveInfo
.
WaitList
.
Add
(
WaitResultInfo
.
WaitTime
(
1000
));
serverShelf
Data
=
null
;
task
Data
=
null
;
Task
.
Factory
.
StartNew
(
delegate
Task
.
Factory
.
StartNew
(
delegate
{
{
int
posLoc
=
StoreManager
.
GetShelfPosIndex
(
MoveInfo
.
MoveParam
.
ShelfPosID
,
ShelfPosList
);
int
posLoc
=
StoreManager
.
GetShelfPosIndex
(
MoveInfo
.
MoveParam
.
ShelfPosID
,
ShelfPosList
);
//分盘料和紧急料发PutFinished
//分盘料和紧急料发PutFinished
if
(
MoveInfo
.
MoveParam
.
cutReel
||
MoveInfo
.
MoveParam
.
urgentReel
)
if
(
MoveInfo
.
MoveParam
.
cutReel
||
MoveInfo
.
MoveParam
.
urgentReel
)
{
{
string
msg
=
StoreManager
.
PutShelfFinished
(
Name
,
MoveInfo
.
MoveParam
.
WareCode
,
CurrShelfID
,
posLoc
.
ToString
(),
out
serverShelf
Data
);
string
msg
=
StoreManager
.
afterPutCut
(
Name
,
CurrShelfID
,
MoveInfo
.
MoveParam
.
WareCode
,
CID
,
posLoc
,
out
task
Data
);
if
(
String
.
IsNullOrEmpty
(
msg
).
Equals
(
false
))
if
(
String
.
IsNullOrEmpty
(
msg
).
Equals
(
false
))
{
{
LogUtil
.
error
(
Name
+
"【"
+
MoveInfo
.
MoveParam
.
WareCode
+
"】【"
+
CurrShelfID
+
"】【"
+
posLoc
+
"】【"
+
GetLastRfid
()+
"】PutShelfFinished 结果:"
+
msg
);
LogUtil
.
error
(
Name
+
"["
+
MoveInfo
.
MoveParam
.
WareCode
+
"] ["
+
CurrShelfID
+
"_"
+
GetLastRfid
()
+
"] ["
+
posLoc
+
"] afterPutCut 结果:"
+
msg
);
serverShelfData
=
null
;
}
}
}
}
else
else
...
@@ -965,8 +964,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -965,8 +964,7 @@ namespace OnlineStore.DeviceLibrary
string
msg
=
StoreManager
.
UpdateTrayLoc
(
Name
,
MoveInfo
.
MoveParam
.
WareCode
,
CurrShelfID
+
"@"
+
posLoc
.
ToString
(),
out
newTaskCount
);
string
msg
=
StoreManager
.
UpdateTrayLoc
(
Name
,
MoveInfo
.
MoveParam
.
WareCode
,
CurrShelfID
+
"@"
+
posLoc
.
ToString
(),
out
newTaskCount
);
if
(
String
.
IsNullOrEmpty
(
msg
).
Equals
(
false
))
if
(
String
.
IsNullOrEmpty
(
msg
).
Equals
(
false
))
{
{
LogUtil
.
error
(
Name
+
"【"
+
MoveInfo
.
MoveParam
.
WareCode
+
"】【"
+
CurrShelfID
+
"】【"
+
posLoc
+
"】【"
+
GetLastRfid
()
+
"】UpdateTrayLoc 结果:"
+
msg
);
LogUtil
.
error
(
Name
+
"["
+
MoveInfo
.
MoveParam
.
WareCode
+
"] ["
+
CurrShelfID
+
"_"
+
GetLastRfid
()
+
"] ["
+
posLoc
+
"] UpdateTrayLoc 结果:"
+
msg
);
serverShelfData
=
null
;
}
}
if
(
newTaskCount
>
MoveInfo
.
MoveParam
.
taskCount
)
if
(
newTaskCount
>
MoveInfo
.
MoveParam
.
taskCount
)
{
{
...
@@ -995,29 +993,42 @@ namespace OnlineStore.DeviceLibrary
...
@@ -995,29 +993,42 @@ namespace OnlineStore.DeviceLibrary
{
{
//判断是否需要送出料架
//判断是否需要送出料架
bool
isNeedSend
=
false
;
bool
isNeedSend
=
false
;
string
logName
=
"【"
+
CurrShelfID
+
"
】【
"
+
GetLastRfid
()
+
"】"
;
string
logName
=
"【"
+
CurrShelfID
+
"
_
"
+
GetLastRfid
()
+
"】"
;
//只有rfid不为空才需要送出料架
//只有rfid不为空才需要送出料架
if
(
String
.
IsNullOrEmpty
(
MoveInfo
.
MoveParam
.
rfid
))
if
(
String
.
IsNullOrEmpty
(
MoveInfo
.
MoveParam
.
rfid
))
{
{
InOutStoreLog
(
"出库完成,未设置rfid,不需要送出料架"
);
InOutStoreLog
(
"出库完成,未设置rfid,不需要送出料架"
);
isNeedSend
=
false
;
isNeedSend
=
false
;
}
}
else
if
(
serverShelfData
!=
nul
l
)
else
if
(
MoveInfo
.
MoveParam
.
cutRee
l
)
{
{
if
(
serverShelfData
.
packageEmpty
<=
0
)
if
(
taskData
!=
null
&&
taskData
.
cutPackageTask
<=
0
)
{
{
InOutStoreLog
(
"出库完成,料架"
+
logName
+
"没有位置,packageEmpty="
+
serverShelfData
.
packageEmpty
+
",送出料架"
);
InOutStoreLog
(
logName
+
"分盘料出库完成,cutPackageTask="
+
taskData
.
cutPackageTask
+
",送出料架"
);
isNeedSend
=
true
;
isNeedSend
=
true
;
}
}
else
if
(
(
serverShelfData
.
cutPackageTask
+
serverShelfData
.
packageTask
)
<=
0
)
else
if
(
taskData
==
null
)
{
{
InOutStoreLog
(
"出库完成,料架"
+
logName
+
"没有出库任务,cutPackageTask="
+
serverShelfData
.
cutPackageTask
+
",packageTask="
+
serverShelfData
.
packageTask
+
"
,送出料架"
);
InOutStoreLog
(
logName
+
"分盘料出库完成,taskData=null
,送出料架"
);
isNeedSend
=
true
;
isNeedSend
=
true
;
}
}
}
}
else
if
(
MoveInfo
.
MoveParam
.
taskCount
<=
0
)
else
if
(
MoveInfo
.
MoveParam
.
urgentReel
)
{
{
InOutStoreLog
(
"出库完成,料架"
+
logName
+
"没有出库任务,taskCount="
+
MoveInfo
.
MoveParam
.
taskCount
+
" 送出料架"
);
if
(
taskData
!=
null
&&
taskData
.
urgentPackageTask
<=
0
)
{
InOutStoreLog
(
logName
+
"紧急料出库完成,urgentPackageTask="
+
taskData
.
urgentPackageTask
+
",送出料架"
);
isNeedSend
=
true
;
}
else
if
(
taskData
==
null
)
{
InOutStoreLog
(
logName
+
"紧急料出库完成,taskData=null,送出料架"
);
isNeedSend
=
true
;
}
}
else
if
(
MoveInfo
.
MoveParam
.
taskCount
<=
0
)
{
InOutStoreLog
(
logName
+
"出库完成,taskCount="
+
MoveInfo
.
MoveParam
.
taskCount
+
" 送出料架"
);
isNeedSend
=
true
;
isNeedSend
=
true
;
}
}
if
(
isNeedSend
)
if
(
isNeedSend
)
...
@@ -1029,7 +1040,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1029,7 +1040,7 @@ namespace OnlineStore.DeviceLibrary
TimeSpan
span
=
DateTime
.
Now
-
startOutStoreTime
;
TimeSpan
span
=
DateTime
.
Now
-
startOutStoreTime
;
string
posId
=
MoveInfo
.
MoveParam
!=
null
?
MoveInfo
.
MoveParam
.
PosID
:
""
;
string
posId
=
MoveInfo
.
MoveParam
!=
null
?
MoveInfo
.
MoveParam
.
PosID
:
""
;
storeStatus
=
StoreStatus
.
StoreOnline
;
storeStatus
=
StoreStatus
.
StoreOnline
;
LogInfo
(
" 【"
+
posId
+
"】 "
+
logName
+
"
整个出库流程
结束,耗时【"
+
FormUtil
.
GetSpanStr
(
span
)
+
"】!"
);
LogInfo
(
" 【"
+
posId
+
"】 "
+
logName
+
"
出库
结束,耗时【"
+
FormUtil
.
GetSpanStr
(
span
)
+
"】!"
);
if
(!
String
.
IsNullOrEmpty
(
MoveInfo
.
MoveParam
.
rfid
))
if
(!
String
.
IsNullOrEmpty
(
MoveInfo
.
MoveParam
.
rfid
))
{
{
if
(
StoreManager
.
Store
.
AutoShelfInstore
)
if
(
StoreManager
.
Store
.
AutoShelfInstore
)
...
@@ -1041,7 +1052,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1041,7 +1052,7 @@ namespace OnlineStore.DeviceLibrary
}
}
MoveEndToRuningStatus
();
MoveEndToRuningStatus
();
AutoInout
.
InOutEndProcess
(
this
,
StoreMoveType
.
OutStore
);
AutoInout
.
InOutEndProcess
(
this
,
StoreMoveType
.
OutStore
);
}
}
}
}
#
endregion
#
endregion
...
...
source/DeviceLibrary/ACPackingStore/StoreManager.cs
查看文件 @
134a19b
此文件的差异被折叠,
点击展开。
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论