| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166 | using Aitex.Core.RT.DataCenter;using Aitex.Core.RT.Device;using Aitex.Core.RT.Event;using Aitex.Core.RT.SCCore;using Aitex.Core.Util;using Aitex.Sorter.Common;using MECF.Framework.Common.Device.Bases;using MECF.Framework.Common.Equipment;using System;using System.Collections.Generic;using FurnaceRT.Equipments.PMs.Devices;using FurnaceRT.Equipments.Systems;using FurnaceRT.Devices;using Aitex.Core.RT.Device.Unit;using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Robots.HRC100Robots.GM201LVPRobot;using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.CarrierIdReaders.CarrierIDReaderBase;using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.CarrierIdReaders.OmronV640;using System.Linq;namespace FurnaceRT.Instances{    public class DeviceEntity : DeviceEntityT<DeviceManager>    {        public DeviceEntity()        {        }    }    public class DeviceManager : DeviceManagerBase    {        public DeviceManager()        {        }        public override bool Initialize()        {            //AddCustomModuleDevice(new SZSTRfPower(ModuleName.PM1.ToString(), "RfPower"));            //AddCustomModuleDevice(new SZSTRfMatch(ModuleName.PM1.ToString(), "RfMatch"));            DATA.Subscribe("System.LiveAlarmEvent", () =>            {                var alarms = EV.GetAlarmEvent();                if (alarms != null && alarms.Count > 0)                {                    alarms = alarms.OrderBy(a => a.OccuringTime).ToList();                }                return alarms;            });            //Mag7RobotConvertor.Converter = new FurnaceMag7RobotConverter();            var waferRobot = new GM201LVPRobot("", ModuleName.WaferRobot.ToString(), "Robot", GM201LVPRobot.MaterialType.Wafer, null, null);            waferRobot.IsCarrierMove = false;            waferRobot._MaterialType = GM201LVPRobot.MaterialType.Wafer;            waferRobot.ModuleAssociateStationDic = new Dictionary<string, string>()            {                {ModuleName.FIMS1.ToString(), "C01" },                {ModuleName.FIMS2.ToString(), "C02" },                {ModuleName.PM1.ToString(), "C03" },            };            AddCustomDevice(waferRobot);            var carrierRobot = new GM201LVPRobot("", ModuleName.CarrierRobot.ToString(), "Robot", GM201LVPRobot.MaterialType.Carrier, null, null);            carrierRobot.IsCarrierMove = true;            carrierRobot._MaterialType = GM201LVPRobot.MaterialType.Carrier;            carrierRobot.ModuleAssociateStationDic = new Dictionary<string, string>()            {                {ModuleName.Stocker1.ToString(), "C09" },                {ModuleName.Stocker2.ToString(), "C09" },                {ModuleName.Stocker3.ToString(), "C09" },                {ModuleName.Stocker4.ToString(), "C09" },                {ModuleName.Stocker5.ToString(), "C10" },                {ModuleName.Stocker6.ToString(), "C10" },                {ModuleName.Stocker7.ToString(), "C10" },                {ModuleName.Stocker8.ToString(), "C10" },                {ModuleName.Stocker9.ToString(), "C11" },                {ModuleName.Stocker10.ToString(), "C11" },                {ModuleName.Stocker11.ToString(), "C11" },                {ModuleName.Stocker12.ToString(), "C11" },                {ModuleName.Stocker13.ToString(), "C12" },                {ModuleName.Stocker14.ToString(), "C12" },                {ModuleName.Stocker15.ToString(), "C12" },                {ModuleName.Stocker16.ToString(), "C12" },                {ModuleName.Stocker17.ToString(), "C05" },                {ModuleName.Stocker18.ToString(), "C06" },                {ModuleName.FIMS1.ToString(), "C07" },                {ModuleName.FIMS2.ToString(), "C08" },                {ModuleName.LP1.ToString(), "C01" },                {ModuleName.LP2.ToString(), "C02" },                {ModuleName.LP3.ToString(), "C03" },                {ModuleName.LP4.ToString(), "C04" },            };            carrierRobot.ModuleAssociateHandDic = new Dictionary<string, string>()            {                {ModuleName.Stocker1.ToString(), "001" },                {ModuleName.Stocker2.ToString(), "002" },                {ModuleName.Stocker3.ToString(), "003" },                {ModuleName.Stocker4.ToString(), "004" },                {ModuleName.Stocker5.ToString(), "001" },                {ModuleName.Stocker6.ToString(), "002" },                {ModuleName.Stocker7.ToString(), "003" },                {ModuleName.Stocker8.ToString(), "004" },                {ModuleName.Stocker9.ToString(), "001" },                {ModuleName.Stocker10.ToString(), "002" },                {ModuleName.Stocker11.ToString(), "003" },                {ModuleName.Stocker12.ToString(), "004" },                {ModuleName.Stocker13.ToString(), "001" },                {ModuleName.Stocker14.ToString(), "002" },                {ModuleName.Stocker15.ToString(), "003" },                {ModuleName.Stocker16.ToString(), "004" },                {ModuleName.Stocker17.ToString(), "001" },                {ModuleName.Stocker18.ToString(), "001" },                {ModuleName.FIMS1.ToString(), "001" },                {ModuleName.FIMS2.ToString(), "001" },                {ModuleName.LP1.ToString(), "001" },                {ModuleName.LP2.ToString(), "001" },                {ModuleName.LP3.ToString(), "001" },                {ModuleName.LP4.ToString(), "001" },            };            AddCustomDevice(carrierRobot);            //CIDReaderBaseDevice rfidreader1 = new OmronV640Tcp("CarrierIDReader", "RFIDReaderA", "CarrierID", lp1);            //lp1.CarrierIDReaderCallBack = rfidreader1;            //lp1.CIDReaders = new CIDReaderBaseDevice[] { rfidreader1 };            if (SC.ContainsItem("CarrierID.CarrierIdReaderProtocolType") && SC.GetStringValue("CarrierID.CarrierIdReaderProtocolType") == "1:N")            {                CIDReaderBaseDevice rfidreader1 = new OmronV640NSerial("CarrierIDReader", "RFIDReader1", "CarrierID", null);                AddCustomDevice(rfidreader1, "CarrierIDReader", typeof(CIDReaderBaseDevice));            }            else            {                CIDReaderBaseDevice rfidreader1 = new OmronV640Serial("CarrierIDReader", "RFIDReader1", "CarrierID", null);                AddCustomDevice(rfidreader1, "CarrierIDReader", typeof(CIDReaderBaseDevice));                CIDReaderBaseDevice rfidreader2 = new OmronV640Serial("CarrierIDReader", "RFIDReader2", "CarrierID", null);                AddCustomDevice(rfidreader2, "CarrierIDReader", typeof(CIDReaderBaseDevice));            }            return true;        }        protected override void QueueDevice(IDevice device)        {            //if (!string.IsNullOrEmpty(device.Module) && device.Module != "System" && device.Module.StartsWith("PM"))            {                QueueDevice($"{device.Module}.{device.Name}", device);            }            //else            {                // QueueDevice($"{device.Name}", device);            }        }        private void InitFIMS()        {        }    }}
 |