에뮬레이터 개발 전.
This commit is contained in:
@@ -66,7 +66,6 @@ namespace Project
|
||||
this.panTopMenu.MouseDown += LbTitle_MouseDown;
|
||||
this.panTopMenu.DoubleClick += LbTitle_DoubleClick;
|
||||
|
||||
this.ctlPos1.ItemClick += CtlPos1_ItemClick;
|
||||
this.MouseMove += (s1, e1) => { if (DateTime.Now > PUB.LastInputTime) PUB.LastInputTime = DateTime.Now; };
|
||||
this.FormClosing += __Closing;
|
||||
|
||||
@@ -101,19 +100,6 @@ namespace Project
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 상단 위치 표시기의 대상 위치값을 표시 합니다
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void Display_Position_TargetPosSet(object sender, EventArgs e)
|
||||
{
|
||||
//대상위치가 설정되었다x
|
||||
this.ctlPos1.SetTargetPosition(PUB.Result.TargetPos);
|
||||
this.ctlPos1.Invalidate();
|
||||
}
|
||||
|
||||
|
||||
private void __Closing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
// 장치 관리 태스크는 _STEP_CLOSING_START에서 종료됨
|
||||
@@ -176,50 +162,31 @@ namespace Project
|
||||
private void __Load(object sender, EventArgs e)
|
||||
{
|
||||
this.Text = Application.ProductName + " ver " + Application.ProductVersion;
|
||||
//this.lbTitle.Text = this.Text;
|
||||
PUB.init(); //public initialize
|
||||
if (PUB.setting.FullScreen) this.WindowState = FormWindowState.Maximized;
|
||||
// PUB.log.RaiseMsg += log_RaiseMsg;
|
||||
PUB.init();
|
||||
if (PUB.setting.FullScreen)
|
||||
{
|
||||
this.FormBorderStyle = FormBorderStyle.None;
|
||||
this.WindowState = FormWindowState.Maximized;
|
||||
}
|
||||
this.Show();
|
||||
|
||||
PUB.Result.TargetPosSet += Display_Position_TargetPosSet;
|
||||
|
||||
this.ctlPos1.ClearData();
|
||||
this.ctlPos1.Invalidate();
|
||||
|
||||
//lbDM1.Text = "";
|
||||
//sbBatteryLv.Text = "";
|
||||
btHome.Text = "홈";
|
||||
btChargeA.Text = "자동충전";
|
||||
VAR.STR[eVarString.SWVersion] = Application.ProductVersion;
|
||||
Application.DoEvents();
|
||||
|
||||
//setting dio events
|
||||
VAR.STR[eVarString.SWVersion] = Application.ProductVersion;
|
||||
|
||||
//SETTING H/W
|
||||
this.IOState.ItemClick += gridView2_ItemClick;
|
||||
//PUB.flag.ValueChanged += Flag_ValueChagned;
|
||||
VAR.BOOL.PropertyChanged += BOOL_PropertyChanged;
|
||||
|
||||
|
||||
/////모터용 pLC
|
||||
//PUB.PLC = new arDev.FakePLC();
|
||||
//PUB.PLC.ValueChanged += PLC_DioChanged;
|
||||
//PUB.PLC.FlagChanged += PLC_FlagChanged;
|
||||
//PUB.PLC.Message += PLC_Message;
|
||||
|
||||
//지그비통신
|
||||
PUB.XBE = new Device.Xbee();
|
||||
PUB.XBE.MessageReceived += XBE_MessageReceived;
|
||||
PUB.XBE.ProtocReceived += XBE_ProtocReceived;
|
||||
|
||||
//HWState.setTitle(1, 3, Pub.setting.Port_Xbee);
|
||||
//HWState.setTitle(1, 0, Pub.setting.Address_RFID);
|
||||
|
||||
//AGV
|
||||
PUB.AGV = new arDev.Narumi();
|
||||
PUB.AGV.Message += AGV_Message;
|
||||
PUB.AGV.DataReceive += AGV_DataReceive;
|
||||
|
||||
|
||||
//배터리관리시스템
|
||||
PUB.BMS = new arDev.BMS();
|
||||
PUB.BMS.BMSDataReceive += Bms_BMSDataReceive;
|
||||
@@ -266,19 +233,11 @@ namespace Project
|
||||
}
|
||||
|
||||
PUB.sm.StepChanged += sm_StepChanged;
|
||||
PUB.log.Add("StateMachine", "StepChanged 이벤트 등록 완료");
|
||||
|
||||
PUB.sm.Message += sm_Message;
|
||||
PUB.log.Add("StateMachine", "Message 이벤트 등록 완료");
|
||||
|
||||
PUB.sm.Running += sm_Running;
|
||||
PUB.log.Add("StateMachine", "Running 이벤트 등록 완료");
|
||||
|
||||
PUB.sm.SPS += sm_SPS;
|
||||
PUB.log.Add("StateMachine", "SPS 이벤트 등록 완료");
|
||||
|
||||
PUB.sm.Start();
|
||||
PUB.log.Add("StateMachine", $"Start() 호출 완료 - IsThreadRun:{PUB.sm.IsThreadRun}");
|
||||
PUB.log.Add("StateMachine", "SM 이벤트 등록 완료");
|
||||
|
||||
// 스레드 시작 대기 (최대 3초)
|
||||
for (int i = 0; i < 30; i++)
|
||||
@@ -307,10 +266,8 @@ namespace Project
|
||||
PUB.log.Add("Display", "Display Timer 시작 완료");
|
||||
|
||||
this.btDebug.Visible = System.Diagnostics.Debugger.IsAttached || PUB.setting.UseDebugMode;
|
||||
|
||||
PUB.log.Add("Program Start");
|
||||
|
||||
|
||||
//수량표시
|
||||
PUB.counter.PropertyChanged += (s1, e1) => Update_Count();
|
||||
Update_Count();
|
||||
@@ -322,11 +279,8 @@ namespace Project
|
||||
MenuLog.PerformClick();
|
||||
|
||||
PUB.AddEEDB("프로그램 시작");
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
#region "Mouse Form Move"
|
||||
|
||||
private Boolean fMove = false;
|
||||
@@ -417,12 +371,12 @@ namespace Project
|
||||
|
||||
void func_sw_start(bool Prompt = false)
|
||||
{
|
||||
if (PUB.sm.Step < eSMStep.IDLE)
|
||||
if (PUB.sm.Step == eSMStep.SYNC)
|
||||
{
|
||||
UTIL.MsgE("초기화 중에는 사용할 수 없습니다\n초기화가 완료 된 후 시도하세요");
|
||||
return;
|
||||
}
|
||||
if (VAR.BOOL[eVarBool.FLAG_AUTORUN] == false || PUB.sm.Step != eSMStep.RUN) //자동상태가 아니라면
|
||||
if (VAR.BOOL[eVarBool.FLAG_AUTORUN] == false) //자동상태가 아니라면
|
||||
{
|
||||
PUB.AGV.AGVErrorReset();
|
||||
if (Prompt)
|
||||
@@ -433,9 +387,13 @@ namespace Project
|
||||
//충전상태확인
|
||||
if (PUB.CheckManualChargeMode() == false) return;
|
||||
PUB.popup.needClose = true;
|
||||
PUB.sm.bPause = false;
|
||||
//PUB.sm.bPause = false;
|
||||
//PUB.sm.ClearRunStep();
|
||||
//PUB.sm.SetNewRunStep(ERunStep.READY);
|
||||
PUB.sm.SetNewStep(eSMStep.RUN);
|
||||
PUB.Speak(Lang.자동전환);
|
||||
PUB.Speak(Lang.자동전환, addlog: false);
|
||||
|
||||
PUB.log.Add($"자동전환 이전스텝:{PUB.sm.RunStep},IDX:{PUB.sm.RunStepSeq}]");
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -489,31 +447,6 @@ namespace Project
|
||||
}
|
||||
|
||||
|
||||
private void CtlPos1_ItemClick(object sender, CtlPos.ItemClickEventArgs e)
|
||||
{
|
||||
if (VAR.BOOL[eVarBool.FLAG_CHARGEONM] == true)
|
||||
{
|
||||
UTIL.MsgE("수동 충전 상태이므로 진행 할 수 없습니다");
|
||||
return;
|
||||
}
|
||||
if (VAR.BOOL[eVarBool.EMERGENCY] == true)
|
||||
{
|
||||
var dlgE = UTIL.MsgQ("비상정지 상태입니다.\n오류를 먼저 소거하고 실행 할까요?");
|
||||
if (dlgE == DialogResult.Yes) PUB.AGV.AGVErrorReset();
|
||||
else return;
|
||||
}
|
||||
//위치표시 컨트롤에서 아이템을 클릭했다
|
||||
var dlg = new Dialog.fJobSelect();
|
||||
PUB.log.Add("사용자 임의 위치 클릭 : " + e.Item.Title);
|
||||
switch (e.Item.Position)
|
||||
{
|
||||
|
||||
|
||||
|
||||
}
|
||||
if (dlg != null) dlg.Dispose();
|
||||
}
|
||||
|
||||
private void demoRunToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
PUB.Result.JobEndTime = DateTime.Now;
|
||||
@@ -577,6 +510,7 @@ namespace Project
|
||||
}
|
||||
|
||||
VAR.BOOL[eVarBool.FLAG_SETUP] = false;// VAR.BOOL[eVarBool.FLAG_SETUP] = false;//VAR.BOOL[eVarBool.FLAG_SETUP] = false;
|
||||
|
||||
if (popmsg) PUB.popup.Visible = true;
|
||||
}
|
||||
|
||||
@@ -681,7 +615,10 @@ namespace Project
|
||||
if (dlg == DialogResult.Yes)
|
||||
{
|
||||
PUB.sm.ClearRunStep();
|
||||
PUB.sm.SetNewRunStep(ERunStep.GOHOME);
|
||||
//대상노드를 충전기로하고
|
||||
PUB._virtualAGV.StartNode = null;
|
||||
PUB._virtualAGV.TargetNode = null;
|
||||
PUB.sm.SetNewRunStep(ERunStep.GOTO);
|
||||
PUB.sm.SetNewStep(eSMStep.RUN);
|
||||
PUB.log.Add("사용자 충전 해제");
|
||||
}
|
||||
@@ -720,26 +657,23 @@ namespace Project
|
||||
}
|
||||
private void brHome_Click(object sender, EventArgs e)
|
||||
{
|
||||
var bCharge = PUB.sm.Step == eSMStep.RUN &&
|
||||
(PUB.sm.RunStep == ERunStep.GOHOME);
|
||||
|
||||
if (PUB.CheckManualChargeMode() == false) return;
|
||||
|
||||
if (bCharge == true)
|
||||
var bHome = PUB.sm.Step == eSMStep.RUN && (PUB.sm.RunStep == ERunStep.GOHOME);
|
||||
if (bHome == true)
|
||||
{
|
||||
var dlg = UTIL.MsgQ("홈(QC) 이동을 취소 할까요?");
|
||||
var dlg = UTIL.MsgQ("홈 이동을 취소 할까요?");
|
||||
if (dlg == DialogResult.Yes)
|
||||
{
|
||||
PUB.sm.ClearRunStep();
|
||||
PUB.sm.SetNewStep(eSMStep.IDLE);
|
||||
PUB.AGV.AGVMoveStop("user home cancle", arDev.Narumi.eStopOpt.Stop);
|
||||
//PUB.AGV.AddCommand(arDev.Narumi.eAgvCmd.MoveStop);//.Move(Device.PLC.Rundirection.Stop, "사용자 홈 이동 취소");
|
||||
PUB.log.Add("사용자 홈 이동 취소");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var dlg = UTIL.MsgQ("홈(QC) 이동을 실행 할까요?");
|
||||
var dlg = UTIL.MsgQ("홈 이동을 실행 할까요?");
|
||||
if (dlg == DialogResult.Yes)
|
||||
{
|
||||
PUB.sm.ClearRunStep();
|
||||
@@ -748,7 +682,6 @@ namespace Project
|
||||
PUB.log.Add("사용자 홈 이동 실행");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -869,6 +802,7 @@ namespace Project
|
||||
{
|
||||
var _mapCanvas = PUB._mapCanvas;
|
||||
PUB._mapNodes = result.Nodes;
|
||||
PUB.log.Add($"Set _mapNodes");
|
||||
|
||||
// 맵 캔버스에 데이터 설정
|
||||
_mapCanvas.Nodes = result.Nodes;
|
||||
|
||||
Reference in New Issue
Block a user