15项采集项

This commit is contained in:
liming 蔡
2026-08-13 10:01:28 +08:00
parent 140c22a857
commit a7a9037b9b
8 changed files with 156 additions and 38 deletions
+31 -15
View File
@@ -6,6 +6,7 @@ using JinYuan.MES.Enums;
using JinYuan.Models;
using JinYuan.VirtualDataLibrary;
using PLCCommunication;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Diagnostics;
@@ -267,7 +268,7 @@ namespace JinYuan.ControlCenters
short Result = 1;
var OK_NG = "OK";
var NG_Type = "";
for (int i = 0; i < 20; i++)
for (int i = 0; i < ConstValue.COUNT_CCD; i++)
{
if (B[C, i] != 1)
{
@@ -1367,6 +1368,11 @@ namespace JinYuan.ControlCenters
m.CCD_Data[i, j] = ShortLib.GetShortFromByteArray(bArrays.Content, 200 + i * 30 * 2 + j * 2, DataFormat.CDAB);
}
//3400
m.CCD_FLATNESS = FloatLib.GetFloatFromByteArray(bArrays.Content, 400 + i * 30 * 2, DataFormat.CDAB);
short fatResult = ShortLib.GetShortFromByteArray(bArrays.Content, 600 + i * 30 * 2, DataFormat.CDAB);
m.CCD_FLATNESS_Result = ConstValue.JudgeResult(fatResult);
#region 注释掉的采集数据 by clm 20260812
//3400
//m.Thickness1 = FloatLib.GetFloatFromByteArray(bArrays.Content, 400 + i * 30 * 2, DataFormat.CDAB);
@@ -1466,13 +1472,13 @@ namespace JinYuan.ControlCenters
m.CCD11 = m.CCD_Data[i, 10];
m.CCD12 = m.CCD_Data[i, 11];
m.CCD13 = m.CCD_Data[i, 12];
m.CCD14 = m.CCD_Data[i, 13];
m.CCD15 = m.CCD_Data[i, 14];
m.CCD16 = m.CCD_Data[i, 15];
m.CCD17 = m.CCD_Data[i, 16];
m.CCD18 = m.CCD_Data[i, 17];
m.CCD19 = m.CCD_Data[i, 18];
m.CCD20 = m.CCD_Data[i, 19];
//m.CCD14 = m.CCD_Data[i, 13];
//m.CCD15 = m.CCD_Data[i, 14];
//m.CCD16 = m.CCD_Data[i, 15];
//m.CCD17 = m.CCD_Data[i, 16];
//m.CCD18 = m.CCD_Data[i, 17];
//m.CCD19 = m.CCD_Data[i, 18];
//m.CCD20 = m.CCD_Data[i, 19];
m.CCDResult1 = m.CCD_Data[i, 0] == 1 ? "OK" : (m.CCD_Data[i, 0] == 0 ? "NG" : "缺图");
m.CCDResult2 = m.CCD_Data[i, 1] == 1 ? "OK" : (m.CCD_Data[i, 1] == 0 ? "NG" : "缺图");
@@ -1487,13 +1493,13 @@ namespace JinYuan.ControlCenters
m.CCDResult11 = m.CCD_Data[i, 10] == 1 ? "OK" : (m.CCD_Data[i, 10] == 0 ? "NG" : "缺图");
m.CCDResult12 = m.CCD_Data[i, 11] == 1 ? "OK" : (m.CCD_Data[i, 11] == 0 ? "NG" : "缺图");
m.CCDResult13 = m.CCD_Data[i, 12] == 1 ? "OK" : (m.CCD_Data[i, 12] == 0 ? "NG" : "缺图");
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.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" : "缺图");
#region 注释代码
//m.CCDResult21 = m.CCD_Data[i, 20] == 1 ? "OK" : (m.CCD_Data[i, 20] == 0 ? "NG" : "缺图");
@@ -1567,6 +1573,16 @@ namespace JinYuan.ControlCenters
else
MyRes[i] = 2;//扫码NG
var judementResult = JudgmentWGJResult(1, m.CCD_Data, i);
if (m.CCD_FLATNESS_Result != "OK")
{
//1OK,2扫码NG,3MES反馈NG,4其他NG
judementResult.Item1 = 4;
OK_NG = "NG";
NG_Type += $"{ConstValue.CCDSpecialDic["CCD_FLATNESS_RESULT"]}(NG),";
}
MyRes[i] = judementResult.Item1;
OK_NG = judementResult.Item2;
NG_Type = judementResult.Item3;
+7 -1
View File
@@ -1226,8 +1226,14 @@ namespace JinYuan.MES
string[] keys = line.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
if (keys.Length == 3)
{
var temp = m.GetType().GetProperty(keys[1]).GetValue(m, null);
var prop = m.GetType().GetProperty(keys[1]);
if (prop == null)
{
continue;
}
var temp = prop.GetValue(m, null);
datavolist.Add(new TagDataVOListItem()
{
tagCode = keys[0],
+12
View File
@@ -82,6 +82,18 @@ namespace JinYuan.Models
//public int CCD27 { get; set; }
#endregion
#region CCD的单独地址
/// <summary>
/// 测厚(平面度)
/// </summary>
public float CCD_FLATNESS { get; set; }
/// <summary>
/// 测厚(平面度)结果
/// </summary>
public string CCD_FLATNESS_Result { get; set; }
#endregion
public string CCD1NgCode { get; set; }
public string CCD2NgCode { get; set; }
public string CCD3NgCode { get; set; }
+43 -22
View File
@@ -11,32 +11,53 @@ namespace JinYuan.Models
/// <summary>
/// CCD采集项数
/// </summary>
public const int COUNT_CCD = 20;
public const int COUNT_CCD = 13;
/// <summary>
/// CCD采集项名称列表
/// </summary>
public static string[] CCDNameArr = new string[20] {
"正面(2D/3D)",
"反面(2D/3D)",
"左侧面(2D/3D)",
"右侧面(2D/3D)",
"顶面(2D/3D)",
"底面(2D/3D)",
"底DE1",
"底DE2",
"底DE3",
"底DE4",
"中ME1",
"中ME2",
"中ME3",
"中ME4",
"正极柱(POS)",
"负极柱(NEG)",
"防爆阀(PRO)",
"二维码检测结果",
"厚度结果",
"平面度结果"
public static string[] CCDNameArr = new string[COUNT_CCD] {
"大面A",
"底部棱边1",
"四个侧棱边",
"电芯二侧面",
"大面B",
"防爆阀",
"二维码",
"二个底部长棱",
"底部棱边2",
"正负极极柱-1",
"正负极极柱-2",
"正负塑胶圈",
"顶底部检测"
};
/// <summary>
/// CCD采集项(单独地址)列表
/// </summary>
public static Dictionary<string, string> CCDSpecialDic = new Dictionary<string, string> {
{ "CCD_FLATNESS", "测厚(平面度)" },
{ "CCD_FLATNESS_RESULT", "测厚(平面度)结果" }
};
public static string JudgeResult(int result)
{
string resultStr = string.Empty;
if (result == 1)
{
resultStr = "OK";
}
else if (result == 0)
{
resultStr = "NG";
}
else
{
resultStr = "缺图";
}
return resultStr;
}
}
}
+5
View File
@@ -136,6 +136,11 @@ namespace JinYuan.VirtualDataLibrary
sb.Append($",[CCDResult{i + 1}] '{ConstValue.CCDNameArr[i]}'");
}
foreach (var propName in ConstValue.CCDSpecialDic.Keys)
{
sb.Append($",[{propName}] '{ConstValue.CCDSpecialDic[propName]}'");
}
string formatSql = sb.ToString();
string nextSql = @",[Result] 结果
+12
View File
@@ -154,6 +154,18 @@ namespace LargeSquareOne
colDefList.Add(col);
}
foreach (var propName in ConstValue.CCDSpecialDic.Keys)
{
DataGridViewColumn col = new DataGridViewTextBoxColumn();
col.DataPropertyName = propName;
col.HeaderText = ConstValue.CCDSpecialDic[propName];
col.Name = $"Col_ccd_{propName}";
col.ReadOnly = true;
colDefList.Add(col);
}
#endregion
DataGridViewColumn Column147 = new DataGridViewTextBoxColumn();
+2
View File
@@ -0,0 +1,2 @@
ALTER TABLE LargeSquareOne604.dbo.BGearEntity ADD CCD_FLATNESS nvarchar(255) NULL;
ALTER TABLE LargeSquareOne604.dbo.BGearEntity ADD CCD_FLATNESS_Result nvarchar(50) NULL;
+44
View File
@@ -0,0 +1,44 @@
APPEARANCE_STANDARD,appearance_standard,外观标准(设定值)
TOP_COVER_CODE_WGJC,BarCode,进站电芯条码
OUT_BATTERY_BARCODE,BarCode,出站电芯条码
BARCODE_MATCH_RESULT,barcode_match_result,进出站条码匹配结果
FLATNESS_WGJC02,CCD_FLATNESS,测厚(平面度)
FLATNESS_RESULTS_WGJC02,CCD_FLATNESS_RESULT,测厚(平面度)结果
NEGATIVE_TERMINAL_NG_CODE,CCD16NgCode,负极柱检测NG代码
EXPLOSION_VALVE_NG_CODE,CCD17NgCode,防爆阀检测NG代码
QR_CODE_NG_CODE,CCD18NgCode,二维码检测NG代码
LARGE_SURFACE_A_NG_CODE,CCD1NgCode,大面A检测NG代码
LARGE_SURFACE_B_NG_CODE,CCD2NgCode,大面B检测NG代码
POSITIVE_SIDE_NG_CODE,CCD3NgCode,正极侧面检测NG代码
NEGATIVE_SIDE_NG_CODE,CCD4NgCode,负极侧面检测NG代码
TOP_SURFACE_NG_CODE,CCD5NgCode,顶面检测NG代码
BOTTOM_SURFACE_NG_CODE,CCD6NgCode,底面检测NG代码
LARGESURFACEA_WGJC02,CCDResult1,大面A检测结果
POSITIVE_AND_NEGATIVE_POLES1_WGJC02,CCDResult10,正负极极柱-1
POSITIVE_TERMINAL_NG_CODE,CCDResult11,正负极极柱-2
POSITIVE_AND_NEGATIVE_PLASTRICRINGS_WGJC02,CCDResult12,正负塑胶圈
TOP_AND_BOTTOM_DETECTION_WGJC02,CCDResult13,顶底部检测
POSITIVE_AND_NEGATIVE_POLES2_WGJC02,CCDResult16,负极柱检测结果
FREE_STATE_THICKNESS_JUDGMENT,CCDResult19,自由态厚度(判定结果)
BOTTOM_EDGE1_WGJC02,CCDResult2,底部菱边1
OVERALL_APPEARANCE_RESULT_WGJC02,CCDResult22,外观总结果
FOUR_SIDE_EDGES_WGJC02,CCDResult3,四个侧棱边
POSITIVE_SIDE_INSPECTION_RESULT,CCDResult30,正极侧面检测结果
NEGATIVE_SIDE_INSPECTION_RESULT,CCDResult30,负极侧面检测结果
TOP_SURFACE_INSPECTION_RESULT,CCDResult30,顶面检测结果
BOTTOM_SURFACE_INSPECTION_RESULT,CCDResult30,底面检测结果
TWOSIDESOFTHEBATTERYCELL_WGJC02,CCDResult4,电芯二侧面
LARGESURFACEB_WGJC02,CCDResult5,大面B检测结果
EXPLOSION_PROOF_VALVE_WGJC02,CCDResult6,防爆阀检测结果
QR_CODE_WGJC02,CCDResult7,二维码检测结果
TWO_LONG_EDGES_WGJC02,CCDResult8,二个底部长棱
BOTTOM_EDGE2_WGJC02,CCDResult9,底部棱边2
INBOUND_TIME_WGJC,CSBYHINSTATIONTIME,进站时间
OUT_TIME_WGJC,CSBYHOUTSTATIONTIME,出站时间
FLATNESS_SETPOINT,flatness_setpoint,平面度(设定值)
IN_BATTERY_GRADE,in_battery_grade,进站电芯条码等级
NG_CODE_SUMMARY,ng_code_summary,NG代码汇总
OUT_BATTERY_GRADE,out_battery_grade,出站电芯条码等级
FREE_STATE_THICKNESS_SETPOINT,Thickness1,自由态厚度(设定值)
FREE_STATE_THICKNESS_ACTUAL,ThicknessResult1,自由态厚度(实际值)
采集项编码,采集项字段,采集项描述
1 APPEARANCE_STANDARD appearance_standard 外观标准(设定值)
2 TOP_COVER_CODE_WGJC BarCode 进站电芯条码
3 OUT_BATTERY_BARCODE BarCode 出站电芯条码
4 BARCODE_MATCH_RESULT barcode_match_result 进出站条码匹配结果
5 FLATNESS_WGJC02 CCD_FLATNESS 测厚(平面度)
6 FLATNESS_RESULTS_WGJC02 CCD_FLATNESS_RESULT 测厚(平面度)结果
7 NEGATIVE_TERMINAL_NG_CODE CCD16NgCode 负极柱检测NG代码
8 EXPLOSION_VALVE_NG_CODE CCD17NgCode 防爆阀检测NG代码
9 QR_CODE_NG_CODE CCD18NgCode 二维码检测NG代码
10 LARGE_SURFACE_A_NG_CODE CCD1NgCode 大面A检测NG代码
11 LARGE_SURFACE_B_NG_CODE CCD2NgCode 大面B检测NG代码
12 POSITIVE_SIDE_NG_CODE CCD3NgCode 正极侧面检测NG代码
13 NEGATIVE_SIDE_NG_CODE CCD4NgCode 负极侧面检测NG代码
14 TOP_SURFACE_NG_CODE CCD5NgCode 顶面检测NG代码
15 BOTTOM_SURFACE_NG_CODE CCD6NgCode 底面检测NG代码
16 LARGESURFACEA_WGJC02 CCDResult1 大面A检测结果
17 POSITIVE_AND_NEGATIVE_POLES1_WGJC02 CCDResult10 正负极极柱-1
18 POSITIVE_TERMINAL_NG_CODE CCDResult11 正负极极柱-2
19 POSITIVE_AND_NEGATIVE_PLASTRICRINGS_WGJC02 CCDResult12 正负塑胶圈
20 TOP_AND_BOTTOM_DETECTION_WGJC02 CCDResult13 顶底部检测
21 POSITIVE_AND_NEGATIVE_POLES2_WGJC02 CCDResult16 负极柱检测结果
22 FREE_STATE_THICKNESS_JUDGMENT CCDResult19 自由态厚度(判定结果)
23 BOTTOM_EDGE1_WGJC02 CCDResult2 底部菱边1
24 OVERALL_APPEARANCE_RESULT_WGJC02 CCDResult22 外观总结果
25 FOUR_SIDE_EDGES_WGJC02 CCDResult3 四个侧棱边
26 POSITIVE_SIDE_INSPECTION_RESULT CCDResult30 正极侧面检测结果
27 NEGATIVE_SIDE_INSPECTION_RESULT CCDResult30 负极侧面检测结果
28 TOP_SURFACE_INSPECTION_RESULT CCDResult30 顶面检测结果
29 BOTTOM_SURFACE_INSPECTION_RESULT CCDResult30 底面检测结果
30 TWOSIDESOFTHEBATTERYCELL_WGJC02 CCDResult4 电芯二侧面
31 LARGESURFACEB_WGJC02 CCDResult5 大面B检测结果
32 EXPLOSION_PROOF_VALVE_WGJC02 CCDResult6 防爆阀检测结果
33 QR_CODE_WGJC02 CCDResult7 二维码检测结果
34 TWO_LONG_EDGES_WGJC02 CCDResult8 二个底部长棱
35 BOTTOM_EDGE2_WGJC02 CCDResult9 底部棱边2
36 INBOUND_TIME_WGJC CSBYHINSTATIONTIME 进站时间
37 OUT_TIME_WGJC CSBYHOUTSTATIONTIME 出站时间
38 FLATNESS_SETPOINT flatness_setpoint 平面度(设定值)
39 IN_BATTERY_GRADE in_battery_grade 进站电芯条码等级
40 NG_CODE_SUMMARY ng_code_summary NG代码汇总
41 OUT_BATTERY_GRADE out_battery_grade 出站电芯条码等级
42 FREE_STATE_THICKNESS_SETPOINT Thickness1 自由态厚度(设定值)
43 FREE_STATE_THICKNESS_ACTUAL ThicknessResult1 自由态厚度(实际值)
44 采集项编码 采集项字段 采集项描述