厚度ng检测修改
This commit is contained in:
@@ -257,18 +257,35 @@ namespace JinYuan.ControlCenters
|
||||
}
|
||||
return Result;
|
||||
}
|
||||
private int JudgmentWGJResult(int A, int[,] B, int C)
|
||||
private int JudgmentCCDResult(int A, int[,] B, int C)
|
||||
{
|
||||
var ngType = new string[16] {"正面(2D/3D)结果",
|
||||
"反面(2D/3D)结果",
|
||||
"左侧面(2D/3D)结果",
|
||||
"右侧面(2D/3D)结果",
|
||||
"顶面(2D/3D)结果",
|
||||
"底面(2D/3D)结果",
|
||||
"底DE1结果",
|
||||
"底DE2结果",
|
||||
"底DE3结果",
|
||||
"底DE4结果",
|
||||
"中ME1结果",
|
||||
"中ME2结果",
|
||||
"中ME3结果",
|
||||
"中ME4结果",
|
||||
"极柱(POS/NEG)结果",
|
||||
"防爆阀(PRO)结果"
|
||||
};
|
||||
int Result = 1;
|
||||
OK_NG = "OK";
|
||||
for (int i = 0; i < 27; i++)
|
||||
for (int i = 0; i < 16; i++)
|
||||
{
|
||||
if (B[C,i] !=1)
|
||||
{
|
||||
//1OK,2扫码NG,3MES反馈NG,4其他NG
|
||||
Result = 4;
|
||||
OK_NG = "NG";
|
||||
NG_Type += $"外观检测NG{i + 1},";
|
||||
NG_Type += $"{ngType[i]}(NG),";
|
||||
}
|
||||
}
|
||||
if (A == 2)
|
||||
@@ -280,6 +297,26 @@ namespace JinYuan.ControlCenters
|
||||
|
||||
return Result;
|
||||
}
|
||||
private int JudgmentThickNessResult(int[,] B, int C,int ccdResult =1)
|
||||
{
|
||||
var ngType = new string[3] {"厚度1结果",
|
||||
"厚度2结果",
|
||||
"厚度3结果"
|
||||
};
|
||||
int Result = ccdResult;
|
||||
for (int i = 0; i < 3; i++)
|
||||
{
|
||||
if (B[C, i] != 1)
|
||||
{
|
||||
//1OK,2扫码NG,3MES反馈NG,4其他NG
|
||||
Result = 4;
|
||||
OK_NG = "NG";
|
||||
NG_Type += $"{ngType[i]}(NG),";
|
||||
}
|
||||
}
|
||||
|
||||
return Result;
|
||||
}
|
||||
#region 上料工位(数据处理)
|
||||
/// <summary>
|
||||
/// 上料工位
|
||||
@@ -432,7 +469,7 @@ namespace JinYuan.ControlCenters
|
||||
{
|
||||
m.Flag = 0;
|
||||
m.ID = i + 1;
|
||||
m.CNum = "i";
|
||||
m.CNum = m.ID.ToString();
|
||||
//电芯反馈结果
|
||||
listRes[i] = 1;
|
||||
m.Result = "OK";
|
||||
@@ -1768,33 +1805,42 @@ namespace JinYuan.ControlCenters
|
||||
//芯包信息1 D3300~D3326
|
||||
//芯包信息2 D3330~D3356
|
||||
//芯包信息3 D3360~D3386
|
||||
for (int j = 0; j < 27; j++)
|
||||
for (int j = 0; j < 16; j++)
|
||||
{
|
||||
m.CCD_Data[i, j] = ShortLib.GetShortFromByteArray(bArrays.Content, 200 + i * 30 * 2 + j * 2, DataFormat.CDAB);
|
||||
}
|
||||
//厚度3400
|
||||
for (int j = 0; j < 3; j++)
|
||||
{
|
||||
m.Thickness_Data[i, j] = FloatLib.GetFloatFromByteArray(bArrays.Content, 400 + i * 30 * 2 + j * 4, DataFormat.CDAB);
|
||||
}
|
||||
for (int j = 0; j < 27; j++)
|
||||
//厚度plc 3500
|
||||
for (int j = 0; j < 3; j++)
|
||||
{
|
||||
m.Thickness_PLCData[i, j] = ShortLib.GetShortFromByteArray(bArrays.Content, 500 + i * 30 * 2 + j * 2, DataFormat.CDAB);
|
||||
}
|
||||
//不良ng编号
|
||||
for (int j = 0; j < 16; j++)
|
||||
{
|
||||
m.CCD_NgNo[i, j] = ShortLib.GetShortFromByteArray(bArrays.Content, 2200 + i * 30 * 2 + j * 2, DataFormat.CDAB);
|
||||
}
|
||||
|
||||
|
||||
//芯包扫码时间
|
||||
//m.ScanTime[i] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
m.BarCode = listBarCode[i];
|
||||
//m.CSBYHCODEA = "TEST";
|
||||
|
||||
var EX = CommonMethods.db.QuerySqlList<Challenge>(CommonMethods.dBSQL.GetChallengeCode(m.BarCode));
|
||||
for (int j = 0; j < EX.Count; j++)
|
||||
{
|
||||
if (string.Compare(EX[j].ChallengeBarCode, m.BarCode) == 0)
|
||||
{
|
||||
m.Remark += "(极限件," + EX[j].CodeMessage + "," + EX[j].WeldingCCD + ")";
|
||||
ChallengeFlag = 1;
|
||||
}
|
||||
}
|
||||
#region 极限件查询
|
||||
//var EX = CommonMethods.db.QuerySqlList<Challenge>(CommonMethods.dBSQL.GetChallengeCode(m.BarCode));
|
||||
//for (int j = 0; j < EX.Count; j++)
|
||||
//{
|
||||
// if (string.Compare(EX[j].ChallengeBarCode, m.BarCode) == 0)
|
||||
// {
|
||||
// m.Remark += "(极限件," + EX[j].CodeMessage + "," + EX[j].WeldingCCD + ")";
|
||||
// ChallengeFlag = 1;
|
||||
// }
|
||||
//}
|
||||
#endregion
|
||||
//查询进站时间数据
|
||||
var w = CommonMethods.db.QuerySqlList<AGearEntity>(CommonMethods.dBSQL.GetInTime(m.BarCode));
|
||||
//获取新一行数据
|
||||
@@ -1852,19 +1898,12 @@ namespace JinYuan.ControlCenters
|
||||
m.CCDResult14 = m.CCD_Data[i, 13] == 1 ? "OK" : (m.CCD_Data[i, 13] == 0 ? "NG" : "缺图");
|
||||
m.CCDResult15 = m.CCD_Data[i, 14] == 1 ? "OK" : (m.CCD_Data[i, 14] == 0 ? "NG" : "缺图");
|
||||
m.CCDResult16 = m.CCD_Data[i, 15] == 1 ? "OK" : (m.CCD_Data[i, 15] == 0 ? "NG" : "缺图");
|
||||
m.CCDResult17 = m.CCD_Data[i, 16] == 1 ? "OK" : (m.CCD_Data[i, 16] == 0 ? "NG" : "缺图");
|
||||
m.CCDResult18 = m.CCD_Data[i, 17] == 1 ? "OK" : (m.CCD_Data[i, 17] == 0 ? "NG" : "缺图");
|
||||
m.CCDResult19 = m.CCD_Data[i, 18] == 1 ? "OK" : (m.CCD_Data[i, 18] == 0 ? "NG" : "缺图");
|
||||
m.CCDResult20 = m.CCD_Data[i, 19] == 1 ? "OK" : (m.CCD_Data[i, 19] == 0 ? "NG" : "缺图");
|
||||
m.CCDResult21 = m.CCD_Data[i, 20] == 1 ? "OK" : (m.CCD_Data[i, 20] == 0 ? "NG" : "缺图");
|
||||
m.CCDResult22 = m.CCD_Data[i, 21] == 1 ? "OK" : (m.CCD_Data[i, 21] == 0 ? "NG" : "缺图");
|
||||
m.CCDResult23 = m.CCD_Data[i, 22] == 1 ? "OK" : (m.CCD_Data[i, 22] == 0 ? "NG" : "缺图");
|
||||
m.CCDResult24 = m.CCD_Data[i, 23] == 1 ? "OK" : (m.CCD_Data[i, 23] == 0 ? "NG" : "缺图");
|
||||
m.CCDResult25 = m.CCD_Data[i, 24] == 1 ? "OK" : (m.CCD_Data[i, 24] == 0 ? "NG" : "缺图");
|
||||
m.CCDResult26 = m.CCD_Data[i, 25] == 1 ? "OK" : (m.CCD_Data[i, 25] == 0 ? "NG" : "缺图");
|
||||
m.CCDResult27 = m.CCD_Data[i, 26] == 1 ? "OK" : (m.CCD_Data[i, 26] == 0 ? "NG" : "缺图");
|
||||
#endregion
|
||||
|
||||
#region //厚度判定结果
|
||||
m.ThicknessResult1 = m.Thickness_PLCData[i, 0] == 1 ? "OK" : (m.Thickness_PLCData[i, 0] == 0 ? "NG" : "缺测");
|
||||
m.ThicknessResult2 = m.Thickness_PLCData[i, 1] == 1 ? "OK" : (m.Thickness_PLCData[i, 1] == 0 ? "NG" : "缺测");
|
||||
m.ThicknessResult3 = m.Thickness_PLCData[i, 2] == 1 ? "OK" : (m.Thickness_PLCData[i, 2] == 0 ? "NG" : "缺测");
|
||||
#endregion
|
||||
m.CSBYHASCANNINGTIME = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
m.CSBYHPROCESSNAME = "外观检测";
|
||||
m.CSBYHSCHEDULE = CommonMethods.strClass;
|
||||
@@ -1874,12 +1913,12 @@ namespace JinYuan.ControlCenters
|
||||
m.Thickness1 = SaveTwoNum(m.Thickness_Data[i, 0]);
|
||||
m.Thickness2 = SaveTwoNum(m.Thickness_Data[i, 1]);
|
||||
m.Thickness3 = SaveTwoNum(m.Thickness_Data[i, 2]);
|
||||
|
||||
m.ChannelNo = i + 1;
|
||||
//条码,芯包重量,芯包侧厚,芯包CCD极性检测,电芯裁切粘连,电芯裁切毛刺,芯包焊印位置,
|
||||
//芯包正面极耳撕裂,芯包背面极耳撕裂,芯包正面极耳翻折,芯包背面极耳翻折
|
||||
if (Code_NG == 1)
|
||||
{
|
||||
for (int ii = 0; ii < 27; ii++)
|
||||
for (int ii = 0; ii < 16; ii++)
|
||||
{
|
||||
if (m.CCD_Data[i, ii] != 1)
|
||||
{
|
||||
@@ -1892,8 +1931,8 @@ namespace JinYuan.ControlCenters
|
||||
}
|
||||
else
|
||||
MyRes[i] = 2;//扫码NG
|
||||
MyRes[i] = JudgmentWGJResult(Code_NG, m.CCD_Data,i);
|
||||
|
||||
MyRes[i] = JudgmentCCDResult(Code_NG, m.CCD_Data,i);
|
||||
MyRes[i] = JudgmentThickNessResult(m.Thickness_PLCData, i, MyRes[i]);
|
||||
m.Result = MyRes[i];
|
||||
|
||||
m.CSBYHOUTSTATIONJUDGMENTRESULT = m.judgment_result[i] = OK_NG;
|
||||
@@ -2027,18 +2066,19 @@ namespace JinYuan.ControlCenters
|
||||
//if (m.list_Data1[i, 12] == 2) { m.Remark += ",芯包CCD极性检测NG"; }
|
||||
m.UpState = "未上传";
|
||||
}
|
||||
//极限件发3给PLC
|
||||
if (ChallengeFlag == 1)
|
||||
{
|
||||
if (string.Compare(EX[0].WeldingCCD, "焊前CCD") == 0 || string.Compare(EX[0].WeldingCCD, "焊前ccd") == 0)
|
||||
{
|
||||
MyRes[i] = 3;
|
||||
}
|
||||
if (string.Compare(EX[0].WeldingCCD, "焊后CCD") == 0 || string.Compare(EX[0].WeldingCCD, "焊后ccd") == 0)
|
||||
{
|
||||
MyRes[i] = 4;
|
||||
}
|
||||
}
|
||||
#region//极限件发3给PLC
|
||||
//if (ChallengeFlag == 1)
|
||||
//{
|
||||
// if (string.Compare(EX[0].WeldingCCD, "焊前CCD") == 0 || string.Compare(EX[0].WeldingCCD, "焊前ccd") == 0)
|
||||
// {
|
||||
// MyRes[i] = 3;
|
||||
// }
|
||||
// if (string.Compare(EX[0].WeldingCCD, "焊后CCD") == 0 || string.Compare(EX[0].WeldingCCD, "焊后ccd") == 0)
|
||||
// {
|
||||
// MyRes[i] = 4;
|
||||
// }
|
||||
//}
|
||||
#endregion
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user