123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- using System;
- using System.IO;
- using System.Reflection;
- using Aitex.Core.RT.DataCenter;
- using Aitex.Core.Util;
- using Aitex.Sorter.Common;
- using Aitex.Sorter.RT.EFEMs.Servers;
- using MECF.Framework.Common.Equipment;
- using MECF.Framework.Common.SubstrateTrackings;
- namespace Aitex.Sorter.RT.EFEMs.Tasks
- {
- public class QueryStateTask : CheckImp, ITask
- {
- public QueryStateTask()
- {
- }
- public bool Execute(out string result, params string[] args)
- {
- string device = DeviceName.System;
- if (args[0]!="VER" && args[0]!="TRACK" && !args[0].StartsWith("PRS") && !args[0].StartsWith("FFU") && !args[0].StartsWith("INF"))
- {
- result = PARAM_NG;
- return false;
- }
- if (!Check<NoReadyPolicy>(device, out result))
- {
- return false;
- }
- if (!Check<MaintenancePolicy>(device, out result))
- {
- return false;
- }
-
- return true;
- }
- public bool? Monitor(out string result, params string[] args)
- {
- result = string.Empty;
- if(args.Length < 1)
- {
- return false;
- }
- switch (args[0])
- {
- case "VER":
- Assembly assembly = Assembly.GetExecutingAssembly();
- string version = Assembly.GetExecutingAssembly().GetName().Version.ToString();
- DateTime lastModified = DateTime.Now;
- if (!string.IsNullOrEmpty(assembly.Location))
- {
- FileInfo fileInfo = new FileInfo(assembly.Location);
- lastModified = fileInfo.LastWriteTime;
- }
- result = string.Format("{0}({1}-{2}-{3})", version, lastModified.Year, lastModified.Month, lastModified.Day);
- break;
- case "TRACK":
- //var aligner = WaferManager.Instance.CheckHasWafer(ModuleName.Aligner, 0) ? "1" : "0";
- //var up = WaferManager.Instance.CheckHasWafer(ModuleName.Robot, 1) ? "1" : "0";
- //var low = WaferManager.Instance.CheckHasWafer(ModuleName.Robot, 0) ? "1" : "0";
- //result = $"{up}{low}{aligner}";
- result = Singleton<EfemEntity>.Instance.EfemDevice.GetStateTrack();
- break;
- case "INF1":
- object value = DATA.Poll("System.MeterDifferencePressure.Feedback");
- if (value != null)
- {
- result = $"{value}";
- }
- else
- result = $"0.0";
- break;
- case "INF2":
- value = DATA.Poll("FfuAAF1.Speed");
- if (value != null)
- {
- result = $"{value}";
- }
- else
- result = $"0.0";
- break;
- case "INF3":
- value = DATA.Poll("FfuAAF2.Speed");
- if (value != null)
- {
- result += $"{value}";
- }
- else
- result += $"0.0";
- break;
- case "INF4":
- result = $"0.0";
- break;
- case "PRS1":
- value = DATA.Poll("System.MeterDifferencePressure.Feedback");
- if (value != null)
- {
- result = $"1|{value}";
- }
- else
- result = $"1|0.0";
- break;
- case "PRS2":
- value = DATA.Poll("System.MeterDifferencePressure.Feedback");
- if (value != null)
- {
- result = $"2|{value}";
- }
- else
- result = $"2|0.0";
- break;
- case "PRS3":
- value = DATA.Poll("System.MeterDifferencePressure.Feedback");
- if (value != null)
- {
- result = $"3|{value}";
- }
- else
- result = $"3|0.0";
- break;
- case "PRS4":
- value = DATA.Poll("System.MeterDifferencePressure.Feedback");
- if (value != null)
- {
- result = $"4|{value}";
- }
- else
- result = $"4|0.0";
- break;
- case "FFU1":
- value = DATA.Poll("FfuAAF1.Speed");
- if (value != null)
- {
- result = $"1|{value}";
- }
- else
- result = $"1|0.0";
- break;
- case "FFU2":
- value = DATA.Poll("FfuAAF2.Speed");
- if (value != null)
- {
- result += $"2|{value}";
- }
- else
- result += $"2|0.0";
- break;
- default:
- break;
- }
- return true;
-
- }
- }
- }
|