2024-05-31 10:14:57 +08:00
using DVPCameraType ;
using Microsoft.VisualBasic.Logging ;
using OpenCvSharp ;
using OpenCvSharp.Dnn ;
using OpenCvSharp.Extensions ;
using OpenCvSharp.XFeatures2D ;
using System.Data ;
using System.Diagnostics ;
using System.Drawing ;
using System.Drawing.Drawing2D ;
using System.Net ;
using System.Numerics ;
using System.Text.RegularExpressions ;
using System.Windows.Forms ;
using XKRS.Device.SimboVision.SimboHelper ;
using static HisenceYoloDetection . MainForm ;
using static System . Runtime . InteropServices . JavaScript . JSType ;
using static System . Windows . Forms . VisualStyles . VisualStyleElement ;
namespace HisenceYoloDetection
{
public partial class MainForm : Form
{
public MainForm ( )
{
InitializeComponent ( ) ;
}
MGSCameraDriver Cam1 = new MGSCameraDriver ( ) ;
MGSCameraDriver Cam2 = new MGSCameraDriver ( ) ;
SQLiteHelper sqlhelper = new SQLiteHelper ( ) ;
TCPClienDriver Scanner = new TCPClienDriver ( ) ;
MelsecPLCTCPDriver melsecPLCTCPDriver = new MelsecPLCTCPDriver ( ) ;
SimboObjectDetection simboObjectDetection = new SimboObjectDetection ( ) ;
PaddleOcrModel paddleOcrModel = new PaddleOcrModel ( ) ;
PaddleOcrModelCountry paddleOcrModelCountry = new PaddleOcrModelCountry ( ) ;
List < XKHisence > xKHisences = new List < XKHisence > ( ) ;
static AutoResetEvent myResetEvent = new AutoResetEvent ( false ) ;
bool PLC545 = false ;
bool PLC548 = false ;
string m_sKEYENCEBar ;
string IfChangeLanguage = "" ; //<2F> Ƿ<EFBFBD> <C7B7> <EFBFBD> ϴ<EFBFBD> »<EFBFBD> <C2BB> <EFBFBD> <EFBFBD> ͺ <EFBFBD>
bool bTriger = true ; //<2F> Ƿ<EFBFBD> <C7B7> <EFBFBD> <EFBFBD> Դ<EFBFBD> <D4B4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
bool bBarTriger = false ; //<2F> <> һ <EFBFBD> <D2BB> <EFBFBD> <EFBFBD> ַ<EFBFBD> <D6B7> <EFBFBD> ɺ<EFBFBD> <C9BA> <EFBFBD> <EFBFBD> ܴ<EFBFBD> <DCB4> <EFBFBD> <EFBFBD> ڶ<EFBFBD> <DAB6> <EFBFBD> λ<EFBFBD> <CEBB>
bool bBar = false ; //<2F> Ƿ<EFBFBD> <C7B7> <EFBFBD> <EFBFBD> Է<EFBFBD> <D4B7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
bool IfCam1OneTriger = false ; //<2F> <> <EFBFBD> <EFBFBD> 1<EFBFBD> <31> һ <EFBFBD> <D2BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
bool IfCam1TwoTriger = false ; //<2F> <> <EFBFBD> <EFBFBD> 1<EFBFBD> <31> 2<EFBFBD> <32> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
bool IfCam2Triger = false ; //<2F> <> <EFBFBD> <EFBFBD> 2<EFBFBD> <32> һ <EFBFBD> <D2BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
Mat Cam1ImgOne = new Mat ( ) ; //ʵʱ<CAB5> <CAB1> <EFBFBD> <EFBFBD> 1<EFBFBD> <31> <EFBFBD> <EFBFBD> Ƭ
Mat Cam1ImgTwo = new Mat ( ) ; //ʵʱ<CAB5> <CAB1> <EFBFBD> <EFBFBD> 1<EFBFBD> <31> <EFBFBD> <EFBFBD> Ƭ
Mat Cam2ImgShowBar = new Mat ( ) ; //ʵʱ<CAB5> <CAB1> <EFBFBD> <EFBFBD> 2<EFBFBD> <32> <EFBFBD> <EFBFBD> Ƭ <20> <> <EFBFBD> <EFBFBD> ʶ<EFBFBD> <CAB6> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
XKHisence xKNow ; //<2F> <> <EFBFBD> ݿ<EFBFBD> <DDBF> е <EFBFBD> ϴ<EFBFBD> »<EFBFBD> <C2BB> <EFBFBD> <EFBFBD> <EFBFBD>
bool bOn = false ;
////////////////////////////
public static int m_CamCount = 0 ;
public int m_n_dev_count = 0 ;
public static dvpCameraInfo [ ] m_info = new dvpCameraInfo [ 16 ] ;
bool ifXZeroValue = false ;
bool ifYZeroValue = false ;
bool ifZZeroValue = false ;
bool ifXForward = false ;
bool ifYForward = false ;
bool ifZForward = false ;
bool ifXBackward = false ;
bool ifYBackward = false ;
bool ifZBackward = false ;
//¼<> <C2BC> <EFBFBD> <EFBFBD> <EFBFBD> ݿ<EFBFBD>
string BarPath = "" ;
string Cam1OnePath = "" ;
string Cam1TwoPath = "" ;
string ModelChangePath = "" ;
/// <summary>
/// <20> 鿴<EFBFBD> <E9BFB4> <EFBFBD> <EFBFBD> <EFBFBD> б <EFBFBD>
/// </summary>
public void InitDevList ( )
{
dvpStatus status ;
uint i , n = 0 ;
dvpCameraInfo dev_info = new dvpCameraInfo ( ) ;
// "n" represents the number of cameras that is enumerated successfully, the drop-down list contains each camera's FriendlyName.
DevNameCombo . Items . Clear ( ) ;
// Get the number of cameras that has been connected to a computer.
status = DVPCamera . dvpRefresh ( ref n ) ;
Debug . Assert ( status = = dvpStatus . DVP_STATUS_OK ) ;
m_n_dev_count = ( int ) n ;
if ( status = = dvpStatus . DVP_STATUS_OK )
{
m_CamCount = 0 ;
for ( i = 0 ; i < n ; i + + )
{
// Acquire each camera's information one by one.
status = DVPCamera . dvpEnum ( i , ref dev_info ) ;
Debug . Assert ( status = = dvpStatus . DVP_STATUS_OK ) ;
if ( status = = dvpStatus . DVP_STATUS_OK )
{
m_info [ m_CamCount ] = dev_info ;
int item = - 1 ;
// add User Define Name
item = DevNameCombo . Items . Add ( dev_info . UserID ) ;
if ( item = = 0 )
{
DevNameCombo . SelectedIndex = item ;
}
m_CamCount + + ;
if ( item = = 0 )
{
DevNameCombo . SelectedIndex = item ;
}
}
}
}
}
System . Timers . Timer SpeedTimer = new System . Timers . Timer ( ) ;
System . Timers . Timer PostionTimer = new System . Timers . Timer ( ) ;
public delegate void MyDelegateUI ( ) ; //<2F> <> <EFBFBD> <EFBFBD> ί<EFBFBD> <CEAF> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
MyDelegateUI myDelegateUI ; //<2F> <> <EFBFBD> <EFBFBD> ί<EFBFBD> ж<EFBFBD> <D0B6> <EFBFBD>
public delegate void MyPosDelegateUI ( ) ; //<2F> <> <EFBFBD> <EFBFBD> ί<EFBFBD> <CEAF> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
MyPosDelegateUI myPosDelegateUI ; //<2F> <> <EFBFBD> <EFBFBD> ί<EFBFBD> ж<EFBFBD> <D0B6> <EFBFBD>
public delegate void MyLogDelegateUI ( ) ; //<2F> <> <EFBFBD> <EFBFBD> ί<EFBFBD> <CEAF> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
MyLogDelegateUI myLogDelegateUI ; //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ־ί<D6BE> ж<EFBFBD> <D0B6> <EFBFBD>
private void Application_ThreadException ( Exception e )
{
string msg = e . Message ;
using ( StreamWriter sw = new StreamWriter ( "D://ThreadException.log" , true ) )
{
sw . WriteLine ( "================================" ) ;
sw . WriteLine ( DateTime . Now . ToString ( "yyyy-MM-dd HH:mm:ss.fff" ) ) ;
sw . WriteLine ( msg ) ;
sw . Flush ( ) ;
}
}
/// <summary>
/// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void MainForm_Load ( object sender , EventArgs e )
{
string vBarPath = "D:\\Hisence\\202452915589671.jpg" ;
string vCam1OnePath = "D:\\Hisence\\4\\202452915596701.jpg" ;
string vCam1TwoPath = "D:\\Hisence\\4\\202452915599711.jpg" ;
string vModelChangePath = "D:\\Hisence\\config\\chinese.json" ;
if ( File . Exists ( vBarPath ) & & File . Exists ( vCam1OnePath ) & & File . Exists ( vCam1TwoPath ) & & File . Exists ( vModelChangePath ) )
{
BarPath = vBarPath ;
Cam1OnePath = vCam1OnePath ;
Cam1TwoPath = vCam1TwoPath ;
ModelChangePath = vModelChangePath ;
}
ifXZeroValue = XZerorbx . Checked ;
ifYZeroValue = YZerorbx . Checked ;
InitDevList ( ) ;
this . WindowState = FormWindowState . Maximized ;
string Dectionstr = "D:\\Hisence\\best.onnx" ;
string CountryStr = "D:\\Hisence\\config\\chinese.json" ;
if ( File . Exists ( Dectionstr ) & & File . Exists ( CountryStr ) )
{
}
else
{
MessageBox . Show ( "<22> <> <EFBFBD> <EFBFBD> " + Dectionstr + " " + CountryStr + "ģ<> <C4A3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " ) ;
return ;
}
//<2F> <> ʼ <EFBFBD> <CABC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
simboObjectDetection . Load ( Dectionstr , "CPU" , "images" , 640 , 640 ) ;
paddleOcrModelCountry . Load ( CountryStr , "CPU" ) ;
paddleOcrModel . Load ( CountryStr , "CPU" ) ;
IfChangeLanguage = CountryStr ;
//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
StartDecBtn . Enabled = false ;
//myThread = new Thread(doWork);
myDelegateUI = new MyDelegateUI ( initAll ) ; //<2F> <> <EFBFBD> <EFBFBD> ί<EFBFBD> <CEAF>
myPosDelegateUI = new MyPosDelegateUI ( initAll2 ) ; //<2F> <> <EFBFBD> <EFBFBD> ί<EFBFBD> <CEAF>
myLogDelegateUI = new MyLogDelegateUI ( initAll3 ) ; //<2F> <> <EFBFBD> <EFBFBD> ί<EFBFBD> <CEAF>
//<2F> <> ʼ <EFBFBD> <CABC> PLC
melsecPLCTCPDriver . Start ( ) ;
//bool ismatch = IsMatchOcrText("WF3S7021BB", strMatListListOne);
//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> ص<EFBFBD>
melsecPLCTCPDriver . Heartbeat - = PLcHeratAdress ;
melsecPLCTCPDriver . Heartbeat + = PLcHeratAdress ;
OnSpeedShow ( ) ; //<2F> ߳̿<DFB3> <CCBF> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ٶ<EFBFBD> <D9B6> <EFBFBD> ʾ <EFBFBD> ڽ<EFBFBD> <DABD> <EFBFBD> <EFBFBD> <EFBFBD>
OnPostionShow ( ) ; //<2F> ߳̿<DFB3> <CCBF> <EFBFBD> <EFBFBD> <EFBFBD> λ<EFBFBD> <CEBB> <EFBFBD> <EFBFBD> ʾ <EFBFBD> ڽ<EFBFBD> <DABD> <EFBFBD> <EFBFBD> <EFBFBD>
}
private void initAll ( ) //<2F> <> Ϣ<EFBFBD> <CFA2> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
{
//richTextBox1.AppendText("TEST line \r");
if ( HspeedList . Count = = 33 )
{
lnEditmiXHS . Text = HspeedList [ 1 ] . ToString ( ) ;
lnEditmiYHS . Text = HspeedList [ 6 ] . ToString ( ) ;
lnEditmiZHS . Text = HspeedList [ 11 ] . ToString ( ) ;
//<2F> <> λ<EFBFBD> ٶ<EFBFBD>
lnEditmiXS . Text = HspeedList [ 0 ] . ToString ( ) ;
lnEditmiYS . Text = HspeedList [ 5 ] . ToString ( ) ;
lnEditmiZS . Text = HspeedList [ 10 ] . ToString ( ) ;
}
if ( disShow ! = 0 )
{
//TODOʵʱ<CAB5> <CAB1> ʽ ֪<> <D6AA> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ƶ<EFBFBD> <C6B6> <EFBFBD> <EFBFBD> <EFBFBD>
double disreal = disShow * ( - 0.54054 ) + 1324.3232 ;
DistanceShow . Text = Math . Ceiling ( disreal ) . ToString ( ) ;
//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> һ Ԫһ <D4AA> <D2BB> <EFBFBD> <EFBFBD>
//y = -0.54054x + 1324.3232
}
}
private void initAll2 ( ) //<2F> <> Ϣ<EFBFBD> <CFA2> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
{
if ( relPosStrList . Count = = 31 )
{
// XPostion.Text = "";
XPostion . Text = relPosStrList [ 0 ] . ToString ( ) ;
//YPostion.Text = "";
YPostion . Text = relPosStrList [ 5 ] . ToString ( ) ;
// ZPostion.Text = "";
ZPostion . Text = relPosStrList [ 10 ] . ToString ( ) ;
}
}
string Logtxt = "" ;
private void initAll3 ( ) //<2F> <> Ϣ<EFBFBD> <CFA2> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
{
richTextBox1 . AppendText ( Logtxt ) ;
AllDSum . Text = AllDsums . ToString ( ) ;
OKDNum . Text = OKDsums . ToString ( ) ;
NGDNum . Text = NGDsums . ToString ( ) ;
using ( StreamWriter stream = new StreamWriter ( "D://information.log" , true ) )
{
stream . WriteLine ( Logtxt ) ;
stream . Flush ( ) ;
}
}
private void OnSpeedShow ( )
{
Task . Run ( ( ) = >
{
while ( true )
{
try
{
UpDatePlcValue ( 600 , 2 ) ;
//<2F> <> 404 <20> <> ַ <20> <> 33<33> <33> <EFBFBD> <EFBFBD> ַ
UpDatePlcValue ( 404 , 33 ) ;
if ( HspeedList . Count = = 33 )
{
//<2F> ֶ<EFBFBD> <D6B6> ٶ<EFBFBD>
this . Invoke ( myDelegateUI ) ; //richTextBox1.AppendText("TEST line \r");
Application . DoEvents ( ) ;
}
if ( disShow ! = 0 )
{
this . Invoke ( myDelegateUI ) ; //richTextBox1.AppendText("TEST line \r");
Application . DoEvents ( ) ;
}
}
catch ( Exception ex )
{
}
Thread . Sleep ( 200 ) ;
}
} ) ;
}
private void OnPostionShow ( )
{
Task . Run ( ( ) = >
{
while ( true )
{
try
{
UpDatePlcValue ( 102 , 31 ) ;
if ( relPosStrList . Count = = 31 )
{
this . Invoke ( myPosDelegateUI ) ; //richTextBox1.AppendText("TEST line \r");
Application . DoEvents ( ) ;
}
}
catch ( Exception ex )
{
}
Thread . Sleep ( 200 ) ;
}
} ) ;
}
/// <summary>
/// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void CamOpenBtn_Click ( object sender , EventArgs e )
{
Cam1 . Start ( "Cam1" ) ;
bnGetParam . Enabled = true ;
SetCtrlWhenOpen ( ) ;
Cam1OpenBtn . BackColor = Color . Green ;
}
private void SetCtrlWhenOpen ( )
{
tbExposure . Enabled = true ;
tbGain . Enabled = true ;
// tbFrameRate.Enabled = true;
bnGetParam . Enabled = true ;
bnSetParam . Enabled = true ;
}
private void bnGetParam_Click ( object sender , EventArgs e )
{
tbExposure . Text = Cam1 . dvpGetExposure ( ) . ToString ( ) ;
tbGain . Text = Cam1 . dvpGetAnalogGain ( ) . ToString ( ) ;
}
private void bnGetParam2_Click ( object sender , EventArgs e )
{
//tbExposure2.Text = Cam1.dvpGetExposure().ToString();
//tbGain2.Text = Cam1.dvpGetAnalogGain().ToString();
}
/// <summary>
/// <20> <> <EFBFBD> <EFBFBD> 2<EFBFBD> <32> <EFBFBD> <EFBFBD>
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Cam2OpenBtn_Click ( object sender , EventArgs e )
{
// Cam2.Start("Cam2");
// bnGetParam2.Enabled = true;
// Cam2OpenBtn.BackColor = Color.Green;
}
private void button2_Click ( object sender , EventArgs e )
{
Cam1 . Stop ( ) ;
SetCtrlWhenClose ( ) ;
}
private void SetCtrlWhenClose ( )
{
tbExposure . Enabled = false ;
tbGain . Enabled = false ;
// tbFrameRate.Enabled = false;
bnGetParam . Enabled = false ;
bnSetParam . Enabled = false ;
}
private void button3_Click ( object sender , EventArgs e )
{
Cam2 . Stop ( ) ;
}
/// <summary>
/// <20> <> <EFBFBD> <EFBFBD> 1<EFBFBD> <31> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void SnapshotCam1_Click ( object sender , EventArgs e )
{
Cam1 . Snapshot ( ) ;
}
/// <summary>
/// <20> <> <EFBFBD> <EFBFBD> 2<EFBFBD> <32> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void SnapshotCam2_Click ( object sender , EventArgs e )
{
//Cam2.Snapshot();
}
int TimesCalled = 0 ;
Bitmap OKbitmap = new Bitmap ( "OK.jpg" ) ;
Bitmap NGbitmap = new Bitmap ( "NG.jpg" ) ;
/// <summary>
/// <20> <> <EFBFBD> ̵߳<DFB3> <CCB5> <EFBFBD>
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void InitMachine_Click ( object sender , EventArgs e )
{
try
{
//<2F> <> ʼ <EFBFBD> <CABC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
DataSet dataSet = SQLiteHelper . Query ( "select * from XK_HisenceDet" ) ;
dataGridView1 . DataSource = dataSet . Tables [ 0 ] ;
// 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> ֵ
//string sql = "insert into XK_HisenceDet VALUES('" + xKNow.Type + "','" + xKNow.OcrBar + "'," + xKNow.MoveX + "," + xKNow.MoveY + "," +
// xKNow.MoveZ + ",'" + "123" + "',null," + xKNow.MoveTwoZ + "," + xKNow.MoveTwoY + "," + xKNow.MoveTwoZ + ", '" + DateTime.Now + "'," + 1 + ")";
//SQLiteHelper.ExecuteSql(sql);
Cam1 . Start ( "Cam1" ) ;
if ( Cam1 . IfSuccess )
{
myLog ( "Cam1<6D> <31> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " , DateTime . Now ) ;
}
Cam2 . Start ( "Cam2" ) ;
if ( Cam2 . IfSuccess )
{
myLog ( "Cam2<6D> <32> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " , DateTime . Now ) ;
}
Cam1 . OnHImageOutput - = OnCameraMatOutPut ;
Cam1 . OnHImageOutput + = OnCameraMatOutPut ;
Cam2 . OnHImageOutput - = OnCameraMatOutPut2 ;
Cam2 . OnHImageOutput + = OnCameraMatOutPut2 ;
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);
//PLCʹ <43> ܿ<EFBFBD> <DCBF> <EFBFBD>
melsecPLCTCPDriver . WriteInt ( "581" , 0 ) ; //<2F> <> λ<EFBFBD> ɿ<EFBFBD>
melsecPLCTCPDriver . WriteInt ( "504" , 0 ) ; //<2F> <> λ<EFBFBD> ɿ<EFBFBD>
melsecPLCTCPDriver . WriteInt ( "514" , 0 ) ; //<2F> <> λ<EFBFBD> ɿ<EFBFBD>
melsecPLCTCPDriver . WriteInt ( "524" , 0 ) ; //<2F> <> λ<EFBFBD> ɿ<EFBFBD>
melsecPLCTCPDriver . WriteInt ( "406" , 60000 ) ; //д<> <D0B4> <EFBFBD> ֶ<EFBFBD> <D6B6> ٶ<EFBFBD>
melsecPLCTCPDriver . WriteInt ( "416" , 8000 ) ;
melsecPLCTCPDriver . WriteInt ( "426" , 8000 ) ;
melsecPLCTCPDriver . WriteInt ( "404" , 100000 ) ; //д<> 붨λ<EBB6A8> ٶ<EFBFBD>
melsecPLCTCPDriver . WriteInt ( "414" , 8000 ) ;
melsecPLCTCPDriver . WriteInt ( "424" , 8000 ) ;
melsecPLCTCPDriver . WriteInt ( "500" , 0 ) ;
melsecPLCTCPDriver . WriteInt ( "500" , 1 ) ;
Thread . Sleep ( 200 ) ;
bOn = true ;
melsecPLCTCPDriver . WriteInt ( "580" , 0 ) ; //<2F> <> <EFBFBD> <EFBFBD>
melsecPLCTCPDriver . WriteInt ( "580" , 1 ) ; //<2F> <> <EFBFBD> <EFBFBD>
Thread . Sleep ( 200 ) ;
melsecPLCTCPDriver . WriteInt ( "580" , 0 ) ;
Thread . Sleep ( 200 ) ;
while ( true )
{
int IfXZeros = melsecPLCTCPDriver . ReadInt ( "102" ) ;
int IfYZeros = melsecPLCTCPDriver . ReadInt ( "112" ) ;
int IfZZeros = melsecPLCTCPDriver . ReadInt ( "122" ) ;
2024-05-31 11:16:22 +08:00
if ( IfXZeros < = 140 & & IfYZeros < = 140 & & IfZZeros < = 140 )
2024-05-31 10:14:57 +08:00
{
StartDecBtn . Enabled = true ;
break ;
}
Thread . Sleep ( 10 ) ;
}
myLog ( "<22> 豸ȫ<E8B1B8> <C8AB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " , DateTime . Now ) ;
}
catch ( Exception ex )
{
Application_ThreadException ( ex ) ;
}
}
/// <summary>
/// ȫͼϴ<CDBC> »<EFBFBD> <20> ü<EFBFBD> ֮<EFBFBD> <D6AE> OCRʶ<52> <CAB6> <EFBFBD> Ľ<EFBFBD> <C4BD> <EFBFBD>
/// </summary>
2024-05-31 11:16:22 +08:00
/// <param name="currentMatC">ȫͼͼƬ</param>
/// <param name="cam1TwoML">ȫ<> <C8AB> ͼƬ<CDBC> ϵ<EFBFBD> Ŀ<EFBFBD> 궨λ<EAB6A8> <CEBB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> λ<EFBFBD> <CEBB> <EFBFBD> ο <EFBFBD> <CEBF> <EFBFBD> </param>
/// <param name="strMatListList"><3E> <> <EFBFBD> صĶ<D8B5> λ<EFBFBD> <CEBB> <EFBFBD> Ľ<EFBFBD> <C4BD> <EFBFBD> </param>
2024-05-31 10:14:57 +08:00
private void InsertSqlRunData ( ref Mat currentMatC , MLResult cam1TwoML , ref List < string > strMatListList , ref PaddleOcrModel IOcrModel )
{
2024-05-31 11:16:22 +08:00
#if true
2024-05-31 10:14:57 +08:00
try
{
List < Mat > mats = new List < Mat > ( ) ;
Mat mResultCut = currentMatC . Clone ( ) ;
string OcrTextinsert = "" ;
for ( int i = 0 ; i < cam1TwoML . ResultDetails . Count ; i + + )
{
Mat mResultCuti = mResultCut . Clone ( ) ;
int rectsx = cam1TwoML . ResultDetails [ i ] . Rect . X ;
int rectsy = cam1TwoML . ResultDetails [ i ] . Rect . Y ;
int rectsWidth = cam1TwoML . ResultDetails [ i ] . Rect . Width ;
int rectsHeight = cam1TwoML . ResultDetails [ i ] . Rect . Height ;
Rect area = new Rect ( rectsx , rectsy , rectsWidth , rectsHeight ) ;
Mat matroi = new Mat ( mResultCuti , area ) ;
mats . Add ( matroi ) ;
//OCRʶ<52> <CAB6> <EFBFBD> ü<EFBFBD> ͼƬ
MLRequest reqcut = new MLRequest ( ) ;
reqcut . currentMat = matroi . Clone ( ) ;
MLResultModel mLcut = IOcrModel . RunInferenceFixed ( reqcut ) ;
for ( int j = 0 ; j < mLcut . ResultDetails . Count ; j + + )
{
string jdetial = mLcut . ResultDetails [ j ] . LabelDisplay ;
strMatListList . Add ( jdetial ) ;
OcrTextinsert + = jdetial + "##" ;
}
}
}
catch ( Exception ex )
{
}
#endif
}
/// <summary>
/// <20> <> <EFBFBD> ݿ<EFBFBD> <DDBF> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ӧ<EFBFBD> <D3A6> OCR<43> ı <EFBFBD> <C4B1> Ƿ<EFBFBD> <C7B7> <EFBFBD> ʶ<EFBFBD> <CAB6> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ı <EFBFBD> <C4B1> <EFBFBD> <EFBFBD> <EFBFBD>
/// </summary>
/// <param name="WashBar"></param>
/// <param name="DetMatstrList"></param>
/// <returns></returns>
private bool IsMatchOcrText ( string WashBar , List < string > DetMatstrList )
{
try
{
xKNow = GetModeFromBar ( WashBar ) ; //<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> ֵ
List < string > strMatListListB = new List < string > ( ) ;
if ( xKNow . OcrText . Contains ( "##" ) )
{
string [ ] sArray = Regex . Split ( xKNow . OcrText , "##" , RegexOptions . IgnoreCase ) ;
for ( int i = 0 ; i < sArray . Count ( ) ; i + + )
{
if ( sArray [ i ] ! = "" )
{
strMatListListB . Add ( sArray [ i ] ) ;
}
}
}
var firstNotSecond = DetMatstrList . Except ( strMatListListB , StringComparer . OrdinalIgnoreCase ) . ToList ( ) ;
var secondNotFirst = strMatListListB . Except ( DetMatstrList , StringComparer . OrdinalIgnoreCase ) . ToList ( ) ;
if ( firstNotSecond . Count ( ) = = 0 & & secondNotFirst . Count ( ) = = 0 )
{
return true ;
}
return false ;
}
catch ( Exception ex )
{
return false ;
}
}
/// <summary>
/// ʵʱ<CAB5> ƶ<EFBFBD> ģ<EFBFBD> <C4A3>
/// </summary>
public void MoveToP ( int currentXP , int currentYP , int currentZP )
{
melsecPLCTCPDriver . WriteInt ( "581" , 0 ) ;
melsecPLCTCPDriver . WriteInt ( "402" , currentXP ) ;
melsecPLCTCPDriver . WriteInt ( "412" , currentYP ) ;
melsecPLCTCPDriver . WriteInt ( "422" , currentZP ) ;
melsecPLCTCPDriver . WriteInt ( "581" , 1 ) ;
Thread . Sleep ( 200 ) ;
melsecPLCTCPDriver . WriteInt ( "581" , 0 ) ;
while ( true )
{
int IfXZeros = melsecPLCTCPDriver . ReadInt ( "102" ) ;
int IfYZeros = melsecPLCTCPDriver . ReadInt ( "112" ) ;
int IfZZeros = melsecPLCTCPDriver . ReadInt ( "122" ) ;
if ( ( IfXZeros < currentXP + 20 ) & & ( IfXZeros > currentXP - 20 ) & & ( IfYZeros < = currentYP + 20 ) & & ( IfYZeros > = currentYP - 20 ) & & ( IfZZeros < = currentZP + 20 ) & & ( IfZZeros > = currentZP - 20 ) ) //TODO:<3A> <> <EFBFBD> õ<EFBFBD> һ <EFBFBD> <D2BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> λ<EFBFBD> <CEBB>
{
break ;
}
Thread . Sleep ( 10 ) ;
}
}
public int disShow = new int ( ) ;
public List < int > MonitorValues { get ; set ; } = new List < int > ( ) ;
public List < int > relPosStrList { get ; set ; } = new List < int > ( ) ;
public List < int > HspeedList { get ; set ; } = new List < int > ( ) ;
/// <summary>
/// ʵʱˢ<CAB1> <CBA2> PLC<4C> <43> ַ<EFBFBD> <D6B7> ֵ
/// </summary>
///
public void UpDatePlcValue ( int Address , int length )
{
//Task.Run(() =>
//{
// while (true)
// {
try
{
//ʵʱˢ<CAB1> »<EFBFBD> е <EFBFBD> ֵ<EFBFBD> λ<EFBFBD> <CEBB>
List < int > newValues = melsecPLCTCPDriver . GetMonitorValues ( Address , length ) ;
if ( newValues = = null | | newValues . Count = = 0 )
return ;
Stopwatch sw = new Stopwatch ( ) ;
sw . Start ( ) ;
if ( Address = = 600 )
{
disShow = melsecPLCTCPDriver . ReadInt ( Convert . ToString ( Address ) ) ;
}
if ( Address = = 102 ) //<2F> <> <EFBFBD> <EFBFBD> ʼ <EFBFBD> <CABC> ַΪ102
{
if ( relPosStrList . Count = = newValues . Count )
{
var tempNew = new List < int > ( newValues ) ;
var tempOld = new List < int > ( relPosStrList ) ;
//MonitorCheckAndInvoke(tempNew, tempOld);
}
relPosStrList = new List < int > ( newValues ) ;
// relPosStrList = MonitorValues;
//ʵʱ<CAB5> <CAB1> ʾ <EFBFBD> ڽ<EFBFBD> <DABD> <EFBFBD> <EFBFBD> <EFBFBD>
}
if ( Address = = 404 )
{
if ( HspeedList . Count = = newValues . Count )
{
var tempNew = new List < int > ( newValues ) ;
var tempOld = new List < int > ( HspeedList ) ;
//MonitorCheckAndInvoke(tempNew, tempOld);
}
HspeedList = new List < int > ( newValues ) ;
//HspeedList = MonitorValues;
//ʵʱ<CAB5> <CAB1> ʾ <EFBFBD> ڽ<EFBFBD> <DABD> <EFBFBD> <EFBFBD> <EFBFBD>
}
sw . Stop ( ) ;
if ( sw . ElapsedMilliseconds > 20 )
{
//LogAsync(DateTime.Now, LogLevel.Detail, $"{this.Name}<7D> <> ѯʱ<D1AF> 䣺{sw.ElapsedMilliseconds}");
}
Thread . Sleep ( 20 ) ;
}
catch ( Exception ex )
{
}
// }
//});
}
/// <summary>
/// <20> <> <EFBFBD> <EFBFBD> ϴ<EFBFBD> »<EFBFBD> 545<34> Ƿ<C7B7> <F1B4A5B7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 䴫<EFBFBD> <E4B4AB> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
/// </summary>
public void TrigerCamera1 ( )
{
//<2F> <> <EFBFBD> <EFBFBD> һ <EFBFBD> <D2BB> <EFBFBD> ̼߳<DFB3> <CCBC> <EFBFBD> PLC<4C> <43> ֵ
Task . Run ( ( ) = >
{
int iNum1 = 0 ;
int iNum0 = 0 ;
while ( true )
{
// myResetEvent.Set();
PLC545 = true ;
int m_iCureent545 = melsecPLCTCPDriver . ReadInt ( "545" ) ;
////int m_iCureent545 = CMPLC.SLMPReadD(545);
if ( m_iCureent545 ! = 1 )
{
iNum0 + + ;
}
else
{
iNum0 = 0 ;
}
if ( iNum0 > = 5 )
{
while ( true )
{
m_iCureent545 = melsecPLCTCPDriver . ReadInt ( "545" ) ;
if ( m_iCureent545 = = 1 )
{
iNum1 + + ;
}
else
{
iNum1 = 0 ;
}
if ( iNum1 > = 5 )
{
//Console.WriteLine("<22> ڶ<EFBFBD> <DAB6> βɼ<CEB2> ͼ<EFBFBD> <CDBC> ");
//Cam1.Snapshot();
//Cam2.Snapshot();
//IfCam1Triger = false;
//IfCam2Triger = false;
iNum0 = 0 ;
iNum1 = 0 ;
break ;
}
}
}
Thread . Sleep ( 100 ) ;
}
} ) ;
}
/// <summary>
/// <20> <> ȡ<EFBFBD> <C8A1> <EFBFBD> <EFBFBD> ʿ<EFBFBD> <CABF> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ͺ <EFBFBD>
/// </summary>
public void OnGetBar ( )
{
Task . Run ( ( ) = >
{
int iNum0 = 0 ;
int iNum1 = 0 ;
// const char pCR[4] = { 0x4C, 0x4F, 0x4E, 0x0D };<3B> <> <EFBFBD> <EFBFBD>
//const char pOFF[5] = { 0x4C, 0x4F, 0x46, 0x46, 0x0D };<3B> ر<EFBFBD>
Thread . CurrentThread . Priority = ThreadPriority . Highest ;
while ( true )
{
//545<34> <35> <EFBFBD> <EFBFBD> ʱΪ0
// myResetEvent.Set();
PLC545 = true ;
int m_iCureent545 = melsecPLCTCPDriver . ReadInt ( "545" ) ;
if ( m_iCureent545 ! = 1 )
{
iNum0 + + ;
}
else
{
iNum0 = 0 ;
}
if ( iNum0 > = 1 )
{
//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ָ<EFBFBD> <D6B8>
while ( true )
{
bTriger = false ;
//<2F> <> <EFBFBD> <EFBFBD> 544һ ֱ<D2BB> <D6B1> 1<EFBFBD> <31> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> s <20> <> <EFBFBD> <EFBFBD>
m_iCureent545 = melsecPLCTCPDriver . ReadInt ( "545" ) ;
if ( m_iCureent545 = = 1 )
{
iNum1 + + ;
}
else
{
iNum1 = 0 ;
}
if ( iNum1 > = 2 )
{
if ( bBar )
{
bBarTriger = true ; //<2F> ij<DEB8> <C4B3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ջ<EFBFBD> ȡ<EFBFBD> ͺ <EFBFBD>
Cam2 . SnapshotCount = 0 ;
Cam2 . Snapshot ( ) ;
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 ( 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 ) ;
bBarTriger = true ;
//MoveToP(xKNow.MoveX, xKNow.MoveY, xKNow.MoveZ);// PLC<4C> <43> <EFBFBD> Ƶ<EFBFBD> <C6B5> <EFBFBD> <EFBFBD> ƶ<EFBFBD> <C6B6> <EFBFBD> <EFBFBD> <EFBFBD>
}
break ;
}
Thread . Sleep ( 2 ) ;
bBar = false ;
}
}
}
}
Thread . Sleep ( 10 ) ;
} ) ;
}
/// <summary>
/// <20> <> <EFBFBD> <EFBFBD> ϴ<EFBFBD> »<EFBFBD> 544<34> Ƿ<C7B7> <F1B4A5B7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 䴫<EFBFBD> <E4B4AB> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD>
/// </summary>
public void TriggerCameral2 ( )
{
//<2F> <> <EFBFBD> <EFBFBD> һ <EFBFBD> <D2BB> <EFBFBD> ̼߳<DFB3> <CCBC> <EFBFBD> PLC<4C> <43> ֵ
Task . Run ( ( ) = >
{
try
{
int iNum1 = 0 ;
int iNum0 = 0 ;
Thread . CurrentThread . Priority = ThreadPriority . Highest ;
while ( true )
{
// myResetEvent.Set();
PLC548 = true ;
int m_iCureent548 = melsecPLCTCPDriver . ReadInt ( "548" ) ;
if ( m_iCureent548 ! = 0 )
{
iNum0 + + ;
}
else
{
iNum0 = 0 ;
}
if ( iNum0 > = 1 )
{
while ( true )
{
bTriger = false ;
//<2F> <> <EFBFBD> <EFBFBD> 544һ ֱ<D2BB> <D6B1> 1<EFBFBD> <31> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> s <20> <> <EFBFBD> <EFBFBD>
m_iCureent548 = melsecPLCTCPDriver . ReadInt ( "548" ) ;
if ( m_iCureent548 = = 0 )
{
iNum1 + + ;
}
else
{
iNum1 = 0 ;
}
if ( iNum1 > = 2 )
{
//if (bBarTriger)
{
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>
2024-05-31 11:16:22 +08:00
MoveToP ( 8974 , 0 , 0 ) ;
2024-05-31 10:14:57 +08:00
List < int > DisList = new List < int > ( ) ;
for ( int i = 0 ; i < 5 ; i + + )
{
int m600 = melsecPLCTCPDriver . ReadInt ( "600" ) ;
DisList . Add ( m600 ) ;
}
DisList . Remove ( DisList . Max ( ) ) ;
DisList . Remove ( DisList . Min ( ) ) ;
// <20> <> <EFBFBD> <EFBFBD> ʣ<EFBFBD> <CAA3> ֵ<EFBFBD> <D6B5> ƽ <EFBFBD> <C6BD> <EFBFBD> <EFBFBD>
double average = DisList . Average ( ) ;
double disreal = average * ( - 0.54054 ) + 1324.3232 ;
2024-05-31 11:16:22 +08:00
//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> -<2D> <> <EFBFBD> <D7BC> <EFBFBD> <EFBFBD> =Ҫ<> ƶ<EFBFBD> <C6B6> ľ<EFBFBD> <C4BE> <EFBFBD>
double dismove = disreal - 876 ;
if ( dismove > 0 & & dismove < 4000 )
{
MoveToP ( 8974 , 0 , ( int ) ( dismove ) ) ;
}
2024-05-31 10:14:57 +08:00
Thread . Sleep ( 500 ) ;
Cam1 . SnapshotCount = 0 ;
Cam1 . Snapshot ( ) ;
Cam2 . SnapshotCount = 0 ;
Cam2 . Snapshot ( ) ;
// myLog("<22> ڶ<EFBFBD> <DAB6> βɼ<CEB2> ͼ<EFBFBD> <CDBC> ", DateTime.Now);
//if (xKNow != null)
//{
// MoveToP(xKNow.MoveTwoX, xKNow.MoveTwoY, xKNow.MoveTwoZ);
//}
// currentXP = 54964;
2024-05-31 11:16:22 +08:00
MoveToP ( 54964 , 0 , ( int ) ( dismove ) ) ;
2024-05-31 10:14:57 +08:00
Cam1 . Snapshot ( ) ;
MoveToP ( 8974 , 0 , 0 ) ;
//if (xKNow != null)
//{
// MoveToP(xKNow.MoveX, xKNow.MoveY, xKNow.MoveZ);
//}
myLog ( "<22> ɼ<EFBFBD> ͼ<EFBFBD> <CDBC> <EFBFBD> ɹ<EFBFBD> " , DateTime . Now ) ;
//ģ<> 鸴λ
bTriger = true ; //<2F> <> <EFBFBD> Խ<EFBFBD> <D4BD> м<EFBFBD> <D0BC> <EFBFBD> ʶ<EFBFBD> <CAB6> <EFBFBD> <EFBFBD>
bBarTriger = false ; //<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Բ<EFBFBD> <D4B2> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
iNum0 = 0 ;
iNum1 = 0 ;
break ;
}
}
}
}
Thread . Sleep ( 10 ) ;
}
}
catch ( Exception e )
{
}
} ) ;
}
/// <summary>
/// PLC<4C> <43> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
/// </summary>
/// <param name="ifPlcHeart"></param>
public void PLcHeratAdress ( int ifPlcHeart )
{
if ( ifPlcHeart = = 1 )
{
myLog ( "PLC<4C> <43> <EFBFBD> <EFBFBD> ʧ<EFBFBD> <CAA7> " , DateTime . Now ) ;
}
else
{
}
}
/// <summary>
/// <20> <> 1<EFBFBD> <31> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ļص<C4BB>
/// </summary>
/// <param name="dt"></param>
/// <param name="cameraMat"></param>
/// <param name="SnapshotCount"></param>
public void OnCameraMatOutPut ( DateTime dt , Mat cameraMat , int SnapshotCount )
{
string fitImageFolder = "D://cam1//" ;
if ( ! Directory . Exists ( fitImageFolder ) )
{
Directory . CreateDirectory ( fitImageFolder ) ;
}
//<2F> <> һ <EFBFBD> <D2BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
if ( SnapshotCount = = 1 )
{
// Mat mat = Cv2.ImRead("F:\\<5C> <> <EFBFBD> <EFBFBD> ϴ<EFBFBD> »<EFBFBD> \\cam1\\2024517161641.jpg");
Cam1ImgOne = cameraMat ;
2024-05-31 11:16:22 +08:00
IfCam1OneTriger = true ;
2024-05-31 10:14:57 +08:00
originMatShow . Image = cameraMat . ToBitmap ( ) ;
//pictureBox1.Image = cameraMat.ToBitmap();
}
//<2F> ڶ<EFBFBD> <DAB6> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
if ( SnapshotCount = = 2 )
{
// Mat mat = Cv2.ImRead("F:\\<5C> <> <EFBFBD> <EFBFBD> ϴ<EFBFBD> »<EFBFBD> \\cam1\\2024517164541.jpg");
Cam1ImgTwo = cameraMat ;
IfCam1TwoTriger = true ;
originMatShow2 . Image = cameraMat . ToBitmap ( ) ;
//pictureBox1.Image = cameraMat.ToBitmap();
}
pictureBox1 . Image = cameraMat . ToBitmap ( ) ;
cameraMat . ImWrite ( fitImageFolder + dt . Year . ToString ( ) + dt . Month . ToString ( ) + dt . Day . ToString ( ) + dt . Hour . ToString ( ) + dt . Minute . ToString ( ) + dt . Millisecond . ToString ( ) + "1.jpg" ) ;
}
/// <summary>
/// <20> <> <EFBFBD> <EFBFBD> 2<EFBFBD> <32> <EFBFBD> <EFBFBD> <EFBFBD> ص<EFBFBD>
/// </summary>
/// <param name="dt"></param>
/// <param name="cameraMat"></param>
/// <param name="SnapshotCount"></param>
public void OnCameraMatOutPut2 ( DateTime dt , Mat cameraMat , int SnapshotCount )
{
string fitImageFolder = "D://cam2//" ;
if ( ! Directory . Exists ( fitImageFolder ) )
{
Directory . CreateDirectory ( fitImageFolder ) ;
}
2024-05-31 11:16:22 +08:00
2024-05-31 10:14:57 +08:00
// Mat mat = Cv2.ImRead("F:\\<5C> <> <EFBFBD> <EFBFBD> ϴ<EFBFBD> »<EFBFBD> \\cam1\\2024517161641.jpg");
Cam2ImgShowBar = cameraMat ;
IfCam2Triger = true ;
originMat2Show . Image = cameraMat . ToBitmap ( ) ;
//pictureBox1.Image = cameraMat.ToBitmap();
2024-05-31 11:16:22 +08:00
2024-05-31 10:14:57 +08:00
pictureBox2 . Image = cameraMat . ToBitmap ( ) ;
cameraMat . ImWrite ( fitImageFolder + dt . Year . ToString ( ) + dt . Month . ToString ( ) + dt . Day . ToString ( ) + dt . Hour . ToString ( ) + dt . Minute . ToString ( ) + dt . Millisecond . ToString ( ) + "1.jpg" ) ;
}
public volatile int AllDsums = 0 ;
public volatile int NGDsums = 0 ;
public volatile int OKDsums = 0 ;
/// <summary>
/// <20> <> ʼ ʶ<CABC> <CAB6>
/// </summary>
public void ReadyDetect ( )
{
Task . Run ( ( ) = >
{
Thread . CurrentThread . Priority = ThreadPriority . Highest ;
while ( true )
{
try
{
//<2F> <> <EFBFBD> <EFBFBD> 2<EFBFBD> <32> һ <EFBFBD> <D2BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
if ( IfCam2Triger )
{
//OCRʶ<52> <CAB6>
MLRequest req = new MLRequest ( ) ;
req . currentMat = Cam2ImgShowBar ;
//req.currentMat = Cv2.ImRead("D:\\Hisence\\202452414231.jpg");
MLResultModel mL = paddleOcrModelCountry . RunInferenceFixed ( req ) ;
//<2F> <> <EFBFBD> ݿ<EFBFBD> <DDBF> ȶ<EFBFBD>
xKNow = GetModeFromBar ( mL . WashMachineBar ) ; //<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 . OcrBar = = null )
{
myLog ( "δƥ<CEB4> <C6A5> <EFBFBD> ɹ<EFBFBD> " + IfChangeLanguage , DateTime . Now ) ;
break ;
}
if ( xKNow . OcrText ! = "" & & xKNow . Detect ! = "" )
{
//<2F> <> ʱ<EFBFBD> <CAB1> <EFBFBD> е <EFBFBD> ϴ<EFBFBD> »<EFBFBD> <C2BB> Ǻ<EFBFBD> ֮ǰһ <C7B0> <D2BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ģ<EFBFBD> <C4A3>
if ( IfChangeLanguage = = mL . WashMachineBar )
{
}
else
{
//<2F> <> <EFBFBD> ش<EFBFBD> <D8B4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> OCR.josn<73> <6E> <EFBFBD> <EFBFBD>
if ( File . Exists ( xKNow . OcrParm ) )
{
paddleOcrModel . Load ( xKNow . OcrParm , "CPU" ) ;
IfChangeLanguage = mL . WashMachineBar ;
}
}
myLog ( "<22> ͺ <EFBFBD> ƥ<EFBFBD> <C6A5> <EFBFBD> ɹ<EFBFBD> " + IfChangeLanguage , DateTime . Now ) ;
bBarTriger = true ;
}
//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> ݿ<EFBFBD> <DDBF> <EFBFBD> ƥ<EFBFBD> <C6A5> <EFBFBD> <EFBFBD> <EFBFBD> ſ <EFBFBD> <C5BF> Խ<EFBFBD> <D4BD> <EFBFBD> ģ<EFBFBD> <C4A3> <EFBFBD> ƶ<EFBFBD>
//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ͺ ź<CDBA> <C5BA> ϴε<CFB4> <CEB5> ͺ <EFBFBD> һ <EFBFBD> <D2BB> <20> Ͳ<EFBFBD> <CDB2> û<EFBFBD> ʶ<EFBFBD> <CAB6> ģ<EFBFBD> <C4A3> ll
IfCam2Triger = false ;
}
//<2F> <> <EFBFBD> <EFBFBD> 1<EFBFBD> ڶ<EFBFBD> <DAB6> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
if ( IfCam1TwoTriger & & bBarTriger )
{
AllDsums + + ;
//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
MLRequest req = new MLRequest ( ) ;
req . currentMat = Cam1ImgOne ;
req . ResizeWidth = 640 ;
req . ResizeHeight = 640 ;
req . Score = 0.3f ;
req . in_lable_path = "D:\\Hisence\\ClassName.txt" ; //<2F> <> ǩ·<C7A9> <C2B7>
req . confThreshold = 0.3f ; //ģ<> <C4A3> <EFBFBD> <EFBFBD> <EFBFBD> Ŷ<EFBFBD>
req . iouThreshold = 0.4f ; //<2F> <> <EFBFBD> <EFBFBD> IOU
req . out_node_name = "output" ;
MLResult mL = simboObjectDetection . RunInferenceFixed ( req ) ;
DateTime dt = DateTime . Now ;
//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> е Ŀ<D0B5> <C4BF> ü<EFBFBD> ʶ<> <CAB6> <EFBFBD> ַ<EFBFBD> <D6B7> Ա<EFBFBD> <D4B1> ַ<EFBFBD> <D6B7> <EFBFBD>
List < string > strMatListListOne = new List < string > ( ) ;
Mat mResultCut = req . currentMat . Clone ( ) ;
InsertSqlRunData ( ref mResultCut , mL , ref strMatListListOne , ref paddleOcrModel ) ;
mL . ResultMap . Save ( "D://cam1//" + dt . Year . ToString ( ) + dt . Month . ToString ( ) + dt . Day . ToString ( ) + dt . Hour . ToString ( ) + dt . Minute . ToString ( ) + dt . Millisecond . ToString ( ) + "1result.jpg" ) ;
ResultMatShow . Image = mL . ResultMap ;
//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
MLRequest req2 = new MLRequest ( ) ;
req2 . currentMat = Cam1ImgTwo ;
req2 . ResizeWidth = 640 ;
req2 . ResizeHeight = 640 ;
req2 . Score = 0.3f ;
req2 . in_lable_path = "D:\\Hisence\\ClassName.txt" ; //<2F> <> ǩ·<C7A9> <C2B7>
req2 . confThreshold = 0.3f ; //ģ<> <C4A3> <EFBFBD> <EFBFBD> <EFBFBD> Ŷ<EFBFBD>
req2 . iouThreshold = 0.4f ; //<2F> <> <EFBFBD> <EFBFBD> IOU
req2 . out_node_name = "output" ;
MLResult mL2 = simboObjectDetection . RunInferenceFixed ( req2 ) ;
List < string > strMatListListTwo = new List < string > ( ) ;
Mat mResultCut2 = req2 . currentMat . Clone ( ) ;
InsertSqlRunData ( ref mResultCut2 , mL2 , ref strMatListListTwo , ref paddleOcrModel ) ;
mL2 . ResultMap . Save ( "D://cam1//" + dt . Year . ToString ( ) + dt . Month . ToString ( ) + dt . Day . ToString ( ) + dt . Hour . ToString ( ) + dt . Minute . ToString ( ) + dt . Millisecond . ToString ( ) + "2result.jpg" ) ;
ResultMatShow2 . Image = mL2 . ResultMap ;
//ִ<> б ȶ<D0B1> <20> <> <EFBFBD> <EFBFBD> ģ<EFBFBD> <C4A3> 2<EFBFBD> <32> 3һ <33> <D2BB>
string [ ] listLabels = xKNow . Detect . Split ( "," ) ;
MLResult MLsum = mL ;
for ( int i = 0 ; i < mL2 . ResultDetails . Count ; i + + )
{
MLsum . ResultDetails . Add ( mL2 . ResultDetails [ i ] ) ;
}
string [ ] RealLabels = new string [ MLsum . ResultDetails . Count ] ;
string detstr = "" ;
for ( int i = 0 ; i < MLsum . ResultDetails . Count ; i + + )
{
RealLabels [ i ] = MLsum . ResultDetails [ i ] . LabelName ;
if ( i < MLsum . ResultDetails . Count - 1 )
{
detstr + = RealLabels [ i ] + "," ;
}
else
{
detstr + = RealLabels [ i ] ;
}
}
IfCam1TwoTriger = false ;
bBarTriger = false ;
bool isMatch = false ;
string OcrTextinsert = "" ;
List < string > bingji = strMatListListOne . Union ( strMatListListTwo ) . ToList ( ) ; //<2F> <> <EFBFBD> <EFBFBD> ȫ<EFBFBD> <C8AB> <EFBFBD> <EFBFBD>
for ( int j = 0 ; j < bingji . Count ; j + + )
{
string jdetial = bingji [ j ] ;
OcrTextinsert + = jdetial + "##" ;
}
bool ismatch = IsMatchOcrText ( xKNow . OcrBar , bingji ) ;
// <20> <> <EFBFBD>
//var except = listLabels.Except(RealLabels);
//Console.WriteLine("<22> <> <EFBFBD> <EFBFBD> <EFBFBD> IJ:");
//if (except.Count() == 0)
//{
// // isMatch = true;
//}
//foreach (var num in except)
//{
// if ((num == "2" || num == "3") && except.Count() == 1)
// {
// // isMatch = true;
// break;
// }
// else
// {
// // isMatch = false;
// break;
// }
//}
if ( isMatch )
{
OKDsums + + ;
myLog ( "ƥ<> <C6A5> <EFBFBD> ɹ<EFBFBD> " , DateTime . Now ) ;
//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʾ
string sql = "insert into XK_HisenceDet VALUES('" + xKNow . Type + "','" + xKNow . OcrBar + "'," + xKNow . MoveX + "," + xKNow . MoveY + "," +
xKNow . MoveZ + ",'" + detstr + "','" + OcrTextinsert + "'," + xKNow . MoveTwoX + "," + xKNow . MoveTwoY + "," + xKNow . MoveTwoZ + ", '" + DateTime . Now + "'," + 1 + ")" ;
SQLiteHelper . ExecuteSql ( sql ) ;
OKOrNGShow . Image = OKbitmap ;
}
else
{
NGDsums + + ;
myLog ( "ƥ<> <C6A5> ʧ<EFBFBD> <CAA7> " , DateTime . Now ) ;
//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʾ
string sql = "insert into XK_HisenceDet VALUES('" + xKNow . Type + "','" + xKNow . OcrBar + "'," + xKNow . MoveX + "," + xKNow . MoveY + "," +
xKNow . MoveZ + ",'" + detstr + "','" + OcrTextinsert + "'," + xKNow . MoveTwoX + "," + xKNow . MoveTwoY + "," + xKNow . MoveTwoZ + ", '" + DateTime . Now + "'," + 0 + ")" ;
SQLiteHelper . ExecuteSql ( sql ) ;
OKOrNGShow . Image = NGbitmap ;
}
}
}
catch ( Exception e )
{
}
finally
{
}
Thread . Sleep ( 10 ) ;
}
} ) ;
}
/// <summary>
/// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ݿ<EFBFBD> <DDBF> л<EFBFBD> ȡ<EFBFBD> ͺ <EFBFBD>
/// </summary>
/// <param name="SkBar"></param>
/// <returns></returns>
public XKHisence GetModeFromBar ( string SkBar )
{
//<2F> <> ģ<EFBFBD> <C4A3> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
DataSet ds = SQLiteHelper . Query ( $"select * from XK_Hisence where OCRBar='{SkBar}' " ) ;
XKHisence XK_hisence = new XKHisence ( ) ;
//cbx.DataSource = ds;
DataTableReader rdr = ds . CreateDataReader ( ) ;
//cbx.Rows.Clear();
while ( rdr . Read ( ) ) //<2F> <> ȡ<EFBFBD> <C8A1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
{
// xKOCROfficeWord.ID = (int)rdr["ID"];
XK_hisence . Type = ( string ) rdr [ "Type" ] ;
XK_hisence . OcrBar = ( string ) rdr [ "OcrBar" ] ;
XK_hisence . MoveX = ( int ) rdr [ "MoveX" ] ;
XK_hisence . MoveY = ( int ) rdr [ "MoveY" ] ;
XK_hisence . MoveZ = ( int ) rdr [ "MoveZ" ] ;
XK_hisence . Detect = ( string ) rdr [ "Detect" ] ;
XK_hisence . OcrText = ( string ) rdr [ "OcrText" ] ;
XK_hisence . MoveTwoX = ( int ) rdr [ "MoveTwoX" ] ;
XK_hisence . MoveTwoY = ( int ) rdr [ "MoveTwoY" ] ;
XK_hisence . MoveTwoZ = ( int ) rdr [ "MoveTwoZ" ] ;
XK_hisence . OcrParm = ( string ) rdr [ "OcrParm" ] ;
XK_hisence . Language = ( string ) rdr [ "Language" ] ;
//xKHisences.Add(XK_hisence);
return XK_hisence ;
//additem(XK_hisence);
}
return XK_hisence ;
}
/// <summary>
/// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ļص<C4BB> <D8B5> <EFBFBD> <EFBFBD> <EFBFBD>
/// </summary>
/// <param name="data"></param>
public void OnDataReceived ( byte [ ] data )
{
//
if ( data . Length > 10 )
{
m_sKEYENCEBar = System . Text . Encoding . UTF8 . GetString ( data ) ;
// myLog("<22> ͺ <EFBFBD> Ocr" + m_sKEYENCEBar, DateTime.Now);
bBar = true ;
}
}
/// <summary>
/// PLC<4C> ij<EFBFBD> ʼ <EFBFBD> <CABC>
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button4_Click ( object sender , EventArgs e )
{
melsecPLCTCPDriver . Start ( ) ;
myLog ( "<22> <> <EFBFBD> <EFBFBD> PLC<4C> ɹ<EFBFBD> " , DateTime . Now ) ;
}
/// <summary>
/// <20> <> ־
/// </summary>
/// <param name="txt"></param>
/// <param name="date"></param>
private void myLog ( string txt , DateTime date )
{
Logtxt = txt + " ʱ<> 䣺" + date . ToString ( ) + "\n" ;
this . Invoke ( myLogDelegateUI ) ; //richTextBox1.AppendText("TEST line \r");
Application . DoEvents ( ) ;
}
private void readAdress_Click ( object sender , EventArgs e )
{
if ( Regex . IsMatch ( readPLc . Text . ToString ( ) , @"^[0-9]+$" ) )
{
int m_iCureent545 = melsecPLCTCPDriver . ReadInt ( readPLc . Text . ToString ( ) ) ;
showPLC . Text = m_iCureent545 . ToString ( ) ;
myLog ( "<22> <> ȡ" + readPLc . Text . ToString ( ) + "<22> <> <EFBFBD> <EFBFBD> " , DateTime . Now ) ;
}
}
private void wirteAdress_Click ( object sender , EventArgs e )
{
try
{
if ( Regex . IsMatch ( WriteAdress . Text . ToString ( ) , @"^[0-9]+$" ) & & Regex . IsMatch ( PLCValue . Text . ToString ( ) , @"^[0-9]+$" ) )
{
melsecPLCTCPDriver . WriteInt ( WriteAdress . Text . ToString ( ) , Convert . ToInt16 ( PLCValue . Text ) ) ;
myLog ( "д" + WriteAdress . Text . ToString ( ) + "<22> <> <EFBFBD> <EFBFBD> " , DateTime . Now ) ;
}
}
catch ( Exception ex ) { }
}
private void ScanDevList_Click ( object sender , EventArgs e )
{
InitDevList ( ) ;
}
private void PLCPowerON_Click ( object sender , EventArgs e )
{
if ( bOn = = true )
{
melsecPLCTCPDriver . WriteInt ( "500" , 0 ) ;
// PLCcontrol->WritePlc(500, 0);
bOn = false ;
PLCPowerON . Text = "ʹ <> <CAB9> On" ;
myLog ( "ʹ <> <CAB9> On<4F> <6E> <EFBFBD> <EFBFBD> " , DateTime . Now ) ;
}
else
{
melsecPLCTCPDriver . WriteInt ( "500" , 1 ) ;
bOn = true ;
PLCPowerON . Text = "ʹ <> <CAB9> Off" ;
myLog ( "ʹ <> <CAB9> Off" , DateTime . Now ) ;
}
}
bool IfPLCDiskZero = false ;
bool IfPLCPostion = false ;
private void PLCDiskZero_Click ( object sender , EventArgs e )
{
//if (!IfPLCDiskZero)
//{
melsecPLCTCPDriver . WriteInt ( "580" , 0 ) ;
//<2F> <> <EFBFBD> <EFBFBD>
melsecPLCTCPDriver . WriteInt ( "580" , 1 ) ;
Thread . Sleep ( 200 ) ;
melsecPLCTCPDriver . WriteInt ( "580" , 0 ) ;
IfPLCDiskZero = true ;
this . txtSetValue . Text = "1" ;
myLog ( "580<38> <30> ʼ <EFBFBD> <CABC> <EFBFBD> <EFBFBD> " , DateTime . Now ) ;
//}
//else
//{
// melsecPLCTCPDriver.WriteInt("580", 0);
// IfPLCDiskZero = false;
// this.txtSetValue.Text = "0";
// myLog("580ֹͣ<CDA3> <D6B9> <EFBFBD> <EFBFBD> ", DateTime.Now);
//}
}
private void PLCPostion_Click ( object sender , EventArgs e )
{
//if (!IfPLCPostion)
//{
try
{
if ( Regex . IsMatch ( lnEditmiXOP . Text . ToString ( ) , @"^[0-9]+$" ) & & Regex . IsMatch ( lnEditmiYOP . Text . ToString ( ) , @"^[0-9]+$" ) & & Regex . IsMatch ( lnEditmiZOP . Text . ToString ( ) , @"^[0-9]+$" ) )
{
if ( lnEditmiXOP . Text ! = "" & & lnEditmiYOP . Text ! = "" & & lnEditmiZOP . Text ! = "" )
{
//ͨ<> <CDA8> <EFBFBD> <EFBFBD> ȡ<EFBFBD> ༭<EFBFBD> <E0BCAD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ֵ <20> <> ΪĿ<CEAA> <C4BF> λ<EFBFBD> <CEBB>
int iXTPosition = Convert . ToInt16 ( lnEditmiXOP . Text ) ; //<2F> <> λX<CEBB> <58> λ<EFBFBD> <CEBB>
int iYTPosition = Convert . ToInt16 ( lnEditmiYOP . Text ) ;
int iZTPosition = Convert . ToInt16 ( lnEditmiZOP . Text ) ;
//<2F> <> Ҫ<EFBFBD> <D2AA> λ<EFBFBD> <CEBB> λ<EFBFBD> <CEBB> д<EFBFBD> <D0B4>
melsecPLCTCPDriver . WriteInt ( "402" , iXTPosition ) ;
melsecPLCTCPDriver . WriteInt ( "412" , iYTPosition ) ;
melsecPLCTCPDriver . WriteInt ( "422" , iZTPosition ) ;
string logs = "д<> 붨λλ<CEBB> <CEBB> X" + iXTPosition + "Y:" + iYTPosition + "Z:" + iZTPosition + " " ;
myLog ( logs , DateTime . Now ) ;
}
}
melsecPLCTCPDriver . WriteInt ( "581" , 1 ) ;
Thread . Sleep ( 1000 ) ;
melsecPLCTCPDriver . WriteInt ( "581" , 0 ) ;
IfPLCPostion = true ;
this . txtSetValue . Text = "1" ;
myLog ( "XYZ<59> <5A> ʼ <EFBFBD> <CABC> λ581" , DateTime . Now ) ;
}
catch ( Exception ex )
{
}
//}
//else
//{
// melsecPLCTCPDriver.WriteInt("581", 0);
// IfPLCPostion = false;
// this.txtSetValue.Text = "0";
// myLog("XYZֹͣ581", DateTime.Now);
//}
}
private void StartDecBtn_Click ( object sender , EventArgs e )
{
//OnGetBar();
TriggerCameral2 ( ) ;
ReadyDetect ( ) ;
myLog ( "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ̳ɹ<CCB3> " , DateTime . Now ) ;
}
private void InsertSqlBtn_Click ( object sender , EventArgs e )
{
InsertSqlFrm insertSqlFrm = new InsertSqlFrm ( ) ;
// insertSqlFrm.
//insertSqlFrm.Parent = this;
insertSqlFrm . ShowDialog ( ) ;
}
private void RefeshData_Click ( object sender , EventArgs e )
{
DataSet dataSet = SQLiteHelper . Query ( "select * from XK_HisenceDet" ) ;
dataGridView1 . DataSource = dataSet . Tables [ 0 ] ;
}
private void panel8_Paint ( object sender , PaintEventArgs e )
{
}
private void SetHandleSpeed_Click ( object sender , EventArgs e )
{
if ( Regex . IsMatch ( lnEditmiXHS . Text . ToString ( ) , @"^[0-9]+$" ) & & Regex . IsMatch ( lnEditmiYHS . Text . ToString ( ) , @"^[0-9]+$" ) & & Regex . IsMatch ( lnEditmiZHS . Text . ToString ( ) , @"^[0-9]+$" ) )
{
if ( SetlnEditmiXH . Text ! = "" & & SetlnEditmiYH . Text ! = "" & & SetlnEditmiZH . Text ! = "" )
{
int XHspeed = Convert . ToInt32 ( SetlnEditmiXH . Text ) ; //X<> <58> <EFBFBD> ֶ<EFBFBD> <D6B6> ٶ<EFBFBD>
int YHspeed = Convert . ToInt32 ( SetlnEditmiYH . Text ) ; //Y<> <59> <EFBFBD> ֶ<EFBFBD> <D6B6> ٶ<EFBFBD>
int ZHspeed = Convert . ToInt32 ( SetlnEditmiZH . Text ) ; //Z<> <5A> <EFBFBD> ֶ<EFBFBD> <D6B6> ٶ<EFBFBD>
melsecPLCTCPDriver . WriteInt ( "406" , XHspeed ) ; //д<> <D0B4> <EFBFBD> ֶ<EFBFBD> <D6B6> ٶ<EFBFBD>
melsecPLCTCPDriver . WriteInt ( "416" , YHspeed ) ;
melsecPLCTCPDriver . WriteInt ( "426" , ZHspeed ) ;
string logs = "д<> <D0B4> <EFBFBD> ֶ<EFBFBD> <D6B6> ٶ<EFBFBD> X" + XHspeed + "Y:" + YHspeed + "Z:" + ZHspeed + " " ;
myLog ( logs , DateTime . Now ) ;
}
}
}
private void SetAutoSpeed_Click ( object sender , EventArgs e )
{
if ( Regex . IsMatch ( lnEditmiXS . Text . ToString ( ) , @"^[0-9]+$" ) & & Regex . IsMatch ( lnEditmiYS . Text . ToString ( ) , @"^[0-9]+$" ) & & Regex . IsMatch ( lnEditmiZS . Text . ToString ( ) , @"^[0-9]+$" ) )
{
if ( SetlnEditmiXOP . Text ! = "" & & SetlnEditmiYOP . Text ! = "" & & SetlnEditmiZOP . Text ! = "" )
{
int Xspeed = Convert . ToInt32 ( SetlnEditmiXOP . Text ) ; //X<> ᶨλ<E1B6A8> ٶ<EFBFBD>
int Yspeed = Convert . ToInt32 ( SetlnEditmiYOP . Text ) ; //Y<> ᶨλ<E1B6A8> ٶ<EFBFBD>
int Zspeed = Convert . ToInt32 ( SetlnEditmiZOP . Text ) ; //Z<> ᶨλ<E1B6A8> ٶ<EFBFBD>
melsecPLCTCPDriver . WriteInt ( "404" , Xspeed ) ; //д<> 붨λ<EBB6A8> ٶ<EFBFBD>
melsecPLCTCPDriver . WriteInt ( "414" , Yspeed ) ;
melsecPLCTCPDriver . WriteInt ( "424" , Zspeed ) ;
string logs = "д<> 붨λ<EBB6A8> ٶ<EFBFBD> X" + Xspeed + "Y:" + Yspeed + "Z:" + Zspeed + " " ;
myLog ( logs , DateTime . Now ) ;
}
}
}
//<2F> <> <EFBFBD> <EFBFBD> ״̬<D7B4> <CCAC> ʶ
private bool m_btnState ;
private void radioButton1_Click ( object sender , EventArgs e )
{
if ( ! ifXZeroValue )
{
this . XZerorbx . Checked = true ;
//<2F> <> <EFBFBD> <EFBFBD>
melsecPLCTCPDriver . WriteInt ( "503" , 1 ) ;
ifXZeroValue = true ;
this . txtSetValue . Text = "1" ;
myLog ( "X<> Ὺʼ <E1BFAA> <CABC> <EFBFBD> <EFBFBD> " , DateTime . Now ) ;
}
else
{
this . XZerorbx . Checked = false ;
melsecPLCTCPDriver . WriteInt ( "503" , 0 ) ;
ifXZeroValue = false ;
this . txtSetValue . Text = "0" ;
myLog ( "X<> <58> ֹͣ<CDA3> <D6B9> <EFBFBD> <EFBFBD> " , DateTime . Now ) ;
}
}
private void YZerorbx_Click ( object sender , EventArgs e )
{
if ( ! ifYZeroValue )
{
this . YZerorbx . Checked = true ;
//<2F> <> <EFBFBD> <EFBFBD>
melsecPLCTCPDriver . WriteInt ( "513" , 1 ) ;
ifYZeroValue = true ;
this . txtSetValue . Text = "1" ;
myLog ( "Y<> Ὺʼ <E1BFAA> <CABC> <EFBFBD> <EFBFBD> " , DateTime . Now ) ;
}
else
{
this . YZerorbx . Checked = false ;
melsecPLCTCPDriver . WriteInt ( "513" , 0 ) ;
ifYZeroValue = false ;
this . txtSetValue . Text = "0" ;
myLog ( "Y<> <59> ֹͣ<CDA3> <D6B9> <EFBFBD> <EFBFBD> " , DateTime . Now ) ;
}
}
private void ZZerorbx_Click ( object sender , EventArgs e )
{
if ( ! ifZZeroValue )
{
this . ZZerorbx . Checked = true ;
//<2F> <> <EFBFBD> <EFBFBD>
melsecPLCTCPDriver . WriteInt ( "523" , 1 ) ;
ifZZeroValue = true ;
this . txtSetValue . Text = "1" ;
myLog ( "Z<> Ὺʼ <E1BFAA> <CABC> <EFBFBD> <EFBFBD> " , DateTime . Now ) ;
}
else
{
this . ZZerorbx . Checked = false ;
melsecPLCTCPDriver . WriteInt ( "523" , 0 ) ;
ifZZeroValue = false ;
this . txtSetValue . Text = "0" ;
myLog ( "Z<> <5A> ֹͣ<CDA3> <D6B9> <EFBFBD> <EFBFBD> " , DateTime . Now ) ;
}
}
private void XForwardrbx_Click ( object sender , EventArgs e )
{
if ( ! ifXForward )
{
this . XForwardrbx . Checked = true ;
//<2F> <> <EFBFBD> <EFBFBD>
melsecPLCTCPDriver . WriteInt ( "502" , 1 ) ;
ifXForward = true ;
this . txtSetValue . Text = "1" ;
myLog ( "X<> Ὺʼ <E1BFAA> <CABC> <EFBFBD> <EFBFBD> " , DateTime . Now ) ;
}
else
{
this . XForwardrbx . Checked = false ;
melsecPLCTCPDriver . WriteInt ( "502" , 0 ) ;
ifXForward = false ;
this . txtSetValue . Text = "0" ;
myLog ( "X<> <58> ֹͣ<CDA3> <D6B9> <EFBFBD> <EFBFBD> " , DateTime . Now ) ;
}
}
private void YForwardrbx_Click ( object sender , EventArgs e )
{
if ( ! ifYForward )
{
this . YForwardrbx . Checked = true ;
//<2F> <> <EFBFBD> <EFBFBD>
melsecPLCTCPDriver . WriteInt ( "512" , 1 ) ;
ifYForward = true ;
this . txtSetValue . Text = "1" ;
myLog ( "Y<> Ὺʼ <E1BFAA> <CABC> <EFBFBD> <EFBFBD> " , DateTime . Now ) ;
}
else
{
this . YForwardrbx . Checked = false ;
melsecPLCTCPDriver . WriteInt ( "512" , 0 ) ;
ifYForward = false ;
this . txtSetValue . Text = "0" ;
myLog ( "Y<> <59> ֹͣ<CDA3> <D6B9> <EFBFBD> <EFBFBD> " , DateTime . Now ) ;
}
}
private void ZForwardrbx_Click ( object sender , EventArgs e )
{
if ( ! ifZForward )
{
this . ZForwardrbx . Checked = true ;
//<2F> <> <EFBFBD> <EFBFBD>
melsecPLCTCPDriver . WriteInt ( "522" , 1 ) ;
ifZForward = true ;
this . txtSetValue . Text = "1" ;
myLog ( "Z<> Ὺʼ <E1BFAA> <CABC> <EFBFBD> <EFBFBD> " , DateTime . Now ) ;
}
else
{
this . ZForwardrbx . Checked = false ;
melsecPLCTCPDriver . WriteInt ( "522" , 0 ) ;
ifZForward = false ;
this . txtSetValue . Text = "0" ;
myLog ( "Z<> <5A> ֹͣ<CDA3> <D6B9> <EFBFBD> <EFBFBD> " , DateTime . Now ) ;
}
}
private void XBackwardrbx_Click ( object sender , EventArgs e )
{
if ( ! ifXBackward )
{
this . XBackwardrbx . Checked = true ;
//<2F> <> <EFBFBD> <EFBFBD>
melsecPLCTCPDriver . WriteInt ( "501" , 1 ) ;
ifXBackward = true ;
this . txtSetValue . Text = "1" ;
myLog ( "X<> Ὺʼ <E1BFAA> <CABC> <EFBFBD> <EFBFBD> " , DateTime . Now ) ;
}
else
{
this . XBackwardrbx . Checked = false ;
melsecPLCTCPDriver . WriteInt ( "501" , 0 ) ;
ifXBackward = false ;
this . txtSetValue . Text = "0" ;
myLog ( "X<> <58> ֹͣ<CDA3> <D6B9> <EFBFBD> <EFBFBD> " , DateTime . Now ) ;
}
}
private void YBackwardrbx_Click ( object sender , EventArgs e )
{
if ( ! ifYBackward )
{
this . YBackwardrbx . Checked = true ;
//<2F> <> <EFBFBD> <EFBFBD>
melsecPLCTCPDriver . WriteInt ( "511" , 1 ) ;
ifYBackward = true ;
this . txtSetValue . Text = "1" ;
myLog ( "Y<> Ὺʼ <E1BFAA> <CABC> <EFBFBD> <EFBFBD> " , DateTime . Now ) ;
}
else
{
this . YBackwardrbx . Checked = false ;
melsecPLCTCPDriver . WriteInt ( "511" , 0 ) ;
ifYBackward = false ;
this . txtSetValue . Text = "0" ;
myLog ( "Y<> <59> ֹͣ<CDA3> <D6B9> <EFBFBD> <EFBFBD> " , DateTime . Now ) ;
}
}
private void ZBackwardrbx_Click ( object sender , EventArgs e )
{
if ( ! ifZBackward )
{
this . ZBackwardrbx . Checked = true ;
//<2F> <> <EFBFBD> <EFBFBD>
melsecPLCTCPDriver . WriteInt ( "521" , 1 ) ;
ifZBackward = true ;
this . txtSetValue . Text = "1" ;
myLog ( "Z<> Ὺʼ <E1BFAA> <CABC> <EFBFBD> <EFBFBD> " , DateTime . Now ) ;
}
else
{
this . ZBackwardrbx . Checked = false ;
melsecPLCTCPDriver . WriteInt ( "521" , 0 ) ;
ifZBackward = false ;
this . txtSetValue . Text = "0" ;
myLog ( "Z<> <5A> ֹͣ<CDA3> <D6B9> <EFBFBD> <EFBFBD> " , DateTime . Now ) ;
}
}
private void button1_Click ( object sender , EventArgs e )
{
string ss = "BB0VA5E0000BCQ5L0114" ;
}
private void Cam2OpenBtn_Click_1 ( object sender , EventArgs e )
{
Cam2 . Start ( "Cam2" ) ;
bnGetParam2 . Enabled = true ;
//SetCtrlWhenOpen();
Cam2OpenBtn . BackColor = Color . Green ;
}
private void button4_Click_1 ( object sender , EventArgs e )
{
OpenFileDialog openFileDialog = new OpenFileDialog ( ) ;
openFileDialog . Title = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ͼƬ" ;
if ( openFileDialog . ShowDialog ( ) = = DialogResult . OK )
{
string fName = openFileDialog . FileName ;
//File fileOpen = new File(fName);
//isFileHaveName = true;
//richTextBox1.Text = fileOpen.ReadFile();
//richTextBox1.AppendText("");
DetectBArMatbox . Text = fName ;
BarPath = fName ;
}
}
private void InsertBtn_Click ( object sender , EventArgs e )
{
try
{
string type = TypeBox . Text ;
string OcrBar = OcrBarBox . Text ;
string moveX = moveXbox . Text ;
string moveY = moveYbox . Text ;
string moveZ = moveZbox . Text ;
string Detect = DetectBArMatbox . Text ;
string movetwoX = moveTwoXbox . Text ;
string movetwoY = moveTwoYbox . Text ;
string movetwoZ = moveTwoZbox . Text ;
if ( ! Regex . IsMatch ( moveX , @"^[0-9]+$" ) )
{
MessageBox . Show ( "<22> <> һ <EFBFBD> <D2BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ƶ<EFBFBD> <C6B6> <EFBFBD> Xֻ<58> <D6BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " ) ;
return ;
}
if ( ! Regex . IsMatch ( moveY , @"^[0-9]+$" ) )
{
MessageBox . Show ( "<22> <> һ <EFBFBD> <D2BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ƶ<EFBFBD> <C6B6> <EFBFBD> Yֻ<59> <D6BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " ) ;
return ;
}
if ( ! Regex . IsMatch ( moveZ , @"^[0-9]+$" ) )
{
MessageBox . Show ( "<22> <> һ <EFBFBD> <D2BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ƶ<EFBFBD> <C6B6> <EFBFBD> Zֻ<5A> <D6BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " ) ;
return ;
}
if ( ! Regex . IsMatch ( movetwoX , @"^[0-9]+$" ) )
{
MessageBox . Show ( "<22> ڶ<EFBFBD> <DAB6> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ƶ<EFBFBD> <C6B6> <EFBFBD> Xֻ<58> <D6BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " ) ;
return ;
}
if ( ! Regex . IsMatch ( movetwoY , @"^[0-9]+$" ) )
{
MessageBox . Show ( "<22> ڶ<EFBFBD> <DAB6> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ƶ<EFBFBD> <C6B6> <EFBFBD> Yֻ<59> <D6BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " ) ;
return ;
}
if ( ! Regex . IsMatch ( movetwoZ , @"^[0-9]+$" ) )
{
MessageBox . Show ( "<22> ڶ<EFBFBD> <DAB6> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ƶ<EFBFBD> <C6B6> <EFBFBD> Zֻ<5A> <D6BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " ) ;
return ;
}
if ( OcrBar ! = "" & & Detect ! = "" & & BarPath ! = "" & & Cam1OnePath ! = "" & & Cam1TwoPath ! = "" & & ModelChangePath ! = "" )
{
int HmoveX = ( int ) Convert . ToInt64 ( moveX ) ;
int HmoveY = ( int ) Convert . ToInt64 ( moveY ) ;
int HmoveZ = ( int ) Convert . ToInt64 ( moveZ ) ;
int HmovetwoX = ( int ) Convert . ToInt64 ( movetwoX ) ;
int HmovetwoY = ( int ) Convert . ToInt64 ( movetwoY ) ;
int HmovetwoZ = ( int ) Convert . ToInt64 ( movetwoZ ) ;
InsertXK_Hisence ( HmoveX , HmoveY , HmoveZ , HmovetwoX , HmovetwoY , HmovetwoZ ) ;
}
else
{
MessageBox . Show ( "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ݲ<EFBFBD> <DDB2> <EFBFBD> ΪNULL" ) ;
}
}
catch ( Exception es )
{
}
}
public void InsertXK_Hisence ( int MoveX , int MoveY , int MoveZ , int MoveTwoX , int MoveTwoY , int MoveTwoZ )
{
PaddleOcrModel IpaddleOcrModel = new PaddleOcrModel ( ) ;
IpaddleOcrModel . Load ( ModelChangePath , "CPU" ) ;
MLRequest OcrBari = new MLRequest ( ) ;
OcrBari . currentMat = Cv2 . ImRead ( BarPath ) ;
MLResultModel mL2 = IpaddleOcrModel . RunInferenceFixed ( OcrBari ) ;
string IOcrBAr = "" ;
for ( int v = 0 ; v < mL2 . ResultDetails . Count ( ) ; v + + )
{
string iv = mL2 . ResultDetails [ v ] . LabelDisplay ;
IOcrBAr + = iv ;
}
using ( StreamWriter sw = new StreamWriter ( "D://123.log" , true ) )
{
sw . WriteLine ( "\n" ) ;
sw . WriteLine ( IOcrBAr ) ;
sw . Flush ( ) ;
}
MLRequest CamOneI = new MLRequest ( ) ;
CamOneI . currentMat = Cv2 . ImRead ( Cam1OnePath ) ;
CamOneI . ResizeWidth = 640 ;
CamOneI . ResizeHeight = 640 ;
CamOneI . Score = 0.3f ;
CamOneI . in_lable_path = "D:\\Hisence\\ClassName.txt" ; //<2F> <> ǩ·<C7A9> <C2B7>
CamOneI . confThreshold = 0.3f ; //ģ<> <C4A3> <EFBFBD> <EFBFBD> <EFBFBD> Ŷ<EFBFBD>
CamOneI . iouThreshold = 0.4f ; //<2F> <> <EFBFBD> <EFBFBD> IOU
CamOneI . out_node_name = "output" ;
MLResult mL3 = simboObjectDetection . RunInferenceFixed ( CamOneI ) ;
if ( mL3 . IsSuccess )
{
DateTime dt = DateTime . Now ;
mL3 . ResultMap . Save ( "D:\\Hisence\\detImages\\" + dt . Year . ToString ( ) + dt . Month . ToString ( ) + dt . Day . ToString ( ) + dt . Hour . ToString ( ) + dt . Minute . ToString ( ) + dt . Millisecond . ToString ( ) + "1result.jpg" ) ;
}
List < string > strMatListListOne = new List < string > ( ) ;
Mat mResultCut = CamOneI . currentMat . Clone ( ) ;
InsertSqlRunData ( ref mResultCut , mL3 , ref strMatListListOne , ref IpaddleOcrModel ) ;
MLRequest CamTwoI = new MLRequest ( ) ;
CamTwoI . currentMat = Cv2 . ImRead ( Cam1TwoPath ) ;
CamTwoI . ResizeWidth = 640 ;
CamTwoI . ResizeHeight = 640 ;
CamTwoI . Score = 0.3f ;
CamTwoI . in_lable_path = "D:\\Hisence\\ClassName.txt" ; //<2F> <> ǩ·<C7A9> <C2B7>
CamTwoI . confThreshold = 0.3f ; //ģ<> <C4A3> <EFBFBD> <EFBFBD> <EFBFBD> Ŷ<EFBFBD>
CamTwoI . iouThreshold = 0.4f ; //<2F> <> <EFBFBD> <EFBFBD> IOU
CamTwoI . out_node_name = "output" ;
MLResult mL4 = simboObjectDetection . RunInferenceFixed ( CamTwoI ) ;
if ( mL4 . IsSuccess )
{
DateTime dt = DateTime . Now ;
mL4 . ResultMap . Save ( "D:\\Hisence\\detImages\\" + dt . Year . ToString ( ) + dt . Month . ToString ( ) + dt . Day . ToString ( ) + dt . Hour . ToString ( ) + dt . Minute . ToString ( ) + dt . Millisecond . ToString ( ) + "2result.jpg" ) ;
}
List < string > strMatListListTwo = new List < string > ( ) ;
Mat mResultCut2 = CamTwoI . currentMat . Clone ( ) ;
InsertSqlRunData ( ref mResultCut2 , mL4 , ref strMatListListTwo , ref IpaddleOcrModel ) ;
//<2F> ı <EFBFBD> <C4B1> <EFBFBD> <EFBFBD> <EFBFBD>
string OcrTextinsert = "" ;
List < string > bingji = strMatListListOne . Union ( strMatListListTwo ) . ToList ( ) ; //<2F> <> <EFBFBD> <EFBFBD> ȫ<EFBFBD> <C8AB> <EFBFBD> <EFBFBD>
for ( int j = 0 ; j < bingji . Count ; j + + )
{
string jdetial = bingji [ j ] ;
OcrTextinsert + = jdetial + "##" ;
}
string detstr = "" ;
//<2F> ҵ<EFBFBD> ʶ<EFBFBD> <CAB6> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
MLResult MLsum = mL3 ;
for ( int v = 0 ; v < mL4 . ResultDetails . Count ; v + + )
{
MLsum . ResultDetails . Add ( mL4 . ResultDetails [ v ] ) ;
}
for ( int v = 0 ; v < MLsum . ResultDetails . Count ; v + + )
{
if ( v < MLsum . ResultDetails . Count - 1 )
{
detstr + = MLsum . ResultDetails [ v ] . LabelName + "," ;
}
else
{
detstr + = MLsum . ResultDetails [ v ] . LabelName ;
}
}
XKHisence xK = new XKHisence ( "1" , IOcrBAr , MoveX , MoveY , MoveZ , detstr , OcrTextinsert , MoveTwoX , MoveTwoY , MoveTwoZ , ModelChangePath , "" ) ;
//IpaddleOcrModel.FreeModel();
string sql = "insert into XK_Hisence VALUES('" + xK . Type + "','" + xK . OcrBar + "'," + xK . MoveX + "," + xK . MoveY + "," + xK . MoveZ + ",'" + xK . Detect + "','" + xK . OcrText + "'," + xK . MoveTwoX + "," + xK . MoveTwoY + "," + xK . MoveTwoZ + ",'" + xK . OcrParm + "','" + xK . Language + "')" ;
int i = SQLiteHelper . ExecuteSql ( sql ) ;
if ( i = = 1 )
{
MessageBox . Show ( "<22> <> <EFBFBD> <EFBFBD> һ <EFBFBD> <D2BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> " ) ;
}
//bool ismatch = IsMatchOcrText("WF3S7021BB", strMatListListOne);
//<2F> <> <EFBFBD> <EFBFBD> <EFBFBD> ص<EFBFBD>
}
private void queryALLBtn_Click ( object sender , EventArgs e )
{
try
{
DataSet dataSet = SQLiteHelper . Query ( "select * from XK_Hisence" ) ;
InsertDataDgv . DataSource = dataSet . Tables [ 0 ] ;
}
catch ( Exception es )
{
}
}
private void QueryoneBtn_Click ( object sender , EventArgs e )
{
try
{
string type = TypeBox . Text ;
string OcrBar = OcrBarBox . Text ;
string moveX = moveXbox . Text ;
string moveY = moveYbox . Text ;
string moveZ = moveZbox . Text ;
string Detect = DetectBArMatbox . Text ;
string movetwoX = moveTwoXbox . Text ;
string movetwoY = moveTwoYbox . Text ;
string movetwoZ = moveTwoZbox . Text ;
string sql = "select * from XK_Hisence where type='" + type + "' or OcrBar='" + OcrBar + "'" ;
DataSet dataSet = SQLiteHelper . Query ( sql ) ;
InsertDataDgv . DataSource = dataSet . Tables [ 0 ] ;
}
catch ( Exception es )
{
}
}
private void OpenDirBtn_Click ( object sender , EventArgs e )
{
OpenFileDialog openFileDialog = new OpenFileDialog ( ) ;
openFileDialog . Title = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ͼƬ" ;
if ( openFileDialog . ShowDialog ( ) = = DialogResult . OK )
{
string fName = openFileDialog . FileName ;
//File fileOpen = new File(fName);
//isFileHaveName = true;
//richTextBox1.Text = fileOpen.ReadFile();
//richTextBox1.AppendText("");
Cam1MatCbx . Text = fName ;
Cam1OnePath = fName ;
}
}
private void OpenTwoDirBtn_Click ( object sender , EventArgs e )
{
OpenFileDialog openFileDialog = new OpenFileDialog ( ) ;
openFileDialog . Title = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ͼƬ" ;
if ( openFileDialog . ShowDialog ( ) = = DialogResult . OK )
{
string fName = openFileDialog . FileName ;
//File fileOpen = new File(fName);
//isFileHaveName = true;
//richTextBox1.Text = fileOpen.ReadFile();
//richTextBox1.AppendText("");
Cam2MatCbx . Text = fName ;
Cam1TwoPath = fName ;
}
}
private void openModelBtn_Click ( object sender , EventArgs e )
{
OpenFileDialog openFileDialog = new OpenFileDialog ( ) ;
openFileDialog . Title = "<22> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> json" ;
if ( openFileDialog . ShowDialog ( ) = = DialogResult . OK )
{
string fName = openFileDialog . FileName ;
//File fileOpen = new File(fName);
//isFileHaveName = true;
//richTextBox1.Text = fileOpen.ReadFile();
//richTextBox1.AppendText("");
modelChangeCbx . Text = fName ;
ModelChangePath = fName ;
}
}
private void SnapshotCam2_Click_1 ( object sender , EventArgs e )
{
Cam2 . Snapshot ( ) ;
}
private void bnGetParam2_Click_1 ( object sender , EventArgs e )
{
tbExposure2 . Text = Cam2 . dvpGetExposure ( ) . ToString ( ) ;
tbGain2 . Text = Cam2 . dvpGetAnalogGain ( ) . ToString ( ) ;
}
}
}