You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

233 lines
7.7 KiB
C#

using NPOI.SS.Formula.Eval;
using Rs.Framework;
using Rs.MotionPlat.Entitys;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Rs.MotionPlat
{
public partial class UFixture : UserControl
{
public UFixture()
{
InitializeComponent();
Control.CheckForIllegalCrossThreadCalls = false;
}
private string fixtureName;
public string FixtureName
{
get { return fixtureName; }
set { fixtureName = value;
lblFixtureName.Text = fixtureName;
}
}
public void RefreshStatus(TestFixture tf)
{
if (lblStatus.Text != tf.Status.ToString())
{
lblStatus.Text = tf.Status.ToString();
}
switch (tf.Status)
{
case ETestFixtureStatus.NoConnect:
if(btnReset.Enabled)
{
btnReset.Enabled = false;
}
if(lblStatus.BackColor!=Color.Gray)
{
lblStatus.BackColor = Color.Gray;
}
break;
case ETestFixtureStatus.IDLE:
if(!btnReset.Enabled)
{
btnReset.Enabled = true;
}
if(lblStatus.BackColor!=Color.Green)
{
lblStatus.BackColor = Color.Green;
}
//if (tf.Product != null)
//{
// if (tf.Product.Result == "true")
// {
// lblResult.BackColor = Color.Green;
// }
// if (tf.Product.Result == "false")
// {
// lblResult.BackColor = Color.Red;
// }
// if (tf.Product != null && tf.Product.Result != null && lblResult.Text != tf.Product.Result)
// {
// lblResult.Text = tf.Product.Result.ToString();
// }
//}
//else
//{
// lblSN.Text = "";
// lblFixtureName.BackColor = Color.FromArgb(56, 56, 56);
//}
break;
case ETestFixtureStatus.Testing:
//if (tf.Product != null && lblSN.Text != tf.Product.SN)
//{
// lblSN.Text = tf.Product.SN;
//}
if (btnReset.Enabled != false)
{
btnReset.Enabled = false;
}
if (lblStatus.BackColor != Color.Blue)
{
lblStatus.BackColor = Color.Blue;
}
break;
case ETestFixtureStatus.Warning:
if(btnReset.Enabled!=true)
{
btnReset.Enabled = true;
}
if (lblStatus.BackColor != Color.Red)
{
lblStatus.BackColor = Color.Red;
}
break;
case ETestFixtureStatus.Homing:
if(btnReset.Enabled!=false)
{
btnReset.Enabled = false;
}
if(lblStatus.BackColor!=Color.YellowGreen)
{
lblStatus.BackColor = Color.YellowGreen;
}
break;
}
if(tf.Product!=null)
{
if(lblSN.Text!= tf.Product.SN)
{
lblSN.Text = tf.Product.SN;
}
}
if(tf.Product!=null)
{
if(!string.IsNullOrEmpty(tf.Product.Result) && lblResult.Text!=tf.Product.Result)
{
if(tf.Product.Result=="true")
{
lblResult.BackColor = Color.Green;
}
else
{
lblResult.BackColor = Color.Red;
}
lblResult.Text = tf.Product.Result;
}
}
else
{
if(!string.IsNullOrEmpty(lblResult.Text))
{
lblResult.Text = "";
lblResult.BackColor = Color.FromArgb(11, 16, 36);
}
}
//if (tf.Status== ETestFixtureStatus.Testing)
//{
// if (tf.Product!=null && lblSN.Text != tf.Product.SN)
// {
// lblSN.Text = tf.Product.SN;
// }
//}
//else if(tf.Status== ETestFixtureStatus.IDLE)
//{
// if (tf.Product != null)
// {
// if (tf.Product.Result == "true" && lblFixtureName.BackColor != Color.Green)
// {
// lblFixtureName.BackColor = Color.Green;
// }
// if (tf.Product.Result == "false" && lblFixtureName.BackColor != Color.Red)
// {
// lblFixtureName.BackColor = Color.Red;
// }
// if (tf.Product!=null && tf.Product.Result!=null && lblResult.Text != tf.Product.Result)
// {
// lblResult.Text = tf.Product.Result.ToString();
// }
// }
// else
// {
// lblSN.Text = "";
// lblFixtureName.BackColor = Color.FromArgb(56, 56, 56);
// }
//}
//else if(tf.Status== ETestFixtureStatus.Homing)
//{
// if(btnReset.Enabled!=false)
// {
// btnReset.Enabled = false;
// }
//}
if(lblName.Text!=tf.MachineID)
{
lblName.Text = tf.MachineID;
}
if(lblLotName.Text!= GlobalVar.LotName)
{
lblLotName.Text = GlobalVar.LotName;
}
if(lblEnable.Text!=tf.Enable.ToString())
{
//this.lblFixtureName.Enabled = tf.Enable;
lblEnable.Text = tf.Enable.ToString();
}
this.lblYield.Text = $"{(tf.Yield * 100).ToString("0.00")}%";
if(this.lblLastCT.Text != double.Parse(tf.LastCT.ToString()).ToString("0.000"))
{
this.lblLastCT.Text = double.Parse(tf.LastCT.ToString()).ToString("0.000");
}
if(lblPassCount.Text != tf.PassCount.ToString())
{
lblPassCount.Text = tf.PassCount.ToString();
}
if(lblTotalCount.Text != tf.TotalCount.ToString())
{
lblTotalCount.Text = tf.TotalCount.ToString();
}
if(this.lblFixtureName.Enabled!=tf.Enable)
{
this.lblFixtureName.Enabled= tf.Enable;
}
}
private void btnReset_Click(object sender, EventArgs e)
{
TestFixtureManager.Instance.GetTestFixture(int.Parse(this.lblIndex.Text)).Home();
}
public void SetIndex(int index)
{
this.lblIndex.Text = index.ToString();
}
}
}