From a97ac998301461e6284595b1cf2c7b40ce5b2459 Mon Sep 17 00:00:00 2001
From: kingno <30263@KINGNO>
Date: 星期四, 03 四月 2025 14:09:36 +0800
Subject: [PATCH] 优化数据库字段的json传输 新增打印机
---
libs/PFW/Bro.Common.Model.dll | 0
src/Bro.M135.Common/FrmProductList.cs | 3
src/Bro.M135.Common/MESHelper.cs | 3
src/Bro.M141.Process/UI/UIPrinter.cs | 41 ++++++++-
src/Bro.M141.Process/Bro.M141.Process.csproj | 1
src/Bro.M141.Process/M141Process.cs | 17 +--
src/Bro.M141.Process/M141Process_ImageCheck.cs | 31 +++++++
libs/PFW/Bro.UI.Model.Winform.dll | 0
libs.zip | 0
src/Bro.M141_AOI1.Process/AOI1Process.cs | 1
src/Bro.M135.Common/ProductModel.cs | 5
src/Bro.M141.Process/M141Process_Mysql.cs | 117 +++++++++++++++++++++++-----
src/Bro.M135.DBManager/Models/P_PRODUCT_DETAIL.cs | 11 +-
13 files changed, 179 insertions(+), 51 deletions(-)
diff --git a/libs.zip b/libs.zip
new file mode 100644
index 0000000..c2bcad3
--- /dev/null
+++ b/libs.zip
Binary files differ
diff --git a/libs/PFW/Bro.Common.Model.dll b/libs/PFW/Bro.Common.Model.dll
index 4e37bb5..35b05bb 100644
--- a/libs/PFW/Bro.Common.Model.dll
+++ b/libs/PFW/Bro.Common.Model.dll
Binary files differ
diff --git a/libs/PFW/Bro.UI.Model.Winform.dll b/libs/PFW/Bro.UI.Model.Winform.dll
index 03d9e68..f5ad904 100644
--- a/libs/PFW/Bro.UI.Model.Winform.dll
+++ b/libs/PFW/Bro.UI.Model.Winform.dll
Binary files differ
diff --git a/src/Bro.M135.Common/FrmProductList.cs b/src/Bro.M135.Common/FrmProductList.cs
index ea835a5..13fc454 100644
--- a/src/Bro.M135.Common/FrmProductList.cs
+++ b/src/Bro.M135.Common/FrmProductList.cs
@@ -1,4 +1,5 @@
锘縰sing Bro.Common.Helper;
+using Bro.Common.Interface;
using Bro.Common.Model;
using Bro.UI.Model.Winform;
using Sunny.UI;
@@ -117,7 +118,7 @@
{
this.Invoke(() =>
{
- var specList = p.Details.SelectMany(u => u.SpecList ?? new List<Spec>()).ToList();
+ var specList = p.Details.SelectMany(u => u.SpecList ?? new List<ISpec>()).ToList();
specList.AddRange(p.Details.SelectMany(u => u.ResultList.SelectMany(s => s.Specs.Select(m => (Spec)m))));
specList.Sort((a, b) => string.Compare(a.Code, b.Code));
diff --git a/src/Bro.M135.Common/MESHelper.cs b/src/Bro.M135.Common/MESHelper.cs
index 57429e0..273c5c0 100644
--- a/src/Bro.M135.Common/MESHelper.cs
+++ b/src/Bro.M135.Common/MESHelper.cs
@@ -1,4 +1,5 @@
锘縰sing Bro.Common.Helper;
+using Bro.Common.Interface;
using Bro.Common.Model;
using Newtonsoft.Json;
using System.ComponentModel;
@@ -50,7 +51,7 @@
data.result = isOK ? MES_OK : MES_NG;
var specList = p.Details.SelectMany(u => u.ResultList.SelectMany(u => u.Specs)).ToList();
- specList.AddRange(p.Details.SelectMany(u => u.SpecList ?? new List<Spec>()));
+ specList.AddRange(p.Details.SelectMany(u => u.SpecList ?? new List<ISpec>()));
specList.ForEach(s =>
{
diff --git a/src/Bro.M135.Common/ProductModel.cs b/src/Bro.M135.Common/ProductModel.cs
index ecca1b3..780342e 100644
--- a/src/Bro.M135.Common/ProductModel.cs
+++ b/src/Bro.M135.Common/ProductModel.cs
@@ -1,4 +1,5 @@
锘縰sing Bro.Common.Helper;
+using Bro.Common.Interface;
using Bro.Common.Model;
using Bro.M135.DBManager;
using Newtonsoft.Json;
@@ -53,11 +54,11 @@
{
if (!string.IsNullOrWhiteSpace(d.FAIData))
{
- d.SpecList = JsonConvert.DeserializeObject<List<Spec>>(d.FAIData);
+ d.SpecList = JsonConvert.DeserializeObject<List<ISpec>>(d.FAIData);
}
else
{
- d.SpecList = new List<Spec>();
+ d.SpecList = new List<ISpec>();
}
if (!string.IsNullOrWhiteSpace(d.DefectDesc))
diff --git a/src/Bro.M135.DBManager/Models/P_PRODUCT_DETAIL.cs b/src/Bro.M135.DBManager/Models/P_PRODUCT_DETAIL.cs
index 2e123da..a0904bf 100644
--- a/src/Bro.M135.DBManager/Models/P_PRODUCT_DETAIL.cs
+++ b/src/Bro.M135.DBManager/Models/P_PRODUCT_DETAIL.cs
@@ -1,4 +1,5 @@
-锘縰sing Bro.Common.Model;
+锘縰sing Bro.Common.Interface;
+using Bro.Common.Model;
using Bro.DataBase.Model;
using System.ComponentModel.DataAnnotations.Schema;
@@ -13,11 +14,11 @@
public string FAIData { get; set; } = "";
public bool IsDone { get; set; } = false;
- [NotMapped]
+ //[NotMapped]
public List<DetectResult> ResultList { get; set; } = new List<DetectResult>();
- [NotMapped]
- public List<Spec> SpecList { get; set; } = new List<Spec>();
- [NotMapped]
+ //[NotMapped]
+ public List<ISpec> SpecList { get; set; } = new List<ISpec>();
+ //[NotMapped]
public List<string> DefectList { get; set; } = new List<string>();
}
}
diff --git a/src/Bro.M141.Process/Bro.M141.Process.csproj b/src/Bro.M141.Process/Bro.M141.Process.csproj
index 07e9f21..2407a98 100644
--- a/src/Bro.M141.Process/Bro.M141.Process.csproj
+++ b/src/Bro.M141.Process/Bro.M141.Process.csproj
@@ -52,6 +52,7 @@
</ItemGroup>-->
<ItemGroup>
+ <PackageReference Include="Microsoft.Windows.CsWinRT" Version="2.1.6" />
<PackageReference Include="NPOI" Version="2.7.1" />
<PackageReference Include="ScottPlot.WinForms" Version="4.1.58" />
<PackageReference Include="System.ServiceModel.Duplex" Version="4.8.1" />
diff --git a/src/Bro.M141.Process/M141Process.cs b/src/Bro.M141.Process/M141Process.cs
index 4444bcc..d92a3cf 100644
--- a/src/Bro.M141.Process/M141Process.cs
+++ b/src/Bro.M141.Process/M141Process.cs
@@ -72,11 +72,11 @@
}
public PLCBase Plc1;
+ PLCBase Plc2;
Thread ThHeartPlc;
public override void Open()
{
base.Open();
-
ML = DeviceCollection.FirstOrDefault(u => u is MachineLearningBase) as MachineLearningBase;
if (ML == null)
{
@@ -145,7 +145,6 @@
Thread.Sleep(3000);
}
}
-
/// <summary>
/// 缃戠粶棰勭儹
@@ -271,6 +270,10 @@
else
{
p.BasketCode = mysqlhelper.Getbasketcode(p.SEQUENCE);
+ if ("NoRead".Equals(p.BasketCode))
+ {
+ LogAsync(DateTime.Now, EnumHelper.LogLevel.Error, $"{p.PID}_{p.SEQUENCE}鑾峰彇妗嗗叿鐮佸け璐� 璧嬪�糔oread");
+ }
}
mysqlhelper.NewProduct(p);
@@ -370,22 +373,16 @@
var errorSpec = _errorSpec.Copy();
errorSpec.Code = "妫�娴婽BD";
errorSpec.ActualValue = -999;
- DetectResult ngResult = new DetectResult() { Specs = new List<ISpec>() { errorSpec }, PID = u.Key };
+ DetectResult ngResult = new DetectResult() { Specs = new List<ISpec>() { errorSpec }, PID = u.Key ,Id=Guid.NewGuid().ToString()};
ngResults.Add(ngResult);
}
}
});
-
detectResults.AddRange(ngResults);
resultList.AddRange(detectResults);
-
-
}
-
-
RunCustomizedMethod(products, triggerText, triggerSource, imgSet, measureBind.CustomizedMonitorId, resultList);
RunCustomizedMethod(products, triggerText, triggerSource, imgSet, measureBind.CustomizedCombineMethodId, resultList);
-
}
catch (Exception ex)
{
@@ -952,7 +949,7 @@
CSVRecordAsync($"{positionName}_Record_{DateTime.Now.ToString("yyyyMMdd")}.csv", data, head);
//UpdatePositionResultToDB(detail);
- var seqData = p.SEQUENCE.Split(new char[] { '_' }, StringSplitOptions.RemoveEmptyEntries).ToList();
+ //var seqData = p.SEQUENCE.Split(new char[] { '_' }, StringSplitOptions.RemoveEmptyEntries).ToList();
mysqlhelper.UpdateProduct(p);
if (positionSet.IsLastPosition)
diff --git a/src/Bro.M141.Process/M141Process_ImageCheck.cs b/src/Bro.M141.Process/M141Process_ImageCheck.cs
index e76e5cf..222cddc 100644
--- a/src/Bro.M141.Process/M141Process_ImageCheck.cs
+++ b/src/Bro.M141.Process/M141Process_ImageCheck.cs
@@ -3,10 +3,12 @@
using Bro.Common.Interface;
using Bro.Common.Model;
using Bro.M135.Common;
+using Bro.M135.DBManager;
using HalconDotNet;
using Microsoft.VisualBasic;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
+using NPOI.Util;
using Sunny.UI;
using System.Data;
using System.Data.SqlTypes;
@@ -28,6 +30,9 @@
Dictionary<string, List<double>> dicdate = new Dictionary<string, List<double>>();
ManualResetEvent set1 = new ManualResetEvent(false);
ManualResetEvent set2 = new ManualResetEvent(false);
+
+
+ public event Action<string> StartPrinter;
[ProcessMethod("ImageCheck", "ImageCheckOperation", "閫氱敤鍥剧墖妫�娴嬫搷浣�", InvokeType.TestInvoke)]
public ResponseMessage ImageCheckOperation(IOperationConfig config, IDevice invokeDevice, IDevice sourceDevice)
@@ -499,6 +504,27 @@
+ [ProcessMethod("printer", "printer", "鎵撳嵃鏈烘墦鍗�", InvokeType.TestInvoke)]
+ public ResponseMessage Printer(IOperationConfig config, IDevice invokeDevice, IDevice sourceDevice)
+ {
+ ResponseMessage msg = new ResponseMessage();
+
+ Plc2 = invokeDevice as PLCBase;
+ string message = "";
+ StartPrinter.Invoke(message);
+ return msg;
+ }
+
+
+ public void PlcwritePrinter(int add,int value)
+ {
+ Plc2.WriteSingleAddress(add,value,out _);
+ }
+
+
+
+
+
protected List<ISpec> GetSpecListFromConfigSelection(List<SpecSelector> specSelectors)
{
@@ -508,9 +534,10 @@
var spec = M141Config.SpecCollection.FirstOrDefault(s => s.Code == u.SpecCode);
if (spec != null)
{
- var temp = spec.Copy<Spec>();
+ var temp = spec.Copy();
temp.ActualValue = null;
temp.MeasureResult = null;
+ temp.Source = "";
specList.Add(temp);
}
});
@@ -585,7 +612,7 @@
resultList.ForEach(u => u.SetResult());
var defects = resultList.GetDefectDescList();
- var ngSpecCodes = p.Details.SelectMany(u => u.SpecList ?? new List<Spec>()).Where(u => u.MeasureResult != true).Select(u => u.Code);
+ var ngSpecCodes = p.Details.SelectMany(u => u.SpecList ?? new List<ISpec>()).Where(u => u.MeasureResult != true).Select(u => u.Code);
var ngDefectDescList = p.Details.SelectMany(u => u.DefectList ?? new List<string>()).ToList();
defects.AddRange(ngSpecCodes);
diff --git a/src/Bro.M141.Process/M141Process_Mysql.cs b/src/Bro.M141.Process/M141Process_Mysql.cs
index b9f00c8..632a3be 100644
--- a/src/Bro.M141.Process/M141Process_Mysql.cs
+++ b/src/Bro.M141.Process/M141Process_Mysql.cs
@@ -1,5 +1,6 @@
锘縰sing Bro.Common.Helper;
using Bro.Common.Interface;
+using Bro.Common.Model;
using Bro.M135.Common;
using MySql.Data.MySqlClient;
using Newtonsoft.Json;
@@ -11,6 +12,7 @@
using System.Text;
using System.Threading.Tasks;
using Windows.Globalization.PhoneNumberFormatting;
+using static Org.BouncyCastle.Math.EC.ECCurve;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.ListView;
namespace Bro.M141.Process
@@ -29,7 +31,7 @@
connStrAll = $"server={IP};port=3306;user id=root;password=123456;database=BroDB;charset=utf8";
}
- public void Operatoremysql(string sql, string connStr)//鎿嶄綔
+ public bool Operatoremysql(string sql, string connStr)//鎿嶄綔
{
MySqlConnection con = new MySqlConnection(connStr);
try
@@ -41,12 +43,16 @@
con.Open();
MySqlCommand coon = new MySqlCommand(sql, con);
coon.ExecuteNonQuery();
+ con.Close();
}
catch (Exception e)
{
- CommonLogger.LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"鏁版嵁搴撴搷浣滃紓甯� {sql} {e.ToString()}");
+ con.Close();
+ return false;
+ //CommonLogger.LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"鏁版嵁搴撴搷浣滃紓甯� {sql} {e.ToString()}");
}
- con.Close();
+ return true;
+
}
public DataTable selectdt(string str, string connStr)//鏌ヨ琛ㄦ牸
@@ -62,12 +68,14 @@
con.Open();
MySqlDataAdapter da = new MySqlDataAdapter(str, con);
da.Fill(dt);
+ con.Close();
}
catch (Exception e)
{
- CommonLogger.LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"鏁版嵁搴撴煡璇㈠紓甯� {str} {e.ToString()}");
+ //CommonLogger.LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"鏁版嵁搴撴煡璇㈠紓甯� {str} {e.ToString()}");
+ con.Close();
+ return null;
}
- con.Close();
return dt;
}
@@ -89,9 +97,8 @@
}
catch (Exception e)
{
- CommonLogger.LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"鏁版嵁搴撴煡璇㈡暟鎹紓甯� {str} {e.ToString()}");
+ //CommonLogger.LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"鏁版嵁搴撴煡璇㈡暟鎹紓甯� {str} {e.ToString()}");
}
-
con.Close();
return strr;
}
@@ -111,13 +118,22 @@
string str1 = "select id from forlocal order by id desc limit 1";
string index = selectmysql(str1, connStrLocal);
- string str2 = $"delete from forlocal where id < ({index}-1000)";
- Operatoremysql(str2, connStrLocal);
+ if (!string.IsNullOrEmpty(index))
+ {
+ string str2 = $"delete from forlocal where id < ({index}-1000)";
+ Operatoremysql(str2, connStrLocal);
+ }
+ string mysqlstr = $"insert into forlocal (basketcode,pid,plcnum,sn,data,time) values('{pro.BasketCode}','{pro.PID}','{pro.SEQUENCE}','{pro.SN}','{JsonConvert.SerializeObject(pro, new JsonSerializerSettings() { TypeNameHandling = TypeNameHandling.All })}','{DateTime.Now.ToString("yyyyMMddHHmmss")}')";
- string mysqlstr = $"insert into forlocal (basketcode,pid,plcnum,sn,data,time) values('{pro.BasketCode}','{pro.PID}','{pro.SEQUENCE}','{pro.SN}','{JsonConvert.SerializeObject(pro)}','{DateTime.Now.ToString("yyyyMMddHHmmss")}')";
-
- Operatoremysql(mysqlstr, connStrLocal);
+ if (Operatoremysql(mysqlstr, connStrLocal))
+ {
+ CommonLogger.LogAsync(DateTime.Now, EnumHelper.LogLevel.Action, $"鏁版嵁搴揻orlocal鎻掑叆鏁版嵁鎴愬姛");
+ }
+ else
+ {
+ CommonLogger.LogAsync(DateTime.Now, EnumHelper.LogLevel.Error, $"鏁版嵁搴揻orlocal鎻掑叆鏁版嵁寮傚け璐� {mysqlstr}");
+ }
}
catch (Exception e)
{
@@ -129,8 +145,54 @@
{
try
{
- string mysqlstr = $"update forlocal set data='{JsonConvert.SerializeObject(pro)}' where plcnum='{pro.SEQUENCE}'";
- Operatoremysql(mysqlstr, connStrLocal);
+ if (pro.Details!=null)
+ {
+ foreach (var item in pro.Details)
+ {
+ if (item.ResultList!=null)
+ {
+ item.ResultList.ForEach(u =>
+ {
+ if (u.NetResults != null)
+ {
+ u.NetResults.ForEach(x =>
+ {
+ if (x.DetectDetails != null)
+ {
+ var distinctItems = x.DetectDetails.GroupBy(i => new { i.ClassName, i.FinalResult }) // 鏍规嵁Id鍜孨ame鍘婚噸
+ .Select(g => g.First()) // 閫夋嫨姣忎釜缁勭殑绗竴涓厓绱�
+ .ToList();
+ x.DetectDetails = distinctItems;
+ }
+ });
+ }
+ });
+ }
+ }
+ }
+
+
+
+ JsonSerializerSettings settings = new JsonSerializerSettings
+ {
+ TypeNameHandling = TypeNameHandling.All
+ };
+
+ string jsondata = JsonConvert.SerializeObject(pro, settings);
+
+
+ //CommonLogger.LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"{jsondata}");
+
+ string mysqlstr = $"update forlocal set data='{jsondata}' where plcnum='{pro.SEQUENCE}'";
+
+ if (Operatoremysql(mysqlstr, connStrLocal))
+ {
+ CommonLogger.LogAsync(DateTime.Now, EnumHelper.LogLevel.Action, $"鏁版嵁搴揻orlocal鏇存柊鏁版嵁鎴愬姛");
+ }
+ else
+ {
+ CommonLogger.LogAsync(DateTime.Now, EnumHelper.LogLevel.Error, $"鏁版嵁搴揻orlocal鏇存柊鏁版嵁澶辫触 {mysqlstr}");
+ }
}
catch (Exception e)
{
@@ -151,14 +213,24 @@
string str1 = "select id from forall order by id desc limit 1";
string index = selectmysql(str1, connStrAll);
-
- string str2 = $"delete from forall where id < ({index}-1000)";
- Operatoremysql(str2, connStrAll);
+ if (!string.IsNullOrEmpty(index))
+ {
+ string str2 = $"delete from forall where id < ({index}-1000)";
+ Operatoremysql(str2, connStrAll);
+ }
- string mysqlstr = $"insert into forall (basketcode,device,plcnum,sn,data,time) values('{pro.BasketCode}','{devicestr}','{pro.SEQUENCE}','{pro.SN}','{JsonConvert.SerializeObject(pro)}','{DateTime.Now.ToString("yyyyMMddHHmmss")}')";
+ string mysqlstr = $"insert into forall (basketcode,device,plcnum,sn,data,time) values('{pro.BasketCode}','{devicestr}','{pro.SEQUENCE}','{pro.SN}','{JsonConvert.SerializeObject(pro, new JsonSerializerSettings() { TypeNameHandling = TypeNameHandling.All })}','{DateTime.Now.ToString("yyyyMMddHHmmss")}')";
- Operatoremysql(mysqlstr, connStrAll);
+ if (Operatoremysql(mysqlstr, connStrAll))
+ {
+ CommonLogger.LogAsync(DateTime.Now, EnumHelper.LogLevel.Action, $"鏁版嵁搴揻orall鎻掑叆鏁版嵁鎴愬姛");
+ }
+ else
+ {
+ CommonLogger.LogAsync(DateTime.Now, EnumHelper.LogLevel.Error, $"鏁版嵁搴揻orall鎻掑叆鏁版嵁寮傚け璐� {mysqlstr}");
+ }
+
}
catch (Exception e)
{
@@ -179,13 +251,14 @@
}
else
{
- ProductModel p = JsonConvert.DeserializeObject<ProductModel>(str, new JsonSerializerSettings() { TypeNameHandling = TypeNameHandling.All });
+ ProductModel p = null;
+ p = JsonConvert.DeserializeObject<ProductModel>(str, new JsonSerializerSettings() { TypeNameHandling = TypeNameHandling.All });
return p;
}
}
catch (Exception e)
{
- CommonLogger.LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"鏁版嵁搴揻orlocal鏇存柊鏁版嵁寮傚父 {e.ToString()}");
+ CommonLogger.LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"鏁版嵁搴揻orlocal鑾峰彇瀵硅薄寮傚父 {e.ToString()}");
}
return null;
}
@@ -203,7 +276,7 @@
}
catch (Exception e)
{
- CommonLogger.LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"鏁版嵁搴揻orlocal鏇存柊鏁版嵁寮傚父 {e.ToString()}");
+ //CommonLogger.LogAsync(DateTime.Now, EnumHelper.LogLevel.Exception, $"鏁版嵁搴揻orlocal鑾峰彇寮傚父 {e.ToString()}");
}
return "NoRead";
}
diff --git a/src/Bro.M141.Process/UI/UIPrinter.cs b/src/Bro.M141.Process/UI/UIPrinter.cs
index df1b2f1..df40e5c 100644
--- a/src/Bro.M141.Process/UI/UIPrinter.cs
+++ b/src/Bro.M141.Process/UI/UIPrinter.cs
@@ -38,7 +38,12 @@
{
base.OnProcessUpdated();
printDocument1.PrintPage += new PrintPageEventHandler(printDocument_Print);
+
+ Process141.StartPrinter += StartPrint;
+ textBox1.Text = "Broconcentric";
}
+
+
PrintDocument printDocument1 = new PrintDocument();
int ttwith = (int)(80 * 4);
@@ -47,15 +52,37 @@
public void StartPrint(string str)
{
- ttwith = 320;
- ttheigh = 160;
- message = str;
+ try
+ {
+ ttwith = 320;
+ ttheigh = 160;
+ message = str;
- this.printDocument1.DefaultPageSettings.PrinterSettings.PrinterName = "Honeywell PX240S (300 dpi)";
- this.printDocument1.DefaultPageSettings.PaperSize = new PaperSize("Custum", ttwith, ttheigh);
+ if (string.IsNullOrEmpty(message))
+ {
+ message = textBox1.Text;
+ }
- this.printDocument1.PrintController = new System.Drawing.Printing.StandardPrintController();
- this.printDocument1.Print();
+ this.printDocument1.DefaultPageSettings.PrinterSettings.PrinterName = "Honeywell PX240S (300 dpi)";
+ this.printDocument1.DefaultPageSettings.PaperSize = new PaperSize("Custum", ttwith, ttheigh);
+
+ this.printDocument1.PrintController = new System.Drawing.Printing.StandardPrintController();
+ this.printDocument1.Print();
+
+ }
+ catch
+ {
+
+ }
+
+ int statuscode = GetPrinterStatusCodeInt();
+ string status = GetPrinterStatusMessage(statuscode);
+
+
+ // Config141
+ Process141.PlcwritePrinter(1520, 0);
+
+ Process141.PlcwritePrinter(1510, 1);
}
diff --git a/src/Bro.M141_AOI1.Process/AOI1Process.cs b/src/Bro.M141_AOI1.Process/AOI1Process.cs
index 78b73b9..3b6bd8b 100644
--- a/src/Bro.M141_AOI1.Process/AOI1Process.cs
+++ b/src/Bro.M141_AOI1.Process/AOI1Process.cs
@@ -34,7 +34,6 @@
public override void Open()
{
base.Open();
-
}
[ProcessMethod("", "PositionCheck_P1", "宸ヤ綅1妫�娴�", InvokeType.TestInvoke)]
--
Gitblit v1.8.0