ITC81DB_V8/ITC81DB/Controls/MainDisplay/ControlMainWeightBigScreen.cs

608 lines
23 KiB
C#
Raw Normal View History

2023-07-11 01:56:01 +00:00
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 ITC81DB.DialogForms;
using ITC81DB.Forms;
using ITC81DB_ImageDll;
namespace ITC81DB
{
public partial class ControlMainWeightBigScreen : UserControl
{
#region Field
private FormMainDisplay m_ParentForm;
#endregion
#region Constructor
public ControlMainWeightBigScreen(FormMainDisplay parent)
{
InitializeComponent();
this.ParentForm = parent;
this.InitializeDesign();
this.DefaultSetting();
}
#endregion
#region Property
public FormMainDisplay ParentForm
{
get { return this.m_ParentForm; }
set { this.m_ParentForm = value; }
}
#endregion
#region Method
public void InitializeDesign()
{
Class1 images = new Class1();
if (this.ParentForm.ParentForm.SystemConfig1.Language == DataStore.LanguageID.English)
{
}
else if (this.ParentForm.ParentForm.SystemConfig1.Language == DataStore.LanguageID.Chinese)
{
}
else if (this.ParentForm.ParentForm.SystemConfig1.Language == DataStore.LanguageID.Czech)
{
}
else if (this.ParentForm.ParentForm.SystemConfig1.Language == DataStore.LanguageID.Russian)
{
}
else if (this.ParentForm.ParentForm.SystemConfig1.Language == DataStore.LanguageID.German)
{
}
else if (this.ParentForm.ParentForm.SystemConfig1.Language == DataStore.LanguageID.Spanish)
{
}
else
{
}
}
private void DefaultSetting()
{
this.labelWeight.Text = "0.0";
// 아이콘, 단위 등 화면 갱신
this.UpdateDisplay();
}
public void SetIconNET(ProductItem item)
{
double dValue = 0.0;
dValue = Helper.StringToWeight(item.TareRange, this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces);
if (dValue != 0.0)
this.labelIconNET.Visible = true;
else
this.labelIconNET.Visible = false;
}
public void UpdateSpotOrBypassImageVisibleStatus(bool check)
{
this.ParentForm.ParentForm.IsBypassStart = check;
2023-07-11 01:56:01 +00:00
if (check == true)
{
this.pictureBoxBypass.Visible = true;
}
else
{
this.pictureBoxBypass.Visible = false;
}
}
public void ChangeToSpotCheckImage()
{
Class1 images = new Class1();
this.pictureBoxBypass.Image = new Bitmap(images.GetImage(Class1.ButtonImages.Spot_check_45X25));
}
public void ChangeToBypassImage()
{
Class1 images = new Class1();
this.pictureBoxBypass.Image = new Bitmap(images.GetImage(Class1.ButtonImages.Bypass_45X25));
}
public void UpdateDisplay()
{
int value = 0;
// Icon - 데이터 백업
if (this.ParentForm.ParentForm.SystemConfig1.IsDataBackup == true)
{
this.pictureBoxIconUsbEnable.Visible = true;
this.pictureBoxIconUsbDesable.Visible = false;
}
else
{
this.pictureBoxIconUsbEnable.Visible = false;
this.pictureBoxIconUsbDesable.Visible = true;
}
// 단위
if (this.labelUnit.Text != this.ParentForm.ParentForm.SystemConfig1.Unit)
this.labelUnit.Text = this.ParentForm.ParentForm.SystemConfig1.Unit;
// Icon - Ch1
if (this.ParentForm.ParentForm.SystemConfig1.SerialCOM1Mode == 0)
{
this.pictureBoxCh1Enable.Visible = false;
this.pictureBoxCh1Disable.Visible = true;
}
else
{
this.pictureBoxCh1Enable.Visible = true;
this.pictureBoxCh1Disable.Visible = false;
}
// Icon - Ch2
if (this.ParentForm.ParentForm.SystemConfig1.SerialCOM3Mode == 0)
{
this.pictureBoxCh2Enable.Visible = false;
this.pictureBoxCh2Disable.Visible = true;
}
else
{
this.pictureBoxCh2Enable.Visible = true;
this.pictureBoxCh2Disable.Visible = false;
}
// Icon - Ch3
if (this.ParentForm.ParentForm.SystemConfig1.SerialCOM4Mode == 0)
{
this.pictureBoxCh3Enable.Visible = false;
this.pictureBoxCh3Disable.Visible = true;
}
else
{
this.pictureBoxCh3Enable.Visible = true;
this.pictureBoxCh3Disable.Visible = false;
}
// 옵션보드
try
{
value = int.Parse(this.ParentForm.ParentForm.CurrentSystemParameter1.OptionBoard);
}
catch
{
value = 0;
}
if (value == 2 && int.Parse(this.ParentForm.ParentForm.CurrentSystemParameter2.OPT2Port) != 0) // Dispenser
{
this.pictureBoxDispenserDisable.Visible = false;
this.pictureBoxDispenserEnable.Visible = true;
this.pictureBoxFeedbackDisable.Visible = true;
this.pictureBoxFeedbackEnable.Visible = false;
}
else if (value == 1 && int.Parse(this.ParentForm.ParentForm.CurrentSystemParameter2.OPT1SamplingCount) != 0) // Feedback
{
this.pictureBoxDispenserDisable.Visible = true;
this.pictureBoxDispenserEnable.Visible = false;
this.pictureBoxFeedbackDisable.Visible = false;
this.pictureBoxFeedbackEnable.Visible = true;
}
else
{
this.pictureBoxFeedbackDisable.Visible = true;
this.pictureBoxFeedbackEnable.Visible = false;
this.pictureBoxDispenserDisable.Visible = true;
this.pictureBoxDispenserEnable.Visible = false;
}
// 정지계량
if (this.ParentForm.ParentForm.CurrentSystemParameter1.StopWeighing == "0")
{
this.pictureBoxStopWeighingDisable.Visible = true;
this.pictureBoxStopWeighingEnable.Visible = false;
}
else
{
this.pictureBoxStopWeighingDisable.Visible = false;
this.pictureBoxStopWeighingEnable.Visible = true;
}
// RFID or 바코드
if (this.ParentForm.ParentForm.SystemConfig2.IsRFIDSpeedwayR420 == true)
{
this.pictureBoxRFIDEnable.Visible = true;
this.pictureBoxRFIDDisable.Visible = false;
this.pictureBoxBarcodeEnable.Visible = false;
this.pictureBoxBarcodeDisable.Visible = true;
this.pictureBoxBarcodeQueueCount.Visible = false;
this.pictureBoxRFIDQueueCount.Visible = true;
this.labelBarcodeCount.Visible = true;
}
else if (this.ParentForm.ParentForm.SystemConfig2.Barcode != 0)
{
this.pictureBoxBarcodeEnable.Visible = true;
this.pictureBoxBarcodeDisable.Visible = false;
this.pictureBoxRFIDEnable.Visible = false;
this.pictureBoxRFIDDisable.Visible = true;
this.pictureBoxBarcodeQueueCount.Visible = true;
this.pictureBoxRFIDQueueCount.Visible = false;
this.labelBarcodeCount.Visible = true;
}
else
{
this.pictureBoxRFIDEnable.Visible = false;
this.pictureBoxRFIDDisable.Visible = true;
this.pictureBoxBarcodeEnable.Visible = false;
this.pictureBoxBarcodeDisable.Visible = true;
this.pictureBoxBarcodeQueueCount.Visible = false;
this.pictureBoxRFIDQueueCount.Visible = false;
this.labelBarcodeCount.Visible = false;
}
#region 외부 입력
if (this.ParentForm.ParentForm.CheckSystemParameter1((int)DataStore.ExternalInputMode.IN4_DischargeSorterA) == true
|| this.ParentForm.ParentForm.CheckSystemParameter1((int)DataStore.ExternalInputMode.IN16_DischargeSorterB) == true)
{
this.pictureBoxDischargeDisable.Visible = false;
this.pictureBoxDischargeEnable.Visible = true;
}
else
{
this.pictureBoxDischargeDisable.Visible = true;
this.pictureBoxDischargeEnable.Visible = false;
}
if (this.ParentForm.ParentForm.CheckSystemParameter1((int)DataStore.ExternalInputMode.IN5_Air) == true)
{
this.pictureBoxAirCheckDisable.Visible = false;
this.pictureBoxAirCheckEnable.Visible = true;
}
else
{
this.pictureBoxAirCheckDisable.Visible = true;
this.pictureBoxAirCheckEnable.Visible = false;
}
if (this.ParentForm.ParentForm.CheckSystemParameter1((int)DataStore.ExternalInputMode.IN6_Door) == true)
{
this.pictureBoxDoorCheckDisable.Visible = false;
this.pictureBoxDoorCheckEnable.Visible = true;
}
else
{
this.pictureBoxDoorCheckDisable.Visible = true;
this.pictureBoxDoorCheckEnable.Visible = false;
}
if (this.ParentForm.ParentForm.CheckSystemParameter1((int)DataStore.ExternalInputMode.IN7_Stopper) == true)
{
this.pictureBoxEntryStopperDisable.Visible = false;
this.pictureBoxEntryStopperEnable.Visible = true;
}
else
{
this.pictureBoxEntryStopperDisable.Visible = true;
this.pictureBoxEntryStopperEnable.Visible = false;
}
if (this.ParentForm.ParentForm.CheckSystemParameter1((int)DataStore.ExternalInputMode.IN8_Windproof) == true)
{
this.pictureBoxWindProofDisable.Visible = false;
this.pictureBoxWindProofEnable.Visible = true;
}
else
{
this.pictureBoxWindProofDisable.Visible = true;
this.pictureBoxWindProofEnable.Visible = false;
}
if (this.ParentForm.ParentForm.CheckSystemParameter1((int)DataStore.ExternalInputMode.IN9_ExternalOperation) == true)
{
this.pictureBoxIconExternalOperationDisable.Visible = false;
this.pictureBoxIconExternalOperationEnable.Visible = true;
}
else
{
this.pictureBoxIconExternalOperationDisable.Visible = true;
this.pictureBoxIconExternalOperationEnable.Visible = false;
}
#endregion
// 이더넷
if (this.ParentForm.ParentForm.SystemConfig2.IsEthernetEnable == true)
{
this.pictureBoxEthernetDisable.Visible = false;
if (this.ParentForm.ParentForm.SystemConfig2.EthernetOperationMode == 1)
{
if (this.ParentForm.ParentForm.smartTCPMultiServer.ClientInfoList.Length != 0)
{
this.pictureBoxEthernetDisconnection.Visible = false;
this.pictureBoxEthernetConnection.Visible = true;
}
else
{
this.pictureBoxEthernetDisconnection.Visible = true;
this.pictureBoxEthernetConnection.Visible = false;
}
}
else if (this.ParentForm.ParentForm.SystemConfig2.EthernetOperationMode == 2)
{
if (this.ParentForm.ParentForm.IsEthernetThreadStart == true)
{
this.pictureBoxEthernetDisconnection.Visible = false;
this.pictureBoxEthernetConnection.Visible = true;
}
else
{
this.pictureBoxEthernetDisconnection.Visible = true;
this.pictureBoxEthernetConnection.Visible = false;
}
}
2023-07-11 01:56:01 +00:00
}
else
{
this.pictureBoxEthernetDisable.Visible = true;
this.pictureBoxEthernetDisconnection.Visible = false;
this.pictureBoxEthernetConnection.Visible = false;
}
// Alarm
if ((this.ParentForm.ParentForm.SystemConfig2.CountingOutput1Mode != 0 && this.ParentForm.ParentForm.SystemConfig2.CountingOutput1Number != 0)
|| (this.ParentForm.ParentForm.SystemConfig2.CountingOutput2Mode != 0 && this.ParentForm.ParentForm.SystemConfig2.CountingOutput2Number != 0))
{
this.pictureBoxCountingOutputDisable.Visible = false;
this.pictureBoxCountingOutputEnable.Visible = true;
this.pictureBoxCountingOutputCount.Visible = true;
}
else
{
this.pictureBoxCountingOutputDisable.Visible = true;
this.pictureBoxCountingOutputEnable.Visible = false;
this.pictureBoxCountingOutputCount.Visible = false;
}
// 랜덤모드
if (this.ParentForm.ParentForm.SystemConfig2.IsUsingRandomMode == true)
{
this.pictureBoxRandomModeDisable.Visible = false;
this.pictureBoxRandomModeEnable.Visible = true;
}
else
{
this.pictureBoxRandomModeDisable.Visible = true;
this.pictureBoxRandomModeEnable.Visible = false;
}
if (this.ParentForm.ParentForm.SystemConfig2.CountingOutput1Mode != 0 && this.ParentForm.ParentForm.SystemConfig2.CountingOutput1Number != 0)
this.labelCountingOutput1.Visible = true;
else
this.labelCountingOutput1.Visible = false;
if (this.ParentForm.ParentForm.SystemConfig2.CountingOutput2Mode != 0 && this.ParentForm.ParentForm.SystemConfig2.CountingOutput2Number != 0)
this.labelCountingOutput2.Visible = true;
else
this.labelCountingOutput2.Visible = false;
// 기준치 갱신
if (this.ParentForm.ParentForm.SystemConfig1.IsAverageTracking == true)
{
this.pictureBoxAverageTrackingDisable.Visible = false;
this.pictureBoxAverageTrackingEnable.Visible = true;
}
else
{
this.pictureBoxAverageTrackingDisable.Visible = true;
this.pictureBoxAverageTrackingEnable.Visible = false;
}
}
public void UpdateDisplayAlarmView(WeightData data)
{
// 압력 센서 에러
if (data.IsPressureSensingError == true)
this.pictureBoxIconAir.Visible = true;
else
this.pictureBoxIconAir.Visible = false;
}
public void UpdateDisplayAlarmView(AlarmList alarm)
{
// 압력 센서 에러
if (alarm.IsPressureSensingError == true)
this.pictureBoxIconAir.Visible = true;
else
this.pictureBoxIconAir.Visible = false;
}
public void UpdateEquipmentStatusDisplay(DataStore.EquipmentStatus status)
{
if (status == DataStore.EquipmentStatus.Start)
{
this.labelWeight.Text = Helper.StringToDecimalPlaces("0", this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces);
}
else
{
this.pictureBoxIconGap.Visible = false;
this.pictureBoxIconMetal.Visible = false;
this.pictureBoxIconExNG1.Visible = false;
this.pictureBoxIconExNG2.Visible = false;
this.pictureBoxIconLengthError.Visible = false;
}
}
public void UpdateCurrentProductDisplay(DataStore.EquipmentStatus status, ProductItem pItem, WeightData wData)
{
this.SetIconNET(pItem);
}
public void UpdateStopWeightDisplay(DataStore.EquipmentStatus status, WeightData data)
{
string value = "";
if (status == DataStore.EquipmentStatus.Stop)
{
// 중량
if (data.Weight == this.ParentForm.ParentForm.OverloadWeight)
value = "O.L ";
else
value = Helper.DoubleToString(data.Weight, this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces);
if (this.labelWeight.Text != value)
this.labelWeight.Text = value;
}
// 영점 표시
if (data.Status == DataStore.WeightStatus.WeightZero)
this.pictureBoxIconZero.Visible = true;
else
this.pictureBoxIconZero.Visible = false;
}
public void UpdateStartWeightDisplay(DataStore.EquipmentStatus status, WeightData data)
{
string value = "";
if (data.JudgmentStatus == DataStore.JudgmentStatus.Empty)
return;
// 영점 표시
if (data.Status == DataStore.WeightStatus.WeightZero)
this.pictureBoxIconZero.Visible = true;
else
this.pictureBoxIconZero.Visible = false;
// 중량
if (data.Weight == this.ParentForm.ParentForm.OverloadWeight)
value = "O.L ";
else
value = Helper.DoubleToString(data.Weight, this.ParentForm.ParentForm.SystemConfig1.DecimalPlaces);
if (this.labelWeight.Text != value)
this.labelWeight.Text = value;
// GAP 아이콘 표시
if (data.JudgmentStatus == DataStore.JudgmentStatus.Double)
{
if (this.pictureBoxIconGap.Visible != true)
this.pictureBoxIconGap.Visible = true;
}
else
this.pictureBoxIconGap.Visible = false;
// Metal 아이콘 표시
if (data.JudgmentStatus == DataStore.JudgmentStatus.Metal)
{
if (this.pictureBoxIconMetal.Visible != true)
this.pictureBoxIconMetal.Visible = true;
}
else
this.pictureBoxIconMetal.Visible = false;
// ExNG1 아이콘 표시
if (data.JudgmentStatus == DataStore.JudgmentStatus.ExNg1)
{
if (this.pictureBoxIconExNG1.Visible != true)
this.pictureBoxIconExNG1.Visible = true;
}
else
this.pictureBoxIconExNG1.Visible = false;
// ExNG2 아이콘 표시
if (data.JudgmentStatus == DataStore.JudgmentStatus.ExNg2)
{
if (this.pictureBoxIconExNG2.Visible != true)
this.pictureBoxIconExNG2.Visible = true;
}
else
this.pictureBoxIconExNG2.Visible = false;
// LengthError 아이콘 표시
if (data.JudgmentStatus == DataStore.JudgmentStatus.LengthError)
{
if (this.pictureBoxIconLengthError.Visible != true)
this.pictureBoxIconLengthError.Visible = true;
}
else
this.pictureBoxIconLengthError.Visible = false;
}
public void UpdateBarcodeDisplay(Barcode barcode)
{
int value = 0;
value = barcode.GetQueueCount;
if (this.labelBarcodeCount.Text != value.ToString())
this.labelBarcodeCount.Text = value.ToString();
}
public void UpdateRFIDDisplay(RFID_Impinj_Speedway_R420 rfid)
{
int value = 0;
value = rfid.Count();
if (this.labelBarcodeCount.Text != value.ToString())
this.labelBarcodeCount.Text = value.ToString();
}
public void UpdateEthernetStatusDisplay(bool status)
{
if (status == true)
{
this.pictureBoxEthernetConnection.Visible = true;
this.pictureBoxEthernetDisconnection.Visible = false;
}
else
{
this.pictureBoxEthernetConnection.Visible = false;
this.pictureBoxEthernetDisconnection.Visible = true;
}
}
public void UpdateAlarmLabelDisplay(int alarm1Count, int alarm2Count)
{
this.labelCountingOutput1.Text = alarm1Count.ToString();
this.labelCountingOutput2.Text = alarm2Count.ToString();
}
public void DisplayRefresh(SystemStatus status)
{
// 아이콘, 단위 등 화면 갱신
this.UpdateDisplay();
}
#endregion
#region Event Handler
private void labelCountingOutput1_Click(object sender, EventArgs e)
{
DialogFormYesNo myDlg = new DialogFormYesNo(this.ParentForm.ParentForm.SystemConfig1.Language, 20);
if (myDlg.ShowDialog() == DialogResult.Yes)
{
this.ParentForm.ParentForm.ClearAlarm(1);
}
}
private void labelCountingOutput2_Click(object sender, EventArgs e)
{
DialogFormYesNo myDlg = new DialogFormYesNo(this.ParentForm.ParentForm.SystemConfig1.Language, 20);
if (myDlg.ShowDialog() == DialogResult.Yes)
{
this.ParentForm.ParentForm.ClearAlarm(2);
}
}
private void labelBarcodeCount_Click(object sender, EventArgs e)
{
if (this.ParentForm.ParentForm.SystemConfig2.Barcode != 0)
{
this.ParentForm.ParentForm.CurrentBarcode.Clear();
this.UpdateBarcodeDisplay(this.ParentForm.ParentForm.CurrentBarcode);
}
else if (this.ParentForm.ParentForm.SystemConfig2.IsRFIDSpeedwayR420 == true)
{
this.ParentForm.ParentForm.CurrentRFID.Clear();
this.UpdateRFIDDisplay(this.ParentForm.ParentForm.CurrentRFID);
}
}
#endregion
}
}