- Added QRValidation vision control system - Includes CapCleaningControl UI components - WebSocket-based barcode validation system - Support for Crevis PLC integration - Test projects for PLC emulator, motion, IO panel, and Modbus 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
146 lines
6.3 KiB
C#
146 lines
6.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using WatsonWebsocket;
|
|
|
|
namespace Project
|
|
{
|
|
public partial class fMain
|
|
{
|
|
DateTime tm1minute = DateTime.Now.AddDays(-1);
|
|
DateTime tm5minute = DateTime.Now;
|
|
Boolean displayOn = false;
|
|
DateTime tmPaint = DateTime.Now;
|
|
|
|
private void tmDisplay_Tick(object sender, EventArgs e)
|
|
{
|
|
if (displayOn == false) displayOn = true;
|
|
else
|
|
{
|
|
//Pub.log.AddAT("Display Timer Overlab");// Console.WriteLine("display overlab");
|
|
return;
|
|
}
|
|
|
|
//메인화면3초에 한번씩 업데이트한다
|
|
var tsPaint = DateTime.Now - tmPaint;
|
|
if (tsPaint.TotalSeconds > 3)
|
|
{
|
|
//panMiniDisplay.Invalidate();
|
|
tmPaint = DateTime.Now;
|
|
}
|
|
|
|
|
|
|
|
//트리거버튼
|
|
btTrigL.BackColor = PUB.IsTrigger[PUB.setting.CameraIndexL] ? Color.Lime : SystemColors.Control;
|
|
btTrigR.BackColor = PUB.IsTrigger[PUB.setting.CameraIndexR] ? Color.Lime : SystemColors.Control;
|
|
|
|
//라이브상태표시
|
|
if (PUB.setting.CameraIndexL >= 0)
|
|
btLiveL.BackColor = PUB.IsLive[PUB.setting.CameraIndexL] ? Color.Lime : SystemColors.Control;
|
|
else btLiveL.BackColor = SystemColors.Control;
|
|
|
|
if (PUB.setting.CameraIndexR >= 0 && PUB.setting.CameraIndexR != PUB.setting.CameraIndexL)
|
|
btLiveR.BackColor = PUB.IsLive[PUB.setting.CameraIndexR] ? Color.Lime : SystemColors.Control;
|
|
else btLiveR.BackColor = SystemColors.Control;
|
|
|
|
//프로세스버튼
|
|
btProcessL.BackColor = PUB.IsProcess[PUB.setting.CameraIndexL] ? Color.Lime : SystemColors.Control;
|
|
btProcessR.BackColor = PUB.IsProcess[PUB.setting.CameraIndexR] ? Color.Lime : SystemColors.Control;
|
|
|
|
//데이터정보
|
|
lbGuidL.Text = $"GUID : {PUB.lastguid[PUB.setting.CameraIndexL]}";
|
|
lbGuidR.Text = $"GUID : {PUB.lastguid[PUB.setting.CameraIndexR]}";
|
|
lbTimeL.Text = $"TIME : " + PUB.Time_WS_Recv[PUB.setting.CameraIndexL].ToString("yyyy-MM-dd HH:mm:ss.fff");
|
|
lbTimeR.Text = $"TIME : " + PUB.Time_WS_Recv[PUB.setting.CameraIndexR].ToString("yyyy-MM-dd HH:mm:ss.fff");
|
|
lbDataL.Text = $"DATA : " + PUB.lastdata[PUB.setting.CameraIndexL];
|
|
lbDataR.Text = $"DATA : " + PUB.lastdata[PUB.setting.CameraIndexR];
|
|
|
|
lbproctimel.Text = $"(Analysis {PUB.ProcessTime[PUB.setting.CameraIndexL]}ms)";
|
|
lbproctimer.Text = $"(Analysis {PUB.ProcessTime[PUB.setting.CameraIndexR]}ms)";
|
|
|
|
label1.Text = $"STAT: {PUB.lastsendStatus[PUB.setting.CameraIndexL].ToString("HH:mm:ss.fff")}";
|
|
label8.Text = $"STAT : {PUB.lastsendStatus[PUB.setting.CameraIndexR].ToString("HH:mm:ss.fff")}";
|
|
|
|
label2.Text = $"SEND: {PUB.lastsend[PUB.setting.CameraIndexL].ToString("HH:mm:ss.fff")}";
|
|
label9.Text = $"SEND : {PUB.lastsend[PUB.setting.CameraIndexR].ToString("HH:mm:ss.fff")}";
|
|
|
|
|
|
//sbMemMapL.ForeColor = swplc[PUB.setting.CameraIndexL].Init ? Color.Lime : Color.Red;
|
|
//sbMemMapR.ForeColor = swplc[PUB.setting.CameraIndexR].Init ? Color.Lime : Color.Red;
|
|
|
|
if (PUB.setting.CameraIndexL >= 0)
|
|
{
|
|
sbConnCamL.ForeColor = PUB._isCrevisOpen[PUB.setting.CameraIndexL] ? Color.Green : Color.Red;
|
|
sbLiveL.ForeColor = PUB.IsLive[PUB.setting.CameraIndexL] ? Color.Green : Color.Red;
|
|
sbDetectReelL.ForeColor = PUB.DetectReel[PUB.setting.CameraIndexL] ? Color.Lime : Color.Black;
|
|
sbDetectCVL.ForeColor = PUB.DetectConv[PUB.setting.CameraIndexL] ? Color.Lime : Color.Black;
|
|
sbTrigL.ForeColor = PUB.IsTrigger[PUB.setting.CameraIndexL] ? Color.Green : Color.Red;
|
|
}
|
|
else
|
|
{
|
|
var c = Color.DimGray;
|
|
sbConnCamL.ForeColor =c;
|
|
sbLiveL.ForeColor =c;
|
|
sbDetectReelL.ForeColor =c;
|
|
sbDetectCVL.ForeColor =c;
|
|
sbTrigL.ForeColor = c;
|
|
}
|
|
if (PUB.setting.CameraIndexR >= 0)
|
|
{
|
|
sbConnCamR.ForeColor = PUB._isCrevisOpen[PUB.setting.CameraIndexR] ? Color.Green : Color.Red;
|
|
sbLiveR.ForeColor = PUB.IsLive[PUB.setting.CameraIndexR] ? Color.Green : Color.Red;
|
|
sbDetectReelR.ForeColor = PUB.DetectReel[PUB.setting.CameraIndexR] ? Color.Lime : Color.Black;
|
|
sbDetectCVR.ForeColor = PUB.DetectConv[PUB.setting.CameraIndexR] ? Color.Lime : Color.Black;
|
|
sbTrigR.ForeColor = PUB.IsTrigger[PUB.setting.CameraIndexR] ? Color.Green : Color.Red;
|
|
}
|
|
else
|
|
{
|
|
var c = Color.DimGray;
|
|
sbConnCamR.ForeColor = c;
|
|
sbLiveR.ForeColor = c;
|
|
sbDetectReelR.ForeColor = c;
|
|
sbDetectCVR.ForeColor = c;
|
|
sbTrigR.ForeColor = c;
|
|
}
|
|
|
|
sbConnHostL.ForeColor = PUB.wsock_[0].ListClients().Count() > 0 ? Color.Green : Color.Red;
|
|
sbConnHostR.ForeColor = PUB.wsock_[1].ListClients().Count() > 0 ? Color.Green : Color.Red;
|
|
sbStream.ForeColor = PUB.setting.DisableStreamData ? Color.Red : Color.Green;
|
|
sbListenL.ForeColor = PUB.wsock_[0].IsListening ? Color.Green : Color.Red;
|
|
sbListenR.ForeColor = PUB.wsock_[1].IsListening ? Color.Green : Color.Red;
|
|
sbLicense.ForeColor = PUB.VisionLicense ? Color.Green : Color.Red;
|
|
|
|
#region retgion"1분 time 루틴"
|
|
var ts = DateTime.Now - tm1minute;
|
|
if (ts.TotalMinutes >= 1)
|
|
{
|
|
//리셋카운트
|
|
|
|
tm1minute = DateTime.Now;
|
|
}
|
|
#endregion
|
|
|
|
#region retgion"5분 time 루틴"
|
|
ts = DateTime.Now - tm5minute;
|
|
if (ts.TotalMinutes >= 5)
|
|
{
|
|
//남은디스크확인
|
|
|
|
tm5minute = DateTime.Now;
|
|
}
|
|
#endregion
|
|
|
|
//wat.Stop();
|
|
//Console.WriteLine("disp time : " + wat.ElapsedMilliseconds.ToString() + "ms");
|
|
displayOn = false;
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|