12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- using System;
- using Aitex.Core.RT.Log;
- using Aitex.Core.RT.Event;
- using Aitex.Core.RT.DataCenter;
- using Aitex.Core.Util;
- using Aitex.Sorter.Common;
- using Aitex.Core.RT.Device;
- using MECF.Framework.Common.Communications;
- using MECF.Framework.Common.SubstrateTrackings;
- using System.Collections.Generic;
- using Aitex.Core.RT.SCCore;
- using System.IO.Ports;
- using System.Threading;
- using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Aligners.AlignersBase;
- using Aitex.Core.Common;
- using Aitex.Core.RT.Device.Unit;
- using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Robots;
- using Aitex.Core.RT.OperationCenter;
- using System.Diagnostics;
- namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.HonghuAligners
- {
- public class FuqiAlignerSmec : FuqiAligner
- {
- public FuqiAlignerSmec(string module, string name, string scRoot, int alignertype = 0)
- :base(module,name,scRoot,alignertype)
- {
- }
- public FuqiAlignerSmec(string module, string name, string scRoot, IoSensor[] dis,IoTrigger[] dos)
- : base(module, name, scRoot,dis,dos)
- {
-
- }
- public FuqiAlignerSmec(string module, string name, string scRoot, IoSensor[] dis, IoTrigger[] dos,WaferSize[] wsizes=null)
- : base(module, name, scRoot, dis, dos, wsizes)
- {
- }
- protected override bool fStartInit(object[] param)
- {
- lock (_locker)
- {
- _lstHandler.Clear();
- }
- _connection.ForceClear();
- lock (_locker)
- {
- _lstHandler.AddLast(new FuqiRequestHandler(this, FuqiAlignerCommand.SetUseNewCommand));
- _lstHandler.AddLast(new FuqiRequestHandler(this, FuqiAlignerCommand.Reset));
- _lstHandler.AddLast(new FuqiRequestHandler(this, FuqiAlignerCommand.SetWIDReaderOff));
- _lstHandler.AddLast(new FuqiRequestHandler(this, FuqiAlignerCommand.SetVacuumOnAfterAlign));
- if (SC.ContainsItem($"{_scRoot}.{Name}.CenterAndNotch") && SC.GetValue<bool>($"{_scRoot}.{Name}.CenterAndNotch"))
- _lstHandler.AddLast(new FuqiRequestHandler(this, FuqiAlignerCommand.SetCenterAndNotch));
- else
- _lstHandler.AddLast(new FuqiRequestHandler(this, FuqiAlignerCommand.SetOnlyNotch));
- if (_isEnableTwiceAdjustment)
- _lstHandler.AddLast(new FuqiRequestHandler(this, FuqiAlignerCommand.SetAdjustTwice));
- else
- _lstHandler.AddLast(new FuqiRequestHandler(this, FuqiAlignerCommand.SetAdjustFirstTime));
- _lstHandler.AddLast(new FuqiRequestHandler(this, FuqiAlignerCommand.RequestRecipe));
- _lstHandler.AddLast(new FuqiRequestHandler(this, FuqiAlignerCommand.RequestPlace));
- }
- _timerActionMonitor.Restart();
- return true;
- }
- protected override bool fReset(object[] param)
- {
- if (base.fReset(param))
- {
- lock (_locker)
- {
- _lstHandler.AddLast(new FuqiRequestHandler(this, FuqiAlignerCommand.RequestRecipe));
- }
- return true;
- }
- return false;
- }
- }
- }
|