ITC81DB_V8/ITC81DB/Controls/CenterSystem/ControlCenterSystemIOTest.cs

446 lines
18 KiB
C#
Raw Normal View History

2023-07-11 01:56:01 +00:00
using System;
using System.Linq;
using System.Collections.ObjectModel;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
using SmartX;
using ITC81DB.Forms;
using ITC81DB.DialogForms;
using ITC81DB_ImageDll;
namespace ITC81DB.Controls
{
public partial class ControlCenterSystemIOTest : UserControl
{
#region Field
private FormMenu m_ParentForm;
private Color ColorIOStatusOn;
private Color ColorIOStatusOff;
private Collection<Label> CollectionInputLabel;
private Collection<SmartLabel> CollectionInputLabelName;
private Collection<SmartButton> CollectionOutputButton;
#endregion
#region Constructor
public ControlCenterSystemIOTest(FormMenu parent)
{
InitializeComponent();
this.ParentForm = parent;
this.DefaultSetting();
this.InitializeDesign();
}
#endregion
#region Property
public FormMenu ParentForm
{
get { return this.m_ParentForm; }
private set { this.m_ParentForm = value; }
}
#endregion
#region Method
public void InitializeDesign()
{
Class1 images = new Class1();
if (this.ParentForm.ParentForm.SystemConfig1.Language == DataStore.LanguageID.English)
{
this.groupBoxOutput.Text = "Output";
this.groupBoxInput.Text = "Input";
this.buttonOutput1.Text = "Buzzer";
this.buttonOutput2.Text = "GRN Lamp";
this.buttonOutput3.Text = "RED Lamp";
this.buttonOutput4.Text = "YEL Lamp";
this.buttonOutput5.Text = "OPT";
this.buttonOutput6.Text = "SORT A";
this.buttonOutput7.Text = "SORT B";
this.buttonOutput8.Text = "Motor";
this.buttonOutput9.Text = "DRY 1";
this.buttonOutput10.Text = "DRY 2";
this.buttonOutput11.Text = "DRY 3";
this.buttonOutput12.Text = "DRY 4";
this.buttonOutput13.Text = "DRY 5";
this.buttonOutput14.Text = "DRY 6";
this.buttonOutput15.Text = "DRY 7";
this.buttonOutput16.Text = "DRY 8";
this.labelInputName1.Text = "PI8";
this.labelInputName2.Text = "PI7";
this.labelInputName3.Text = "PI6";
this.labelInputName4.Text = "PI5";
this.labelInputName5.Text = "PI4";
this.labelInputName6.Text = "PI3";
this.labelInputName7.Text = "PhotoB";
this.labelInputName8.Text = "PhotoA";
}
else if (this.ParentForm.ParentForm.SystemConfig1.Language == DataStore.LanguageID.Chinese)
{
this.groupBoxOutput.Text = "输出";
this.groupBoxInput.Text = "输入";
this.buttonOutput1.Text = "蜂鸣器";
this.buttonOutput2.Text = "绿灯";
this.buttonOutput3.Text = "红灯";
this.buttonOutput4.Text = "黄灯";
this.buttonOutput5.Text = "OPT";
this.buttonOutput6.Text = "分类机A";
this.buttonOutput7.Text = "分类机B";
this.buttonOutput8.Text = "马达";
this.buttonOutput9.Text = "无电压1";
this.buttonOutput10.Text = "无电压2";
this.buttonOutput11.Text = "无电压3";
this.buttonOutput12.Text = "无电压4";
this.buttonOutput13.Text = "无电压5";
this.buttonOutput14.Text = "无电压6";
this.buttonOutput15.Text = "无电压7";
this.buttonOutput16.Text = "无电压8";
this.labelInputName1.Text = "PI8";
this.labelInputName2.Text = "PI7";
this.labelInputName3.Text = "PI6";
this.labelInputName4.Text = "PI5";
this.labelInputName5.Text = "PI4";
this.labelInputName6.Text = "PI3";
this.labelInputName7.Text = "PhotoB";
this.labelInputName8.Text = "PhotoA";
}
else if (this.ParentForm.ParentForm.SystemConfig1.Language == DataStore.LanguageID.Czech)
{
}
else if (this.ParentForm.ParentForm.SystemConfig1.Language == DataStore.LanguageID.Russian)
{
this.groupBoxOutput.Text = "Выход";
this.groupBoxInput.Text = "Вход";
this.buttonOutput1.Text = "Сигнал";
this.buttonOutput2.Text = "Зеленая";
this.buttonOutput3.Text = "Красная";
this.buttonOutput4.Text = "Желтая";
this.buttonOutput5.Text = "[OPT]";
this.buttonOutput6.Text = "[SORT A]";
this.buttonOutput7.Text = "[SORT B]";
this.buttonOutput8.Text = "[Motor]";
this.buttonOutput9.Text = "[DRY 1]";
this.buttonOutput10.Text = "[DRT 2]";
this.buttonOutput11.Text = "[DRY 3]";
this.buttonOutput12.Text = "[DRY 4]";
this.buttonOutput13.Text = "[DRY 5]";
this.buttonOutput14.Text = "[DRY 6]";
this.buttonOutput15.Text = "[DRY 7]";
this.buttonOutput16.Text = "[DRY 8]";
this.labelInputName1.Text = "[PI8]";
this.labelInputName2.Text = "[PI7]";
this.labelInputName3.Text = "[PI6]";
this.labelInputName4.Text = "[PI5]";
this.labelInputName5.Text = "[PI4]";
this.labelInputName6.Text = "[PI3]";
this.labelInputName7.Text = "[PhotoB]";
this.labelInputName8.Text = "[PhotoA]";
}
else if (this.ParentForm.ParentForm.SystemConfig1.Language == DataStore.LanguageID.German)
{
this.groupBoxOutput.Text = "Ausgabe";
this.groupBoxInput.Text = "Eingang";
this.buttonOutput1.Text = "Summer";
this.buttonOutput2.Text = "Grüne-Amp";
this.buttonOutput3.Text = "Rote-Amp";
this.buttonOutput4.Text = "Gelb-Amp";
this.buttonOutput5.Text = "Möglichkeit";
this.buttonOutput6.Text = "SORT-A";
this.buttonOutput7.Text = "SORT-B";
this.buttonOutput8.Text = "Motor";
this.buttonOutput9.Text = "Lauf 1";
this.buttonOutput10.Text = "Lauf 2";
this.buttonOutput11.Text = "Lauf 3";
this.buttonOutput12.Text = "Lauf 4";
this.buttonOutput13.Text = "Lauf 5";
this.buttonOutput14.Text = "Lauf 6";
this.buttonOutput15.Text = "Lauf 7";
this.buttonOutput16.Text = "Lauf 8";
this.labelInputName1.Text = "PI8";
this.labelInputName2.Text = "PI7";
this.labelInputName3.Text = "PI6";
this.labelInputName4.Text = "PI5";
this.labelInputName5.Text = "PI4";
this.labelInputName6.Text = "PI3";
this.labelInputName7.Text = "PhotoB";
this.labelInputName8.Text = "PhotoA";
}
else if (this.ParentForm.ParentForm.SystemConfig1.Language == DataStore.LanguageID.Spanish)
{
this.groupBoxOutput.Text = "Producción";
this.groupBoxInput.Text = "Aporte";
this.buttonOutput1.Text = "Zumbador";
this.buttonOutput2.Text = "Lámpara verde";
this.buttonOutput3.Text = "Lámpara roja";
this.buttonOutput4.Text = "Lámpara amarilla";
this.buttonOutput5.Text = "Opción";
this.buttonOutput6.Text = "Clasificador A";
this.buttonOutput7.Text = "Clasificador B";
this.buttonOutput8.Text = "Motor";
this.buttonOutput9.Text = "Seco 1";
this.buttonOutput10.Text = "Seco 2";
this.buttonOutput11.Text = "Seco 3";
this.buttonOutput12.Text = "Seco 4";
this.buttonOutput13.Text = "Seco 5";
this.buttonOutput14.Text = "Seco 6";
this.buttonOutput15.Text = "Seco 7";
this.buttonOutput16.Text = "Seco 8";
this.labelInputName1.Text = "PI8";
this.labelInputName2.Text = "PI7";
this.labelInputName3.Text = "PI6";
this.labelInputName4.Text = "PI5";
this.labelInputName5.Text = "PI4";
this.labelInputName6.Text = "PI3";
this.labelInputName7.Text = "PhotoB";
this.labelInputName8.Text = "PhotoA";
}
else
{
this.groupBoxOutput.Text = "Output";
this.groupBoxInput.Text = "Input";
this.buttonOutput1.Text = "Buzzer";
this.buttonOutput2.Text = "GRN Lamp";
this.buttonOutput3.Text = "RED Lamp";
this.buttonOutput4.Text = "YEL Lamp";
this.buttonOutput5.Text = "OPT";
this.buttonOutput6.Text = "SORT A";
this.buttonOutput7.Text = "SORT B";
this.buttonOutput8.Text = "Motor";
this.buttonOutput9.Text = "DRY 1";
this.buttonOutput10.Text = "DRT 2";
this.buttonOutput11.Text = "DRY 3";
this.buttonOutput12.Text = "DRY 4";
this.buttonOutput13.Text = "DRY 5";
this.buttonOutput14.Text = "DRY 6";
this.buttonOutput15.Text = "DRY 7";
this.buttonOutput16.Text = "DRY 8";
this.labelInputName1.Text = "PI8";
this.labelInputName2.Text = "PI7";
this.labelInputName3.Text = "PI6";
this.labelInputName4.Text = "PI5";
this.labelInputName5.Text = "PI4";
this.labelInputName6.Text = "PI3";
this.labelInputName7.Text = "PhotoB";
this.labelInputName8.Text = "PhotoA";
}
}
private void DefaultSetting()
{
this.ColorIOStatusOn = Color.Lime;
this.ColorIOStatusOff = Color.Gray;
this.CollectionInputLabel = new Collection<Label>();
this.CollectionInputLabel.Clear();
this.CollectionInputLabel.Add(this.labelInput1);
this.CollectionInputLabel.Add(this.labelInput2);
this.CollectionInputLabel.Add(this.labelInput3);
this.CollectionInputLabel.Add(this.labelInput4);
this.CollectionInputLabel.Add(this.labelInput5);
this.CollectionInputLabel.Add(this.labelInput6);
this.CollectionInputLabel.Add(this.labelInput7);
this.CollectionInputLabel.Add(this.labelInput8);
this.CollectionInputLabelName = new Collection<SmartLabel>();
this.CollectionInputLabelName.Clear();
this.CollectionInputLabelName.Add(this.labelInputName1);
this.CollectionInputLabelName.Add(this.labelInputName2);
this.CollectionInputLabelName.Add(this.labelInputName3);
this.CollectionInputLabelName.Add(this.labelInputName4);
this.CollectionInputLabelName.Add(this.labelInputName5);
this.CollectionInputLabelName.Add(this.labelInputName6);
this.CollectionInputLabelName.Add(this.labelInputName7);
this.CollectionInputLabelName.Add(this.labelInputName8);
this.CollectionOutputButton = new Collection<SmartButton>();
this.CollectionOutputButton.Clear();
this.CollectionOutputButton.Add(this.buttonOutput1);
this.CollectionOutputButton.Add(this.buttonOutput2);
this.CollectionOutputButton.Add(this.buttonOutput3);
this.CollectionOutputButton.Add(this.buttonOutput4);
this.CollectionOutputButton.Add(this.buttonOutput5);
this.CollectionOutputButton.Add(this.buttonOutput6);
this.CollectionOutputButton.Add(this.buttonOutput7);
this.CollectionOutputButton.Add(this.buttonOutput8);
this.CollectionOutputButton.Add(this.buttonOutput9);
this.CollectionOutputButton.Add(this.buttonOutput10);
this.CollectionOutputButton.Add(this.buttonOutput11);
this.CollectionOutputButton.Add(this.buttonOutput12);
this.CollectionOutputButton.Add(this.buttonOutput13);
this.CollectionOutputButton.Add(this.buttonOutput14);
this.CollectionOutputButton.Add(this.buttonOutput15);
this.CollectionOutputButton.Add(this.buttonOutput16);
for (int i = 0; i < this.CollectionInputLabelName.Count; i++)
{
this.CollectionInputLabelName[i].Text = string.Format("IN{0}", i + 1);
this.CollectionOutputButton[i].Text = string.Format("OUT{0}", i + 1);
}
this.DrawInitialize();
}
public void UpdateEquipmentStatusDisplay(DataStore.EquipmentStatus status)
{
if (status == DataStore.EquipmentStatus.Start)
{
this.groupBoxOutput.Enabled = false;
foreach (System.Windows.Forms.Label label in this.CollectionInputLabel)
label.Visible = false;
}
else
{
this.groupBoxOutput.Enabled = true;
foreach (System.Windows.Forms.Label label in this.CollectionInputLabel)
label.Visible = true;
}
}
private void DrawInitialize()
{
Class1 images = new Class1();
int channel = 8;
Bitmap backImage = new Bitmap(images.GetImage(Class1.ButtonImages.BackgroundIOTestGraph));
this.smartDraw.BackDraw.ImageDraw(backImage, 0, 0);
SmartX.SmartDraw.CHARTREFRESH charRefreshType = SmartX.SmartDraw.CHARTREFRESH.LEFTSCROLL;
SmartX.SmartDraw.CHARTPENSTYLE[] charPenStyle;
charPenStyle = new SmartX.SmartDraw.CHARTPENSTYLE[channel];
for (int i = 0; i < channel; i++)
{
charPenStyle[i].m_iPenWidth = 1;
charPenStyle[i].m_chColor = Color.Yellow;
}
this.smartDraw.SetChartCfg(10, 297, 500, 298, 1, charRefreshType, 8);
this.smartDraw.ChartChannelPenStyle = charPenStyle;
this.smartDraw.ChartDrawStep = 1;
}
public void UpdateGraphDataDisplay(Collection<string> values)
{
string sValue = "";
int[] array = new int[8];
int height = 37;
int temp = 0;
this.smartDraw.PutDataAllClear();
try
{
for (int i = 0; i < values.Count; i++)
{
for (int j = 0; j < 8; j++)
{
if (int.Parse(values[i].Substring(j, 1)) == 1)
temp = 0;
else
temp = 1;
array[j] = temp * 27 + height * j;
}
//array[j] = reference - int.Parse(values[i].Substring(j, 1)) * 27 - height * j;
this.smartDraw.PutData(array[7], array[6], array[5], array[4], array[3], array[2], array[1], array[0]);
}
}
catch
{
DialogFormMessage msg = new DialogFormMessage(6, this.ParentForm.ParentForm.SystemConfig1.Language);
msg.ShowDialog();
return;
}
}
private void SetlabelOnOff(Label control, bool isOn)
{
if (isOn == true)
{
if (control.BackColor != this.ColorIOStatusOn)
control.BackColor = this.ColorIOStatusOn;
}
else
{
if (control.BackColor != this.ColorIOStatusOff)
control.BackColor = this.ColorIOStatusOff;
}
}
public void UpdateInputRead(Collection<string> values)
{
if (values.Count == 0 || values == null)
return;
for (int i = 0; i < values.Count; i++)
this.SetlabelOnOff(this.CollectionInputLabel[i], values[i] == "1" ? true : false);
}
public void DisplayRefresh(SystemStatus status)
{
this.ParentForm.ParentForm.CurrentSystemStatus.CurrentDisplay = DataStore.DisplayStore.SystemIOTest;
this.ParentForm.ParentForm.SetDisplayMode(DataStore.DisplayMode.IOTest);
this.ParentForm.DisplayTitleRoot(this.ParentForm.ParentForm.CurrentSystemStatus);
this.smartDraw.PutDataAllClear();
foreach (SmartButton button in this.CollectionOutputButton)
button.ButtonUp();
}
#endregion
#region Event Handler
private void buttonInputRead_Click(object sender, EventArgs e)
{
if (this.buttonInputRead.ButtonStatus == SmartButton.BUTSTATUS.DOWN)
this.timer.Enabled = true;
else
this.timer.Enabled = false;
}
private void buttonOutput_Click(object sender, EventArgs e)
{
SmartButton button = sender as SmartButton;
if (button == null)
return;
if (button.ButtonStatus == SmartButton.BUTSTATUS.DOWN)
{
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.IOTest, CommunicationID.MainBoard, Helper.StringZeroFillDigits4(button.Tag.ToString()),
Helper.StringZeroFillDigits4("1"));
}
else
{
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.IOTest, CommunicationID.MainBoard, Helper.StringZeroFillDigits4(button.Tag.ToString()),
Helper.StringZeroFillDigits4("0"));
}
}
private void timer_Tick(object sender, EventArgs e)
{
this.ParentForm.ParentForm.TransferDataStream(CommunicationCommand.Read, CommunicationID.MainBoard, CommunicationAddress.InputAll, "");
}
#endregion
}
}