Merge branch 'master' of https://git.tindevil.com/Amkor/ENIG
This commit is contained in:
@@ -207,7 +207,7 @@ namespace Project
|
||||
//연결은 되었으나 통신이 지난지 10초가 지났다면 자동종료한다
|
||||
var tsRecv = VAR.TIME.RUN(recvtime);
|
||||
var tsConn = VAR.TIME.RUN(conntry);
|
||||
if (tsRecv.TotalSeconds > 10 && tsConn.TotalSeconds > 5)
|
||||
if (tsRecv.TotalSeconds > 30 && tsConn.TotalSeconds > 5)
|
||||
{
|
||||
this.BeginInvoke(new Action(() =>
|
||||
{
|
||||
|
||||
@@ -43,11 +43,19 @@ namespace Project.ViewForm
|
||||
|
||||
private void OnNodeSelected(object sender, NodeBase node, MouseEventArgs e)
|
||||
{
|
||||
if (e.Button != MouseButtons.Right) return;
|
||||
if (node == null) return;
|
||||
var mapnode = node as MapNode;
|
||||
if (mapnode == null) return;
|
||||
|
||||
// [Run Mode] Left Click: AGV Operation
|
||||
if (PUB._mapCanvas.Mode == AGVNavigationCore.Controls.UnifiedAGVCanvas.CanvasMode.Run && e.Button == MouseButtons.Left)
|
||||
{
|
||||
HandleRunModeClick(mapnode);
|
||||
return;
|
||||
}
|
||||
|
||||
if (e.Button != MouseButtons.Right) return;
|
||||
|
||||
// 도킹 가능한 노드인지 또는 작업 노드인지 확인
|
||||
if (mapnode.isDockingNode == false) return;
|
||||
|
||||
@@ -158,6 +166,9 @@ namespace Project.ViewForm
|
||||
//}
|
||||
|
||||
this.timer1.Start();
|
||||
|
||||
// Set Run Mode
|
||||
PUB._mapCanvas.Mode = AGVNavigationCore.Controls.UnifiedAGVCanvas.CanvasMode.Run;
|
||||
}
|
||||
private void AGV_DataReceive(object sender, arDev.Narumi.DataEventArgs e)
|
||||
{
|
||||
@@ -194,6 +205,9 @@ namespace Project.ViewForm
|
||||
PUB.sm.StepChanged -= Sm_StepChanged;
|
||||
this.ctlAuto1.ButtonClick -= CtlAuto1_ButtonClick;
|
||||
PUB.AGV.DataReceive -= AGV_DataReceive;
|
||||
|
||||
// Reset Mode to Edit
|
||||
PUB._mapCanvas.Mode = AGVNavigationCore.Controls.UnifiedAGVCanvas.CanvasMode.Edit;
|
||||
}
|
||||
|
||||
bool tmrun = false;
|
||||
@@ -201,7 +215,15 @@ namespace Project.ViewForm
|
||||
private void fAuto_VisibleChanged(object sender, EventArgs e)
|
||||
{
|
||||
this.timer1.Enabled = this.Visible;
|
||||
if (timer1.Enabled) timer1.Start();
|
||||
if (timer1.Enabled)
|
||||
{
|
||||
timer1.Start();
|
||||
// 화면이 보일 때 Run 모드로 강제 설정
|
||||
if (PUB._mapCanvas.Mode != AGVNavigationCore.Controls.UnifiedAGVCanvas.CanvasMode.Run)
|
||||
{
|
||||
PUB._mapCanvas.Mode = AGVNavigationCore.Controls.UnifiedAGVCanvas.CanvasMode.Run;
|
||||
}
|
||||
}
|
||||
else timer1.Stop();
|
||||
}
|
||||
|
||||
@@ -236,5 +258,49 @@ namespace Project.ViewForm
|
||||
|
||||
//tmrun = false;
|
||||
}
|
||||
|
||||
private void HandleRunModeClick(MapNode targetNode)
|
||||
{
|
||||
if (targetNode == null) return;
|
||||
|
||||
ENIGProtocol.AGVCommandHE targetCmd = ENIGProtocol.AGVCommandHE.Goto;
|
||||
string confirmMsg = "";
|
||||
|
||||
if (targetNode.StationType == StationType.Charger)
|
||||
{
|
||||
if (MessageBox.Show($"[{targetNode.Id}] 충전기로 이동하여 충전을 진행하시겠습니까?", "작업 확인", MessageBoxButtons.YesNo) == DialogResult.Yes)
|
||||
{
|
||||
targetCmd = ENIGProtocol.AGVCommandHE.Charger;
|
||||
ExecuteManualCommand(targetNode, targetCmd);
|
||||
}
|
||||
return;
|
||||
}
|
||||
else if (targetNode.isDockingNode)
|
||||
{
|
||||
// Loader, Unloader, Buffer, Cleaner - Pick/Drop Selection
|
||||
ContextMenuStrip menu = new ContextMenuStrip();
|
||||
|
||||
var pickOn = new ToolStripMenuItem("Pick On (Move & Pick)");
|
||||
pickOn.Click += (s, args) => ExecuteManualCommand(targetNode, ENIGProtocol.AGVCommandHE.PickOn);
|
||||
menu.Items.Add(pickOn);
|
||||
|
||||
var pickOff = new ToolStripMenuItem("Pick Off (Move & Drop)");
|
||||
pickOff.Click += (s, args) => ExecuteManualCommand(targetNode, ENIGProtocol.AGVCommandHE.PickOff);
|
||||
menu.Items.Add(pickOff);
|
||||
|
||||
menu.Show(Cursor.Position);
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Normal Node
|
||||
if (MessageBox.Show($"[{targetNode.Id}] 노드로 이동하시겠습니까?", "이동 확인", MessageBoxButtons.YesNo) == DialogResult.Yes)
|
||||
{
|
||||
targetCmd = ENIGProtocol.AGVCommandHE.Goto;
|
||||
ExecuteManualCommand(targetNode, targetCmd);
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user