Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
刘韬
/
SO853-AutoCountMachine
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 61e436ae
由
刘韬
编写于
2022-04-26 09:58:15 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1
1 个父辈
ee002a4b
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
55 行增加
和
9 行删除
DeviceLibrary/AutoScan/XRayMachine.XRay.cs
DeviceLibrary/AutoScan/XRayMachine.XRay.cs
查看文件 @
61e436a
...
...
@@ -166,28 +166,74 @@ namespace DeviceLibrary
MoveInfo
.
log
(
$
"获取点料数量:{c}, 第:{countlist.Count}次"
);
}
else
{
else
{
MoveInfo
.
StopwatchLog
(
false
,
"获取图像失败"
);
countlist
.
Add
(-
1
);
}
relmove
=
ConfigHelper
.
Config
.
Get
<
int
>(
"wiston_relmove"
,
50
);
if
(
countlist
.
Count
%
2
==
0
)
relmove
=
relmove
/
2
*
-
1
;
Line_In_Axis
.
RelMove
(
MoveInfo
,
relmove
,
Config
.
Line_In_Relative_speed
);
MoveInfo
.
StopwatchLog
(
false
,
"轻微移动皮带,重试X光点料
"
);
MoveInfo
.
StopwatchLog
(
false
,
$
"轻微移动皮带,重试X光点料,relmove:{relmove}
"
);
break
;
case
MoveStep
.
XRay_Extra_02
:
var
zerocount
=
countlist
.
Where
((
x
)
=>
x
==
0
).
Count
();
var
hasnumcount
=
countlist
.
Where
((
x
)
=>
x
>
0
&&
x
<=
ConfigHelper
.
Config
.
Get
<
int
>(
"wiston_smaxcount"
,
10500
)).
Count
();
if
(
hasnumcount
<=
ptrycount
&&
zerocount
<=
ptryerrcount
)
var
selectcount
=
countlist
.
Where
((
x
)
=>
x
>
0
&&
x
<=
ConfigHelper
.
Config
.
Get
<
int
>(
"wiston_smaxcount"
,
10500
)).
ToList
();
var
hasnumcount
=
selectcount
.
Count
();
var
rightcount
=
0
;
try
{
selectcount
.
Sort
();
if
(
hasnumcount
%
2
==
1
&&
hasnumcount
>=
5
)
{
var
m1
=
selectcount
.
ElementAt
(
hasnumcount
/
2
-
1
);
var
m2
=
selectcount
.
ElementAt
(
hasnumcount
/
2
);
var
m3
=
selectcount
.
ElementAt
(
hasnumcount
/
2
+
1
);
if
((
double
)
m1
/
m2
>=
0.988d
&&
(
double
)
m2
/
m3
>=
0.988d
)
{
rightcount
=
m2
;
}
if
(
zerocount
>
ptryerrcount
||
hasnumcount
>=
ptrycount
+
2
)
{
rightcount
=
m2
;
}
MoveInfo
.
log
(
$
"阶段数据:{string.Join("
,
", countlist)}. 有效数据:{string.Join("
,
", selectcount)},m1:{m1},m2:{m2},m3:{m3},m1/m2:{(double)m1 / m2:0.000},m2/m3:{(double)m2 / m3:0.000}"
);
}
else
{
if
(
zerocount
>
ptryerrcount
)
{
rightcount
=
selectcount
.
ElementAt
(
hasnumcount
/
2
);
MoveInfo
.
log
(
$
"错误数据过多,结束点料,rightcount:{rightcount}"
);
}
MoveInfo
.
log
(
$
"阶段数据:{string.Join("
,
", countlist)}. 有效数据:{string.Join("
,
", selectcount)}"
);
}
}
catch
(
Exception
e
){
MoveInfo
.
log
(
e
.
ToString
());
if
(
selectcount
.
Count
>
0
)
rightcount
=
selectcount
[
0
];
else
{
MoveInfo
.
NextMoveStep
(
MoveStep
.
XRay_Extra_03
);
MoveInfo
.
log
(
$
"错误数据过多,结束点料,无有效数据"
);
MoveInfo
.
ReelParam
.
IsNg
=
true
;
MoveInfo
.
ReelParam
.
NgMsg
=
"无有效数据"
;
MoveInfo
.
ReelParam
.
logresult
();
}
}
if
(
rightcount
==
0
)
{
MoveInfo
.
NextMoveStep
(
MoveStep
.
XRay_Extra_01
);
MoveInfo
.
log
(
$
"开始第{countlist.Count}次"
);
MoveInfo
.
log
(
$
"开始第{countlist.Count
+1
}次"
);
}
else
{
MoveInfo
.
NextMoveStep
(
MoveStep
.
XRay_Extra_03
);
var
maxcount
=
countlist
.
Where
((
x
)
=>
x
<=
ConfigHelper
.
Config
.
Get
<
int
>(
"wiston_smaxcount"
,
10500
)).
Max
();
MoveInfo
.
log
(
$
"获取到最大数量{maxcount}, 分别数量:{string.Join("
,
", countlist)}"
);
MoveInfo
.
ReelParam
.
QTY
=
maxcount
;
var
cl
=
ServerConn
.
inputCounterDataByXRayMachine
(
MoveInfo
.
ReelParam
.
WareCode
,
maxcount
);
MoveInfo
.
log
(
$
"获取到选定数量{rightcount}, 分别数量:{string.Join("
,
", selectcount)}, 总数据:{countlist}"
);
MoveInfo
.
ReelParam
.
QTY
=
rightcount
;
var
cl
=
ServerConn
.
inputCounterDataByXRayMachine
(
MoveInfo
.
ReelParam
.
WareCode
,
rightcount
);
if
(
cl
==
null
)
{
MoveInfo
.
ReelParam
.
IsNg
=
true
;
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论