957 lines
39 KiB
C#
957 lines
39 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;
|
|
|
|
nudRampingStartPower3.Enabled = PermissionCheck;
|
|
nudRampingEndPower3.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;
|
|
|
|
nudRampingStartPower3.Visible = true;
|
|
nudRampingEndPower3.Visible = true;
|
|
#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 (nudRampingStartPower3.Maximum < Convert.ToDecimal(selectedParam.RampingStartPower3))
|
|
nudRampingStartPower3.Value = nudRampingStartPower3.Maximum;
|
|
else if (nudRampingStartPower3.Minimum > Convert.ToDecimal(selectedParam.RampingStartPower3))
|
|
nudRampingStartPower3.Value = nudRampingStartPower3.Minimum;
|
|
else
|
|
nudRampingStartPower3.Value = Convert.ToDecimal(selectedParam.RampingStartPower3);
|
|
|
|
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 (nudRampingEndPower3.Maximum < Convert.ToDecimal(selectedParam.RampingEndPower3))
|
|
nudRampingEndPower3.Value = nudRampingEndPower3.Maximum;
|
|
else if (nudRampingEndPower3.Minimum > Convert.ToDecimal(selectedParam.RampingEndPower3))
|
|
nudRampingEndPower3.Value = nudRampingEndPower3.Minimum;
|
|
else
|
|
nudRampingEndPower3.Value = Convert.ToDecimal(selectedParam.RampingEndPower3);
|
|
|
|
|
|
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.RampingStartPower3 = Convert.ToUInt32(nudRampingStartPower3.Value);
|
|
selectedParam.RampingStartDist = (double)nudRampingStartDist.Value;
|
|
selectedParam.RampingEndPower1 = Convert.ToUInt32(nudRampingEndPower1.Value);
|
|
selectedParam.RampingEndPower2 = Convert.ToUInt32(nudRampingEndPower2.Value);
|
|
selectedParam.RampingEndPower3 = Convert.ToUInt32(nudRampingEndPower3.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;
|
|
nudRampingStartPower3.Enabled = false;
|
|
nudRampingEndDist.Enabled = false;
|
|
nudRampingEndPower1.Enabled = false;
|
|
nudRampingEndPower2.Enabled = false;
|
|
nudRampingEndPower3.Enabled = false;
|
|
nudRampingInterval.Enabled = false;
|
|
checkBoxStartRampingSlopeMode.Enabled = false;
|
|
checkBoxEndRampingSlopeMode.Enabled = false;
|
|
textBoxPowerProfileID.Enabled = true;
|
|
} else {
|
|
nudRampingStartDist.Enabled = true;
|
|
nudRampingStartPower1.Enabled = true;
|
|
nudRampingStartPower2.Enabled = true;
|
|
nudRampingStartPower3.Enabled = true;
|
|
nudRampingEndDist.Enabled = true;
|
|
nudRampingEndPower1.Enabled = true;
|
|
nudRampingEndPower2.Enabled = true;
|
|
nudRampingEndPower3.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;;
|
|
nudRampingStartPower3.ImeMode = ImeMode.Disable;;
|
|
nudRampingStartDist.ImeMode = ImeMode.Disable;;
|
|
nudRampingEndPower1.ImeMode = ImeMode.Disable;;
|
|
nudRampingEndPower2.ImeMode = ImeMode.Disable;;
|
|
nudRampingEndPower3.ImeMode = ImeMode.Disable;;
|
|
nudRampingEndDist.ImeMode = ImeMode.Disable;;
|
|
nudRampingInterval.ImeMode = ImeMode.Disable;;
|
|
}
|
|
}
|
|
}
|