CheckLidClose.cs 799 B

1234567891011121314151617181920212223242526272829303132
  1. using Aitex.Core.RT.Device;
  2. using Aitex.Core.RT.Device.Unit;
  3. using Aitex.Core.RT.SCCore;
  4. using MECF.Framework.Common.OperationCenter;
  5. namespace VirgoRT.Modules.Interlocks
  6. {
  7. class CheckLidClose : IInterlockChecker
  8. {
  9. private IoSensor _sensorChamberCover;
  10. public CheckLidClose()
  11. {
  12. string module = SC.GetStringValue("System.ModuleName");
  13. _sensorChamberCover = DEVICE.GetDevice<IoSensor>($"{module}.SensorChamberCoverClosed");
  14. }
  15. public bool CanDo(out string reason, object[] args)
  16. {
  17. if (!_sensorChamberCover.Value)
  18. {
  19. reason = "Chamber cover not closed";
  20. return false;
  21. }
  22. reason = string.Empty;
  23. return true;
  24. }
  25. }
  26. }