재시작관련 코드 업데이트

This commit is contained in:
backuppc
2026-02-26 11:27:07 +09:00
parent c067a76462
commit 8beaa66516
8 changed files with 234 additions and 34 deletions

View File

@@ -16,6 +16,56 @@ namespace Project
public partial class fMain
{
public int GetBufferIndex(MapNode node)
{
if (node == null) return 0;
string name = node.AliasName;
if (string.IsNullOrEmpty(name)) name = node.Id;
if (name.Contains("Buffer") || name.ToUpper().StartsWith("B"))
{
var match = System.Text.RegularExpressions.Regex.Match(name, @"\d+");
if (match.Success)
{
int.TryParse(match.Value, out int idx);
if (idx >= 1 && idx <= 6) return idx;
}
}
return 0;
}
public void SaveBufferStep(MapNode node, int step, ENIGProtocol.AGVCommandHE cmd)
{
int bufIdx = GetBufferIndex(node);
if (bufIdx > 0)
{
try
{
var stepVar = (eVarInt32)Enum.Parse(typeof(eVarInt32), $"Buffer{bufIdx}Step");
var cmdVar = (eVarString)Enum.Parse(typeof(eVarString), $"Buffer{bufIdx}LastCmd");
VAR.I32[stepVar] = step;
VAR.STR[cmdVar] = cmd.ToString();
}
catch { }
}
}
public void ClearBufferStep(MapNode node)
{
int bufIdx = GetBufferIndex(node);
if (bufIdx > 0)
{
try
{
var stepVar = (eVarInt32)Enum.Parse(typeof(eVarInt32), $"Buffer{bufIdx}Step");
var cmdVar = (eVarString)Enum.Parse(typeof(eVarString), $"Buffer{bufIdx}LastCmd");
VAR.I32[stepVar] = 0;
VAR.STR[cmdVar] = "";
}
catch { }
}
}
private void AGV_TurnComplete(object sender, arDev.Narumi.TurnEventArgs e)
{
//턴작업이완료되었을때 발생된다.