choieigun 1ec5b0750f [Add Func] RMS Parameter
- Ring Power >> SystemParameter OPTION

[Bug Fix] RingPower Ramping
- Delete Ramping Param3
2026-02-27 22:04:23 +09:00

928 lines
37 KiB
C#

using Aurora;
using Aurora.Util.HislogPlus;
using CoreUnit.Common;
using CoreUnit.Control.UserControl.Canvas;
using CoreUnit.Scanner.UserControl.ScannerCanvas;
using System;
using System.Collections.Generic;
using System.IO;
using System.Reflection;
using System.Reflection.Emit;
using System.Windows.Forms;
using System.Xml;
using static CoreUnit.Common.UtilUnit;
namespace CoreUnit.Scanner.UserControl.Canvas.Dialog
{
public partial class WeldingParamDlg : FormBase
{
private eMachineName _MachineName;
public WeldingParamDlg(eMachineName MachineName, int scannergParamNo, bool editMode = true)
{
_MachineName = MachineName;
InitializeComponent();
if (scannergParamNo <= 0) {
m_selectedIndex = 1;
} else {
m_selectedIndex = scannergParamNo;
}
m_scannerParams.Clear();
foreach (ScannerParam originalParam in ScannerCanvasUserCtrl.ScannerParams) {
ScannerParam copyParam = originalParam.Clone();
m_scannerParams.Add(copyParam);
}
cbWobbelShape.Items.Clear();
cbWobbelShape.DataSource = Enum.GetValues(typeof(ScannerParam.eWobbelShape));
ScannerParamToDialog(m_selectedIndex);
InitializeDialog(m_selectedIndex, editMode);
}
private void InitializeDialog(int selectedIndex, bool editMode)
{
btnPasteParam.Enabled = false;
//Welding Parameter 콤보 박스 초기화
cbParamExt.Enabled = false;
cbParamExt.Items.Clear();
//Paramter 17~128개
for (int i = 17; i <= 128; i++) {
cbParamExt.Items.Add(i);
}
if (editMode) {
gbLaser.Enabled = true;
gbRamping.Enabled = true;
gbScanner.Enabled = true;
gbWobbel.Enabled = true;
btnCopyParam.Enabled = true;
btnImport.Enabled = true;
btnImportAll.Enabled = true;
btnExport.Enabled = true;
btnExportAll.Enabled = true;
btnOk.Enabled = true;
btnCancel.Enabled = true;
} else {
gbLaser.Enabled = false;
gbRamping.Enabled = false;
gbScanner.Enabled = false;
gbWobbel.Enabled = false;
btnCopyParam.Enabled = false;
btnImport.Enabled = false;
btnImportAll.Enabled = false;
btnExport.Enabled = false;
btnExportAll.Enabled = false;
btnOk.Enabled = false;
btnCancel.Enabled = true;
}
if(_MachineName == eMachineName.H52A_CCW || _MachineName == eMachineName.H52A_ACW || _MachineName == eMachineName.CIT) {
label58.Text = "(0~4000)";
label31.Text = "(0~4000)";
label32.Text = "(0~10000)";
label17.Text = "(1~8000)";
label22.Enabled = false;
tbLaserPower2.Enabled = false;
label29.Enabled = false;
label31.Enabled = false;
// Ramping Start, End 구분 후 사용한다. Power 2번은 여전히 막아둠
//label68.Enabled = false;
//label69.Enabled = false;
//label71.Enabled = false;
//label72.Enabled = false;
//label73.Enabled = false;
//label70.Enabled = false;
nudRampingStartPower2.Enabled = false;
nudRampingEndPower2.Enabled = false;
#region Permission Checking
// Engineer 이상 등급만 사용 가능
bool PermissionCheck = ApplicationExt.PermissionLevel <= (ushort)Aurora.Api.PermissionLevel.LEVEL3;
label15.Enabled = PermissionCheck;
label14.Enabled = PermissionCheck;
label13.Enabled = PermissionCheck;
label12.Enabled = PermissionCheck;
label11.Enabled = PermissionCheck;
label10.Enabled = PermissionCheck;
label57.Enabled = PermissionCheck;
label63.Enabled = PermissionCheck;
label46.Enabled = PermissionCheck;
label36.Enabled = PermissionCheck;
label45.Enabled = PermissionCheck;
label41.Enabled = PermissionCheck;
nudRampingStartDist.Enabled = PermissionCheck;
tbMarkDelay.Enabled = PermissionCheck;
label62.Enabled = PermissionCheck;
//label22.Enabled = PermissionCheck;
//tbLaserPower2.Enabled = PermissionCheck;
//label29.Enabled = PermissionCheck;
//label31.Enabled = PermissionCheck;
label16.Enabled = PermissionCheck;
label17.Enabled = PermissionCheck;
label18.Enabled = PermissionCheck;
label23.Enabled = PermissionCheck;
label24.Enabled = PermissionCheck;
label25.Enabled = PermissionCheck;
label58.Enabled = PermissionCheck;
label42.Enabled = PermissionCheck;
label35.Enabled = PermissionCheck;
label34.Enabled = PermissionCheck;
label51.Enabled = PermissionCheck;
nudRampingEndDist.Enabled = PermissionCheck;
tbDrawSpeed.Enabled = PermissionCheck;
tbJumpSpeed.Enabled = PermissionCheck;
tbLaserOnDelay.Enabled = PermissionCheck;
tbLaserOffDelay.Enabled = PermissionCheck;
tbJumpDelay.Enabled = PermissionCheck;
tbPolygonDelay.Enabled = PermissionCheck;
tbLaserPower1.Enabled = PermissionCheck;
nudRampingStartPower1.Enabled = PermissionCheck;
nudRampingEndPower1.Enabled = PermissionCheck;
nudRampingStartAPower1.Enabled = PermissionCheck;
nudRampingStartAPower2.Enabled = PermissionCheck;
nudRampingStartADist.Enabled = PermissionCheck;
label74.Enabled = PermissionCheck;
label77.Enabled = PermissionCheck;
label76.Enabled = PermissionCheck;
label81.Enabled = PermissionCheck;
label75.Enabled = PermissionCheck;
label80.Enabled = PermissionCheck;
label68.Enabled = PermissionCheck;
label69.Enabled = PermissionCheck;
label71.Enabled = PermissionCheck;
label72.Enabled = PermissionCheck;
//label73.Enabled = PermissionCheck;
//label70.Enabled = PermissionCheck;
label79.Enabled = PermissionCheck;
label65.Enabled = PermissionCheck;
label78.Enabled = PermissionCheck;
nudRampingStartPower2.Visible = false;
nudRampingEndPower2.Visible = false;
#endregion
}
//Welding Paramter 색 지정
//rbParam1.ForeColor = Color.FromName(((WeldingParameterIDEditor.eWeldingColor)1).ToString());
//rbParam2.ForeColor = Color.FromName(((WeldingParameterIDEditor.eWeldingColor)2).ToString());
//rbParam3.ForeColor = Color.FromName(((WeldingParameterIDEditor.eWeldingColor)3).ToString());
foreach (System.Windows.Forms.Control rb in this.gbParameterSet.Controls) {
if (rb is RadioButton) {
string sIndex = rb.Name.Substring(7);
int index = 0;
if (int.TryParse(sIndex, out index)) {
rb.ForeColor = WeldingParameterIDEditor.weldingColorList[index - 1];
}
}
}
switch (selectedIndex) {
case 1:
rbParam1.Checked = true;
break;
case 2:
rbParam2.Checked = true;
break;
case 3:
rbParam3.Checked = true;
break;
case 4:
rbParam4.Checked = true;
break;
case 5:
rbParam5.Checked = true;
break;
case 6:
rbParam6.Checked = true;
break;
case 7:
rbParam7.Checked = true;
break;
case 8:
rbParam8.Checked = true;
break;
case 9:
rbParam9.Checked = true;
break;
case 10:
rbParam10.Checked = true;
break;
case 11:
rbParam11.Checked = true;
break;
case 12:
rbParam12.Checked = true;
break;
case 13:
rbParam13.Checked = true;
break;
case 14:
rbParam14.Checked = true;
break;
case 15:
rbParam15.Checked = true;
break;
case 16:
rbParam16.Checked = true;
break;
default:
rbParamExt.Checked = true;
cbParamExt.Select(selectedIndex - 16, 1);
break;
}
//IME Mode를 Disable로 해서 alt + 조합 단축키로 인한 숫자 이상 입력 못하게 변경
//대신에 한글도 안써짐(오히려 좋음)
IMEDisable();
}
List<ScannerParam> m_scannerParams = new List<ScannerParam>();
ScannerParam m_copyParam = new ScannerParam();
int m_selectedIndex = 0;
private void ScannerParamToDialog(int selectedScannerParamID)
{
ScannerParam selectedParam = m_scannerParams[selectedScannerParamID - 1];
tbDrawSpeed.Text = selectedParam.MarkSpeed.ToString("F3");
tbJumpSpeed.Text = selectedParam.JumpSpeed.ToString("F3");
tbLaserOnDelay.Text = selectedParam.LaserOnDelay.ToString();
tbLaserOffDelay.Text = selectedParam.LaserOffDelay.ToString();
tbJumpDelay.Text = selectedParam.JumpDelay.ToString();
tbMarkDelay.Text = selectedParam.MarkDelay.ToString();
tbPolygonDelay.Text = selectedParam.PolygonDelay.ToString();
tbNumberOfCount.Text = selectedParam.NumberOfCount.ToString();
tbLaserPower1.Text = selectedParam.LaserPower1.ToString();
tbLaserPower2.Text = selectedParam.LaserPower2.ToString();
tbLaserFrequency.Text = selectedParam.LaserFrequency.ToString("F3");
tbLaserDuty.Text = selectedParam.LaserDuty.ToString();
tbLaserPulseDuration.Text = selectedParam.LaserPulseDuration.ToString("F3");
ckbWobbelEnabled.Checked = selectedParam.WobbelEnable;
tbWobbelTransversal.Text = selectedParam.WobbelTransversal.ToString("F3");
tbWobbelLongitudinal.Text = selectedParam.WobbelLongditudinal.ToString("F3");
tbWobbelFrequency.Text = selectedParam.WobbelFrequency.ToString("F3");
if (nudRampingStartAPower1.Maximum < Convert.ToDecimal(selectedParam.RampingStartAPower1))
nudRampingStartAPower1.Value = nudRampingStartAPower1.Maximum;
else if (nudRampingStartAPower1.Minimum > Convert.ToDecimal(selectedParam.RampingStartAPower1))
nudRampingStartAPower1.Value = nudRampingStartAPower1.Minimum;
else
nudRampingStartAPower1.Value = Convert.ToDecimal(selectedParam.RampingStartAPower1);
if (nudRampingStartAPower2.Maximum < Convert.ToDecimal(selectedParam.RampingStartAPower2))
nudRampingStartAPower2.Value = nudRampingStartAPower2.Maximum;
else if (nudRampingStartAPower2.Minimum > Convert.ToDecimal(selectedParam.RampingStartAPower2))
nudRampingStartAPower2.Value = nudRampingStartAPower2.Minimum;
else
nudRampingStartAPower2.Value = Convert.ToDecimal(selectedParam.RampingStartAPower2);
if (nudRampingStartADist.Maximum < Convert.ToDecimal(selectedParam.RampingStartADist))
nudRampingStartADist.Value = nudRampingStartADist.Maximum;
else if (nudRampingStartADist.Minimum > Convert.ToDecimal(selectedParam.RampingStartADist))
nudRampingStartADist.Value = nudRampingStartADist.Minimum;
else
nudRampingStartADist.Value = Convert.ToDecimal(selectedParam.RampingStartADist);
if (nudRampingStartPower1.Maximum < Convert.ToDecimal(selectedParam.RampingStartPower1))
nudRampingStartPower1.Value = nudRampingStartPower1.Maximum;
else if (nudRampingStartPower1.Minimum > Convert.ToDecimal(selectedParam.RampingStartPower1))
nudRampingStartPower1.Value = nudRampingStartPower1.Minimum;
else
nudRampingStartPower1.Value = Convert.ToDecimal(selectedParam.RampingStartPower1);
if (nudRampingStartPower2.Maximum < Convert.ToDecimal(selectedParam.RampingStartPower2))
nudRampingStartPower2.Value = nudRampingStartPower2.Maximum;
else if (nudRampingStartPower2.Minimum > Convert.ToDecimal(selectedParam.RampingStartPower2))
nudRampingStartPower2.Value = nudRampingStartPower2.Minimum;
else
nudRampingStartPower2.Value = Convert.ToDecimal(selectedParam.RampingStartPower2);
if (nudRampingStartDist.Maximum < Convert.ToDecimal(selectedParam.RampingStartDist))
nudRampingStartDist.Value = nudRampingStartDist.Maximum;
else if (nudRampingStartDist.Minimum > Convert.ToDecimal(selectedParam.RampingStartDist))
nudRampingStartDist.Value = nudRampingStartDist.Minimum;
else
nudRampingStartDist.Value = Convert.ToDecimal(selectedParam.RampingStartDist);
if (nudRampingEndPower1.Maximum < Convert.ToDecimal(selectedParam.RampingEndPower1))
nudRampingEndPower1.Value = nudRampingEndPower1.Maximum;
else if (nudRampingEndPower1.Minimum > Convert.ToDecimal(selectedParam.RampingEndPower1))
nudRampingEndPower1.Value = nudRampingEndPower1.Minimum;
else
nudRampingEndPower1.Value = Convert.ToDecimal(selectedParam.RampingEndPower1);
if (nudRampingEndPower2.Maximum < Convert.ToDecimal(selectedParam.RampingEndPower2))
nudRampingEndPower2.Value = nudRampingEndPower2.Maximum;
else if (nudRampingEndPower2.Minimum > Convert.ToDecimal(selectedParam.RampingEndPower2))
nudRampingEndPower2.Value = nudRampingEndPower2.Minimum;
else
nudRampingEndPower2.Value = Convert.ToDecimal(selectedParam.RampingEndPower2);
if (nudRampingEndDist.Maximum < Convert.ToDecimal(selectedParam.RampingEndDist))
nudRampingEndDist.Value = nudRampingEndDist.Maximum;
else if (nudRampingEndDist.Minimum > Convert.ToDecimal(selectedParam.RampingEndDist))
nudRampingEndDist.Value = nudRampingEndDist.Minimum;
else
nudRampingEndDist.Value = Convert.ToDecimal(selectedParam.RampingEndDist);
tbSpotShotTime.Text = selectedParam.SpotShotTime.ToString("F3");
if (nudRampingInterval.Maximum < Convert.ToDecimal(selectedParam.RampingInterval))
nudRampingInterval.Value = nudRampingInterval.Maximum;
else if (nudRampingInterval.Minimum > Convert.ToDecimal(selectedParam.RampingInterval))
nudRampingInterval.Value = nudRampingInterval.Minimum;
else
nudRampingInterval.Value = Convert.ToDecimal(selectedParam.RampingInterval);
ckbSnowManEnabled.Checked = selectedParam.SnowManEnable;
cbWobbelShape.SelectedItem = selectedParam.WobbelShape;
labelColor.BackColor = selectedParam.Color;
ckbZigZagEnabled.Checked = selectedParam.ZigzagWobbelEnable;
//checkBoxStartRampingSlopeMode.Checked = selectedParam.RampingStartSlopeMode;
//checkBoxEndRampingSlopeMode.Checked = selectedParam.RampingEndSlopeMode;
//checkBoxUsePowerProfile.Checked = selectedParam.UsePowerProfile;
//textBoxPowerProfileID.Text = selectedParam.PowerProfileID.ToString();
}
private void DialogToScannerParam(int selectedScannerParamID)
{
try {
ScannerParam selectedParam = m_scannerParams[selectedScannerParamID - 1];
selectedParam.MarkSpeed = Convert.ToDouble(tbDrawSpeed.Text);
selectedParam.JumpSpeed = Convert.ToDouble(tbJumpSpeed.Text);
selectedParam.LaserOnDelay = Convert.ToInt32(tbLaserOnDelay.Text);
selectedParam.LaserOffDelay = Convert.ToUInt32(tbLaserOffDelay.Text);
selectedParam.JumpDelay = Convert.ToUInt32(tbJumpDelay.Text);
selectedParam.MarkDelay = Convert.ToUInt32(tbMarkDelay.Text);
selectedParam.PolygonDelay = Convert.ToUInt32(tbPolygonDelay.Text);
selectedParam.NumberOfCount = Convert.ToUInt32(tbNumberOfCount.Text);
selectedParam.LaserPower1 = Convert.ToUInt32(tbLaserPower1.Text);
selectedParam.LaserPower2 = Convert.ToUInt32(tbLaserPower2.Text);
selectedParam.SpotShotTime = Convert.ToDouble(tbSpotShotTime.Text);
selectedParam.LaserFrequency = Convert.ToDouble(tbLaserFrequency.Text);
selectedParam.LaserDuty = Convert.ToUInt32(tbLaserDuty.Text);
selectedParam.LaserPulseDuration = Convert.ToDouble(tbLaserPulseDuration.Text);
selectedParam.WobbelEnable = ckbWobbelEnabled.Checked;
selectedParam.WobbelFrequency = Convert.ToDouble(tbWobbelFrequency.Text);
selectedParam.WobbelTransversal = Convert.ToDouble(tbWobbelTransversal.Text);
selectedParam.WobbelLongditudinal = Convert.ToDouble(tbWobbelLongitudinal.Text);
selectedParam.RampingStartAPower1 = Convert.ToUInt32(nudRampingStartAPower1.Value);
selectedParam.RampingStartAPower2 = Convert.ToUInt32(nudRampingStartAPower2.Value);
selectedParam.RampingStartADist = (double)nudRampingStartADist.Value;
selectedParam.RampingStartPower1 = Convert.ToUInt32(nudRampingStartPower1.Value);
selectedParam.RampingStartPower2 = Convert.ToUInt32(nudRampingStartPower2.Value);
selectedParam.RampingStartDist = (double)nudRampingStartDist.Value;
selectedParam.RampingEndPower1 = Convert.ToUInt32(nudRampingEndPower1.Value);
selectedParam.RampingEndPower2 = Convert.ToUInt32(nudRampingEndPower2.Value);
selectedParam.RampingEndDist = (double)nudRampingEndDist.Value;
selectedParam.RampingInterval = (double)nudRampingInterval.Value;
selectedParam.SnowManEnable = ckbSnowManEnabled.Checked;
selectedParam.WobbelShape = (ScannerParam.eWobbelShape)cbWobbelShape.SelectedItem;
selectedParam.ZigzagWobbelEnable = ckbZigZagEnabled.Checked;
//selectedParam.RampingEndSlopeMode = checkBoxEndRampingSlopeMode.Checked;
//selectedParam.RampingStartSlopeMode = checkBoxStartRampingSlopeMode.Checked;
//selectedParam.UsePowerProfile = checkBoxUsePowerProfile.Checked;
//selectedParam.PowerProfileID = Convert.ToInt32(textBoxPowerProfileID.Text);
selectedParam.Color = labelColor.BackColor;
} catch {
UtilUnit.logUnit.SetLog(LogUnit.eLogType.ALARM, MethodBase.GetCurrentMethod().Name, "Please Check Value");
}
}
private void rbParam_CheckedChanged(object sender, EventArgs e)
{
RadioButton radioButton = (RadioButton)sender;
if (radioButton.Checked) {
m_selectedIndex = Convert.ToInt16(radioButton.Text.Split(' ')[1]);
ScannerParamToDialog(m_selectedIndex);
}
}
private void rbParamExt_CheckedChanged(object sender, EventArgs e)
{
RadioButton radioButton = (RadioButton)sender;
if (radioButton.Checked) {
cbParamExt.Enabled = true;
} else {
cbParamExt.Enabled = false;
}
}
private void cbParamExt_SelectedIndexChanged(object sender, EventArgs e)
{
m_selectedIndex = cbParamExt.SelectedIndex + 17;
ScannerParamToDialog(m_selectedIndex);
}
private void btnCopyParam_Click(object sender, EventArgs e)
{
btnPasteParam.Enabled = true;
m_copyParam = m_scannerParams[m_selectedIndex - 1].Clone();
}
private void btnPasteParam_Click(object sender, EventArgs e)
{
m_scannerParams[m_selectedIndex - 1] = m_copyParam.Clone();
ScannerParamToDialog(m_selectedIndex);
}
private void btnImport_Click(object sender, EventArgs e)
{
}
private void btnExport_Click(object sender, EventArgs e)
{
try {
SaveFileDialog dlg = new SaveFileDialog();
dlg.DefaultExt = "lsp";
dlg.Filter = "LASA Param 파일 (*.lsp)|*.lsp";
dlg.Title = "LASA Param 파일 저장";
if (dlg.ShowDialog() == DialogResult.OK) {
if (string.Equals(dlg.FileName.Substring(dlg.FileName.LastIndexOf(".")), ".lsp") == false) {
throw new Exception("ERR_MAIN_PAGE_NOT_LASA_TYPE_FILE");
}
SaveParam(dlg.FileName, m_selectedIndex);
}
} catch (Exception ex) {
UtilUnit.logUnit.SetLog(LogUnit.eLogType.ALARM, MethodBase.GetCurrentMethod().Name, ex.Message);
}
}
private void btnImportAll_Click(object sender, EventArgs e)
{
try {
OpenFileDialog dlg = new OpenFileDialog();
dlg.DefaultExt = "lsp";
dlg.Filter = "LASA Param 파일 (*.lsp)|*.lsp";
dlg.Title = "LASA Param 파일 열기";
if (dlg.ShowDialog() == DialogResult.OK) {
if (string.Equals(dlg.FileName.Substring(dlg.FileName.LastIndexOf(".")), ".lsp") == false) {
throw new Exception("ERR_MAIN_PAGE_NOT_LASA_TYPE_FILE");
}
LoadAllParam(dlg.FileName);
}
} catch (Exception ex) {
UtilUnit.logUnit.SetLog(LogUnit.eLogType.ALARM, MethodBase.GetCurrentMethod().Name, ex.Message);
}
}
private void btnExportAll_Click(object sender, EventArgs e)
{
try {
SaveFileDialog dlg = new SaveFileDialog();
dlg.DefaultExt = "lsp";
dlg.Filter = "LASA Param 파일 (*.lsp)|*.lsp";
dlg.Title = "LASA Param 파일 저장";
if (dlg.ShowDialog() == DialogResult.OK) {
if (string.Equals(dlg.FileName.Substring(dlg.FileName.LastIndexOf(".")), ".lsp") == false) {
throw new Exception("ERR_MAIN_PAGE_NOT_LASA_TYPE_FILE");
}
SaveAllParam(dlg.FileName);
}
} catch (Exception ex) {
UtilUnit.logUnit.SetLog(LogUnit.eLogType.ALARM, MethodBase.GetCurrentMethod().Name, ex.Message);
}
}
private void SaveParam(string fileName, int selectedIndex)
{
try {
XmlTextWriter wr = new XmlTextWriter(fileName, null);
wr.Formatting = Formatting.Indented;
wr.WriteStartElement("WeldingParameter");
wr.WriteStartElement("items");
wr.WriteStartElement("Param");
CoreUnit.Common.XmlUtil.WriteProperties(m_scannerParams[selectedIndex - 1], wr);
wr.WriteEndElement();
wr.WriteEndElement();
wr.WriteEndElement();
wr.Close();
} catch (Exception ex) {
throw ex;
}
}
public void SaveAllParam(string fileName)
{
try {
XmlTextWriter wr = new XmlTextWriter(fileName, null);
wr.Formatting = Formatting.Indented;
wr.WriteStartElement("WeldingParameter");
wr.WriteStartElement("items");
foreach (ScannerParam param in m_scannerParams) {
wr.WriteStartElement("Param");
CoreUnit.Common.XmlUtil.WriteProperties(param, wr);
wr.WriteEndElement();
}
wr.WriteEndElement();
wr.WriteEndElement();
wr.Close();
} catch (Exception ex) {
throw ex;
}
}
public void LoadAllParam(string fileName)
{
try {
FileInfo fi = new FileInfo(fileName);
StreamReader sr = new StreamReader(fileName);
XmlDocument doc = new XmlDocument();
doc.Load(sr);
sr.Dispose();
XmlElement root = doc.DocumentElement;
foreach (XmlElement node in root.ChildNodes) {
if (node.Name == "items") {
m_scannerParams.Clear();
foreach (XmlElement childnode in node.ChildNodes) {
Object param = new ScannerParam();
CoreUnit.Common.XmlUtil.ParseProperties(childnode, param);
m_scannerParams.Add((ScannerParam)param);
}
}
}
} catch (Exception ex) {
throw ex;
}
}
private void btnOk_Click(object sender, EventArgs e)
{
DialogToScannerParam(m_selectedIndex);
ScannerCanvasUserCtrl.ScannerParams.Clear();
bool Result = false;
for (int i = 0; i < m_scannerParams.Count; i++) {
Result = m_scannerParams[i].RampingStartDist + m_scannerParams[i].RampingEndDist + m_scannerParams[i].RampingStartADist > 100.0;
if (Result) {
MessageBox.Show($"Parameter Update Fail.. Parameter No : {i+1}");
return;
}
}
foreach (ScannerParam param in m_scannerParams) {
ScannerParam copyParam = param;
ScannerParam orignalParam = copyParam.Clone();
WeldingParameterIDEditor.UpdateColorList(param.No, param.Color);
ScannerCanvasUserCtrl.ScannerParams.Add(orignalParam);
}
this.DialogResult = DialogResult.OK;
this.Close();
}
private void btnCancel_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.Cancel;
this.Close();
}
private void textBoxScannerParam_Leave(object sender, EventArgs e)
{
try {
DialogToScannerParam(m_selectedIndex);
} catch {
MessageBox.Show("숫자 형식이 맞지 않습니다.");
}
}
private void btnOpenSnowManEditor_Click(object sender, EventArgs e)
{
SnowmanEditorDlg snowManEditorDlg = new SnowmanEditorDlg(m_selectedIndex);
if (DialogResult.OK == snowManEditorDlg.ShowDialog()) {
m_scannerParams[m_selectedIndex - 1] = ScannerCanvasUserCtrl.ScannerParams[m_selectedIndex - 1].Clone();
} else {
}
}
private void buttonSelectColor_Click(object sender, EventArgs e)
{
ColorDialog colorDlg = new ColorDialog();
if (colorDlg.ShowDialog() == DialogResult.OK) {
labelColor.BackColor = colorDlg.Color;
WeldingParameterIDEditor.UpdateColorList(m_selectedIndex - 1, colorDlg.Color);
DialogToScannerParam(m_selectedIndex);
switch (m_selectedIndex) {
case 1:
rbParam1.ForeColor = colorDlg.Color;
break;
case 2:
rbParam2.ForeColor = colorDlg.Color;
break;
case 3:
rbParam3.ForeColor = colorDlg.Color;
break;
case 4:
rbParam4.ForeColor = colorDlg.Color;
break;
case 5:
rbParam5.ForeColor = colorDlg.Color;
break;
case 6:
rbParam6.ForeColor = colorDlg.Color;
break;
case 7:
rbParam7.ForeColor = colorDlg.Color;
break;
case 8:
rbParam8.ForeColor = colorDlg.Color;
break;
case 9:
rbParam9.ForeColor = colorDlg.Color;
break;
case 10:
rbParam10.ForeColor = colorDlg.Color;
break;
case 11:
rbParam11.ForeColor = colorDlg.Color;
break;
case 12:
rbParam12.ForeColor = colorDlg.Color;
break;
case 13:
rbParam13.ForeColor = colorDlg.Color;
break;
case 14:
rbParam14.ForeColor = colorDlg.Color;
break;
case 15:
rbParam15.ForeColor = colorDlg.Color;
break;
case 16:
rbParam16.ForeColor = colorDlg.Color;
break;
default:
break;
}
}
}
private void btnOpenZigzagEditor_Click(object sender, EventArgs e)
{
ZigzagEditorDlg zigzagEditorDlg = new ZigzagEditorDlg(m_selectedIndex);
if (DialogResult.OK == zigzagEditorDlg.ShowDialog()) {
m_scannerParams[m_selectedIndex - 1] = ScannerCanvasUserCtrl.ScannerParams[m_selectedIndex - 1].Clone();
} else {
}
}
private void checkBoxStartRampingSlopeMode_CheckedChanged(object sender, EventArgs e)
{
}
private void checkBoxStartRampingSlopeMode_Click(object sender, EventArgs e)
{
try {
DialogToScannerParam(m_selectedIndex);
} catch {
MessageBox.Show("숫자 형식이 맞지 않습니다.");
}
}
private void checkBoxEndRampingSlopeMode_Click(object sender, EventArgs e)
{
try {
DialogToScannerParam(m_selectedIndex);
} catch {
MessageBox.Show("숫자 형식이 맞지 않습니다.");
}
}
private void ckbWobbelEnabled_Click(object sender, EventArgs e)
{
try {
DialogToScannerParam(m_selectedIndex);
} catch {
MessageBox.Show("숫자 형식이 맞지 않습니다.");
}
}
private void ckbSnowManEnabled_Click(object sender, EventArgs e)
{
try {
DialogToScannerParam(m_selectedIndex);
} catch {
MessageBox.Show("숫자 형식이 맞지 않습니다.");
}
}
private void ckbZigZagEnabled_Click(object sender, EventArgs e)
{
try {
DialogToScannerParam(m_selectedIndex);
} catch {
MessageBox.Show("숫자 형식이 맞지 않습니다.");
}
}
private void ckbWobbelEnabled_CheckedChanged(object sender, EventArgs e)
{
if (ckbWobbelEnabled.Checked) {
cbWobbelShape.Enabled = true;
tbWobbelFrequency.Enabled = true;
tbWobbelLongitudinal.Enabled = true;
tbWobbelTransversal.Enabled = true;
} else {
cbWobbelShape.Enabled = false;
tbWobbelFrequency.Enabled = false;
tbWobbelLongitudinal.Enabled = false;
tbWobbelTransversal.Enabled = false;
}
}
private void ckbSnowManEnabled_CheckedChanged(object sender, EventArgs e)
{
if (ckbSnowManEnabled.Checked) {
btnOpenSnowManEditor.Enabled = true;
} else {
btnOpenSnowManEditor.Enabled = false;
}
if (ckbSnowManEnabled.Checked || ckbZigZagEnabled.Checked) {
tbDrawSpeed.Enabled = false;
} else {
tbDrawSpeed.Enabled = true;
}
}
private void ckbZigZagEnabled_CheckedChanged(object sender, EventArgs e)
{
if (ckbZigZagEnabled.Checked) {
btnOpenZigzagEditor.Enabled = true;
} else {
btnOpenZigzagEditor.Enabled = false;
}
if (ckbSnowManEnabled.Checked || ckbZigZagEnabled.Checked) {
tbDrawSpeed.Enabled = false;
} else {
tbDrawSpeed.Enabled = true;
}
}
private void checkBoxUsePowerProfile_CheckedChanged(object sender, EventArgs e)
{
if (checkBoxUsePowerProfile.Checked) {
nudRampingStartDist.Enabled = false;
nudRampingStartPower1.Enabled = false;
nudRampingStartPower2.Enabled = false;
nudRampingEndDist.Enabled = false;
nudRampingEndPower1.Enabled = false;
nudRampingEndPower2.Enabled = false;
nudRampingInterval.Enabled = false;
checkBoxStartRampingSlopeMode.Enabled = false;
checkBoxEndRampingSlopeMode.Enabled = false;
textBoxPowerProfileID.Enabled = true;
} else {
nudRampingStartDist.Enabled = true;
nudRampingStartPower1.Enabled = true;
nudRampingStartPower2.Enabled = true;
nudRampingEndDist.Enabled = true;
nudRampingEndPower1.Enabled = true;
nudRampingEndPower2.Enabled = true;
nudRampingInterval.Enabled = true;
checkBoxStartRampingSlopeMode.Enabled = true;
checkBoxEndRampingSlopeMode.Enabled = true;
textBoxPowerProfileID.Enabled = false;
}
}
private void checkBoxUsePowerProfile_Click(object sender, EventArgs e)
{
try {
DialogToScannerParam(m_selectedIndex);
} catch {
MessageBox.Show("숫자 형식이 맞지 않습니다.");
}
}
private void textBoxPowerProfileID_Leave(object sender, EventArgs e)
{
try {
DialogToScannerParam(m_selectedIndex);
} catch {
MessageBox.Show("숫자 형식이 맞지 않습니다.");
}
}
private void IMEDisable()
{
tbDrawSpeed.ImeMode = ImeMode.Disable;
tbJumpSpeed.ImeMode = ImeMode.Disable;
tbLaserOnDelay.ImeMode = ImeMode.Disable;
tbLaserOffDelay.ImeMode = ImeMode.Disable;
tbJumpDelay.ImeMode = ImeMode.Disable;
tbMarkDelay.ImeMode = ImeMode.Disable;
tbPolygonDelay.ImeMode = ImeMode.Disable;
tbNumberOfCount.ImeMode = ImeMode.Disable;
tbSpotShotTime.ImeMode = ImeMode.Disable;
tbLaserPower1.ImeMode = ImeMode.Disable;
tbLaserPower2.ImeMode = ImeMode.Disable;
tbLaserFrequency.ImeMode = ImeMode.Disable;
tbLaserPulseDuration.ImeMode = ImeMode.Disable;
tbLaserDuty.ImeMode = ImeMode.Disable;
tbWobbelTransversal.ImeMode = ImeMode.Disable;
tbWobbelLongitudinal.ImeMode = ImeMode.Disable;
tbWobbelFrequency.ImeMode = ImeMode.Disable;
nudRampingStartAPower1.ImeMode = ImeMode.Disable;
nudRampingStartAPower2.ImeMode = ImeMode.Disable;
nudRampingStartADist.ImeMode = ImeMode.Disable;
nudRampingStartPower1.ImeMode = ImeMode.Disable;
nudRampingStartPower2.ImeMode = ImeMode.Disable;
nudRampingStartDist.ImeMode = ImeMode.Disable;
nudRampingEndPower1.ImeMode = ImeMode.Disable;
nudRampingEndPower2.ImeMode = ImeMode.Disable;
nudRampingEndDist.ImeMode = ImeMode.Disable;
nudRampingInterval.ImeMode = ImeMode.Disable;
}
}
}