재시작관련 코드 업데이트
This commit is contained in:
@@ -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)
|
||||
{
|
||||
//턴작업이완료되었을때 발생된다.
|
||||
|
||||
Reference in New Issue
Block a user