Sfoglia il codice sorgente

1.增加buffer扫片

JET-YDB\JET-YANGDB 3 giorni fa
parent
commit
46ce21abfa

+ 1 - 1
VirgoRT/Devices/EFEM/Efem.cs

@@ -61,7 +61,7 @@ namespace VirgoRT.Devices.EFEM
         {
             get
             {
-                if (!ModuleHelper.IsLoadPort(mod))
+                if (!ModuleHelper.IsLoadPort(mod) && !ModuleHelper.IsBuffer(mod))
                     throw new ApplicationException($"{mod} is NOT Loadport");
 
                 //return _LPMs[mod - ModuleName.LP1];

+ 4 - 0
VirgoRT/Devices/EFEM/EfemMessage.cs

@@ -132,6 +132,10 @@ namespace VirgoRT.Device.YASKAWA
                     {
                         msg.Port = sPort.ToModule();
                     }
+                    else if(sPort.Contains("BUFFER"))
+                    {
+                        msg.Port = ModuleName.Buffer;
+                    }
                     else if (Regex.IsMatch(sPort, @"ALIGN\d?", RegexOptions.IgnoreCase))
                     {
                         msg.Port = sPort.ToModule();

+ 9 - 7
VirgoRT/Modules/ReturnAllWafer.cs

@@ -215,15 +215,17 @@ namespace VirgoRT.Modules
             {
                 ModuleName cooling = ModuleName.Buffer;
                 int slot = -1;
-                if (WaferManager.Instance.CheckNoWafer(ModuleName.Buffer, 0))
+                var slotCnt = SC.GetValue<int>("EFEM.Buffer.SlotNumber");
+                for (int i = 0; i < slotCnt; i++)
                 {
-                    slot = 0;
-                }
-                else if (WaferManager.Instance.CheckNoWafer(ModuleName.Cooling2, 0))
-                {
-                    slot = 1;
+                    if (WaferManager.Instance.CheckNoWafer(ModuleName.Buffer, i))
+                    {
+                        slot = i;
+                        break;
+                    }
                 }
-                else
+
+                if (slot == -1)
                 {
                     EV.PostWarningLog("System", "No valid cooling station for auto cooling");
                     return Result.FAIL;

+ 7 - 1
VirgoSimulator/Devices/EfemSimulator.cs

@@ -159,6 +159,12 @@ namespace VirgoSimulator.Devices
                     string s2 = $"EVT:MAPDT/P{m2.Groups[1].Value}/{map};\r";
                     strINF = s2 + strACK.Replace(ACK, "INF");
                 }
+                if (strACK.Contains("BUFFER"))
+                {
+                    string map = string.Join("", _slotMap);
+                    string s2 = $"EVT:MAPDT/BUFFER/0000000000000000000000000;\r";
+                    strINF = s2 + strACK.Replace(ACK, "INF");
+                }
                 break;
             case EfemOperation.SigStatus:
                 {
@@ -179,7 +185,7 @@ namespace VirgoSimulator.Devices
                             msg = $"INF:SIGSTAT/P2/{data:X8}/00000000;\r";
                             OnWriteMessage(msg);
                             return;
-                        }
+                    }
                         break;
                 }
             case EfemOperation.Align:

+ 1 - 1
VirgoUI/Models/Platform/EFEM/EFEMViewModel.cs

@@ -854,7 +854,7 @@ namespace VirgoUI.Client.Models.Platform.EFEM
             this.DisplayName = "EFEM";
 
             _pickModules = new List<string>() { "LP1", "LP2", "Aligner", "Aligner2", "Cooling1", "Cooling2", "Cooling" };
-            _mapModules = new List<string>() { "LP1", "LP2" };//new List<string>() { "LP1", "LP2", "Cooling" };
+            _mapModules = new List<string>() { "LP1", "LP2", "Cooling" };
             _extendModules = new List<string>() { "PMA", "PMB" };
             var installModules = (string)QueryDataClient.Instance.Service.GetConfig($"System.InstalledModules");
             if(!string.IsNullOrWhiteSpace(installModules))