diff --git a/JinYuan.ControlCenter/ControlCenter_Plc.cs b/JinYuan.ControlCenter/ControlCenter_Plc.cs
index f91c619..24bbecd 100644
--- a/JinYuan.ControlCenter/ControlCenter_Plc.cs
+++ b/JinYuan.ControlCenter/ControlCenter_Plc.cs
@@ -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;
diff --git a/JinYuan.MES/MesDataProcess.cs b/JinYuan.MES/MesDataProcess.cs
index 21f7867..795704d 100644
--- a/JinYuan.MES/MesDataProcess.cs
+++ b/JinYuan.MES/MesDataProcess.cs
@@ -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],
diff --git a/JinYuan.Models/BGearEntity.cs b/JinYuan.Models/BGearEntity.cs
index 6b8e496..80dcfa3 100644
--- a/JinYuan.Models/BGearEntity.cs
+++ b/JinYuan.Models/BGearEntity.cs
@@ -82,6 +82,18 @@ namespace JinYuan.Models
//public int CCD27 { get; set; }
#endregion
+ #region CCD的�独地�
+ ///
+ /// 测厚(平�度)
+ ///
+ public float CCD_FLATNESS { get; set; }
+
+ ///
+ /// 测厚(平�度)结果
+ ///
+ public string CCD_FLATNESS_Result { get; set; }
+ #endregion
+
public string CCD1NgCode { get; set; }
public string CCD2NgCode { get; set; }
public string CCD3NgCode { get; set; }
diff --git a/JinYuan.Models/ConstValue.cs b/JinYuan.Models/ConstValue.cs
index b2a6773..94865c8 100644
--- a/JinYuan.Models/ConstValue.cs
+++ b/JinYuan.Models/ConstValue.cs
@@ -11,32 +11,53 @@ namespace JinYuan.Models
///
/// CCD采集项数
///
- public const int COUNT_CCD = 20;
+ public const int COUNT_CCD = 13;
///
/// CCD采集项�称列表
///
- 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",
+ "æ£è´Ÿå¡‘胶圈",
+ "顶底部检测"
};
+
+ ///
+ /// CCD采集项(�独地�)列表
+ ///
+ public static Dictionary CCDSpecialDic = new Dictionary {
+ { "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;
+ }
}
}
diff --git a/JinYuan.VirtualDataLibrary/DBSQL.cs b/JinYuan.VirtualDataLibrary/DBSQL.cs
index c52944d..45403e7 100644
--- a/JinYuan.VirtualDataLibrary/DBSQL.cs
+++ b/JinYuan.VirtualDataLibrary/DBSQL.cs
@@ -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] 结果
diff --git a/LargeSquareOne/FrmDataMonitor.cs b/LargeSquareOne/FrmDataMonitor.cs
index 8c4b9a7..383cf7d 100644
--- a/LargeSquareOne/FrmDataMonitor.cs
+++ b/LargeSquareOne/FrmDataMonitor.cs
@@ -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();
diff --git a/数�库/20260813.sql b/数�库/20260813.sql
new file mode 100644
index 0000000..270938b
--- /dev/null
+++ b/数�库/20260813.sql
@@ -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;
diff --git a/采集项目表.csv b/采集项目表.csv
new file mode 100644
index 0000000..4b139ce
--- /dev/null
+++ b/采集项目表.csv
@@ -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,×ÔÓÉ̬ºñ¶È£¨Êµ¼ÊÖµ£©
+²É¼¯Ïî±àÂë,²É¼¯Ïî×Ö¶Î,²É¼¯ÏîÃèÊö