Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
RC1250-AssemblyLine
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 9e9d9777
由
张东亮
编写于
2023-12-13 13:14:05 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
出库完成通知失败重新通知
1 个父辈
4832bd2b
显示空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
75 行增加
和
13 行删除
source/DeviceLibrary/assemblyLine/ProvidingEquip_Partial.cs
source/DeviceLibrary/assemblymanager/SServerManager.cs
source/DeviceLibrary/assemblyLine/ProvidingEquip_Partial.cs
查看文件 @
9e9d977
...
@@ -165,7 +165,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -165,7 +165,7 @@ namespace OnlineStore.DeviceLibrary
LogUtil
.
info
(
"RFID [ "
+
Config
.
CameraName_1_RFID
+
" ] 读到数据 "
+
data
.
NumStr
());
LogUtil
.
info
(
"RFID [ "
+
Config
.
CameraName_1_RFID
+
" ] 读到数据 "
+
data
.
NumStr
());
//获取托盘信息
//获取托盘信息
TrayInfo
tray
=
TrayManager
.
GetTrayInfo
(
trayNum
);
TrayInfo
tray
=
TrayManager
.
GetTrayInfo
(
trayNum
);
if
(
tray
.
InoutPar
.
ManualJudgeNG
||
tray
.
InoutPar
.
Corrected
)
if
(
tray
.
InoutPar
.
ManualJudgeNG
||
tray
.
InoutPar
.
Corrected
)
{
{
//扫码
//扫码
(
bool
result
,
string
barcode
)
=
CodeManager
.
ReelCheckCameraScan
(
new
List
<
string
>
{
Config
.
CameraName_1
},
Name
);
(
bool
result
,
string
barcode
)
=
CodeManager
.
ReelCheckCameraScan
(
new
List
<
string
>
{
Config
.
CameraName_1
},
Name
);
...
@@ -179,12 +179,12 @@ namespace OnlineStore.DeviceLibrary
...
@@ -179,12 +179,12 @@ namespace OnlineStore.DeviceLibrary
{
{
(
int
resCode
,
taskInfo
task
)
=
SServerManager
.
getTaskInfo
(
barcode
);
(
int
resCode
,
taskInfo
task
)
=
SServerManager
.
getTaskInfo
(
barcode
);
if
(
resCode
==
-
1
)
if
(
resCode
==
-
1
)
{
{
TrayDisableManager
.
AddDisableTray
(
trayNum
,
Name
,
"【屏蔽料盘二次判断】【-1】"
,
DeviceID
);
TrayDisableManager
.
AddDisableTray
(
trayNum
,
Name
,
"【屏蔽料盘二次判断】【-1】"
,
DeviceID
);
LogUtil
.
info
(
$
"【屏蔽料盘二次判断】【-1】【需要禁用该托盘】【{tray.ToStr()}】"
);
LogUtil
.
info
(
$
"【屏蔽料盘二次判断】【-1】【需要禁用该托盘】【{tray.ToStr()}】"
);
}
}
else
if
(
resCode
==
100
)
else
if
(
resCode
==
100
)
{
{
tray
.
InoutPar
.
InStoreNg
=
true
;
tray
.
InoutPar
.
InStoreNg
=
true
;
tray
.
InoutPar
.
PlateH
=
task
.
plateH
;
tray
.
InoutPar
.
PlateH
=
task
.
plateH
;
...
@@ -242,7 +242,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -242,7 +242,7 @@ namespace OnlineStore.DeviceLibrary
(
int
resCode
,
taskInfo
task
)
=
SServerManager
.
getTaskInfo
(
barcode
);
(
int
resCode
,
taskInfo
task
)
=
SServerManager
.
getTaskInfo
(
barcode
);
if
(
resCode
==
-
1
)
if
(
resCode
==
-
1
)
{
{
TrayDisableManager
.
AddDisableTray
(
trayNum
,
Name
,
"【屏蔽料盘二次判断】【-1】【初次无料,第二次有料】"
,
DeviceID
);
TrayDisableManager
.
AddDisableTray
(
trayNum
,
Name
,
"【屏蔽料盘二次判断】【-1】【初次无料,第二次有料】"
,
DeviceID
);
LogUtil
.
info
(
$
"【屏蔽料盘二次判断】【-1】【初次无料,第二次有料】 【禁用该托盘】【{tray.ToStr()}】"
);
LogUtil
.
info
(
$
"【屏蔽料盘二次判断】【-1】【初次无料,第二次有料】 【禁用该托盘】【{tray.ToStr()}】"
);
}
}
else
if
(
resCode
==
100
)
else
if
(
resCode
==
100
)
...
@@ -567,7 +567,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -567,7 +567,7 @@ namespace OnlineStore.DeviceLibrary
bool
corr
=
tray
.
InoutPar
?.
Corrected
??
false
;
bool
corr
=
tray
.
InoutPar
?.
Corrected
??
false
;
if
(
jNg
&&
(!
corr
))
if
(
jNg
&&
(!
corr
))
{
{
LogInfo
(
SecondMoveInfo
.
MoveNum
+
"*************** 托盘【"
+
currTrayNum
+
"】被为标记判定NG,放盘通过,["
+
jNg
+
"]["
+
corr
+
"]"
);
LogInfo
(
SecondMoveInfo
.
MoveNum
+
"*************** 托盘【"
+
currTrayNum
+
"】被为标记判定NG,放盘通过,["
+
jNg
+
"]["
+
corr
+
"]"
);
MO_14_TopDown
();
MO_14_TopDown
();
}
}
else
if
(
param
!=
null
)
else
if
(
param
!=
null
)
...
@@ -689,7 +689,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -689,7 +689,8 @@ namespace OnlineStore.DeviceLibrary
}
}
else
if
(
SecondMoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
MO_15_WaitCanGo
))
else
if
(
SecondMoveInfo
.
MoveStep
.
Equals
(
LineMoveStep
.
MO_15_WaitCanGo
))
{
{
if
(
DeviceID
.
Equals
(
203
)){
if
(
DeviceID
.
Equals
(
203
))
{
MoveEquip
moveEquip
=
LineManager
.
Line
.
GetMoveByDId
(
17
);
MoveEquip
moveEquip
=
LineManager
.
Line
.
GetMoveByDId
(
17
);
if
(
moveEquip
.
IOValue
(
IO_Type
.
StopCylinder_Check1
).
Equals
(
IO_VALUE
.
LOW
))
if
(
moveEquip
.
IOValue
(
IO_Type
.
StopCylinder_Check1
).
Equals
(
IO_VALUE
.
LOW
))
...
@@ -744,7 +745,8 @@ namespace OnlineStore.DeviceLibrary
...
@@ -744,7 +745,8 @@ namespace OnlineStore.DeviceLibrary
private
void
MO_16_Stop2Down
()
private
void
MO_16_Stop2Down
()
{
{
if
(
DeviceID
.
Equals
(
203
))
{
if
(
DeviceID
.
Equals
(
203
))
{
MoveEquip
move17
=
LineManager
.
Line
.
GetMoveByDId
(
17
);
MoveEquip
move17
=
LineManager
.
Line
.
GetMoveByDId
(
17
);
if
(
move17
.
IOValue
(
IO_Type
.
StopCylinder_Check1
).
Equals
(
IO_VALUE
.
HIGH
))
if
(
move17
.
IOValue
(
IO_Type
.
StopCylinder_Check1
).
Equals
(
IO_VALUE
.
HIGH
))
...
@@ -926,10 +928,6 @@ namespace OnlineStore.DeviceLibrary
...
@@ -926,10 +928,6 @@ namespace OnlineStore.DeviceLibrary
{
{
if
(
LineIsReady
())
if
(
LineIsReady
())
{
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
PO_09_CylinderRelax
);
OutLog
(
"出料:"
+
MoveInfo
.
SLog
+
",夹料气缸放松)"
);
CylinderMove
(
MoveInfo
,
IO_Type
.
ClampCylinder_Slack
,
IO_Type
.
ClampCylinder_Tighten
);
if
(
MoveInfo
.
MoveParam
.
urgentReel
&&
this
.
Config
.
SidesWayNum
.
Equals
(
4
))
if
(
MoveInfo
.
MoveParam
.
urgentReel
&&
this
.
Config
.
SidesWayNum
.
Equals
(
4
))
{
{
afterPutCutOK
=
false
;
afterPutCutOK
=
false
;
...
@@ -937,16 +935,24 @@ namespace OnlineStore.DeviceLibrary
...
@@ -937,16 +935,24 @@ namespace OnlineStore.DeviceLibrary
TaskData
taskData
;
TaskData
taskData
;
string
shefId
=
"BN"
;
string
shefId
=
"BN"
;
int
ShelfLoc
=
1
;
int
ShelfLoc
=
1
;
string
msg
=
SServerManager
.
afterPutCut
(
Name
,
shefId
,
MoveInfo
.
MoveParam
.
WareCode
,
""
,
ShelfLoc
,
out
taskData
);
afterPutCutOK
=
SServerManager
.
afterPutCut
(
Name
,
shefId
,
MoveInfo
.
MoveParam
.
WareCode
,
""
,
ShelfLoc
,
out
taskData
,
out
string
msg
);
if
(
String
.
IsNullOrEmpty
(
msg
).
Equals
(
false
))
if
(
String
.
IsNullOrEmpty
(
msg
).
Equals
(
false
))
{
{
LogUtil
.
error
(
Name
+
"【"
+
MoveInfo
.
MoveParam
.
WareCode
+
"】【"
+
shefId
+
"】【"
+
ShelfLoc
.
ToString
()
+
"】afterPutCut 结果:"
+
msg
);
LogUtil
.
error
(
Name
+
"【"
+
MoveInfo
.
MoveParam
.
WareCode
+
"】【"
+
shefId
+
"】【"
+
ShelfLoc
.
ToString
()
+
"】afterPutCut 结果:"
+
msg
);
taskData
=
null
;
taskData
=
null
;
}
}
if
(!
afterPutCutOK
)
return
;
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
PO_09_CylinderRelax
);
OutLog
(
"出料:"
+
MoveInfo
.
SLog
+
",夹料气缸放松)"
);
CylinderMove
(
MoveInfo
,
IO_Type
.
ClampCylinder_Slack
,
IO_Type
.
ClampCylinder_Tighten
);
afterPutCutOK
=
true
;
afterPutCutOK
=
true
;
}
}
else
else
{
{
MoveInfo
.
NextMoveStep
(
LineMoveStep
.
PO_09_CylinderRelax
);
OutLog
(
"出料:"
+
MoveInfo
.
SLog
+
",夹料气缸放松)"
);
CylinderMove
(
MoveInfo
,
IO_Type
.
ClampCylinder_Slack
,
IO_Type
.
ClampCylinder_Tighten
);
afterPutCutOK
=
true
;
afterPutCutOK
=
true
;
}
}
}
}
...
...
source/DeviceLibrary/assemblymanager/SServerManager.cs
查看文件 @
9e9d977
...
@@ -382,7 +382,63 @@ namespace OnlineStore.DeviceLibrary
...
@@ -382,7 +382,63 @@ namespace OnlineStore.DeviceLibrary
return
msg
;
return
msg
;
}
}
public
static
bool
afterPutCut
(
string
deviceName
,
string
rfid
,
string
barcode
,
string
cid
,
int
rfidLoc
,
out
TaskData
afterData
,
out
string
msg
)
{
afterData
=
null
;
msg
=
""
;
try
{
//参数:
//cid: 料仓cid,流水线可传入空
//barcode : 条码
//rfid : RFID
//rfidLoc: 料架位置,流水线可传-1
Dictionary
<
string
,
string
>
paramMap
=
new
Dictionary
<
string
,
string
>();
paramMap
.
Add
(
"barcode"
,
barcode
);
// 参数: barcode=料盘的条码
paramMap
.
Add
(
"rfid"
,
rfid
);
// rfid = 料架的RFID信息
paramMap
.
Add
(
"rfidLoc"
,
rfidLoc
.
ToString
());
// rfidLoc=料架的架位信息
paramMap
.
Add
(
"cid"
,
cid
);
// 料仓cid,流水线可传入空
string
server
=
GetAddr
(
Addr_afterPutCut
,
paramMap
);
DateTime
startTime
=
DateTime
.
Now
;
string
resultStr
=
HttpHelper
.
Post
(
server
,
""
);
if
(
barcode
!=
""
)
{
LogUtil
.
info
(
deviceName
+
"afterPutCut "
+
FormUtil
.
GetSpanStr
(
DateTime
.
Now
-
startTime
)
+
" 【"
+
server
+
"】【"
+
resultStr
+
"】"
);
}
else
{
LogUtil
.
debug
(
deviceName
+
"afterPutCut "
+
FormUtil
.
GetSpanStr
(
DateTime
.
Now
-
startTime
)
+
" 【"
+
server
+
"】【"
+
resultStr
+
"】"
);
}
//> 返回:
//>>` {"code": 0, "msg":"ok", "data":{"cutPackageTask":"0","urgentPackageTask":"20","cutTask":"21","urgentTask":"22"}} `
//>>
//>> - code: 0为正常,其他为异常,
//>> - msg:消息,
//>> - data:为包装料仓的空闲仓位数(key为与客户端一致的料仓标识, value为空闲仓位)
//>> - cutPackageTask: 表示当前包装仓的分盘任务数
//>> - urgentPackageTask: 表示当前包装仓的紧急料任务数
//>> - cutTask: 表示流水线分盘任务数
//>> - urgentTask: 表示流水线紧急料任务数
AfterPutData
serverResult
=
JsonHelper
.
DeserializeJsonToObject
<
AfterPutData
>(
resultStr
);
if
(
serverResult
==
null
)
{
return
false
;
}
else
if
(
serverResult
.
code
.
Equals
(
0
).
Equals
(
false
))
{
return
false
;
}
afterData
=
serverResult
.
data
;
return
true
;
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
deviceName
+
" "
+
ex
.
ToString
());
}
return
false
;
}
// 分盘料/紧急料启动时获取料架的虚拟RFID调用 地址: /rest/api/qisda/device/findTempRfid
// 分盘料/紧急料启动时获取料架的虚拟RFID调用 地址: /rest/api/qisda/device/findTempRfid
private
static
string
Addr_findTempRfid
=
"/rest/api/qisda/device/findTempRfid"
;
private
static
string
Addr_findTempRfid
=
"/rest/api/qisda/device/findTempRfid"
;
public
static
string
findTempRfid
(
string
deviceName
,
string
rfid
,
out
string
tempRfid
)
public
static
string
findTempRfid
(
string
deviceName
,
string
rfid
,
out
string
tempRfid
)
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论