修改读码器和MES系统对接

This commit is contained in:
2024-07-05 16:04:47 +08:00
parent eb55c5b784
commit 15df28b3b4
6 changed files with 306 additions and 107 deletions

View File

@ -17,8 +17,8 @@ Global
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{0DE28139-2917-4B58-8240-4B4E11114730}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0DE28139-2917-4B58-8240-4B4E11114730}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0DE28139-2917-4B58-8240-4B4E11114730}.Debug|X64.ActiveCfg = Debug|X64
{0DE28139-2917-4B58-8240-4B4E11114730}.Debug|X64.Build.0 = Debug|X64
{0DE28139-2917-4B58-8240-4B4E11114730}.Debug|X64.ActiveCfg = Debug|Any CPU
{0DE28139-2917-4B58-8240-4B4E11114730}.Debug|X64.Build.0 = Debug|Any CPU
{0DE28139-2917-4B58-8240-4B4E11114730}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0DE28139-2917-4B58-8240-4B4E11114730}.Release|Any CPU.Build.0 = Release|Any CPU
{0DE28139-2917-4B58-8240-4B4E11114730}.Release|X64.ActiveCfg = Release|X64

View File

@ -2,13 +2,14 @@
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net7.0-windows</TargetFramework>
<TargetFramework>net7.0-windows7.0</TargetFramework>
<Nullable>enable</Nullable>
<UseWindowsForms>true</UseWindowsForms>
<ImplicitUsings>enable</ImplicitUsings>
<Platforms>AnyCPU;X64</Platforms>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
<ApplicationIcon>bin\X64\Debug\net7.0-windows\Logo.ico</ApplicationIcon>
<AppendTargetFrameworkToOutputPath>output</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<ItemGroup>

View File

@ -136,12 +136,12 @@
originMatShow = new PictureBox();
ResultMatShow = new PictureBox();
panel8 = new Panel();
canvas6 = new XKRS.UI.Canvas();
canvas2 = new XKRS.UI.Canvas();
textBox2 = new TextBox();
label36 = new Label();
textBox1 = new TextBox();
label35 = new Label();
canvas6 = new XKRS.UI.Canvas();
canvas2 = new XKRS.UI.Canvas();
= new Label();
OKOrNGShow = new PictureBox();
OKDNum = new TextBox();
@ -1226,7 +1226,7 @@
groupBox2.Margin = new Padding(4, 2, 4, 2);
groupBox2.Name = "groupBox2";
groupBox2.Padding = new Padding(4, 2, 4, 2);
groupBox2.Size = new Size(1102, 718);
groupBox2.Size = new Size(1083, 718);
groupBox2.TabIndex = 0;
groupBox2.TabStop = false;
groupBox2.Text = "图片";
@ -1240,7 +1240,7 @@
mat1.IsEnabledDispose = true;
canvas5.ImaMAt = mat1;
canvas5.ImgData = null;
canvas5.Location = new Point(758, 464);
canvas5.Location = new Point(693, 440);
canvas5.MoveStep = 5F;
canvas5.Name = "canvas5";
canvas5.Route = 0D;
@ -1261,7 +1261,7 @@
mat2.IsEnabledDispose = true;
canvas4.ImaMAt = mat2;
canvas4.ImgData = null;
canvas4.Location = new Point(382, 464);
canvas4.Location = new Point(350, 440);
canvas4.MoveStep = 5F;
canvas4.Name = "canvas4";
canvas4.Route = 0D;
@ -1282,7 +1282,7 @@
mat3.IsEnabledDispose = true;
canvas3.ImaMAt = mat3;
canvas3.ImgData = null;
canvas3.Location = new Point(8, 464);
canvas3.Location = new Point(7, 440);
canvas3.MoveStep = 5F;
canvas3.Name = "canvas3";
canvas3.Route = 0D;
@ -1368,12 +1368,12 @@
//
// panel8
//
panel8.Controls.Add(canvas6);
panel8.Controls.Add(canvas2);
panel8.Controls.Add(textBox2);
panel8.Controls.Add(label36);
panel8.Controls.Add(textBox1);
panel8.Controls.Add(label35);
panel8.Controls.Add(canvas6);
panel8.Controls.Add(canvas2);
panel8.Controls.Add();
panel8.Controls.Add(OKOrNGShow);
panel8.Controls.Add(OKDNum);
@ -1393,6 +1393,49 @@
panel8.TabIndex = 2;
panel8.Paint += panel8_Paint;
//
// canvas6
//
canvas6.AllowSelectDefect = true;
canvas6.BrushColor = null;
canvas6.ImagePath = "";
mat5.IsEnabledDispose = true;
canvas6.ImaMAt = mat5;
canvas6.ImgData = null;
canvas6.Location = new Point(10, 440);
canvas6.Margin = new Padding(4, 3, 4, 3);
canvas6.MoveStep = 5F;
canvas6.Name = "canvas6";
canvas6.Route = 0D;
canvas6.Scale = 1D;
canvas6.Size = new Size(433, 188);
canvas6.TabIndex = 13;
canvas6.WholeScale = 0F;
canvas6.XMove = 0F;
canvas6.XScale = 0F;
canvas6.YMove = 0F;
canvas6.YScale = 0F;
//
// canvas2
//
canvas2.AllowSelectDefect = true;
canvas2.BrushColor = null;
canvas2.ImagePath = "";
mat6.IsEnabledDispose = true;
canvas2.ImaMAt = mat6;
canvas2.ImgData = null;
canvas2.Location = new Point(10, 226);
canvas2.MoveStep = 5F;
canvas2.Name = "canvas2";
canvas2.Route = 0D;
canvas2.Scale = 1D;
canvas2.Size = new Size(337, 200);
canvas2.TabIndex = 18;
canvas2.WholeScale = 0F;
canvas2.XMove = 0F;
canvas2.XScale = 0F;
canvas2.YMove = 0F;
canvas2.YScale = 0F;
//
// textBox2
//
textBox2.Location = new Point(437, 287);
@ -1429,49 +1472,6 @@
label35.TabIndex = 14;
label35.Text = "误检率";
//
// canvas6
//
canvas6.AllowSelectDefect = true;
canvas6.BrushColor = null;
canvas6.ImagePath = "";
mat5.IsEnabledDispose = true;
canvas6.ImaMAt = mat5;
canvas6.ImgData = null;
canvas6.Location = new Point(19, 454);
canvas6.MoveStep = 5F;
canvas6.Name = "canvas6";
canvas6.Route = 0D;
canvas6.Scale = 1D;
canvas6.Size = new Size(318, 200);
canvas6.TabIndex = 13;
canvas6.WholeScale = 0F;
canvas6.XMove = 0F;
canvas6.XScale = 0F;
canvas6.YMove = 0F;
canvas6.YScale = 0F;
//
// canvas2
//
canvas2.AllowSelectDefect = true;
canvas2.BrushColor = null;
canvas2.ImagePath = "";
mat6.IsEnabledDispose = true;
canvas2.ImaMAt = mat6;
canvas2.ImgData = null;
canvas2.Location = new Point(19, 238);
canvas2.Margin = new Padding(4, 3, 4, 3);
canvas2.MoveStep = 5F;
canvas2.Name = "canvas2";
canvas2.Route = 0D;
canvas2.Scale = 1D;
canvas2.Size = new Size(318, 188);
canvas2.TabIndex = 10;
canvas2.WholeScale = 0F;
canvas2.XMove = 0F;
canvas2.XScale = 0F;
canvas2.YMove = 0F;
canvas2.YScale = 0F;
//
// 实时显示
//
.AutoSize = true;
@ -1562,10 +1562,10 @@
//
// ScanDevList
//
ScanDevList.Location = new Point(297, 22);
ScanDevList.Location = new Point(296, 18);
ScanDevList.Margin = new Padding(4, 2, 4, 2);
ScanDevList.Name = "ScanDevList";
ScanDevList.Size = new Size(96, 22);
ScanDevList.Size = new Size(96, 30);
ScanDevList.TabIndex = 2;
ScanDevList.Text = "Scan";
ScanDevList.UseVisualStyleBackColor = true;
@ -2211,15 +2211,21 @@
private XKRS.UI.Canvas DefetShow7;
private XKRS.UI.Canvas DefetShow6;
private Button handStopBtn;
private XKRS.UI.Canvas canvas1;
private XKRS.UI.Canvas canvas5;
private XKRS.UI.Canvas canvas4;
private XKRS.UI.Canvas canvas3;
private XKRS.UI.Canvas canvas6;
private XKRS.UI.Canvas canvas2;
//private XKRS.UI.Canvas canvas1;
//private XKRS.UI.Canvas canvas5;
//private XKRS.UI.Canvas canvas4;
//private XKRS.UI.Canvas canvas3;
//private XKRS.UI.Canvas canvas6;
//private XKRS.UI.Canvas canvas2;
private TextBox textBox1;
private Label label35;
private TextBox textBox2;
private Label label36;
private XKRS.UI.Canvas canvas5;
private XKRS.UI.Canvas canvas4;
private XKRS.UI.Canvas canvas3;
private XKRS.UI.Canvas canvas1;
private XKRS.UI.Canvas canvas6;
private XKRS.UI.Canvas canvas2;
}
}

View File

@ -1,5 +1,6 @@
using DVPCameraType;
using Microsoft.VisualBasic.Logging;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using OpenCvSharp;
using OpenCvSharp.Dnn;
@ -191,6 +192,143 @@ namespace HisenceYoloDetection
}
/// <summary>
/// GET<45><54>ʽ<EFBFBD><CABD><EFBFBD>͵ý<CDB5><C3BD><EFBFBD>
/// </summary>
/// <param name="url"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>url</param>
/// <returns><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD></returns>
public static string getHttpRequest(string url)
{
//Ԥ<><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ
HttpWebRequest request = null;
HttpWebResponse response = null;
StreamReader reader = null;
string content = string.Empty;
try
{
request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
response = (HttpWebResponse)request.GetResponse();
using (reader = new StreamReader(response.GetResponseStream()))
{
content = reader.ReadToEnd();
}
}
catch (System.Exception err)
{
MessageBox.Show("1.GET<45><54><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD><EFBFBD><EFBFBD>\n<><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>" + err.Source + "\n<><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>" + err.Message + "\n" + err);
Console.WriteLine("1.GET<45><54><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD><EFBFBD><EFBFBD>\n<><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>" + err.Source + "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>" + err.Message);
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
response.Dispose();
reader.Dispose();
return content;
}
/// <summary>
/// <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>http<74><70><EFBFBD>󣬷<EFBFBD>ʽΪPOST
/// </summary>
/// <param name="uri"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF>url</param>
/// <param name="reMsg">Ҫ<><D2AA><EFBFBD>͵<EFBFBD><CDB5><EFBFBD>Ϣ</param>
/// <returns><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD></returns>
public string postHttpRequest(string uri, string msg)
{
//Ԥ<><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ
HttpWebRequest request = null;
HttpWebResponse response = null;
Stream requestStream = null;
StreamReader reader = null;
var data = Encoding.UTF8.GetBytes(string.Format("a={0}&b={1}", "message", msg));
string content = "";
try
{
request = (HttpWebRequest)WebRequest.Create(uri);
request.Method = "POST";
requestStream = request.GetRequestStream();
request.ContentType = "application/text";
requestStream.Write(data, 0, data.Length);
response = (HttpWebResponse)request.GetResponse();
using (reader = new StreamReader(response.GetResponseStream()))
{
content = reader.ReadToEnd();
}
}
catch (Exception err)
{
MessageBox.Show("1.POST<53><54><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD><EFBFBD><EFBFBD>\n<><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>" + err.Source + "\n<><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>" + err.Message + "\n" + err);
Console.WriteLine("1.POST<53><54><EFBFBD><EFBFBD><EFBFBD>˴<EFBFBD><CBB4><EFBFBD><EFBFBD><EFBFBD>\n<><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4>" + err.Source + "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>" + err.Message);
}
//<2F><>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
requestStream.Dispose();
response.Dispose();
reader.Dispose();
return content;
}
#region Post<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// <summary>
/// http Post<73><74><EFBFBD><EFBFBD>
/// </summary>
/// <param name="parameterData"><3E><><EFBFBD><EFBFBD></param>
/// <param name="serviceUrl"><3E><><EFBFBD>ʵ<EFBFBD>ַ</param>
/// <param name="ContentType">Ĭ<><C4AC> application/json , application/x-www-form-urlencoded,multipart/form-data,raw,binary </param>
/// <param name="Accept">Ĭ<><C4AC>application/json</param>
/// <returns></returns>
public string Post(string parameterData, string serviceUrl, string ContentType = "application/json", string Accept = "application/json")
{
//<2F>ȸ<EFBFBD><C8B8><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>uri<72><69><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
//string serviceUrl = string.Format("{0}/{1}", this.BaseUri, uri);
//<2F><><EFBFBD><EFBFBD>Web<65><62><EFBFBD>ʶ<EFBFBD><CAB6><EFBFBD>
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(serviceUrl);
//<2F><><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD>ɡ<EFBFBD>UTF-8<><38><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD>
byte[] buf = System.Text.Encoding.GetEncoding("UTF-8").GetBytes(parameterData);
myRequest.Method = "POST";
//myRequest.Accept = "application/json";
//myRequest.ContentType = "application/json"; // //Content-Type: application/x-www-form-urlencoded
myRequest.AutomaticDecompression = DecompressionMethods.GZip;
myRequest.Accept = Accept;
//myRequest.ContentType = ContentType;
myRequest.ContentType = "application/json; charset=UTF-8";
myRequest.ContentLength = buf.Length;
myRequest.MaximumAutomaticRedirections = 1;
myRequest.AllowAutoRedirect = true;
//myRequest.Headers.Add("content-type", "application/json");
//myRequest.Headers.Add("accept-encoding", "gzip");
//myRequest.Headers.Add("accept-charset", "utf-8");
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Stream stream = myRequest.GetRequestStream();
stream.Write(buf, 0, buf.Length);
stream.Close();
//ͨ<><CDA8>Web<65><62><EFBFBD>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>
HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
//ͨ<><CDA8><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>StreamReader<65><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪStreamReader<65><72><EFBFBD>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD>
StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
//string returnXml = HttpUtility.UrlDecode(reader.ReadToEnd());//<2F><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
string returnData = reader.ReadToEnd();//<2F><><EFBFBD><EFBFBD>StreamReader<65>Ϳ<EFBFBD><CDBF>Դ<EFBFBD><D4B4><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>ݴ<EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>β
reader.Close();
myResponse.Close();
return returnData;
}
#endregion
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@ -200,9 +338,38 @@ namespace HisenceYoloDetection
private void MainForm_Load(object sender, EventArgs e)
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ
//string url = "https://inner-apisix.hisense.com/mes-plus/api/Fcc/GetWorkOrderBOMlnfo?user_key=k7gzo1fsfcami7n5hmpxtybyluf9xeue";
string url = "https://echo.hoppscotch.io";
string PostUrl = url;
DateTime dt= DateTime.Now;
string starttime=string.Format("{0:yyyy_mm_dd}", dt); //17 17 2017 2017
string startTime = starttime;
string EndTime = starttime;
string lineBody = "ZZ-P5";
string MaterialDescripts = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
string MaterialDescripts2 = "<22><><EFBFBD>չ<EFBFBD>";
JObject patientinfo = new JObject();
JArray ids = new JArray();
ids.Add(MaterialDescripts);
ids.Add(MaterialDescripts2);
patientinfo["startTime"] = startTime;
patientinfo["EndTime"] = EndTime;
patientinfo["lineBody"] = lineBody;
patientinfo["MaterialDescripts"] = ids;
string sendData = JsonConvert.SerializeObject(patientinfo);
//eg: <20><><EFBFBD><EFBFBD>Url<72><6C>Ҫ<EFBFBD>ĸ<EFBFBD>ʽ<EFBFBD><CABD>sendData={"ids":[123],"Name":С<><D0A1>}
string resultData = Post(sendData, PostUrl);
resultData = "{\r\n\t\"Result\": [],\r\n\t\"success\": false,\r\n\t\"ReturnMsg\": \"<22><><EFBFBD><EFBFBD>-starttime <20><><EFBFBD><EFBFBD>ȷ!\"\r\n}";
JObject jo = (JObject)JsonConvert.DeserializeObject(resultData);
string sucessIf = jo["success"].ToString();
if(sucessIf.ToLower()=="true")
{
string ProductType = jo["ProductType"].ToString();
string FinalDefIo = jo["FinalDefIo"].ToString();
//<2F><><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>
}
if (_runHandleBefore == null)
{
_runHandleBefore = new AutoResetEvent(false);
@ -413,6 +580,7 @@ namespace HisenceYoloDetection
AllDSum.Text = AllDsums.ToString();
OKDNum.Text = OKDsums.ToString();
NGDNum.Text = NGDsums.ToString();
textBox1.Text = WUsums.ToString();
using (StreamWriter stream = new StreamWriter("D://information.log", true))
{
stream.WriteLine(Logtxt);
@ -610,11 +778,11 @@ namespace HisenceYoloDetection
OKOrNGShow.Image = OKbitmap;
//<2F><>ʼ<EFBFBD><CABC>ɨ<EFBFBD><C9A8>ǹ
//Scanner.Strart();
//Scanner.OnClientDataReceived -= OnDataReceived;
//Scanner.OnClientDataReceived += OnDataReceived;
//Scanner.btnSendMsg("LON\r");//<2F><><EFBFBD>Ϳ<EFBFBD><CDBF><EFBFBD>ָ<EFBFBD><D6B8>
//myLog("<22><><EFBFBD>Ͷ<EFBFBD>ʿɨ<CABF><C9A8>ǹ<EFBFBD><C7B9><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>", DateTime.Now);
Scanner.Strart();
Scanner.OnClientDataReceived -= OnDataReceived;
Scanner.OnClientDataReceived += OnDataReceived;
Scanner.btnSendMsg("LON\r");//<2F><><EFBFBD>Ϳ<EFBFBD><CDBF><EFBFBD>ָ<EFBFBD><D6B8>
myLog("<22><><EFBFBD>Ͷ<EFBFBD>ʿɨ<CABF><C9A8>ǹ<EFBFBD><C7B9><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8>", DateTime.Now);
//PLCʹ<43>ܿ<EFBFBD><DCBF><EFBFBD>
melsecPLCTCPDriver.WriteInt("581", 0);//<2F><>λ<EFBFBD>ɿ<EFBFBD>
@ -1010,14 +1178,18 @@ namespace HisenceYoloDetection
if (bBar)
{
_runHandleBefore.WaitOne();
bBarTriger = true;//<2F>޸ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ջ<EFBFBD>ȡ<EFBFBD>ͺ<EFBFBD>
//<2F><><EFBFBD><EFBFBD><EFBFBD>ijɺͺ<EFBFBD><EFBFBD>ŵĶԽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
xKNow = GetModeFromBar("VWJ070633V0WW80F0120356");//<2F><><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF>в<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
//xKNow = GetModeFromBar(m_sKEYENCEBar);//<2F><><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF>в<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
//xKNow = GetModeFromBar("VWJ070633V0WW80F0120356");//<2F><><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF>в<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
xKNow = GetModeFromBar(m_sKEYENCEBar);//<2F><><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF>в<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
if(xKNow==null)
{
myLog("<22><><EFBFBD>ݿ<EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5>" + m_sKEYENCEBar, DateTime.Now);
break;
}
if (Regex.IsMatch(xKNow.MoveX.ToString(), @"^[0-9]+$") && Regex.IsMatch(xKNow.MoveY.ToString(), @"^[0-9]+$") && Regex.IsMatch(xKNow.MoveZ.ToString(), @"^[0-9]+$"))
{
myLog("<22>ͺ<EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD>ɹ<EFBFBD>" + m_sKEYENCEBar, DateTime.Now);
myLog("<22>ͺ<EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD>ɹ<EFBFBD>" + xKNow.OcrBar, DateTime.Now);
bBarTriger = true;
//MoveToP(xKNow.MoveX, xKNow.MoveY, xKNow.MoveZ);// PLC<4C><43><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD>
}
@ -1116,10 +1288,12 @@ namespace HisenceYoloDetection
}
if (iNum1 >= 2)
{
//if (bBarTriger)
#if false
if (bBarTriger)//֤<><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
#if false
if (!StopM)
{
melsecPLCTCPDriver.WriteInt("550", 1);//<2F><><EFBFBD><EFBFBD>
@ -1183,6 +1357,7 @@ namespace HisenceYoloDetection
iNum0 = 0;
iNum1 = 0;
break;
}
#else
myLog("<22><>һ<EFBFBD>βɼ<CEB2>ͼ<EFBFBD><CDBC>", DateTime.Now);
//<2F>ƶ<EFBFBD>ģ<EFBFBD><C4A3> <20><><EFBFBD><EFBFBD><EFBFBD>β<EFBFBD><CEB2><EFBFBD><EFBFBD>ĵ<EFBFBD>ַ <20><><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ǰ<EFBFBD>ƶ<EFBFBD>
@ -1242,7 +1417,7 @@ namespace HisenceYoloDetection
#endif
}
}
@ -1370,34 +1545,42 @@ namespace HisenceYoloDetection
//<2F>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ʹ<><EFBFBD><E4B2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӻ<EFBFBD><D3BA><EFBFBD>˸
_runHandleAfter.WaitOne();
//<2F><><EFBFBD><EFBFBD>2<EFBFBD><32>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (IfCam2Triger)
//if (IfCam2Triger)
{
IfCam2Triger = false;
//OCRʶ<52><CAB6>
MLRequest req = new MLRequest();
req.currentMat = Cam2ImgShowBar;
//req.currentMat = Cv2.ImRead("D:\\Hisence\\<5C><><EFBFBD><EFBFBD>\\1\\bar.jpg");
//MLRequest req = new MLRequest();
//req.currentMat = Cam2ImgShowBar;
////req.currentMat = Cv2.ImRead("D:\\Hisence\\<5C><><EFBFBD><EFBFBD>\\1\\bar.jpg");
//<2F><><EFBFBD><EFBFBD>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
string IOcrBAr = DetMachineBar(ref req);
DateTime dt = DateTime.Now;
using (StreamWriter sw = new StreamWriter("D://Hisence//logsBar.log", true))
{
string filename = dt.Year.ToString() + dt.Month.ToString() + dt.Day.ToString() + dt.Hour.ToString() + dt.Minute.ToString() + dt.Millisecond.ToString();
sw.WriteLine(filename + "\n");
sw.WriteLine(IOcrBAr + "\n");
sw.Flush();
}
// IOcrBAr = "BatchW9659ModelWNHPI74SCPSDE";
IOcrBAr = "W821PWMS27106WD2";
////<2F><><EFBFBD><EFBFBD>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
//string IOcrBAr = DetMachineBar(ref req);
//DateTime dt = DateTime.Now;
//using (StreamWriter sw = new StreamWriter("D://Hisence//logsBar.log", true))
//{
// string filename = dt.Year.ToString() + dt.Month.ToString() + dt.Day.ToString() + dt.Hour.ToString() + dt.Minute.ToString() + dt.Millisecond.ToString();
// sw.WriteLine(filename + "\n");
// sw.WriteLine(IOcrBAr + "\n");
// sw.Flush();
//}
// IOcrBAr = "BatchW9659ModelWNHPI74SCPSDE";
// IOcrBAr = "W821PWMS27106WD2";
// IOcrBAr=
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF>ȶ<EFBFBD>
xKNow = GetModeFromBar(IOcrBAr);//<2F><><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF>в<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
string IOcrBAr = xKNow.OcrBar;
//xKNow = GetModeFromBar(IOcrBAr);//<2F><><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF>в<EFBFBD>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
//<2F><><EFBFBD><EFBFBD><EFBFBD>ijɺͺ<C9BA><CDBA>ŵĶԽ<C4B6><D4BD><EFBFBD><EFBFBD><EFBFBD>
List<XK_HisenceWord> xkWordList = ManagerModelHelper.GetModeWordFromBar(IOcrBAr);
if (xkWordList.Count() == 1)
{
xK_HisenceSQLWord = xkWordList[0];
}
if(xKNow==null)
{
myLog("δƥ<CEB4><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + IOcrBAr, DateTime.Now);
break;
}
if (xKNow.OcrBar == null)
{
@ -1423,7 +1606,7 @@ namespace HisenceYoloDetection
//}
myLog("<22>ͺ<EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD>ɹ<EFBFBD>" + IOcrBAr, DateTime.Now);
bBarTriger = true;
}
@ -1437,7 +1620,7 @@ namespace HisenceYoloDetection
// if (IfCam1TwoTriger && bBarTriger)
{
IfCam1TwoTriger = false;
bBarTriger = false;
bBarTriger = false;//<2F><><EFBFBD><EFBFBD>ûʲô<CAB2><C3B4><EFBFBD><EFBFBD>
_runHandleAfter.Reset();
//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
Defet_OnDetectionDone(whiteMat, 1);
@ -1582,7 +1765,7 @@ namespace HisenceYoloDetection
{
melsecPLCTCPDriver.WriteInt(RedLightingAdress, 1);//<2F><><EFBFBD><EFBFBD>
melsecPLCTCPDriver.WriteInt(WaringAdress, 1);//<2F><><EFBFBD><EFBFBD>
myLog(<><C6A5>ʧ<EFBFBD><CAA7>", DateTime.Now);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD>NGϴ<47>»<EFBFBD>
DialogResult dr = MessageBox.Show("<22>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>죿", "<22>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
if (dr == DialogResult.OK)
@ -1598,7 +1781,7 @@ namespace HisenceYoloDetection
textBox1.Text = percentText;
OKOrNGShow.Image = OKbitmap;
}));
myLog(<><C6A5>ʧ<EFBFBD><CAA7>", DateTime.Now);
}
else
{
@ -1610,6 +1793,7 @@ namespace HisenceYoloDetection
{
OKOrNGShow.Image = NGbitmap;
}));
myLog(<><C6A5><EFBFBD>ɹ<EFBFBD>", DateTime.Now);
}
@ -1699,6 +1883,7 @@ namespace HisenceYoloDetection
//
if (data.Length > 10)
{
m_sKEYENCEBar=string.Empty;
m_sKEYENCEBar = System.Text.Encoding.UTF8.GetString(data);
// myLog("<22>ͺ<EFBFBD>Ocr" + m_sKEYENCEBar, DateTime.Now);
_runHandleBefore.Set();
@ -1899,7 +2084,7 @@ namespace HisenceYoloDetection
CheckDiffSciHelper1.CheckDiffSci(path2, pathmat, rect2, rect2, false, "D://Hisence//Test1");
*/
//OnGetBar();
OnGetBar();
melsecPLCTCPDriver.WriteInt(GreenLightingAdress, 1);//<2F>Ƶ<EFBFBD>
TriggerCameral2();
ReadyDetect();
@ -3141,7 +3326,7 @@ namespace HisenceYoloDetection
{
SQLStr = SQlxK_HisenceWord.SixblockMainWord;
bool OneIF1 = ManagerModelHelper.StrMatch2(xK_HisenceWord.SixblockMainWord, SQlxK_HisenceWord.SixblockMainWord);
OneIF1 = false;//<2F><><EFBFBD><EFBFBD>
Rect rect = new Rect(0, 0, 0, 0);
string PathSql = SQlxK_HisenceWord.SixblockPath;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һֱΪtrue
@ -3173,6 +3358,7 @@ namespace HisenceYoloDetection
{
SQLStr = SQlxK_HisenceWord.SevenblockMainWord;
bool OneIF1 = ManagerModelHelper.StrMatch2(xK_HisenceWord.SevenblockMainWord, SQlxK_HisenceWord.SevenblockMainWord);
Rect rect = new Rect(0, 0, 0, 0);
string PathSql = SQlxK_HisenceWord.SevenblockPath;

View File

@ -18,10 +18,10 @@ namespace HisenceYoloDetection
public void Strart()
{
client = new TcpClient();
client.Host = "192.168.3.100";
client.Port= 9004;
//client.Host = "127.0.0.1";
//client.Port = 9000;
// client.Host = "192.168.3.100";
// client.Port= 9004;
client.Host = "127.0.0.1";
client.Port = 9000;
client.Connect();
client.OnDataReceived += Client_OnDataReceived;

View File

@ -5,8 +5,14 @@
<Nullable>enable</Nullable>
<UseWindowsForms>true</UseWindowsForms>
<ImplicitUsings>enable</ImplicitUsings>
<BaseOutputPath>.\bin\X64\Debug</BaseOutputPath>
<!--<BaseOutputPath>.\bin\X64\Debug</BaseOutputPath>-->
<OutputType>Library</OutputType>
<AppendTargetFrameworkToOutputPath>output</AppendTargetFrameworkToOutputPath>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<Optimize>False</Optimize>
</PropertyGroup>
<ItemGroup>