From 82592e117d151880c7536db78774091a530db997 Mon Sep 17 00:00:00 2001 From: backuppc Date: Thu, 15 Jan 2026 13:44:56 +0900 Subject: [PATCH] .. --- .../AGVMapEditor/Forms/MainForm.Designer.cs | 27 ++ .../AGVLogic/AGVMapEditor/Forms/MainForm.resx | 146 +++++----- .../PathFinding/Planning/AGVPathfinder.cs | 77 +++-- .../PathFinding/Planning/NodeMotorInfo.cs | 6 +- .../AGVSimulator/Forms/SimulatorForm.cs | 16 +- 경로계산백업.md | 273 ++++++++++++++++++ 6 files changed, 429 insertions(+), 116 deletions(-) diff --git a/Cs_HMI/AGVLogic/AGVMapEditor/Forms/MainForm.Designer.cs b/Cs_HMI/AGVLogic/AGVMapEditor/Forms/MainForm.Designer.cs index b1d854f..3afcd1e 100644 --- a/Cs_HMI/AGVLogic/AGVMapEditor/Forms/MainForm.Designer.cs +++ b/Cs_HMI/AGVLogic/AGVMapEditor/Forms/MainForm.Designer.cs @@ -67,6 +67,8 @@ namespace AGVMapEditor.Forms this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripButton1 = new System.Windows.Forms.ToolStripDropDownButton(); this.allTurnLeftRightCrossOnToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.tabPage2 = new System.Windows.Forms.TabPage(); + this.lstMagnetDirection = new System.Windows.Forms.ListBox(); this.statusStrip1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); @@ -78,6 +80,7 @@ namespace AGVMapEditor.Forms this.toolStrip1.SuspendLayout(); this.toolStrip3.SuspendLayout(); this.toolStrip2.SuspendLayout(); + this.tabPage2.SuspendLayout(); this.SuspendLayout(); // // statusStrip1 @@ -120,6 +123,7 @@ namespace AGVMapEditor.Forms // this.tabControl1.Controls.Add(this.tabPageNodes); this.tabControl1.Controls.Add(this.tabPage1); + this.tabControl1.Controls.Add(this.tabPage2); this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill; this.tabControl1.Location = new System.Drawing.Point(0, 0); this.tabControl1.Name = "tabControl1"; @@ -444,6 +448,26 @@ namespace AGVMapEditor.Forms this.allTurnLeftRightCrossOnToolStripMenuItem.Text = "All TurnLeft/Right/Cross On"; this.allTurnLeftRightCrossOnToolStripMenuItem.Click += new System.EventHandler(this.allTurnLeftRightCrossOnToolStripMenuItem_Click); // + // tabPage2 + // + this.tabPage2.Controls.Add(this.lstMagnetDirection); + this.tabPage2.Location = new System.Drawing.Point(4, 22); + this.tabPage2.Name = "tabPage2"; + this.tabPage2.Size = new System.Drawing.Size(292, 309); + this.tabPage2.TabIndex = 2; + this.tabPage2.Text = "방향 관리"; + this.tabPage2.UseVisualStyleBackColor = true; + // + // lstMagnetDirection + // + this.lstMagnetDirection.Dock = System.Windows.Forms.DockStyle.Fill; + this.lstMagnetDirection.FormattingEnabled = true; + this.lstMagnetDirection.ItemHeight = 12; + this.lstMagnetDirection.Location = new System.Drawing.Point(0, 0); + this.lstMagnetDirection.Name = "lstMagnetDirection"; + this.lstMagnetDirection.Size = new System.Drawing.Size(292, 309); + this.lstMagnetDirection.TabIndex = 3; + // // MainForm // this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F); @@ -475,6 +499,7 @@ namespace AGVMapEditor.Forms this.toolStrip3.PerformLayout(); this.toolStrip2.ResumeLayout(false); this.toolStrip2.PerformLayout(); + this.tabPage2.ResumeLayout(false); this.ResumeLayout(false); this.PerformLayout(); @@ -520,5 +545,7 @@ namespace AGVMapEditor.Forms private System.Windows.Forms.ToolStripSeparator toolStripSeparator2; private System.Windows.Forms.ToolStripDropDownButton toolStripButton1; private System.Windows.Forms.ToolStripMenuItem allTurnLeftRightCrossOnToolStripMenuItem; + private System.Windows.Forms.TabPage tabPage2; + private System.Windows.Forms.ListBox lstMagnetDirection; } } \ No newline at end of file diff --git a/Cs_HMI/AGVLogic/AGVMapEditor/Forms/MainForm.resx b/Cs_HMI/AGVLogic/AGVMapEditor/Forms/MainForm.resx index eed8d00..7d5244f 100644 --- a/Cs_HMI/AGVLogic/AGVMapEditor/Forms/MainForm.resx +++ b/Cs_HMI/AGVLogic/AGVMapEditor/Forms/MainForm.resx @@ -146,14 +146,14 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHrSURBVDhPldBLaBNBHMfx/0kUVBBJ0lxWPIhihBJKyAqS - pHkQIS+9hXg3RhQviicrITnmJqFnQQ8RqiamRqkhj6VCQtuIQaVQcxdq3d3s61Dy0w002KnU9nP67+x8 + pHkQIS+9hXg3RhQviicrITnmJqFnQQ8RqiamRqkhj6VCQtuIQaVQc5di3d3s61Dy0w002KnU9nP67+x8 h2GIDmD0kT+mLk/fZNf3pQkznCrM3DFnZflSRG05euast7izcpM72GGqMP1ZFRw1tXm+qq9dg9LiHgwb dnFYP51i9/6T0r4wp39Kwfh2F8bGI2irEYjvTmo/Gpbj7N4JpXNxShUcdbV1DvpaHMb3HNrP4uiVb2Cj cQtadxbSh6OQ3tM82+6iNLk5rXcd7ecJGIaB0WiE1dcp6F9v41eNvmxV6QzbTMjtKYtct9Wi0Si63S50 XUe/30fjaQTG+n1IVRpKb4lnuzFtyc4Nl06VE4kE0uk0CoUCSqUSqvOzMNYfYnORtqVFWhEr9JhtJ+Lx +DjmeR5+vx+xWAzqSgRy3Q65dgJbFeLYZmIndrvd8Pl8sFqt5pWfbL6hbalCl6Uy9cSXlGG7sWQyiXw+ P469Xi8sFgvMdblCV6RXVDNnvKAjPxfoKttSOBxGLpfbE+8QFyj09/cugUAA2WwWLpcLHo9nT7yvTCaD - wWAAp9OJUCh0uNhkHtDpdFAsFscPxv7/r2AweM+8ts1mO3z8x29OYwsb4/6fnQAAAABJRU5ErkJggg== + wWAAp9OJUCh0uNhkHtDpdFAsFscPxv7/r2AweM+8ts1mO3z8x29KrQsZMgRtMAAAAABJRU5ErkJggg== @@ -174,75 +174,75 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHISURBVDhPnZJfa9pgFMb7JXa7sW9RkH2y3awro5ddS3Et - u2vHRsRcBEw0iEHiYpSg+Hcm0blUtOocdOCWbEZ5xnnlTXFule2BEN7znuf3HJKz12630Wq10Gg0UK/X - UavVUK1WUalU6P1gb5eazSZWq9XWMxwOGUTX9fshlEyGwWDAkj3PiyBUsyzrfgiNTM2URudyuVyZz+cI - w5DVCWia5t8hlMobDcP4aRjGIAgCfL75DkOdsrt+v49CofBnCCXzkZfLJcj8ZRrg1aGLk6cO3mfWkF6v - h3w+D0VRNiGWZfmz2Yw1LRYLlhx/7uLyuI+3Zx7OD7sRxHVd5HK5TUipVHpimqY/na6b7PotS746+QTh - /HoL4jgOVFXdhBSLxZimaf5kMmFN3dZXxA8cvDm9g8QPXOjK+r7T6UCWZQiCcAfRdT2WzWb98Xi8BXkX - 9/D6qIeLow8IwyWbIp1OI5lMPooAJE3TYplMxh+NRhHk7JmNixddXJ128W0eRGZBEB5vmLlUVWUQ2kT2 - 4Zq3uHz5ET+CcLeZS5blWCqV8mkT+S8ms6Iou81ckiTtS5Lk04LZtv1vZi5RFPdFUfT/y8xFkEQi8fD3 - Otcvn84Wo7k6b1AAAAAASUVORK5CYII= + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHJSURBVDhPnZJfa9pgFMb7JXa7sW9RkH2y3awro5dbS7Et + u2vHRsRcBEw0QkTinyhB8e9MonOZ6NRZaME12YzyjPPKm+LcKtsDIbznPc/vOSRnr91uo9VqodFooF6v + o1aroVqtolKp0PvR3i41m02sVqutZzgcMoiu6w9DKJkMg8GAJbuuG0KoZprmwxAamZopjc7lcrkyn88R + BAGrE9AwjL9DKJU35vP5n4VCYeD7Pr59vUNBnbK7fr+PXC73Zwgl85GXyyXIfD31cXbo4Pi5jXxqDen1 + eshms1AUZRNimqY3m81Y02KxYMnRlw4uX/fx/tTF+WE3hDiOA03TNiGlUumZYRjedLpusuo3LPnq+DOE + 8y9bENu2oarqJqRYLEY0TfMmkwlr6rZuET2w8e7kHhI9cKAr6/tOpwNZliEIwj1E1/VIOp32xuPxFuRD + 1MXbox4ujj4iCJZsimQyiXg8/iQEkDKZTCSVSnmj0SiEnL6wcPGqi6uTLr7P/dAsCMLTDTOXqqoMQpvI + PlzzBpdvPuGHH+w2c8myHEkkEh5tIv/FZFYUZbeZS5KkfUmSPFowy7L+zcwliuK+KIref5m5CBKLxR7/ + Xuf6BYuvFpozmyYBAAAAAElFTkSuQmCC iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAG6SURBVDhPnZLditpQFIXnJXrb0rcYkD5YL4pMYS7bKaXM - O0TMRUp+ETM2EqMERY3BH0TE0ap4UQaZE/TksIZzhpPBOjPSLgghe+/1rQ3ZZ3Eco9frodvtotPpoN1u - o9Vqodls8vebs1OKogiMsaNnPp8LiOd5r0N4MjfMZjORPJ1OMwivhWH4OoSvzId5Gv9uNBrN7XYLSqmo - c2AQBC9DeKoc9H1/5/v+LEkS0D+/QWNb9CaTCarV6vMQnixXTtMU3Mzu1kitC6Q/P4LGluiNx2NUKhWY - pnkICcOQbDYbMbTf70VyaubB3C9gv76DWRcZZDQaoVwuH0Lq9fqHIAjIer1+hNy2RTK7uQKrXh9BhsMh - HMc5hNRqtZzrumS1Wj1CFhGokQe7+fYEMfOgkS76/X4fhmFAUZQniOd5uVKpRJbL5THE+wHmXOLeuARL - qdjCsiwUi8V3GYDLdd2cbdtksVhkkL3+Ccz+jKR8hR3ZZmZFUd4fmKUcxxEQfokCMu+Cul/Bdslps5Rh - GDld1wm/RPmLudk0zdNmKU3TzjVNI/zABoPBv5mlVFU9V1WV/JdZikMKhcLbv+tSD5T6HZWMaVplAAAA - AElFTkSuQmCC + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAG7SURBVDhPnZLditpQFIXnJXrb0rcYkD5YL4pMYS7bGUrp + O0TMRUp+hWRs/IkSFDUGfxARR6viRRmkJ+jJYZVzhpPB2o60C0LI3nt9a0P2RRzH6Pf76PV66Ha76HQ6 + aLfbaLVa/P3i4pyiKAJj7ORZLBYC4vv+8xCezA3z+Vwkz2azDMJrYRg+D+Er82Gexr+bzWZrt9uBUirq + HBgEwd8hPFUOVqvVfa1WmydJAvrjO2hsi950OkWlUvkzhCfLldM0BTezhw1S6wrp17egsSV6k8kE5XIZ + pmkeQ8IwJNvtVgwdDgeRnJp5MO8D2LdPYNZVBhmPx3Bd9xjSaDTeBEFANpvNI+S+I5LZ3Q1Y5csJZDQa + wXGcY0i9Xs+5rkvW6/UjZBmBGnmwu9sniJkHjXTRHwwGMAwDiqI8QXzfz5VKJbJarU4h/mcw5xo/jWuw + lIotLMtCsVh8lQG4PM/L2bZNlstlBjno78Ds90jcG+zJLjMrivL6yCzlOI6A8EsUkEUP1PsItk/Om6UM + w8jpuk74JcpfzM2maZ43S2madqlpGuEHNhwO/80sparqpaqq5L/MUhxSKBRe/l6X+gWA2x2MFEPZrwAA + AABJRU5ErkJggg== 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 - p9f2PJq/AD40i0VffXQ/AAAAAElFTkSuQmCC + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAL0SURBVDhPhdLdT1N3HMdx/oPdL16ZbDfGuJtll4vbfNrM + 3JxzOGMbQ3SZYzHLdMUyJuL0CB3lQCFAC5xVfGCtyqQIOGzVItOKBwpFfBgOkedA7WlP258E8b202Tol + e/gk36vf9/f6Jb/vN0vx9JYqbnVadqua1fn/JbtUzXFOLcv6K3UtN2cmJief6fE48YT4z5rTBTORGNWn + b0QyQOrlmB6nqnWM0tYghRd+wnnLhqv/e04Fi6j0W/i8wc7X9V2Y6oeYjQlkd5+WAcqcqpbSqy+MIbV3 + 4Oyx0TSwD0fPZ1TfyKEmsAdL52H21J7ErNxhRvsHIJYQ1LaPU9jWyOlgETWBXZT/ugOLfxvS1Wys/q8w + VvxAwfF7TGtJZHfvi4CWEDg6JjjocfKjWoDcbUC6spVDvs18d2kzkjcXg1yM0tTI3ZPZ/Hb+CMH6tQSr + VhjSQCQuqL84ieRpw+Y/Rll3DoW+jzD/somD3my+/TmPquP7mfKZ0AZaQZ8gMnAGf8n66TTwWBconVPY + 2vrJcylILXsp8e5C6txJvvsLrA25zA4WMj/WwtQVC8nQOZ4+vEZf7W6RlZptOCZweqfTSIUnyDdFBo5a + 30GyrKauYj3hwQIWk9dIPsglfPNL7jTmELR/MhewffBqGpiLCsyu9zE1bWTfqXex579OSNnC4Ik1PA4d + YFFcJzFsRDzaTmzITKhq47O+sjWvpT+x1HlLC0cF/uHLmeoONdN1fi9TPaY/LxsQo58SHcznQe17KMpZ + PTMFaxpIvgD4LhczdHE/i0k/YiSHJ492oIUOcL9mHeOjI8iu58ZY6VZHw5EoUV0QjT+hz9fI7TYz/e0y + 44GPSYxsJxzMY7juQ+Ymfmc2vcqBv1fZ0ayW2M/0dqWWIyW7it+G2EPu2rfgM79Md80GvEffXGxQPHrq + vPxsr+ZoVuUMsDSHja8szF+vZD5QTuDIak4Yl+kdphWrlvb9aza98ZKQjMsX2o9tWOgsfetqa97K5Ut7 + ns8f9tyLJQW2uh8AAAAASUVORK5CYII= @@ -263,16 +263,16 @@ iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 - YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHxSURBVDhP7Y7Ni1JhGMVvXadgWrWzRdQsU5BcRW4cR72E - H8FtoS6iFinWKwn2MaPdheJikIEJvGCuElpcaKOtTKUMdNxEZBut1Z1BipAiDZrSJvPEM5CYOP9BB154 - OOd3Di/H/ddEdrv9GGPsbiKR6OVyOUiS1GGMnWOMaSVJUsmjjBhi/ynrdLojTqdzI51Oo9vtQlVV1Go1 - xOPxbUmS6q1Wa0heo9EAMcRSZzJgNBovhsPhr+12u+fz+Z4KgjAKBAKQZRmxWAx0k0eZoigdYqkzPbCR - TCYHsiwHXS7Xoslk+latVtFsNlGv15HP50EeZcQQS53JgMFguBEMBvuZTOaOKIoVi8WyJwgCRFHcf3ST - RxkxxFJnMqDX68+43e53qVSqryjKl0KhgGw2i0gkgmg0un+X1xleXDr1+/nKAp4Ii3uPlo/enwxwHMeb - zeazDodjx+/374ZCoQFj7KfH47ni9XqtDy5bhm9un8eguInx2zK+P76FVyHd6JlVc3N65ECVbLz6o7gJ - yG5g7TiwvoTPG8soWvjtWXauSiua8fh1AdPqx7Ugf5adq4qNf7/78BoQ12K4yqG3yqFznUfZzn+YZedq - y3si8fLq6V8f15bwKbYA1X8I1QuaUcl2+N4se6C2vCejFSu/Q9+mH/0t/wFGlxos/Pd5kgAAAABJRU5E - rkJggg== + YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHvSURBVDhP7Y7Ni1JhGMVvXadgWrWzRQyzTEFyFa7U0Wvg + R3A3KgS1SLFeSbCPGe0uHFyMIEzgBXOVECi00VbOKGWg4yYiW4i1ujNIEVKkQVPaZJ7hGUhMnP+gAy88 + nPM7h5fj/msiQRDOMMbux2KxXjabhSRJHcbYJcaYWpIkhTzKiCH2n7JGoznlcDiSqVQK3W4XiqKgVqtR + YVeSpHqr1RqS12g0QAyx1JkM6PX6K6FQ6Fu73e55vd4tQRBGfr8fsiwjGo2CbvIoy+fzHWKpMz2QjMfj + A1mWA06nc9FgMHyvVqtoNpuo1+soFAogjzJiiKXOZECn090KBAL9dDp9TxTFitlsPrDZbBBF8ejRTR5l + xBBLncmAVqu94HK53icSiX4ul/taLBaRyWQQDocRiUSO7vIGw0tx6c+LlQU8sy0ePDGdfjgZ4DiONxqN + F+12+57P59sPBoMDxtgvt9t9zePxWB5dNQ3f3jVgUNrE+F0ZP57eweugZvTcoro9PXKstq288rO0Ccgu + YO0ssLGML0kTSmZ+d5adq60V1Xj8pohp9WNqkD/LzlXFyn/Yf3wDiKkxXOXQW+XQucmjLPAfZ9m52vGc + W391fen3p7VlfI4uQPGdQPWyarRtPflglj1WO57zkYqF36Nv04/+lg8BALcaCRX7gQ0AAAAASUVORK5C + YII= @@ -287,18 +287,18 @@ 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 diff --git a/Cs_HMI/AGVLogic/AGVNavigationCore/PathFinding/Planning/AGVPathfinder.cs b/Cs_HMI/AGVLogic/AGVNavigationCore/PathFinding/Planning/AGVPathfinder.cs index 78b42cd..80ef678 100644 --- a/Cs_HMI/AGVLogic/AGVNavigationCore/PathFinding/Planning/AGVPathfinder.cs +++ b/Cs_HMI/AGVLogic/AGVNavigationCore/PathFinding/Planning/AGVPathfinder.cs @@ -111,13 +111,13 @@ namespace AGVNavigationCore.PathFinding.Planning return null; } - + public AGVPathResult FindPathAStar(MapNode startNode, MapNode targetNode) { // 기본값으로 경로 탐색 (이전 위치 = 현재 위치, 방향 = 전진) return _basicPathfinder.FindPathAStar(startNode, targetNode); } - + /// /// 이 작업후에 MakeMagnetDirection 를 추가로 실행 하세요 @@ -140,6 +140,7 @@ namespace AGVNavigationCore.PathFinding.Planning if (!pathResult.Success) return AGVPathResult.CreateFailure(pathResult.ErrorMessage ?? "경로 없음", 0, 0); + // 3. 상세 데이터 생성 (갈림길 마그넷 방향 계산 포함) // 3. 상세 데이터 생성 (갈림길 마그넷 방향 계산 포함) if (pathResult.Path != null && pathResult.Path.Count > 0) { @@ -149,53 +150,51 @@ namespace AGVNavigationCore.PathFinding.Planning var node = pathResult.Path[i]; var nextNode = (i + 1 < pathResult.Path.Count) ? pathResult.Path[i + 1] : null; + // 마그넷 방향 계산 (갈림길인 경우) // 마그넷 방향 계산 (갈림길인 경우) MagnetDirection magnetDirection = MagnetDirection.Straight; - - if ((node.ConnectedNodes?.Count ?? 0) >= 2 && nextNode != null) - { - // 갈림길인 경우: 진입 방향과 진출 방향의 각도 계산 - //var prevNode = pathResult.Path[i - 1]; - //var nextNode = pathResult.Path[i + 1]; - - // 진입 각도 계산 (이전 노드 → 현재 노드) - //double entryAngle = Math.Atan2( - // node.Position.Y - prevNode.Position.Y, - // node.Position.X - prevNode.Position.X - //) * 180.0 / Math.PI; - - // 진출 각도 계산 (현재 노드 → 다음 노드) - double exitAngle = Math.Atan2( - nextNode.Position.Y - node.Position.Y, - nextNode.Position.X - node.Position.X - ) * 180.0 / Math.PI; - // 각도 차이 계산 (-180~180 범위로 정규화) - double angleDiff = exitAngle;// - entryAngle; - while (angleDiff > 180) angleDiff -= 360; - while (angleDiff < -180) angleDiff += 360; - - // 10도 이상 차이나면 좌/우회전 처리 - if (Math.Abs(angleDiff) >= 10) + //갈림길에 있다면 미리 방향을 저장해준다. + if ((node.ConnectedNodes?.Count ?? 0) > 2 && nextNode != null) + { + switch (node.RfidId) { - if (angleDiff > 0) - { - magnetDirection = MagnetDirection.Right; - } - else - { - magnetDirection = MagnetDirection.Left; - } + case 6: + if (nextNode.RfidId == 7) + magnetDirection = MagnetDirection.Left; + else if (nextNode.RfidId == 13) + magnetDirection = MagnetDirection.Right; + else + return AGVPathResult.CreateFailure($"{node.ID2}->{nextNode.ID2} 의 (목표)갈림길 방향이 입력되지 않았습니다", 0, 0); + break; + case 7: + if (nextNode.RfidId == 6) + magnetDirection = MagnetDirection.Right; + else + return AGVPathResult.CreateFailure( $"{node.ID2}->{nextNode.ID2} 의 (목표)갈림길 방향이 입력되지 않았습니다", 0, 0); + break; + case 13: + if (nextNode.RfidId == 6) + magnetDirection = MagnetDirection.Left; + else + return AGVPathResult.CreateFailure( $"{node.ID2}->{nextNode.ID2} 의 (목표)갈림길 방향이 입력되지 않았습니다", 0, 0); + break; + default: + return AGVPathResult.CreateFailure( $"{node.ID2}->{nextNode.ID2} 의 (시작)갈림길 방향이 입력되지 않았습니다", 0, 0); } } - var nodeInfo = new NodeMotorInfo(i + 1, node.Id, node.RfidId, prevDirection, nextNode.Id, magnetDirection); + var nodeInfo = new NodeMotorInfo(i + 1, node.Id, node.RfidId, prevDirection, nextNode, magnetDirection); // 속도 설정 var mapNode = _mapNodes.FirstOrDefault(n => n.Id == node.Id); - if (mapNode != null) nodeInfo.Speed = mapNode.SpeedLimit; + if (mapNode != null) + { + nodeInfo.Speed = mapNode.SpeedLimit; + detailedPath.Add(nodeInfo); + } + - detailedPath.Add(nodeInfo); } pathResult.DetailedPath = detailedPath; } @@ -203,7 +202,7 @@ namespace AGVNavigationCore.PathFinding.Planning return pathResult; } - + } diff --git a/Cs_HMI/AGVLogic/AGVNavigationCore/PathFinding/Planning/NodeMotorInfo.cs b/Cs_HMI/AGVLogic/AGVNavigationCore/PathFinding/Planning/NodeMotorInfo.cs index cda4182..6000d71 100644 --- a/Cs_HMI/AGVLogic/AGVNavigationCore/PathFinding/Planning/NodeMotorInfo.cs +++ b/Cs_HMI/AGVLogic/AGVNavigationCore/PathFinding/Planning/NodeMotorInfo.cs @@ -60,7 +60,7 @@ namespace AGVNavigationCore.PathFinding.Planning /// /// 다음 노드 ID (경로예측용) /// - public string NextNodeId { get; set; } + public MapNode NextNode { get; set; } /// /// 회전 가능 노드 여부 @@ -87,14 +87,14 @@ namespace AGVNavigationCore.PathFinding.Planning /// public string SpecialActionDescription { get; set; } - public NodeMotorInfo(int seqno,string nodeId,ushort rfid, AgvDirection motorDirection, string nextNodeId = null, MagnetDirection magnetDirection = MagnetDirection.Straight) + public NodeMotorInfo(int seqno,string nodeId,ushort rfid, AgvDirection motorDirection, MapNode nextNodeId = null, MagnetDirection magnetDirection = MagnetDirection.Straight) { seq = seqno; NodeId = nodeId; RfidId = rfid; MotorDirection = motorDirection; MagnetDirection = magnetDirection; - NextNodeId = nextNodeId; + NextNode = nextNodeId; CanRotate = false; IsDirectionChangePoint = false; RequiresSpecialAction = false; diff --git a/Cs_HMI/AGVLogic/AGVSimulator/Forms/SimulatorForm.cs b/Cs_HMI/AGVLogic/AGVSimulator/Forms/SimulatorForm.cs index 08d8e97..4d3b72e 100644 --- a/Cs_HMI/AGVLogic/AGVSimulator/Forms/SimulatorForm.cs +++ b/Cs_HMI/AGVLogic/AGVSimulator/Forms/SimulatorForm.cs @@ -1273,7 +1273,21 @@ namespace AGVSimulator.Forms { var info = advancedResult.DetailedPath[i]; var rfidId = GetRfidByNodeId(info.NodeId); - var nextRfidId = info.NextNodeId != null ? GetRfidByNodeId(info.NextNodeId).ToString("0000") : "-END-"; + + var nextRfidId = ""; + if (info.NextNode != null && info.NextNode.HasRfid()) + { + nextRfidId = info.NextNode.RfidId.ToString("0000"); + } + else if (info.NextNode != null) + { + nextRfidId = info.NextNode.Id; + } + else + { + nextRfidId = "-END-"; + } + var flags = new List(); if (info.CanRotate) flags.Add("회전가능"); diff --git a/경로계산백업.md b/경로계산백업.md index e69de29..97ba8d9 100644 --- a/경로계산백업.md +++ b/경로계산백업.md @@ -0,0 +1,273 @@ +ML 0001 0001 0001(FS) 0016(FS) 0012(FS) 0010(BL) 0012(BL) 0016(BS) 0001(BS) [MARKSTOP] +ML 0016 0001 0016(BS) 0001(BS) [MARKSTOP] +ML 0012 0001 0012(BS) 0016(BS) 0001(BS) [MARKSTOP] +ML 0010 0001 0010(BS) 0012(BS) 0016(BS) 0001(BS) [MARKSTOP] +ML 0009 0001 0009(BL) 0010(BS) 0012(BS) 0016(BS) 0001(BS) [MARKSTOP] +ML 0015 0001 0015(BS) 0009(BL) 0010(BS) 0012(BS) 0016(BS) 0001(BS) [MARKSTOP] +ML 0017 0001 0017(BS) 0009(BL) 0010(BS) 0012(BS) 0016(BS) 0001(BS) [MARKSTOP] +ML 0007 0001 0007(FR) 0009(BR) 0010(BL) 0012(BL) 0016(BS) 0001(BS) [MARKSTOP] +ML 0013 0001 [G1312ML] 0016(BS) 0001(BS) [MARKSTOP] +ML 0019 0001 0019(FS) [G1312ML] 0016(BS) 0001(BS) [MARKSTOP] +ML 0008 0001 0008(FS) 0019(FS) [G1312ML] 0016(BS) 0001(BS) [MARKSTOP] +ML 0011 0001 0011(BS) [G0601ML] [MARKSTOP] +ML 0006 0001 [G0601ML] [MARKSTOP] +ML 0005 0001 0005(BR) [G0601ML] [MARKSTOP] +ML 0003 0001 0003(BL) 0005(BR) [G0601ML] [MARKSTOP] +ML 0004 0001 0004(BL) 0003(BL) 0005(BR) [G0601ML] [MARKSTOP] +ML 0002 0001 0002(BS) 0004(BL) 0003(BL) 0005(BR) [G0601ML] [MARKSTOP] +ML 0034 0001 0034(BS) 0002(BS) 0004(BL) 0003(BL) 0005(BR) [G0601ML] [MARKSTOP] +ML 0033 0001 0033(BS) 0034(BS) 0002(BS) 0004(BL) 0003(BL) 0005(BR) [G0601ML] [MARKSTOP] +ML 0032 0001 0032(BS) 0033(BS) 0034(BS) 0002(BS) 0004(BL) 0003(BL) 0005(BR) [G0601ML] [MARKSTOP] +ML 0031 0001 0031(BS) 0032(BS) 0033(BS) 0034(BS) 0002(BS) 0004(BL) 0003(BL) 0005(BR) [G0601ML] [MARKSTOP] + + +ML 0001 0019 0001(FS) 0016(FS) [G1213ML] 0019(BS) [MARKSTOP] +ML 0016 0019 0016(FS) [G1213ML] 0019(BS) [MARKSTOP] +ML 0012 0019 [G1213ML] 0019(BS) [MARKSTOP] +ML 0010 0019 0010(FR) 0009(BR) 0007(BS) 0013(BL) 0019(BS) [MARKSTOP] +ML 0009 0019 0009(BR) 0007(BS) 0013(BL) 0019(BS) [MARKSTOP] +ML 0015 0019 0015(BS) 0009(BR) 0007(BS) 0013(BL) 0019(BS) [MARKSTOP] +ML 0017 0019 0017(BS) 0009(BR) 0007(BS) 0013(BL) 0019(BS) [MARKSTOP] +ML 0007 0019 0007(BS) 0013(BL) 0019(BS) [MARKSTOP] +ML 0013 0019 0013(BL) 0019(BS) [MARKSTOP] +ML 0019 0019 [동작없음] [MARKSTOP] +ML 0008 0019 0008(FS) 0019(BS) [MARKSTOP] +ML 0011 0019 0011(BS) 0006(BR) 0007(BS) 0013(BL) 0019(BS) [MARKSTOP] +ML 0006 0019 0006(BR) 0007(BS) 0013(BL) 0019(BS) [MARKSTOP] +ML 0005 0019 [G0519ML] [MARKSTOP] +ML 0003 0019 0003(BL) [G0519ML] [MARKSTOP] +ML 0004 0019 0004(BL) 0003(BL) [G0519ML] [MARKSTOP] +ML 0002 0019 0002(BS) 0004(BL) 0003(BL) [G0519ML] [MARKSTOP] +ML 0034 0019 0034(BS) 0002(BS) 0004(BL) 0003(BL) [G0519ML] [MARKSTOP] +ML 0033 0019 0033(BS) 0034(BS) 0002(BS) 0004(BL) 0003(BL) [G0519ML] [MARKSTOP] +ML 0032 0019 0032(BS) 0033(BS) 0034(BS) 0002(BS) 0004(BL) 0003(BL) [G0519ML] [MARKSTOP] +ML 0031 0019 0031(BS) 0032(BS) 0033(BS) 0034(BS) 0002(BS) 0004(BL) 0003(BL) [G0519ML] [MARKSTOP] + + + +ML 0001 0034 0001(FS) 0016(FS) 0012(FS) 0010(FR) 0009(BR) 0007(BS) 0006(BL) 0005(BL) 0003(BS) 0004(BS) 0002(BS) 0034 [MARKSTOP]0010(BS) 0012(BS) 0016(BS) 0001(BS) [MARKSTOP] + +ML 0001 0008 0001(FS) 0016(FS) [G1213ML] 0019(BR) 0008(BS) [MARKSTOP] +ML 0016 0008 0016(FS) [G1213ML] 0019(BR) 0008(BS) [MARKSTOP] +ML 0012 0008 [G1213ML] 0019(BR) 0008(BS) [MARKSTOP] +ML 0010 0008 0010(FR) 0009(BR) 0007(BS) 0013(BL) 0019(BR) 0008(BS) [MARKSTOP] +ML 0009 0008 0009(BR) 0007(BS) 0013(BL) 0019(BR) 0008(BS) [MARKSTOP] +ML 0015 0008 0015(BS) 0009(BR) 0007(BS) 0013(BL) 0019(BR) 0008(BS) [MARKSTOP] +ML 0017 0008 0017(BS) 0009(BR) 0007(BS) 0013(BL) 0019(BR) 0008(BS) [MARKSTOP] +ML 0007 0008 0007(BS) 0013(BL) 0019(BR) 0008(BS) [MARKSTOP] +ML 0013 0008 0013(BS) 0019(FS) 0008(BS) [MARKSTOP] +ML 0019 0008 0019(BS) 0008(BS) [MARKSTOP] +ML 0008 0008 [마크센서가 감지안되는 경우] 0008(FS) 0019(BS) 0008(BS) [MARKSTOP] +ML 0011 0008 0011(BS) 0006(BR) 0007(BS) 0013(BL) 0019(BR) 0008(BS) [MARKSTOP] +ML 0006 0008 0006(BR) 0007(BS) 0013(BL) 0019(BR) 0008(BS) [MARKSTOP] +ML 0005 0008 0005(BR) 0006(BR) 0007(BS) 0013(BL) 0019(BR) 0008(BS) [MARKSTOP] +ML 0003 0008 0003(BL) 0005(BR) 0006(BR) 0007(BS) 0013(BL) 0019(BR) 0008(BS) [MARKSTOP] +ML 0004 0008 0004(BL) 0003(BL) 0005(BR) 0006(BR) 0007(BS) 0013(BL) 0019(BR) 0008(BS) [MARKSTOP] +ML 0002 0008 0002(BS) 0004(BL) 0003(BL) 0005(BR) 0006(BR) 0007(BS) 0013(BL) 0019(BR) 0008(BS) [MARKSTOP] +ML 0034 0008 0034(BS) 0002(BS) 0004(BL) 0003(BL) 0005(BR) 0006(BR) 0007(BS) 0013(BL) 0019(BR) 0008(BS) [MARKSTOP] +ML 0033 0008 0033(BS) 0034(BS) 0002(BS) 0004(BL) 0003(BL) 0005(BR) 0006(BR) 0007(BS) 0013(BL) 0019(BR) 0008(BS) [MARKSTOP] +ML 0032 0008 0032(BS) 0033(BS) 0034(BS) 0002(BS) 0004(BL) 0003(BL) 0005(BR) 0006(BR) 0007(BS) 0013(BL) 0019(BR) 0008(BS) [MARKSTOP] +ML 0031 0008 0031(BS) 0032(BS) 0033(BS) 0034(BS) 0002(BS) 0004(BL) 0003(BL) 0005(BR) 0006(BR) 0007(BS) 0013(BL) 0019(BR) 0008(BS) [MARKSTOP] + +ML 0001 0015 0001(FS) 0016(FS) 0012(FS) 0010(FR) 0009(FS) 0015(FS) [MARKSTOP] +ML 0016 0015 0016(FS) 0012(FS) 0010(FR) 0009(FS) 0015(FS) [MARKSTOP] +ML 0012 0015 0012(FS) 0010(FR) 0009(FS) 0015(FS) [MARKSTOP] +ML 0010 0015 0010(FR) 0009(FS) 0015(FS) [MARKSTOP] +ML 0009 0015 0009(FS) 0015(FS) [MARKSTOP] +ML 0015 0015 [동작없음] [MARKSTOP] +ML 0017 0015 0017(BS) 0009(FS) 0015(FS) [MARKSTOP] +ML 0007 0015 0007(FL) 0009(FS) 0015(FS) [MARKSTOP] +ML 0013 0015 [G1309ML] 0015(FS) [MARKSTOP] +ML 0019 0015 0019(FS) [G1309ML] 0015(FS) [MARKSTOP] +ML 0008 0015 0008(FS) 0019(FS) [G1309ML] 0015(FS) [MARKSTOP] +ML 0011 0015 0011(BS) 0006(BR) 0007(FL) 0009(FS) 0015(FS) [MARKSTOP] +ML 0006 0015 0006(BR) 0007(FL) 0009(FS) 0015(FS) [MARKSTOP] +ML 0005 0015 0005(BR) 0006(BR) 0007(FL) 0009(FS) 0015(FS) [MARKSTOP] +ML 0003 0015 0003(BL) 0005(BR) 0006(BR) 0007(FL) 0009(FS) 0015(FS) [MARKSTOP] +ML 0004 0015 0004(BL) 0003(BL) 0005(BR) 0006(BR) 0007(FL) 0009(FS) 0015(FS) [MARKSTOP] +ML 0002 0015 0002(BS) 0004(BL) 0003(BL) 0005(BR) 0006(BR) 0007(FL) 0009(FS) 0015(FS) [MARKSTOP] +ML 0034 0015 0034(BS) 0002(BS) 0004(BL) 0003(BL) 0005(BR) 0006(BR) 0007(FL) 0009(FS) 0015(FS) [MARKSTOP] +ML 0033 0015 0033(BS) 0034(BS) 0002(BS) 0004(BL) 0003(BL) 0005(BR) 0006(BR) 0007(FL) 0009(FS) 0015(FS) [MARKSTOP] +ML 0032 0015 0032(BS) 0033(BS) 0034(BS) 0002(BS) 0004(BL) 0003(BL) 0005(BR) 0006(BR) 0007(FL) 0009(FS) 0015(FS) [MARKSTOP] +ML 0031 0015 0031(BS) 0032(BS) 0033(BS) 0034(BS) 0002(BS) 0004(BL) 0003(BL) 0005(BR) 0006(BR) 0007(FL) 0009(FS) 0015(FS) [MARKSTOP] + +ML 0001 0011 0001(FS) 0016(FS) 0012(FS) 0010(FR) 0009(BR) 0007(BS) 0006(BR) 0011(BS) [MARKSTOP] +ML 0016 0011 0016(FS) 0012(FS) 0010(FR) 0009(BR) 0007(BS) 0006(BR) 0011(BS) [MARKSTOP] +ML 0012 0011 0012(FS) 0010(FR) 0009(BR) 0007(BS) 0006(BR) 0011(BS) [MARKSTOP] +ML 0010 0011 0010(FR) 0009(BR) 0007(BS) 0006(BR) 0011(BS) [MARKSTOP] +ML 0009 0011 0009(BR) 0007(BS) 0006(BR) 0011(BS) [MARKSTOP] +ML 0015 0011 0015(BS) 0009(BR) 0007(BS) 0006(BR) 0011(BS) [MARKSTOP] +ML 0017 0011 0017(BS) 0009(BR) 0007(BS) 0006(BR) 0011(BS) [MARKSTOP] +ML 0007 0011 0007(BS) 0006(BR) 0011(BS) [MARKSTOP] +ML 0013 0011 0013(BS) 0007(FR) 0006(BR) 0011(BS) [MARKSTOP] +ML 0019 0011 0019(FS) 0013(BS) 0007(FR) 0006(BR) 0011(BS) [MARKSTOP] +ML 0008 0011 0008(FS) 0019(FS) 0013(BS) 0007(FR) 0006(BR) 0011(BS) [MARKSTOP] +ML 0011 0011 [동작없음] [MARKSTOP] +ML 0006 0011 0006(BR) 0011(BS) [MARKSTOP] +ML 0005 0011 0005(BR) 0006(BR) 0011(BS) [MARKSTOP] +ML 0003 0011 0003(BL) 0005(BR) 0006(BR) 0011(BS) [MARKSTOP] +ML 0004 0011 0004(BL) 0003(BL) 0005(BR) 0006(BR) 0011(BS) [MARKSTOP] +ML 0002 0011 0002(BS) 0004(BL) 0003(BL) 0005(BR) 0006(BR) 0011(BS) [MARKSTOP] +ML 0034 0011 0034(BS) 0002(BS) 0004(BL) 0003(BL) 0005(BR) 0006(BR) 0011(BS) [MARKSTOP] +ML 0033 0011 0033(BS) 0034(BS) 0002(BS) 0004(BL) 0003(BL) 0005(BR) 0006(BR) 0011(BS) [MARKSTOP] +ML 0032 0011 0032(BS) 0033(BS) 0034(BS) 0002(BS) 0004(BL) 0003(BL) 0005(BR) 0006(BR) 0011(BS) [MARKSTOP] +ML 0031 0011 0031(BS) 0032(BS) 0033(BS) 0034(BS) 0002(BS) 0004(BL) 0003(BL) 0005(BR) 0006(BR) 0011(BS) [MARKSTOP] + + +ML 0001 0019 0001(FS) 0016(FS) [G1213ML] 0019(BS) [MARKSTOP] +ML 0016 0019 0016(FS) [G1213ML] 0019(BS) [MARKSTOP] +ML 0012 0019 [G1213ML] 0019(BS) [MARKSTOP] +ML 0010 0019 0010(FR) 0009(BR) 0007(BS) 0013(BL) 0019(BS) [MARKSTOP] +ML 0009 0019 0009(BR) 0007(BS) 0013(BL) 0019(BS) [MARKSTOP] +ML 0015 0019 0015(BS) 0009(BR) 0007(BS) 0013(BL) 0019(BS) [MARKSTOP] +ML 0017 0019 0017(BS) 0009(BR) 0007(BS) 0013(BL) 0019(BS) [MARKSTOP] +ML 0007 0019 0007(BS) 0013(BL) 0019(BS) [MARKSTOP] +ML 0013 0019 0013(BL) 0019(BS) [MARKSTOP] +ML 0019 0019 [동작없음] [MARKSTOP] +ML 0008 0019 0008(FS) 0019(BS) [MARKSTOP] +ML 0011 0019 0011(BS) 0006(BR) 0007(BS) 0013(BL) 0019(BS) [MARKSTOP] +ML 0006 0019 0006(BR) 0007(BS) 0013(BL) 0019(BS) [MARKSTOP] +ML 0005 0019 [G0519ML] [MARKSTOP] +ML 0003 0019 0003(BL) [G0519ML] [MARKSTOP] +ML 0004 0019 0004(BL) 0003(BL) [G0519ML] [MARKSTOP] +ML 0002 0019 0002(BS) 0004(BL) 0003(BL) [G0519ML] [MARKSTOP] +ML 0034 0019 0034(BS) 0002(BS) 0004(BL) 0003(BL) [G0519ML] [MARKSTOP] +ML 0033 0019 0033(BS) 0034(BS) 0002(BS) 0004(BL) 0003(BL) [G0519ML] [MARKSTOP] +ML 0032 0019 0032(BS) 0033(BS) 0034(BS) 0002(BS) 0004(BL) 0003(BL) [G0519ML] [MARKSTOP] +ML 0031 0019 0031(BS) 0032(BS) 0033(BS) 0034(BS) 0002(BS) 0004(BL) 0003(BL) [G0519ML] [MARKSTOP] + + +ML 0001 0034 0001(FS) 0016(FS) 0012(FS) 0010(FR) 0009(BR) 0007(BS) 0006(BL) 0005(BL) 0003(BS) 0004(BS) 0002(BS) 0034 [MARKSTOP] +ML 0016 0034 0016(FS) 0012(FS) 0010(FR) 0009(BR) 0007(BS) 0006(BL) 0005(BL) 0003(BS) 0004(BS) 0002(BS) 0034 [MARKSTOP] +ML 0012 0034 0012(FS) 0010(FR) 0009(BR) 0007(BS) 0006(BL) 0005(BL) 0003(BS) 0004(BS) 0002(BS) 0034 [MARKSTOP] +ML 0010 0034 0010(FR) 0009(BR) 0007(BS) 0006(BL) 0005(BL) 0003(BS) 0004(BS) 0002(BS) 0034 [MARKSTOP] +ML 0009 0034 0009(BR) 0007(BS) 0006(BL) 0005(BL) 0003(BS) 0004(BS) 0002(BS) 0034 [MARKSTOP] +ML 0015 0034 0015(BS) 0009(BR) 0007(BS) 0006(BL) 0005(BL) 0003(BS) 0004(BS) 0002(BS) 0034 [MARKSTOP] +ML 0017 0034 0017(BS) 0009(BR) 0007(BS) 0006(BL) 0005(BL) 0003(BS) 0004(BS) 0002(BS) 0034 [MARKSTOP] +ML 0007 0034 0007(BS) 0006(BL) 0005(BL) 0003(BS) 0004(BS) 0002(BS) 0034 [MARKSTOP] +ML 0013 0034 0013(BS) 0007(FR) 0006(BL) 0005(BL) 0003(BS) 0004(BS) 0002(BS) 0034 [MARKSTOP] +ML 0019 0034 0019(FS) 0013(BS) 0007(FR) 0006(BL) 0005(BL) 0003(BS) 0004(BS) 0002(BS) 0034 [MARKSTOP] +ML 0008 0034 0008(FS) 0019(FS) 0013(BS) 0007(FR) 0006(BL) 0005(BL) 0003(BS) 0004(BS) 0002(BS) 0034 [MARKSTOP] +ML 0011 0034 0011(BS) 0006(FR) 0005(BL) 0003(BS) 0004(BS) 0002(BS) 0034 [MARKSTOP] +ML 0006 0034 0006(FR) 0005(BL) 0003(BS) 0004(BS) 0002(BS) 0034 [MARKSTOP] +ML 0005 0034 0005(BL) 0003(BS) 0004(BS) 0002(BS) 0034 [MARKSTOP] +ML 0003 0034 0003(BS) 0004(BS) 0002(BS) 0034 [MARKSTOP] +ML 0004 0034 0004(BS) 0002(BS) 0034 [MARKSTOP] +ML 0002 0034 0002(BS) 0034 [MARKSTOP] +ML 0034 0034 [동작없음] [MARKSTOP] +ML 0033 0034 0033(FS) 0034 [MARKSTOP] +ML 0032 0034 0032(FS) 0033(FS) 0034 [MARKSTOP] +ML 0031 0034 0031(FS) 0032(FS) 0033(FS) 0034 [MARKSTOP] + + + +MR 0001 0001 0001(BS) 0016(BS) 0012(BS) 0010(FS) 0012(BS) 0016(BS) 0001(BS) [MARKSTOP] +MR 0016 0001 0016(FS) 0001(BS) [MARKSTOP] +MR 0012 0001 0012(FS) 0016(FS) 0001(BS) [MARKSTOP] +MR 0010 0001 0010(BS) 0012(BS) 0016(BS) 0001(BS) [MARKSTOP] +MR 0009 0001 0009(FR) 0007(BS) 0010(BS) 0012(BS) 0016(BS) 0001(BS) [MARKSTOP] +MR 0015 0001 0015(BS) 0009(FR) 0007(BS) 0010(BS) 0012(BS) 0016(BS) 0001(BS) [MARKSTOP] +MR 0017 0001 0017(FS) 0009(FR) 0007(BS) 0010(BS) 0012(BS) 0016(BS) 0001(BS) [MARKSTOP] +MR 0007 0001 0007(BS) 0010(BS) 0012(BS) 0016(BS) 0001(BS) [MARKSTOP] +MR 0013 0001 [G1312MR] 0016(BS) 0001(BS) [MARKSTOP] +MR 0019 0001 0019(BS) [G1312MR] 0016(BS) 0001(BS) [MARKSTOP] +MR 0008 0001 0008(BS) 0019(BS) [G1312MR] 0016(BS) 0001(BS) [MARKSTOP] +MR 0011 0001 0011(FS) 0006(FR) 0013(BL) 0007(BS) 0010(BS) 0012(BS) 0016(BS) 0001(BS) [MARKSTOP] +MR 0006 0001 0006(FR) 0013(BL) 0007(BS) 0010(BS) 0012(BS) 0016(BS) 0001(BS) [MARKSTOP] +MR 0005 0001 0005(FR) 0006(FR) 0013(BL) 0007(BS) 0010(BS) 0012(BS) 0016(BS) 0001(BS) [MARKSTOP] +MR 0003 0001 0003(FL) 0005(FR) 0006(FR) 0013(BL) 0007(BS) 0010(BS) 0012(BS) 0016(BS) 0001(BS) [MARKSTOP] +MR 0004 0001 0004(FL) 0003(FL) 0005(FR) 0006(FR) 0013(BL) 0007(BS) 0010(BS) 0012(BS) 0016(BS) 0001(BS) [MARKSTOP] +MR 0002 0001 0002(FS) 0004(FL) 0003(FL) 0005(FR) 0006(FR) 0013(BL) 0007(BS) 0010(BS) 0012(BS) 0016(BS) 0001(BS) [MARKSTOP] +MR 0034 0001 0034(FS) 0002(FS) 0004(FL) 0003(FL) 0005(FR) 0006(FR) 0013(BL) 0007(BS) 0010(BS) 0012(BS) 0016(BS) 0001(BS) [MARKSTOP] +MR 0033 0001 0033(FS) 0034(FS) 0002(FS) 0004(FL) 0003(FL) 0005(FR) 0006(FR) 0013(BL) 0007(BS) 0010(BS) 0012(BS) 0016(BS) 0001(BS) [MARKSTOP] +MR 0032 0001 0032(FS) 0033(FS) 0034(FS) 0002(FS) 0004(FL) 0003(FL) 0005(FR) 0006(FR) 0013(BL) 0007(BS) 0010(BS) 0012(BS) 0016(BS) 0001(BS) [MARKSTOP] +MR 0031 0001 0031(FS) 0032(FS) 0033(FS) 0034(FS) 0002(FS) 0004(FL) 0003(FL) 0005(FR) 0006(FR) 0013(BL) 0007(BS) 0010(BS) 0012(BS) 0016(BS) 0001(BS) [MARKSTOP] + +MR 0001 0019 [G1610MR] 0007(BS) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0016 0019 0016(BS) 0012(BS) 0010(BL) 0007(BS) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0012 0019 0012(BS) 0010(BL) 0007(BS) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0010 0019 0010(BL) 0007(BS) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0009 0019 0009(FR) 0007(BS) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0015 0019 0015(BS) 0009(FR) 0007(BS) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0017 0019 0017(FS) 0009(FR) 0007(BS) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0007 0019 0007(BS) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0013 0019 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0019 0019 [동작없음] [MARKSTOP] +MR 0008 0019 0008(BS) 0019(BS) [MARKSTOP] +MR 0011 0019 0011(FS) 0006(FR) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0006 0019 0006(FR) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0005 0019 0005(FR) 0006(FR) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0003 0019 0003(FL) 0005(FR) 0006(FR) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0004 0019 0004(FL) 0003(FL) 0005(FR) 0006(FR) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0002 0019 0002(FS) 0004(FL) 0003(FL) 0005(FR) 0006(FR) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0034 0019 0034(FS) 0002(FS) 0004(FL) 0003(FL) 0005(FR) 0006(FR) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0033 0019 0033(FS) 0034(FS) 0002(FS) 0004(FL) 0003(FL) 0005(FR) 0006(FR) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0032 0019 0032(FS) 0033(FS) 0034(FS) 0002(FS) 0004(FL) 0003(FL) 0005(FR) 0006(FR) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0031 0019 0031(FS) 0032(FS) 0033(FS) 0034(FS) 0002(FS) 0004(FL) 0003(FL) 0005(FR) 0006(FR) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] + +MR 0001 0011 [G1610MR] 0007(BS) 0006(BR) 0011(BS) [MARKSTOP] +MR 0016 0011 0016(BS) 0012(BS) 0010(BL) 0007(BS) 0006(BR) 0011(BS) [MARKSTOP] +MR 0012 0011 0012(BS) 0010(BL) 0007(BS) 0006(BR) 0011(BS) [MARKSTOP] +MR 0010 0011 0010(BL) 0007(BS) 0006(BR) 0011(BS) [MARKSTOP] +MR 0009 0011 0009(FR) 0007(BS) 0006(BR) 0011(BS) [MARKSTOP] +MR 0015 0011 0015(BS) 0009(FR) 0007(BS) 0006(BR) 0011(BS) [MARKSTOP] +MR 0017 0011 0017(FS) 0009(FR) 0007(BS) 0006(BR) 0011(BS) [MARKSTOP] +MR 0007 0011 0007(BS) 0006(BR) 0011(BS) [MARKSTOP] +MR 0013 0011 0013(BS) 0007(FR) 0006(BR) 0011(BS) [MARKSTOP] +MR 0019 0011 0019(BS) 0013(BS) 0007(FR) 0006(BR) 0011(BS) [MARKSTOP] +MR 0008 0011 0008(BS) 0019(BS) 0013(BS) 0007(FR) 0006(BR) 0011(BS) [MARKSTOP] +MR 0011 0011 [동작없음] [MARKSTOP] +MR 0006 0011 0006(BR) 0011(BS) [MARKSTOP] +MR 0005 0011 0005(FR) 0006(BR) 0011(BS) [MARKSTOP] +MR 0003 0011 0003(FL) 0005(FR) 0006(BR) 0011(BS) [MARKSTOP] +MR 0004 0011 0004(FL) 0003(FL) 0005(FR) 0006(BR) 0011(BS) [MARKSTOP] +MR 0002 0011 0002(FS) 0004(FL) 0003(FL) 0005(FR) 0006(BR) 0011(BS) [MARKSTOP] +MR 0034 0011 0034(FS) 0002(FS) 0004(FL) 0003(FL) 0005(FR) 0006(BR) 0011(BS) [MARKSTOP] +MR 0033 0011 0033(FS) 0034(FS) 0002(FS) 0004(FL) 0003(FL) 0005(FR) 0006(BR) 0011(BS) [MARKSTOP] +MR 0032 0011 0032(FS) 0033(FS) 0034(FS) 0002(FS) 0004(FL) 0003(FL) 0005(FR) 0006(BR) 0011(BS) [MARKSTOP] +MR 0031 0011 0031(FS) 0032(FS) 0033(FS) 0034(FS) 0002(FS) 0004(FL) 0003(FL) 0005(FR) 0006(BR) 0011(BS) [MARKSTOP] + + +MR 0001 0019 [G1610MR] 0007(BS) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0016 0019 0016(BS) 0012(BS) 0010(BL) 0007(BS) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0012 0019 0012(BS) 0010(BL) 0007(BS) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0010 0019 0010(BL) 0007(BS) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0009 0019 0009(FR) 0007(BS) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0015 0019 0015(BS) 0009(FR) 0007(BS) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0017 0019 0017(FS) 0009(FR) 0007(BS) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0007 0019 0007(BS) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0013 0019 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0019 0019 [동작없음] [MARKSTOP] +MR 0008 0019 0008(BS) 0019(BS) [MARKSTOP] +MR 0011 0019 0011(FS) 0006(FR) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0006 0019 0006(FR) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0005 0019 0005(FR) 0006(FR) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0003 0019 0003(FL) 0005(FR) 0006(FR) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0004 0019 0004(FL) 0003(FL) 0005(FR) 0006(FR) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0002 0019 0002(FS) 0004(FL) 0003(FL) 0005(FR) 0006(FR) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0034 0019 0034(FS) 0002(FS) 0004(FL) 0003(FL) 0005(FR) 0006(FR) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0033 0019 0033(FS) 0034(FS) 0002(FS) 0004(FL) 0003(FL) 0005(FR) 0006(FR) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0032 0019 0032(FS) 0033(FS) 0034(FS) 0002(FS) 0004(FL) 0003(FL) 0005(FR) 0006(FR) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] +MR 0031 0019 0031(FS) 0032(FS) 0033(FS) 0034(FS) 0002(FS) 0004(FL) 0003(FL) 0005(FR) 0006(FR) 0013(BS) 0007(FR) 0006(BR) 0013(BS) 0019(BS) [MARKSTOP] + +MR 0001 0034 [G1610MR] 0007(BS) 0006(BL) 0005(BL) 0003(BS) 0004(BS) 0002(FS) 0034(BS) [MARKSTOP] +MR 0016 0034 0016(BS) 0012(BS) 0010(BL) 0007(BS) 0006(BL) 0005(BL) 0003(BS) 0004(BS) 0002(FS) 0034(BS) [MARKSTOP] +MR 0012 0034 0012(BS) 0010(BL) 0007(BS) 0006(BL) 0005(BL) 0003(BS) 0004(BS) 0002(FS) 0034(BS) [MARKSTOP] +MR 0010 0034 0010(BL) 0007(BS) 0006(BL) 0005(BL) 0003(BS) 0004(BS) 0002(FS) 0034(BS) [MARKSTOP] +MR 0009 0034 0009(FR) 0007(BS) 0006(BL) 0005(BL) 0003(BS) 0004(BS) 0002(FS) 0034(BS) [MARKSTOP] +MR 0015 0034 0015(BS) 0009(FR) 0007(BS) 0006(BL) 0005(BL) 0003(BS) 0004(BS) 0002(FS) 0034(BS) [MARKSTOP] +MR 0017 0034 0017(FS) 0009(FR) 0007(BS) 0006(BL) 0005(BL) 0003(BS) 0004(BS) 0002(FS) 0034(BS) [MARKSTOP] +MR 0007 0034 0007(BS) 0006(BL) 0005(BL) 0003(BS) 0004(BS) 0002(FS) 0034(BS) [MARKSTOP] +MR 0013 0034 0013(BS) 0007(FR) 0006(BL) 0005(BL) 0003(BS) 0004(BS) 0002(FS) 0034(BS) [MARKSTOP] +MR 0019 0034 0019(BS) 0013(BS) 0007(FR) 0006(BL) 0005(BL) 0003(BS) 0004(BS) 0002(FS) 0034(BS) [MARKSTOP] +MR 0008 0034 0008(BS) 0019(BS) 0013(BS) 0007(FR) 0006(BL) 0005(BL) 0003(BS) 0004(BS) 0002(FS) 0034(BS) [MARKSTOP] +MR 0011 0034 0011(FS) 0006(FR) 0005(BL) 0003(BS) 0004(BS) 0002(FS) 0034(BS) [MARKSTOP] +MR 0006 0034 0006(FR) 0005(BL) 0003(BS) 0004(BS) 0002(FS) 0034(BS) [MARKSTOP] +MR 0005 0034 0005(BL) 0003(BS) 0004(BS) 0002(FS) 0034(BS) [MARKSTOP] +MR 0003 0034 0003(BS) 0004(BS) 0002(FS) 0034(BS) [MARKSTOP] +MR 0004 0034 0004(BS) 0002(FS) 0034(BS) [MARKSTOP] +MR 0002 0034 0002(FS) 0034(BS) [MARKSTOP] +MR 0034 0034 [동작없음] [MARKSTOP] +MR 0033 0034 0033(BS) 0034(BS) [MARKSTOP] +MR 0032 0034 0032(BS) 0033(BS) 0034(BS) [MARKSTOP] +MR 0031 0034 0031(BS) 0032(BS) 0033(BS) 0034(BS) [MARKSTOP] \ No newline at end of file