12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- using System;
- using System.Xml;
- using Aitex.Core.Common;
- using Aitex.Core.RT.DataCenter;
- using Aitex.Core.RT.Event;
- using Aitex.Core.RT.OperationCenter;
- using Aitex.Core.RT.Routine;
- using Aitex.Core.RT.SCCore;
- using Aitex.Sorter.Common;
- using MECF.Framework.Common.Equipment;
- using MECF.Framework.Common.Event;
- using MECF.Framework.Common.SubstrateTrackings;
- using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Efems.Rorzes;
- namespace JetEfemLib
- {
- public class FutureEfem3P : FutureEfemBase
- {
- public FutureEfem3P(string module, XmlElement node, string ioModule = "") : base(module, node, ioModule)
- {
- }
- public FutureEfem3P() : base("System", "EFEM")
- {
- }
- public override bool GetWafer(ModuleName chamber, int slot, Hand hand, out string reason)
- {
- if (Connection == null || !Connection.IsConnected || !IsInitialized)
- {
- reason = "not connected";
- return false;
- }
- WaferSize ws = WaferManager.Instance.GetWaferSize(chamber, slot);
- return Connection.Execute(new RorzeEfemHandlerLoad(this, chamber, slot, hand, ws), out reason);
- }
- public override bool PutWafer(ModuleName chamber, int slot, Hand hand, out string reason)
- {
- if (Connection == null || !Connection.IsConnected || !IsInitialized)
- {
- reason = "not connected";
- return false;
- }
- WaferSize ws = WaferManager.Instance.GetWaferSize(ModuleName.EfemRobot, (int)hand);
- return Connection.Execute(new RorzeEfemHandlerUnload(this, chamber, slot, hand, ws), out reason);
- }
- public override void NoteStateEvent(ModuleName module, string data1, string data2)
- {
- if (module == ModuleName.System)
- {
- uint result1 = Convert.ToUInt32(data1, 16);
- uint result2 = Convert.ToUInt32(data2, 16);
- _stateFfuAlarm = !((result1 & 0x00000001u) == 0x00000001u);
- if (_stateFfuAlarm)
- FfuAlarm.Set();
- _stateIonizerAlarm = !((result1 & 0x00000002u) == 0x00000002u);
- if (_stateIonizerAlarm)
- IonizerAlarm.Set();
- _stateAirErrorForRobot = !((result1 & 0x00000004u) == 0x00000004u);
- if (_stateAirErrorForRobot)
- AirErrorForRobot.Set();
- //_stateAirErrorForChamber = !((result1 & 0x00000008u) == 0x00000008u);
- //if (_stateAirErrorForChamber)
- // AirErrorForChamber.Set();
- _stateIsMaintain = !((result1 & 0x00000010u) == 0x00000010u);
- if (_stateIsMaintain)
- IsMaintain.Set();
- _stateDoorOpen = !((result1 & 0x00000020u) == 0x00000020u);
- if (_stateDoorOpen)
- DoorOpen.Set();
- _stateEmoAlarm = (result1 & 0x00000040u) == 0x00000040u;
- if (_stateEmoAlarm)
- EmoAlarm.Set();
- return;
- }
- base.NoteStateEvent(module, data1, data2);
- }
- }
- }
|