678 lines
26 KiB
C#
678 lines
26 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
using AR;
|
|
|
|
|
|
namespace Project
|
|
{
|
|
public partial class fSetup : Form
|
|
{
|
|
readonly System.Windows.Forms.Timer tmDisplay;
|
|
public fSetup()
|
|
{
|
|
InitializeComponent();
|
|
tmDisplay = new System.Windows.Forms.Timer
|
|
{
|
|
Interval = 200
|
|
};
|
|
tmDisplay.Tick += TmDisplay_Tick;
|
|
this.VisibleChanged += FSetup_VisibleChanged;
|
|
this.FormClosed += FSetup_FormClosed;
|
|
this.KeyDown += (s1, e1) => { if (e1.KeyCode == Keys.Escape) this.Close(); };
|
|
|
|
this.panTopMenu.MouseMove += LbTitle_MouseMove;
|
|
this.panTopMenu.MouseUp += LbTitle_MouseUp;
|
|
this.panTopMenu.MouseDown += LbTitle_MouseDown;
|
|
this.panTopMenu.DoubleClick += LbTitle_DoubleClick;
|
|
|
|
this.propertyGrid1.SelectedObject = PUB.setting;
|
|
}
|
|
|
|
private void FSetup_FormClosed(object sender, FormClosedEventArgs e)
|
|
{
|
|
this.timer1.Stop();
|
|
this.timer1.Enabled = false;
|
|
}
|
|
|
|
private void FSetup_VisibleChanged(object sender, EventArgs e)
|
|
{
|
|
PUB.log.Add("setup screen show : " + this.Visible.ToString());
|
|
if (this.Visible) tmDisplay.Start();
|
|
else tmDisplay.Stop();
|
|
}
|
|
|
|
private void fSetup_Load(object sender, EventArgs e)
|
|
{
|
|
|
|
//통신값 표시
|
|
//tbPortBMS.Text = Pub.setting.Port_BMS;
|
|
///tbPortPLC.Text = PUB.setting.Port_PLC;
|
|
tbPortAGV.Text = PUB.setting.Port_AGV;
|
|
tbPortXBE.Text = PUB.setting.Port_XBE;
|
|
tbportBMS.Text = PUB.setting.Port_BAT;
|
|
|
|
// tbBaudPLC.Text = PUB.setting.Baud_PLC.ToString();
|
|
tbBaudAGV.Text = PUB.setting.Baud_AGV.ToString();
|
|
tbBaudXBE.Text = PUB.setting.Baud_XBE.ToString();
|
|
tbBaudBAT.Text = PUB.setting.Baud_BAT.ToString();
|
|
|
|
//valueSelect1.Value = Pub.setting.interval_bms;
|
|
valIntervalXBE.Value = PUB.setting.interval_xbe;
|
|
vcpidDS.Value = PUB.setting.ZSpeed;
|
|
//valueSelect4.Value = PUB.setting.interval_iostate;
|
|
valIntervalBMS.Value = PUB.setting.interval_bms;
|
|
tbChargerID.Value = PUB.setting.ChargerID;
|
|
|
|
cmbChargerPos.SelectedIndex = PUB.setting.chargerpos;
|
|
|
|
vcSCK.Value = PUB.setting.SCK;
|
|
vcSSK.Value = PUB.setting.SSK;
|
|
vcSTT.Value = PUB.setting.STT;
|
|
vcSAD.Value = PUB.setting.SAD;
|
|
vcXBID.Value = PUB.setting.XBE_ID;
|
|
|
|
tbagvaddr.Text = PUB.setting.AGV_ADDRESS;
|
|
tbagvpanid.Text = PUB.setting.AGV_PANID;
|
|
tbagvchannel.Text = PUB.setting.AGV_CHANNEL;
|
|
|
|
//속도 저/중/고
|
|
vcSpeedL.Value = PUB.setting.SPD_L;
|
|
vcSpeedM.Value = PUB.setting.SPD_M;
|
|
vcSpeedH.Value = PUB.setting.SPD_H;
|
|
vcSpeedDrive.Value = PUB.setting.SPD_DRIVE;
|
|
|
|
//속도 정지/회전
|
|
vcSpeedS.Value = PUB.setting.SPD_S;
|
|
vcSpeedR.Value = PUB.setting.SPD_R;
|
|
|
|
//PID-P
|
|
vcpidPH.Value = PUB.setting.PID_PH;
|
|
vcpidPM.Value = PUB.setting.PID_PM;
|
|
vcpidPL.Value = PUB.setting.PID_PL;
|
|
|
|
//PID-I
|
|
vcpidIH.Value = PUB.setting.PID_IH;
|
|
vcpidIM.Value = PUB.setting.PID_IM;
|
|
vcpidIL.Value = PUB.setting.PID_IL;
|
|
|
|
//PID-D
|
|
vcpidDH.Value = PUB.setting.PID_DH;
|
|
vcpidDM.Value = PUB.setting.PID_DM;
|
|
vcpidDL.Value = PUB.setting.PID_DL;
|
|
|
|
//정지상수
|
|
vcpidPS.Value = PUB.setting.PID_PS;
|
|
vcpidIS.Value = PUB.setting.PID_IS;
|
|
vcpidDS.Value = PUB.setting.PID_DS;
|
|
|
|
SetColorValue(btSpeaker, PUB.setting.Enable_Speak);
|
|
SetColorValue(btAutoCharge, PUB.setting.Enable_AutoCharge);
|
|
SetColorValue(btMusic, PUB.setting.Enable_Music);
|
|
|
|
nudDoorSoundTerm.Value = PUB.setting.doorSoundTerm;
|
|
chkAGVDirBack.Checked = PUB.setting.AGV_Direction_FVI_Backward;
|
|
|
|
chkClear1.Checked = PUB.setting.datetime_Check_1;
|
|
chkClear2.Checked = PUB.setting.datetime_Check_2;
|
|
cleartime1.Value = DateTime.Parse("1982-11-23 " + PUB.setting.datetime_Reset_1 + ":00");
|
|
cleartime2.Value = DateTime.Parse("1982-11-23 " + PUB.setting.datetime_Reset_2 + ":00");
|
|
chkClearPos.Checked = PUB.setting.AutoModeOffAndClearPosition;
|
|
|
|
//PLC옵션
|
|
nudMusicVol.Value = PUB.setting.musicvol;// (int)(PUB.mplayer.Volume * 100.0);
|
|
tbMusic.Text = PUB.setting.musicfile;
|
|
this.chkFullScreen.Checked = PUB.setting.FullScreen;
|
|
this.chkDetectManualCharge.Checked = PUB.setting.DetectManualCharge;
|
|
|
|
//충전
|
|
// chkAutoCharge.Checked = PUB.setting.Enable_AutoCharge;
|
|
vcChargeStartLevel.Value = PUB.setting.ChargeStartLevel;
|
|
vcChargeMaxLevel.Value = PUB.setting.ChargeMaxLevel;
|
|
vcChargeMaxTime.Value = PUB.setting.ChargeMaxTime;
|
|
vcChargeRetryTerm.Value = PUB.setting.ChargeRetryTerm;
|
|
vcChargeSearchTime.Value = PUB.setting.ChargeSearchTime;
|
|
vcChargeEmergencyLevel.Value = PUB.setting.ChargeEmergencyLevel;
|
|
vcChargeWaitSec.Value = PUB.setting.ChargetWaitSec;
|
|
// chkAutoCharge_CheckedChanged(chkAutoCharge, null);
|
|
|
|
//태그
|
|
vcTagPOT.Value = PUB.setting.TAGPOT;
|
|
vcTagNOT.Value = PUB.setting.TAGNOT;
|
|
|
|
vcTagQAQC.Value = PUB.setting.TAG_QA_QC;
|
|
vcTagQCF1.Value = PUB.setting.TAG_QC_F1;
|
|
vcTagF1F2.Value = PUB.setting.TAG_F1_F2;
|
|
vcTagF2F3.Value = PUB.setting.TAG_F2_F3;
|
|
vcTagF3F4.Value = PUB.setting.TAG_F3_F4;
|
|
vcTagF4F5.Value = PUB.setting.TAG_F4_F5;
|
|
|
|
vcTagQAA.Value = PUB.setting.TAGQAA;
|
|
vcTagQCA.Value = PUB.setting.TAGQCA;
|
|
vcTagF1A.Value = PUB.setting.TAGF1A;
|
|
vcTagF2A.Value = PUB.setting.TAGF2A;
|
|
vcTagF3A.Value = PUB.setting.TAGF3A;
|
|
vcTagF4A.Value = PUB.setting.TAGF4A;
|
|
vcTagF5A.Value = PUB.setting.TAGF5A;
|
|
|
|
vcTagQAB.Value = PUB.setting.TAGQAB;
|
|
vcTagQCB.Value = PUB.setting.TAGQCB;
|
|
vcTagF1B.Value = PUB.setting.TAGF1B;
|
|
vcTagF2B.Value = PUB.setting.TAGF2B;
|
|
vcTagF3B.Value = PUB.setting.TAGF3B;
|
|
vcTagF4B.Value = PUB.setting.TAGF4B;
|
|
vcTagF5B.Value = PUB.setting.TAGF5B;
|
|
|
|
tbMCID.Text = PUB.setting.MCID;
|
|
|
|
timer1.Start();
|
|
}
|
|
|
|
|
|
#region "Mouse Form Move"
|
|
|
|
private Boolean fMove = false;
|
|
private Point MDownPos;
|
|
|
|
private void LbTitle_DoubleClick(object sender, EventArgs e)
|
|
{
|
|
if (this.WindowState == FormWindowState.Maximized) this.WindowState = FormWindowState.Normal;
|
|
else this.WindowState = FormWindowState.Maximized;
|
|
}
|
|
private void LbTitle_MouseMove(object sender, MouseEventArgs e)
|
|
{
|
|
if (fMove)
|
|
{
|
|
Point offset = new Point(e.X - MDownPos.X, e.Y - MDownPos.Y);
|
|
this.Left += offset.X;
|
|
this.Top += offset.Y;
|
|
//offset = new Point(0, 0);
|
|
}
|
|
}
|
|
private void LbTitle_MouseUp(object sender, MouseEventArgs e)
|
|
{
|
|
fMove = false;
|
|
}
|
|
private void LbTitle_MouseDown(object sender, MouseEventArgs e)
|
|
{
|
|
MDownPos = new Point(e.X, e.Y);
|
|
fMove = true;
|
|
}
|
|
|
|
#endregion
|
|
|
|
|
|
private void btSave_Click(object sender, EventArgs e)
|
|
{
|
|
if (PUB.CheckPassword() == false)
|
|
{
|
|
UTIL.MsgE("암호가 일치하지 않습니다");
|
|
return;
|
|
}
|
|
|
|
this.Validate();
|
|
propertyGrid1.Invalidate();
|
|
|
|
//통신정보저장
|
|
// Pub.setting.Port_BMS = tbPortBMS.Text;
|
|
PUB.setting.Port_XBE = tbPortXBE.Text;
|
|
//PUB.setting.Port_PLC = tbPortPLC.Text;
|
|
PUB.setting.Port_AGV = tbPortAGV.Text;
|
|
PUB.setting.Port_BAT = tbportBMS.Text;
|
|
|
|
// Pub.setting.Baud_bms = int.Parse(tbBaudBms.Text);
|
|
PUB.setting.Baud_XBE = int.Parse(tbBaudXBE.Text);
|
|
//PUB.setting.Baud_PLC = int.Parse(tbBaudPLC.Text);
|
|
PUB.setting.Baud_AGV = int.Parse(tbBaudAGV.Text);
|
|
PUB.setting.Baud_BAT = int.Parse(tbBaudBAT.Text);
|
|
|
|
PUB.setting.ChargerID = (int)(tbChargerID.Value);
|
|
|
|
//Pub.setting.interval_bms = (float)valueSelect1.Value;
|
|
PUB.setting.interval_bms = (int)valIntervalBMS.Value;
|
|
PUB.setting.interval_xbe = (float)valIntervalXBE.Value;
|
|
PUB.setting.ZSpeed = (byte)vcpidDS.Value;
|
|
//PUB.setting.interval_iostate = (byte)valueSelect4.Value;
|
|
PUB.setting.chargerpos = this.cmbChargerPos.SelectedIndex;
|
|
PUB.setting.AutoModeOffAndClearPosition = this.chkClearPos.Checked;
|
|
//PUB.setting.MotorUpTime = (byte)valueSelect5.Value;
|
|
|
|
//AGV정보 저장
|
|
PUB.setting.Enable_Speak = this.btSpeaker.ProgressValue != 0;
|
|
PUB.setting.Enable_Music = this.btMusic.ProgressValue != 0;
|
|
PUB.setting.Enable_AutoCharge = this.btAutoCharge.ProgressValue != 0;
|
|
|
|
//충전
|
|
PUB.setting.ChargeStartLevel = (int)vcChargeStartLevel.Value;
|
|
PUB.setting.ChargeMaxLevel = (int)vcChargeMaxLevel.Value;
|
|
PUB.setting.ChargeMaxTime = (int)vcChargeMaxTime.Value;
|
|
PUB.setting.ChargeRetryTerm = (int)vcChargeRetryTerm.Value;
|
|
PUB.setting.ChargeSearchTime = (int)vcChargeSearchTime.Value;
|
|
PUB.setting.ChargeEmergencyLevel = (int)vcChargeEmergencyLevel.Value;
|
|
PUB.setting.ChargetWaitSec = (int)vcChargeWaitSec.Value;
|
|
|
|
PUB.setting.SCK = (int)vcSCK.Value;
|
|
PUB.setting.SSK = (int)vcSSK.Value;
|
|
PUB.setting.STT = (int)vcSTT.Value;
|
|
PUB.setting.SAD = (int)vcSAD.Value;
|
|
PUB.setting.XBE_ID = (byte)vcXBID.Value;
|
|
|
|
//속도 저/중/고
|
|
PUB.setting.SPD_L = (int)vcSpeedL.Value;
|
|
PUB.setting.SPD_M = (int)vcSpeedM.Value;
|
|
PUB.setting.SPD_H = (int)vcSpeedH.Value;
|
|
PUB.setting.SPD_DRIVE = (int)vcSpeedDrive.Value;
|
|
|
|
//속도 정지/회전
|
|
PUB.setting.SPD_S = (int)vcSpeedS.Value;
|
|
PUB.setting.SPD_R = (int)vcSpeedR.Value;
|
|
|
|
//PID-P
|
|
PUB.setting.PID_PH = (int)vcpidPH.Value;
|
|
PUB.setting.PID_PM = (int)vcpidPM.Value;
|
|
PUB.setting.PID_PL = (int)vcpidPL.Value;
|
|
|
|
//PID-I ;
|
|
PUB.setting.PID_IH = (int)vcpidIH.Value;
|
|
PUB.setting.PID_IM = (int)vcpidIM.Value;
|
|
PUB.setting.PID_IL = (int)vcpidIL.Value;
|
|
|
|
//PID-D ;
|
|
PUB.setting.PID_DH = (int)vcpidDH.Value;
|
|
PUB.setting.PID_DM = (int)vcpidDM.Value;
|
|
PUB.setting.PID_DL = (int)vcpidDL.Value;
|
|
|
|
//정지상수 ;
|
|
PUB.setting.PID_PS = (int)vcpidPS.Value;
|
|
PUB.setting.PID_IS = (int)vcpidIS.Value;
|
|
PUB.setting.PID_DS = (int)vcpidDS.Value;
|
|
|
|
//시스템옵션
|
|
PUB.setting.ChargeMaxTime = (int)vcChargeMaxTime.Value;
|
|
//Pub.setting.ChargeIdleInterval = (int)nudChargeIdleInterval.Value;
|
|
PUB.setting.ChargeRetryTerm = (int)vcChargeRetryTerm.Value;
|
|
PUB.setting.AGV_Direction_FVI_Backward = chkAGVDirBack.Checked;
|
|
|
|
//초기화시간
|
|
PUB.setting.datetime_Check_1 = chkClear1.Checked;
|
|
PUB.setting.datetime_Check_2 = chkClear2.Checked;
|
|
PUB.setting.datetime_Reset_1 = cleartime1.Value.ToString("HH:mm");
|
|
PUB.setting.datetime_Reset_2 = cleartime2.Value.ToString("HH:mm");
|
|
|
|
|
|
//태그
|
|
PUB.setting.TAGPOT = (int)vcTagPOT.Value;
|
|
PUB.setting.TAGNOT = (int)vcTagNOT.Value;
|
|
|
|
PUB.setting.TAG_QA_QC = (int)vcTagQAQC.Value;
|
|
PUB.setting.TAG_QC_F1 = (int)vcTagQCF1.Value;
|
|
PUB.setting.TAG_F1_F2 = (int)vcTagF1F2.Value;
|
|
PUB.setting.TAG_F2_F3 = (int)vcTagF2F3.Value;
|
|
PUB.setting.TAG_F3_F4 = (int)vcTagF3F4.Value;
|
|
PUB.setting.TAG_F4_F5 = (int)vcTagF4F5.Value;
|
|
|
|
PUB.setting.TAGQAA = (int)vcTagQAA.Value;
|
|
PUB.setting.TAGQCA = (int)vcTagQCA.Value;
|
|
PUB.setting.TAGF1A = (int)vcTagF1A.Value;
|
|
PUB.setting.TAGF2A = (int)vcTagF2A.Value;
|
|
PUB.setting.TAGF3A = (int)vcTagF3A.Value;
|
|
PUB.setting.TAGF4A = (int)vcTagF4A.Value;
|
|
PUB.setting.TAGF5A = (int)vcTagF5A.Value;
|
|
|
|
PUB.setting.TAGQAB = (int)vcTagQAB.Value;
|
|
PUB.setting.TAGQCB = (int)vcTagQCB.Value;
|
|
PUB.setting.TAGF1B = (int)vcTagF1B.Value;
|
|
PUB.setting.TAGF2B = (int)vcTagF2B.Value;
|
|
PUB.setting.TAGF3B = (int)vcTagF3B.Value;
|
|
PUB.setting.TAGF4B = (int)vcTagF4B.Value;
|
|
PUB.setting.TAGF5B = (int)vcTagF5B.Value;
|
|
|
|
//PLC옵션
|
|
//PUB.setting.musicvol = (int)nudMusicVol.Value;
|
|
PUB.SetVolume((int)nudMusicVol.Value);
|
|
PUB.setting.ChargeSearchTime = (int)vcChargeSearchTime.Value;
|
|
|
|
PUB.setting.doorSoundTerm = (int)nudDoorSoundTerm.Value;
|
|
if (PUB.setting.doorSoundTerm < 1) PUB.setting.doorSoundTerm = 15; //기본값 15초
|
|
|
|
////핀설정
|
|
//var baL = new System.Collections.BitArray(new byte[] { PUB.setting.PinReverse_DI_Low });
|
|
//var baH = new System.Collections.BitArray(new byte[] { PUB.setting.PInReverse_DI_High });
|
|
//baL[0] = chkdi0.Checked;
|
|
//baL[1] = chkdi1.Checked;
|
|
//baL[2] = chkdi2.Checked;
|
|
//baL[3] = chkdi3.Checked;
|
|
//baL[4] = chkdi4.Checked;
|
|
//baL[5] = chkdi5.Checked;
|
|
//baL[6] = chkdi6.Checked;
|
|
//baL[7] = chkdi7.Checked;
|
|
|
|
//baH[0] = chkdi8.Checked;
|
|
//baH[1] = chkdi9.Checked;
|
|
//baH[2] = chkdi10.Checked;
|
|
//baH[3] = chkdi11.Checked;
|
|
//baH[4] = chkdi12.Checked;
|
|
//baH[5] = chkdi13.Checked;
|
|
//baH[6] = chkdi14.Checked;
|
|
//baH[7] = chkdi15.Checked;
|
|
|
|
//byte[] dataL = new byte[] { 0 };
|
|
//byte[] dataH = new byte[] { 0 };
|
|
//baL.CopyTo(dataL, 0);
|
|
//baH.CopyTo(dataH, 0);
|
|
|
|
//PUB.setting.PinReverse_DI_Low = dataL[0];
|
|
//PUB.setting.PInReverse_DI_High = dataH[0];
|
|
PUB.setting.musicfile = tbMusic.Text.Trim();
|
|
PUB.setting.FullScreen = this.chkFullScreen.Checked;
|
|
PUB.setting.ChargeEmergencyLevel = (int)this.vcChargeEmergencyLevel.Value;
|
|
PUB.setting.ChargeStartLevel = (int)this.vcChargeStartLevel.Value;
|
|
PUB.setting.ChargeMaxLevel = (int)this.vcChargeMaxLevel.Value;
|
|
|
|
PUB.setting.DetectManualCharge = this.chkDetectManualCharge.Checked;
|
|
PUB.setting.MCID = tbMCID.Text.Trim();
|
|
|
|
PUB.setting.Save();
|
|
|
|
PUB.log.AddAT("환경설정:저장완료");
|
|
|
|
|
|
//plc에 정보를 전송하고 그 값의 회신을 체크한다
|
|
DialogResult = DialogResult.OK;
|
|
}
|
|
|
|
void SetColorValue(arCtl.arLabel ctl, Boolean value)
|
|
{
|
|
if (value)
|
|
{
|
|
ctl.BackColor = Color.Green;
|
|
ctl.BackColor2 = Color.Lime;
|
|
ctl.ProgressValue = 1;
|
|
}
|
|
else
|
|
{
|
|
ctl.BackColor = Color.FromArgb(50, 50, 50);
|
|
ctl.BackColor2 = Color.Gray;
|
|
ctl.ProgressValue = 0;
|
|
}
|
|
}
|
|
|
|
private void TmDisplay_Tick(object sender, EventArgs e)
|
|
{
|
|
//Pub.log.Add("timer run");
|
|
}
|
|
|
|
private void vcChargeLow_ButtonClick(object sender, AGVControl.ValueSelect.ButtonClickEventArgs e)
|
|
{
|
|
//버튼이클릭되엇다 각 버튼은 tag값으로 처히
|
|
var button = sender as AGVControl.ValueSelect;
|
|
var tagStr = button.Tag.ToString();
|
|
PUB.log.Add("Setup:Click:" + tagStr + ":" + e.Button.ToString());
|
|
if (e.Button == MouseButtons.Middle)
|
|
{
|
|
//중앙부 숫자를 클릭했다
|
|
var f = AR.UTIL.InputBox("input", button.Value.ToString());// new Dialog.fInput(button.Value.ToString());
|
|
if (f.Item1)
|
|
{
|
|
Console.WriteLine("value change : " + f.Item2);// ;
|
|
button.Value = double.Parse(f.Item2);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
private void vcChargeLow_ValueChanged(object sender, EventArgs e)
|
|
{
|
|
//버튼이클릭되엇다 각 버튼은 tag값으로 처히
|
|
var button = sender as AGVControl.ValueSelect;
|
|
var tagStr = button.Tag.ToString();
|
|
PUB.log.Add("Setup:ValueChange:" + tagStr + ":" + button.Name);
|
|
|
|
//if (tagStr == "SH" && PUB.setting.WheelSpeedHigh != button.Value)
|
|
// button.BackColor = Color.Tomato;
|
|
//else if (tagStr == "SL" && PUB.setting.WheelSpeedLow != button.Value)
|
|
// button.BackColor = Color.Tomato;
|
|
//else if (tagStr == "SC" && PUB.setting.WheelSpeedCharge != button.Value)
|
|
// button.BackColor = Color.Tomato;
|
|
////else if (tagStr == "MT" && Pub.setting.MoveThreshold != button.Value)
|
|
//// button.BackColor = Color.Tomato;
|
|
//else if (tagStr == "ST" && PUB.setting.MarkSensorThreshold != button.Value)
|
|
// button.BackColor = Color.Tomato;
|
|
//else if (tagStr == "BL" && PUB.setting.BalanceThreshold != button.Value)
|
|
// button.BackColor = Color.Tomato;
|
|
//else if (tagStr == "BU" && PUB.setting.BalanceThresholdUp != button.Value)
|
|
// button.BackColor = Color.Tomato;
|
|
//else button.BackColor = Color.Navy;
|
|
|
|
}
|
|
|
|
private void btMagnet_Click(object sender, EventArgs e)
|
|
{
|
|
//버튼이클릭되엇다 각 버튼은 tag값으로 처히
|
|
var button = sender as arCtl.arLabel;
|
|
|
|
var tagStr = button.Tag.ToString();
|
|
PUB.log.Add("Setup:ButtonClick:" + tagStr + ":" + button.Name);
|
|
|
|
if (button.ProgressValue == 0)
|
|
{
|
|
//메세지로 사용여부를 확인한다.
|
|
var msg = "다음 기능을 사용하시겠습니까?\n";
|
|
if (tagStr == "0") msg += "[음성지원]\n" +
|
|
" * 동작 상태를 음성으로 지원 합니다";
|
|
else if (tagStr == "1") msg += "[자동충전]\n" +
|
|
" * 자동으로 충전을 진행 합니다\n" +
|
|
" * [충전] 탭에서 설정값을 확인할 수 있습니다";
|
|
else if (tagStr == "2") msg += "[배경음악]\n" +
|
|
" * 이동시 음악을 플레이 합니다";
|
|
var dlg = UTIL.MsgQ(msg);
|
|
if (dlg == DialogResult.Yes)
|
|
{
|
|
SetColorValue(button, true);
|
|
}
|
|
}
|
|
else SetColorValue(button, false);
|
|
}
|
|
|
|
private void btSelXbee_Click(object sender, EventArgs e)
|
|
{
|
|
//포트를 선택한 후 표시해준다.
|
|
var but = sender as Button;
|
|
var tagStr = but.Tag.ToString();
|
|
var newPort = PUB.SelectSerialPort();
|
|
if (newPort.isEmpty()) return;
|
|
|
|
if (tagStr == "XBE") tbPortXBE.Text = newPort;
|
|
else if (tagStr == "AGV") tbPortAGV.Text = newPort;
|
|
// else if (tagStr == "PLC") tbPortPLC.Text = newPort;
|
|
else if (tagStr == "BAT") tbportBMS.Text = newPort;
|
|
|
|
}
|
|
|
|
private void btClose_Click(object sender, EventArgs e)
|
|
{
|
|
this.Close();
|
|
}
|
|
|
|
|
|
private void linkLabel3_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
|
{
|
|
using (var od = new OpenFileDialog())
|
|
{
|
|
if (tbMusic.Text.isEmpty() == false)
|
|
{
|
|
var fi = new System.IO.FileInfo(tbMusic.Text);
|
|
od.FileName = fi.Name;
|
|
od.InitialDirectory = fi.Directory.FullName;
|
|
}
|
|
|
|
if (od.ShowDialog() == DialogResult.OK)
|
|
{
|
|
tbMusic.Text = od.FileName;
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
|
|
private void linkLabel4_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
|
{
|
|
if (System.IO.File.Exists(tbMusic.Text) == false)
|
|
{
|
|
UTIL.MsgE("파일이 없습니다");
|
|
return;
|
|
}
|
|
try
|
|
{
|
|
if (PUB.mplayer.SoundLocation.isEmpty()==false) PUB.mplayer.Stop();
|
|
PUB.mplayer.SoundLocation = tbMusic.Text;// (new Uri(tbMusic.Text));
|
|
PUB.mplayer.Play();
|
|
PUB.bPlayMusic = true;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
UTIL.MsgE("music open error\n\n" + ex.Message);
|
|
}
|
|
|
|
}
|
|
|
|
private void linkLabel5_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
|
{
|
|
PUB.mplayer.Stop();
|
|
PUB.bPlayMusic = false;
|
|
}
|
|
|
|
|
|
private void button3_Click(object sender, EventArgs e)
|
|
{
|
|
if (this.tbPortAGV.Text == "COM21")
|
|
{
|
|
this.tbPortAGV.Text = "COM11";
|
|
// this.tbPortPLC.Text = "COM6";
|
|
this.tbportBMS.Text = "COM15";
|
|
this.tbPortXBE.Text = "COM18";
|
|
}
|
|
else
|
|
{
|
|
this.tbPortAGV.Text = "COM21";
|
|
// this.tbPortPLC.Text = "COM31";
|
|
this.tbportBMS.Text = "COM41";
|
|
this.tbPortXBE.Text = "COM51";
|
|
}
|
|
|
|
}
|
|
|
|
private void valIntervalBMS_ButtonClick(object sender, AGVControl.ValueSelect.ButtonClickEventArgs e)
|
|
{
|
|
//버튼이클릭되엇다 각 버튼은 tag값으로 처히
|
|
var button = sender as AGVControl.ValueSelect;
|
|
var tagStr = button.Tag.ToString();
|
|
PUB.log.Add("Setup:Click:" + tagStr + ":" + e.Button.ToString());
|
|
if (e.Button == MouseButtons.Middle)
|
|
{
|
|
//중앙부 숫자를 클릭했다
|
|
var f = AR.UTIL.InputBox("input", button.Value.ToString());// new Dialog.fInput(button.Value.ToString());
|
|
if (f.Item1)
|
|
{
|
|
Console.WriteLine("value change : " + f.Item2);
|
|
button.Value = double.Parse(f.Item2);
|
|
}
|
|
}
|
|
}
|
|
|
|
private void button4_Click(object sender, EventArgs e)
|
|
{
|
|
vcTagNOT.Value = 9000;
|
|
|
|
vcTagQAQC.Value = 9250;
|
|
vcTagQCF1.Value = 9350;
|
|
vcTagF1F2.Value = 9450;
|
|
vcTagF2F3.Value = 9550;
|
|
vcTagF3F4.Value = 9650;
|
|
vcTagF4F5.Value = 9750;
|
|
|
|
vcTagQAB.Value = 9200;
|
|
vcTagQCB.Value = 9300;
|
|
vcTagF1B.Value = 9400;
|
|
vcTagF2B.Value = 9500;
|
|
vcTagF3B.Value = 9600;
|
|
vcTagF4B.Value = 9700;
|
|
vcTagF5B.Value = 9800;
|
|
|
|
vcTagQAA.Value = 9201;
|
|
vcTagQCA.Value = 9301;
|
|
vcTagF1A.Value = 9401;
|
|
vcTagF2A.Value = 9501;
|
|
vcTagF3A.Value = 9601;
|
|
vcTagF4A.Value = 9701;
|
|
vcTagF5A.Value = 9801;
|
|
|
|
vcTagPOT.Value = 9900;
|
|
}
|
|
|
|
private void arLabel1_Click(object sender, EventArgs e)
|
|
{
|
|
var buts = new arCtl.arLabel[] { bt0, bt1, bt2, bt3, bt4, bt5 };
|
|
foreach (var lb in buts)
|
|
{
|
|
lb.BackColor = Color.DimGray;
|
|
lb.BackColor2 = Color.Gray;
|
|
}
|
|
var bt = sender as arCtl.arLabel;
|
|
bt.BackColor = Color.Lime;
|
|
bt.BackColor2 = Color.Green;
|
|
var index = int.Parse(bt.Tag.ToString());
|
|
this.tabControl1.SelectedIndex = index;
|
|
}
|
|
|
|
private void button7_Click(object sender, EventArgs e)
|
|
{
|
|
var value = tbagvaddr.Text.PadLeft(4, '0');
|
|
if (PUB.AGV.AGVCommand("SAD", value))
|
|
{
|
|
PUB.setting.AGV_ADDRESS = value;
|
|
PUB.setting.Save();
|
|
}
|
|
|
|
}
|
|
|
|
private void button5_Click(object sender, EventArgs e)
|
|
{
|
|
var value = tbagvpanid.Text.PadLeft(4, '0');
|
|
if (PUB.AGV.AGVCommand("SPN", value))
|
|
{
|
|
PUB.setting.AGV_PANID = value;
|
|
PUB.setting.Save();
|
|
}
|
|
|
|
}
|
|
|
|
private void button6_Click(object sender, EventArgs e)
|
|
{
|
|
var value = tbagvchannel.Text.PadLeft(4, '0');
|
|
if (PUB.AGV.AGVCommand("SCH", value))
|
|
{
|
|
PUB.setting.AGV_CHANNEL = value;
|
|
PUB.setting.Save();
|
|
}
|
|
|
|
|
|
}
|
|
|
|
private void tbagvaddr_Click(object sender, EventArgs e)
|
|
{
|
|
var tb = sender as TextBox;
|
|
var rlt = UTIL.InputBox("input vlaue", tb.Text);
|
|
if (rlt.Item1 == false) return;
|
|
if (rlt.Item2.isEmpty()) return;
|
|
tb.Text = rlt.Item2;
|
|
}
|
|
}
|
|
}
|