Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
RC1250-AssemblyLine
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit d31df789
由
LN
编写于
2023-05-19 15:48:36 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
bug修改
1 个父辈
f0bd4276
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
58 行增加
和
49 行删除
source/DeviceLibrary/assemblyLine/MoveEquip_Partial.cs
source/DeviceLibrary/assemblymanager/RFIDManagercs.cs
source/DeviceLibrary/assemblyLine/MoveEquip_Partial.cs
查看文件 @
d31df78
...
@@ -1274,7 +1274,7 @@ namespace OnlineStore.DeviceLibrary
...
@@ -1274,7 +1274,7 @@ namespace OnlineStore.DeviceLibrary
{
{
return
true
;
return
true
;
}
}
if
(
IOValue
(
IO_Type
.
StopCylinder_Check2
).
Equals
(
IO_VALUE
.
HIGH
)
||
IOValue
(
IO_Type
.
StopCylinder_Check1
).
Equals
(
IO_VALUE
.
HIGH
)
)
if
(
IOValue
(
IO_Type
.
StopCylinder_Check2
).
Equals
(
IO_VALUE
.
HIGH
)
)
{
{
return
true
;
return
true
;
}
}
...
...
source/DeviceLibrary/assemblymanager/RFIDManagercs.cs
查看文件 @
d31df78
...
@@ -84,69 +84,78 @@ namespace OnlineStore.DeviceLibrary
...
@@ -84,69 +84,78 @@ namespace OnlineStore.DeviceLibrary
private
static
bool
CheckTrayNum
(
string
ip
,
int
num
)
private
static
bool
CheckTrayNum
(
string
ip
,
int
num
)
{
{
RFIDData
data
=
new
RFIDData
(
ip
);
try
List
<
RfidCacheInfo
>
list
=
LastRfidMap
.
GetOrAdd
(
ip
,
new
List
<
RfidCacheInfo
>());
if
(
list
.
Count
>
0
)
{
{
RFIDData
data
=
new
RFIDData
(
ip
);
List
<
RfidCacheInfo
>
list
=
LastRfidMap
.
GetOrAdd
(
ip
,
new
List
<
RfidCacheInfo
>());
int
readNumIndex
=
-
1
;
if
(
list
.
Count
>
0
)
string
listStr
=
""
;
for
(
int
i
=
0
;
i
<
list
.
Count
;
i
++)
{
{
RfidCacheInfo
cacheInfo
=
list
[
i
];
if
(
cacheInfo
.
Data
.
Num
.
Equals
(
num
))
int
readNumIndex
=
-
1
;
string
listStr
=
""
;
for
(
int
i
=
0
;
i
<
list
.
Count
;
i
++)
{
{
listStr
+=
"【"
+
cacheInfo
.
Data
.
Num
+
","
+
cacheInfo
.
Used
+
","
+
cacheInfo
.
UpdateTime
.
ToLongTimeString
()
+
"】"
;
RfidCacheInfo
cacheInfo
=
list
[
i
]
;
readNumIndex
=
i
;
if
(
cacheInfo
.
Data
.
Num
.
Equals
(
num
))
}
{
}
listStr
+=
"【"
+
cacheInfo
.
Data
.
Num
+
","
+
cacheInfo
.
Used
+
","
+
cacheInfo
.
UpdateTime
.
ToLongTimeString
()
+
"】"
;
if
(
readNumIndex
==
-
1
)
readNumIndex
=
i
;
{
}
list
.
Add
(
new
RfidCacheInfo
(
data
,
true
));
}
if
(
list
.
Count
>
3
)
if
(
readNumIndex
==
-
1
)
{
{
list
.
RemoveAt
(
0
);
list
.
Add
(
new
RfidCacheInfo
(
data
,
true
));
if
(
list
.
Count
>
3
)
{
list
.
RemoveAt
(
0
);
}
LastRfidMap
.
AddOrUpdate
(
ip
,
list
,
(
key
,
value
)
=>
value
);
LogUtil
.
error
(
"CheckTrayNum托盘号验证: ["
+
ip
+
"]["
+
num
+
"],未找到此托盘缓存,增加次托盘到缓存。缓存数据:"
+
listStr
);
return
true
;
}
}
LastRfidMap
.
AddOrUpdate
(
ip
,
list
,
(
key
,
value
)
=>
value
);
else
if
(
readNumIndex
==
(
list
.
Count
-
1
))
LogUtil
.
error
(
"CheckTrayNum托盘号验证: ["
+
ip
+
"]["
+
num
+
"],未找到此托盘缓存,增加次托盘到缓存。缓存数据:"
+
listStr
);
return
true
;
}
else
if
(
readNumIndex
==
(
list
.
Count
-
1
))
{
//是最后一个
if
(
list
[
readNumIndex
].
Used
)
{
{
LogUtil
.
error
(
"CheckTrayNum托盘号验证失败: ["
+
ip
+
"]["
+
num
+
"],缓存记录当前托盘已使用。缓存数据:"
+
listStr
);
//是最后一个
return
false
;
if
(
list
[
readNumIndex
].
Used
)
{
LogUtil
.
error
(
"CheckTrayNum托盘号验证失败: ["
+
ip
+
"]["
+
num
+
"],缓存记录当前托盘已使用。缓存数据:"
+
listStr
);
return
false
;
}
else
{
//更改状态
list
[
readNumIndex
].
Used
=
true
;
LastRfidMap
.
AddOrUpdate
(
ip
,
list
,
(
key
,
value
)
=>
value
);
int
preIndex
=
readNumIndex
-
1
;
//上一个已使用
if
(
list
.
Count
>
preIndex
&&
preIndex
>=
0
)
{
if
(!
list
[
preIndex
].
Used
)
{
LogUtil
.
error
(
"CheckTrayNum托盘号验证失败: ["
+
ip
+
"]["
+
num
+
"],缓存记录上一个托盘未使用,更新当前托盘为已用。缓存数据:"
+
listStr
);
return
false
;
}
}
}
}
}
//不是最后一个
else
else
{
{
//更改状态
//更改状态
list
[
readNumIndex
].
Used
=
true
;
list
[
readNumIndex
].
Used
=
true
;
LastRfidMap
.
AddOrUpdate
(
ip
,
list
,
(
key
,
value
)
=>
value
);
LastRfidMap
.
AddOrUpdate
(
ip
,
list
,
(
key
,
value
)
=>
value
);
//上一个已使用
LogUtil
.
error
(
"CheckTrayNum托盘号验证失败: ["
+
ip
+
"]["
+
num
+
"],当前托盘索引="
+
readNumIndex
+
",总缓存托盘数="
+
list
.
Count
+
",不是最后一个缓存托盘号,更新当前托盘为已用。缓存数据:"
+
listStr
);
if
(
list
.
Count
>
readNumIndex
-
1
)
return
false
;
{
if
(!
list
[
readNumIndex
-
1
].
Used
)
{
LogUtil
.
error
(
"CheckTrayNum托盘号验证失败: ["
+
ip
+
"]["
+
num
+
"],缓存记录上一个托盘未使用,更新当前托盘为已用。缓存数据:"
+
listStr
);
return
false
;
}
}
}
}
}
//不是最后一个
else
{
//更改状态
list
[
readNumIndex
].
Used
=
true
;
LastRfidMap
.
AddOrUpdate
(
ip
,
list
,
(
key
,
value
)
=>
value
);
LogUtil
.
error
(
"CheckTrayNum托盘号验证失败: ["
+
ip
+
"]["
+
num
+
"],当前托盘索引="
+
readNumIndex
+
",总缓存托盘数="
+
list
.
Count
+
",不是最后一个缓存托盘号,更新当前托盘为已用。缓存数据:"
+
listStr
);
return
false
;
}
}
}
catch
(
Exception
ex
)
{
LogUtil
.
error
(
" CheckTrayNum ["
+
ip
+
"]["
+
num
+
"] 出错:"
+
ex
.
ToString
());
}
}
return
true
;
return
true
;
}
}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论