에뮬레이터 개발 전.

This commit is contained in:
backuppc
2025-12-12 14:29:06 +09:00
parent ee2a6f04bb
commit 07ddc0425f
35 changed files with 952 additions and 1242 deletions

View File

@@ -94,7 +94,14 @@ namespace Project
else return false;
}
public static void Speak(string m, Boolean force = false, bool addlog = true)
/// <summary>
/// 스피커를 통한 음성을 출력합니다
/// 출력되는 음성은 기본로그에도 자동 포함됩니다
/// </summary>
/// <param name="m"></param>
/// <param name="force"></param>
/// <param name="addlog">로그에도 출력 합니다</param>
public static void Speak(string m, Boolean force = false, bool addlog = true,string logcate="")
{
if (force == false && PUB.setting.Enable_Speak == false)
{
@@ -105,7 +112,11 @@ namespace Project
voice.SpeakAsyncCancelAll();
if (voice.State == SynthesizerState.Ready)
voice.SpeakAsync(m);
if (addlog) PUB.log.Add("SPEAK", m);
if (addlog)
{
if (logcate.isEmpty()) logcate = "SPEAK";
PUB.log.Add(logcate, m);
}
}
/// <summary>
@@ -150,7 +161,7 @@ namespace Project
public static AR.Log log, logagv, logplc, logbms, logxbee;
public static Boolean bPlayMusic = false;
/// <summary>
/// 사용자 인풋 감지 시간
@@ -382,6 +393,9 @@ namespace Project
return Lang.AGV연결실패;
case eECode.PLCCONN:
return Lang.PLC통신실패;
case eECode.MESSAGE_ERROR:
if (values.Length > 0) return values[0].ToString();
return "Message Error";
default:
return err.ToString();
@@ -582,7 +596,33 @@ namespace Project
}
#region VirtualAGV
public static MapNode FindByNodeID(string nodeidx)
{
if (_mapNodes == null || _mapNodes.Any() == false) return null;
if (nodeidx.isEmpty()) return null;
return _mapNodes.Where(t => t.NodeId.Equals(nodeidx)).FirstOrDefault();
}
public static MapNode FindByRFID(string rfidValue)
{
if (_mapNodes == null || _mapNodes.Any() == false) return null;
if (rfidValue.isEmpty()) return null;
return _mapNodes.Where(t => t.RfidId.Equals(rfidValue)).FirstOrDefault();
}
public static List<MapNode> FindByNodeAlias(string alias)
{
if (_mapNodes == null || _mapNodes.Any() == false) return null;
if (alias.isEmpty()) return null;
var lst = _mapNodes.Where(t => t.NodeAlias.Equals(alias));
if (lst.Any() == false) return null;
return lst.ToList();
}
public static List<MapNode> FindByNodeType(AGVNavigationCore.Models.MapNode type)
{
if (_mapNodes == null || _mapNodes.Any() == false) return null;
var lst = _mapNodes.Where(t => t.Type.Equals(type));
if (lst.Any() == false) return null;
return lst.ToList();
}
/// <summary>
/// RFID 읽기 시 해당 노드 위치로 AGV 업데이트
/// </summary>