441 lines
15 KiB
C#
441 lines
15 KiB
C#
using System;
|
|
using System.Linq;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Drawing;
|
|
using System.Data;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
|
|
using SmartX;
|
|
using INT_LKD.DataStore;
|
|
using INT_LKD.Forms;
|
|
|
|
namespace INT_LKD.Controls
|
|
{
|
|
public partial class ControlMenuRecipeData : UserControl
|
|
{
|
|
#region Field
|
|
private FormMenu m_ParentForm;
|
|
|
|
private double m_ScaleDiff;
|
|
#endregion
|
|
|
|
#region Constructor
|
|
public ControlMenuRecipeData(FormMenu parent)
|
|
{
|
|
InitializeComponent();
|
|
|
|
this.ParentForm = parent;
|
|
|
|
this.Initialize();
|
|
this.InitializeData();
|
|
this.InitializeDrawDiff();
|
|
this.InitializeDrawDisp();
|
|
this.InitializeDesign();
|
|
}
|
|
#endregion
|
|
|
|
#region Property
|
|
public FormMenu ParentForm
|
|
{
|
|
get { return this.m_ParentForm; }
|
|
set { this.m_ParentForm = value; }
|
|
}
|
|
|
|
public double ScaleDiff
|
|
{
|
|
get { return this.m_ScaleDiff; }
|
|
set { this.m_ScaleDiff = value; }
|
|
}
|
|
#endregion
|
|
|
|
#region Method
|
|
private void Initialize()
|
|
{
|
|
}
|
|
public void InitializeData()
|
|
{
|
|
this.labelMesResult.Text = "-";
|
|
this.labelMesResult.TextColor = Define.ColorTextResultNone;
|
|
this.labelMesResultDiff.TextColor = Define.ColorTextResultNone;
|
|
this.labelMesResultDisp.TextColor = Define.ColorTextResultNone;
|
|
|
|
this.labelMesPressureMaster.Text = "0.0";
|
|
this.labelMesPressureWork.Text = "0.0";
|
|
|
|
this.labelMesDiffMadc.Text = "0.00";
|
|
this.labelMesDiffSecDiff.Text = "0.00";
|
|
this.labelMesDiffSecMax.Text = "0.00";
|
|
|
|
this.labelMesDispRData.Text = "0.00";
|
|
this.labelMesDispMData.Text = "0.00";
|
|
this.labelMesDispMDataDiff.Text = "0.00";
|
|
this.labelMesDispMDataMax.Text = "0.00";
|
|
}
|
|
public void InitializeDesign()
|
|
{
|
|
switch (this.ParentForm.ParentForm.SystemConfig.LANGUAGE)
|
|
{
|
|
case Define.E_LanguageID.Chinese:
|
|
this.groupBoxPressure.Text = "压差";
|
|
this.groupBoxDisplacement.Text = "位移";
|
|
|
|
this.groupBoxMeasuring1.Text = "测量中";
|
|
|
|
this.labelMesResultDiff.Text = "压差";
|
|
this.labelMesResultDisp.Text = "位移";
|
|
|
|
this.labelTitleMaster.Text = "主腔";
|
|
this.labelTitleWork.Text = "工作腔";
|
|
this.labelTitleLRSec.Text = "每秒变化率";
|
|
this.labelTitleLRMax.Text = "最大变化率";
|
|
this.labelTitleLevel.Text = "等级";
|
|
this.labelTitleHeight.Text = "高度";
|
|
this.labelTitleMaxHeight.Text = "最大高度";
|
|
this.labelTitleDiff.Text = "差异";
|
|
break;
|
|
default:
|
|
this.groupBoxPressure.Text = "Differential Pressure";
|
|
this.groupBoxDisplacement.Text = "Displacement";
|
|
|
|
this.groupBoxMeasuring1.Text = "Measuring";
|
|
|
|
this.labelMesResultDiff.Text = "Diff";
|
|
this.labelMesResultDisp.Text = "Disp";
|
|
|
|
this.labelTitleMaster.Text = "Master";
|
|
this.labelTitleWork.Text = "Work";
|
|
this.labelTitleLRSec.Text = "LR.Sec";
|
|
this.labelTitleLRMax.Text = "LR.Max";
|
|
this.labelTitleLevel.Text = "Level";
|
|
this.labelTitleHeight.Text = "Height";
|
|
this.labelTitleMaxHeight.Text = "Max Height";
|
|
this.labelTitleDiff.Text = "Diff";
|
|
break;
|
|
}
|
|
}
|
|
private void InitializeDrawDiff()
|
|
{
|
|
// SetChartConfig
|
|
this.smartDrawDiff.Chart.SetChartConfig(10, 242, 405, 230, 2, SmartDraw.ChartRefresh.LEFTSCROLL);
|
|
// BackLayer 기준선 표시
|
|
this.smartDrawDiff.BackLayer.SetPenStyle(Color.Gray, 2);
|
|
// BackLayer 세로
|
|
this.smartDrawDiff.BackLayer.Line(10, 12, 10, 242);
|
|
// BackLayer 가로
|
|
this.smartDrawDiff.BackLayer.Line(10, 242, 415, 242);
|
|
}
|
|
private void InitializeDrawDisp()
|
|
{
|
|
// SetChartConfig
|
|
this.smartDrawDisp.Chart.SetChartConfig(10, 242, 405, 230, 2, SmartDraw.ChartRefresh.LEFTSCROLL);
|
|
// BackLayer 기준선 표시
|
|
this.smartDrawDisp.BackLayer.SetPenStyle(Color.Gray, 2);
|
|
// BackLayer 세로
|
|
this.smartDrawDisp.BackLayer.Line(10, 12, 10, 242);
|
|
// BackLayer 가로
|
|
this.smartDrawDisp.BackLayer.Line(10, 242, 415, 242);
|
|
}
|
|
public void DrawPutDataAllClear()
|
|
{
|
|
this.smartDrawDiff.Chart.PutDataAllClear();
|
|
this.smartDrawDisp.Chart.PutDataAllClear();
|
|
}
|
|
public void CalScaleDiff(string limit)
|
|
{
|
|
int iValue = 0;
|
|
|
|
// Lr Limit 설정값
|
|
// double to int
|
|
// 소수점 2자리 고정
|
|
iValue = int.Parse(limit.Replace(".", ""));
|
|
|
|
// 그래프 높이 230
|
|
this.ScaleDiff = (iValue * 10) / 230;
|
|
}
|
|
/// <summary>
|
|
/// 차압센서 그래프 기준선
|
|
/// </summary>
|
|
/// <param name="value">Lr.Limit</param>
|
|
public void DrawDiffReferenceLine(string value)
|
|
{
|
|
string sValue = "";
|
|
int iValue = 0;
|
|
double dValue = 0.0;
|
|
|
|
sValue = value.Replace(".", "");
|
|
dValue = int.Parse(sValue) / this.ScaleDiff;
|
|
|
|
if (dValue > 230)
|
|
dValue = 230;
|
|
if (dValue < 1)
|
|
dValue = 3;
|
|
|
|
iValue = int.Parse(string.Format("{0:f0}", dValue));
|
|
|
|
this.smartDrawDiff.BackLayer.Erase();
|
|
this.InitializeDrawDiff();
|
|
// 가로 기준선
|
|
//this.smartDrawDiff.BackLayer.Line(10, 242, 415, 242);
|
|
this.smartDrawDiff.BackLayer.SetPenStyle(Color.Blue, 2);
|
|
this.smartDrawDiff.BackLayer.Line(10, 242 - iValue, 415, 242 - iValue);
|
|
}
|
|
/// <summary>
|
|
/// 변위센서 그래프 기준선
|
|
/// </summary>
|
|
/// <param name="value">Min Hight</param>
|
|
public void DrawDispReferenceLine(string value)
|
|
{
|
|
string sValue = "";
|
|
int iValue = 0;
|
|
double dValue = 0.0;
|
|
|
|
// 값 표시 범위
|
|
// 0.00 ~ 15.00
|
|
// 그래프 영역 높이 230
|
|
// 1500 / 230 = 6.521739130434783
|
|
|
|
sValue = value.Replace(".", "");
|
|
dValue = int.Parse(sValue) / 6.521739130434783;
|
|
|
|
if (dValue > 230)
|
|
dValue = 230;
|
|
if (dValue < 1)
|
|
dValue = 3;
|
|
|
|
iValue = int.Parse(string.Format("{0:f0}", dValue));
|
|
|
|
this.smartDrawDisp.BackLayer.Erase();
|
|
this.InitializeDrawDisp();
|
|
// 가로 기준선
|
|
//this.smartDrawDisp.BackLayer.Line(10, 242, 415, 242);
|
|
this.smartDrawDisp.BackLayer.SetPenStyle(Color.Blue, 2);
|
|
this.smartDrawDisp.BackLayer.Line(10, 242 - iValue, 415, 242 - iValue);
|
|
}
|
|
|
|
private void UpdateDisplayDotGraphDiff(DiffData diff)
|
|
{
|
|
string value = "";
|
|
int iValue = 0;
|
|
double dValue = 0.0;
|
|
|
|
value = diff.SecBuf.Replace(".", "");
|
|
dValue = int.Parse(value) / this.ScaleDiff;
|
|
|
|
if (dValue > 230)
|
|
dValue = 230;
|
|
if (dValue < 1)
|
|
dValue = 3;
|
|
|
|
iValue = int.Parse(string.Format("{0:f0}", dValue));
|
|
|
|
this.smartDrawDiff.Chart.PutData(iValue);
|
|
}
|
|
private void UpdateDisplayDotGraphDisp(DispData disp)
|
|
{
|
|
string value = "";
|
|
int iValue = 0;
|
|
double dValue = 0.0;
|
|
|
|
// 값 표시 범위
|
|
// 0.00 ~ 15.00
|
|
// 그래프 영역 높이 230
|
|
// 1500 / 230 = 6.521739130434783
|
|
|
|
value = disp.MData.Replace(".","");
|
|
dValue = int.Parse(value) / 6.521739130434783;
|
|
|
|
if (dValue > 230)
|
|
dValue = 230;
|
|
if (dValue < 1)
|
|
dValue = 3;
|
|
|
|
iValue = int.Parse(string.Format("{0:f0}", dValue));
|
|
|
|
this.smartDrawDisp.Chart.PutData(iValue);
|
|
}
|
|
|
|
private void GetJudgmentResult(Define.E_JudgmentStatus judg, SmartLabel label2)
|
|
{
|
|
string value = "";
|
|
|
|
switch (judg)
|
|
{
|
|
case Define.E_JudgmentStatus.None:
|
|
value = "-";
|
|
label2.TextColor = Define.ColorTextResultNone;
|
|
break;
|
|
case Define.E_JudgmentStatus.Pass:
|
|
value = "Pass";
|
|
label2.TextColor = Define.ColorTextResultPass;
|
|
break;
|
|
case Define.E_JudgmentStatus.Ng:
|
|
value = "Leak";
|
|
label2.TextColor = Define.ColorTextResultNG;
|
|
break;
|
|
case Define.E_JudgmentStatus.Empty:
|
|
value = "Empty";
|
|
label2.TextColor = Define.ColorTextResultNone;
|
|
break;
|
|
case Define.E_JudgmentStatus.Error:
|
|
value = "Error";
|
|
label2.TextColor = Define.ColorTextResultNone;
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
if (label2.Text != value)
|
|
label2.Text = value;
|
|
}
|
|
private void GetJudgmentResultDiff(Define.E_JudgmentStatus judg, SmartLabel label)
|
|
{
|
|
switch (judg)
|
|
{
|
|
case Define.E_JudgmentStatus.None:
|
|
label.TextColor = Define.ColorTextResultNone;
|
|
break;
|
|
case Define.E_JudgmentStatus.Pass:
|
|
label.TextColor = Define.ColorTextResultPass;
|
|
break;
|
|
case Define.E_JudgmentStatus.Ng:
|
|
label.TextColor = Define.ColorTextResultNG;
|
|
break;
|
|
case Define.E_JudgmentStatus.Empty:
|
|
label.TextColor = Define.ColorTextResultNone;
|
|
break;
|
|
case Define.E_JudgmentStatus.Error:
|
|
label.TextColor = Define.ColorTextResultNone;
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
private void GetJudgmentResultDisp(Define.E_JudgmentStatus judg, SmartLabel label)
|
|
{
|
|
switch (judg)
|
|
{
|
|
case Define.E_JudgmentStatus.None:
|
|
label.TextColor = Define.ColorTextResultNone;
|
|
break;
|
|
case Define.E_JudgmentStatus.Pass:
|
|
label.TextColor = Define.ColorTextResultPass;
|
|
break;
|
|
case Define.E_JudgmentStatus.Ng:
|
|
label.TextColor = Define.ColorTextResultNG;
|
|
break;
|
|
case Define.E_JudgmentStatus.Empty:
|
|
label.TextColor = Define.ColorTextResultNone;
|
|
break;
|
|
case Define.E_JudgmentStatus.Error:
|
|
label.TextColor = Define.ColorTextResultNone;
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
public void UpdateDisplayMeasuringLeakDataDiff(DiffData data)
|
|
{
|
|
string value = "";
|
|
|
|
// 차압센서 데이터
|
|
value = data.MAdc;
|
|
if (this.labelMesDiffMadc.Text != value)
|
|
this.labelMesDiffMadc.Text = value;
|
|
|
|
value = data.SecBuf;
|
|
if (this.labelMesDiffSecDiff.Text != value)
|
|
this.labelMesDiffSecDiff.Text = value;
|
|
|
|
value = data.SecBufMax;
|
|
if (this.labelMesDiffSecMax.Text != value)
|
|
this.labelMesDiffSecMax.Text = value;
|
|
|
|
if (this.ParentForm.ParentForm.CurrentSystemStatus.EquipmentStatus == Define.E_EquipmentStatus.Start)
|
|
this.UpdateDisplayDotGraphDiff(data);
|
|
}
|
|
public void UpdateDisplayMeasuringLeakDataDisp(DispData data)
|
|
{
|
|
string value = "";
|
|
|
|
// 변위센서 데이터
|
|
value = data.RData;
|
|
if (this.labelMesDispRData.Text != value)
|
|
this.labelMesDispRData.Text = value;
|
|
|
|
value = data.MData;
|
|
if (this.labelMesDispMData.Text != value)
|
|
this.labelMesDispMData.Text = value;
|
|
|
|
value = data.MDataDiff;
|
|
if (this.labelMesDispMDataDiff.Text != value)
|
|
this.labelMesDispMDataDiff.Text = value;
|
|
|
|
value = data.MDataMax;
|
|
if (this.labelMesDispMDataMax.Text != value)
|
|
this.labelMesDispMDataMax.Text = value;
|
|
|
|
if (this.ParentForm.ParentForm.CurrentSystemStatus.EquipmentStatus == Define.E_EquipmentStatus.Start)
|
|
this.UpdateDisplayDotGraphDisp(data);
|
|
}
|
|
public void UpdateDisplayMeasuringLeakDataPres(PressureData data)
|
|
{
|
|
string value = "";
|
|
|
|
// 압력 데이터
|
|
value = data.WorkingChamber;
|
|
if (this.labelMesPressureWork.Text != value)
|
|
this.labelMesPressureWork.Text = value;
|
|
|
|
value = data.MasterChamber;
|
|
if (this.labelMesPressureMaster.Text != value)
|
|
this.labelMesPressureMaster.Text = value;
|
|
}
|
|
public void UpdateDisplayMeasuringLeadDataResult(LeakData1 data)
|
|
{
|
|
this.GetJudgmentResult(data.Judgment.Result, this.labelMesResult);
|
|
|
|
if (data.Judgment.Result == Define.E_JudgmentStatus.Empty)
|
|
{
|
|
this.GetJudgmentResultDiff(Define.E_JudgmentStatus.Empty, this.labelMesResultDiff);
|
|
this.GetJudgmentResultDisp(Define.E_JudgmentStatus.Empty, this.labelMesResultDisp);
|
|
}
|
|
else
|
|
{
|
|
this.GetJudgmentResultDiff(data.Judgment.DIFF_Result, this.labelMesResultDiff);
|
|
this.GetJudgmentResultDisp(data.Judgment.DISP_Result, this.labelMesResultDisp);
|
|
}
|
|
}
|
|
public void UpdateDisplayDispControl(bool enable)
|
|
{
|
|
if (enable == false)
|
|
{
|
|
this.labelMesDispRData.Enabled = false;
|
|
this.labelMesDispMData.Enabled = false;
|
|
this.labelMesDispMDataDiff.Enabled = false;
|
|
this.labelMesDispMDataMax.Enabled = false;
|
|
|
|
this.labelTitleLevel.Enabled = false;
|
|
this.labelTitleHeight.Enabled = false;
|
|
this.labelTitleDiff.Enabled = false;
|
|
this.labelTitleMaxHeight.Enabled = false;
|
|
}
|
|
else
|
|
{
|
|
this.labelMesDispRData.Enabled = true;
|
|
this.labelMesDispMData.Enabled = true;
|
|
this.labelMesDispMDataDiff.Enabled = true;
|
|
this.labelMesDispMDataMax.Enabled = true;
|
|
|
|
this.labelTitleLevel.Enabled = true;
|
|
this.labelTitleHeight.Enabled = true;
|
|
this.labelTitleDiff.Enabled = true;
|
|
this.labelTitleMaxHeight.Enabled = true;
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
}
|