IEntity.cs 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using MECF.Framework.Common.Equipment;
  2. using MECF.Framework.Common.WaferHolder;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. namespace Aitex.Core.RT.Fsm
  8. {
  9. public interface IEntity
  10. {
  11. bool Initialize();
  12. void Terminate();
  13. void PostMsg<T>(T msg, params object[] args) where T : struct;
  14. bool Check(int msg, out string reason, params object[] args);
  15. }
  16. public interface IModuleEntity: IEntity
  17. {
  18. ModuleName Module { get; }
  19. bool IsInit { get; }
  20. bool IsBusy { get; }
  21. bool IsIdle { get; }
  22. bool IsError { get; }
  23. bool IsDisable { get; }
  24. bool IsAuto { get; }
  25. int TimeToReady { get; }
  26. /// <summary>
  27. /// 是否为工程模式
  28. /// </summary>
  29. bool IsEngineering { get; }
  30. /// <summary>
  31. /// 是否为产品模式
  32. /// </summary>
  33. bool IsProduction { get; }
  34. int Invoke(string function, params object[] args);
  35. bool CheckAcked(int msg);
  36. }
  37. }