update from svn.

This commit is contained in:
DESKTOP-GPE37UV\THINKAPD 2023-02-24 09:19:37 +08:00
parent 4a74a7eb65
commit 360da502c5
13 changed files with 103 additions and 22 deletions

View File

@ -300,7 +300,7 @@ namespace Aitex.Core.RT.Device.Devices
if (!write.IsSuccess)
{
//if (!_isCommunicationError)
EV.PostAlarmLog("PLC", $"Communication error with Siemens PLC , {write.Message}");
EV.PostWarningLog("PLC", $"Communication error with Siemens PLC , {write.Message}");
//_isCommunicationError = true;
}
return write.IsSuccess;

View File

@ -75,6 +75,8 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Robots.SiasunPhoenixB
private SCConfigItem _scBladeSlots;
private List<ModuleName> _disabledIntlkModules = new List<ModuleName>();
private IoClaw _llWaferClaw;
public int BladeSlots => _scBladeSlots == null ? 1 : _scBladeSlots.IntValue;
private bool _enableLog;
private string _scRoot;
@ -106,6 +108,8 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Robots.SiasunPhoenixB
_connection = new RobotSiasunPhoenixBTCPConnection(deviceIP, endof);
_connection.EnableLog(_enableLog);
_llWaferClaw = DEVICE.GetDevice<IoClaw>($"{ModuleName.LoadLock}.LLWaferClaw");
if (_connection.Connect())
{
_trigConnection.CLK = true;
@ -1297,6 +1301,12 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Robots.SiasunPhoenixB
{
Blade1Target = ModuleName.System;
Blade2Target = ModuleName.System;
if(CurrentParamter == null)
{
return false;
}
RobotArmEnum arm = (RobotArmEnum)CurrentParamter[0];
ModuleName sourcemodule;
@ -1313,9 +1323,18 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.Robots.SiasunPhoenixB
{
if (BladeSlots == 1)
{
if (arm == RobotArmEnum.Blade1)
WaferManager.Instance.WaferMoved(sourcemodule, SourceslotIndex, RobotModuleName, 0);
{
if(_llWaferClaw.State == ClawStateEnum.Clamp && (sourcemodule == ModuleName.LoadLock || sourcemodule == ModuleName.Load))
{
WaferManager.Instance.TrayMoved(sourcemodule, SourceslotIndex, RobotModuleName, 0);
}
else
{
WaferManager.Instance.WaferMoved(sourcemodule, SourceslotIndex, RobotModuleName, 0);
}
}
if (arm == RobotArmEnum.Blade2)
WaferManager.Instance.WaferMoved(sourcemodule, SourceslotIndex, RobotModuleName, 1);
}

View File

@ -301,7 +301,7 @@ namespace Mainframe.Devices
if (!write.IsSuccess)
{
//if (!_isCommunicationError)
EV.PostAlarmLog("PLC", $"Communication error with Siemens PLC , {write.Message}");
EV.PostWarningLog("PLC", $"Communication error with Siemens PLC , {write.Message}");
//_isCommunicationError = true;
}
return write.IsSuccess;

View File

@ -43,6 +43,11 @@ namespace Mainframe.TMs
get { return _unLoadLift; }
}
protected IoClaw LLWaferClaw
{
get { return _llWaferClaw; }
}
protected bool _isATMMode;
private RobotBaseDevice _robot = null;
@ -61,6 +66,8 @@ namespace Mainframe.TMs
private IoLift4 _loadLift;
private IoLift4 _unLoadLift;
private IoClaw _llWaferClaw;
public TMBaseRoutine()
{
Module = ModuleName.TM.ToString();
@ -77,6 +84,7 @@ namespace Mainframe.TMs
_tmIoInterLock = DEVICE.GetDevice<Mainframe.Devices.IoInterLock>("TM.IoInterLock");
_loadLift = DEVICE.GetDevice<IoLift4>($"{ModuleName.LoadLock}.LLLift");
_llWaferClaw = DEVICE.GetDevice<IoClaw>($"{ModuleName.LoadLock}.LLWaferClaw");
_unLoadLift = DEVICE.GetDevice<IoLift4>($"{ModuleName.UnLoad}.UnLoadLift");
_reactorSuspectorCheckPM1 = DEVICE.GetDevice<IoSensor>($"PM1.SensorReactorSuspectorCheck");

View File

@ -2362,7 +2362,7 @@
<Limit do="PM1.DO_ChamTopFlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-197" />
<Limit do="PM1.DO_ChamMiddleFlow1Temp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-198" />
<Limit do="PM1.DO_ChamBottomFlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-199" />
<Limit do="PM1.DO_SpareFlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-200" />
<Limit do="PM1.DO_Spare1FlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-200" />
<Limit do="PM1.DO_PowerRod1FlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-201" />
<Limit do="PM1.DO_PowerRod2FlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-202" />
<Limit do="PM1.DO_ForelineFlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-203" />
@ -2419,7 +2419,7 @@
<Limit do="PM1.DO_ChamTopFlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-197" />
<Limit do="PM1.DO_ChamMiddleFlow1Temp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-198" />
<Limit do="PM1.DO_ChamBottomFlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-199" />
<Limit do="PM1.DO_SpareFlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-200" />
<Limit do="PM1.DO_Spare1FlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-200" />
<Limit do="PM1.DO_PowerRod1FlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-201" />
<Limit do="PM1.DO_PowerRod2FlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-202" />
<Limit do="PM1.DO_ForelineFlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-203" />
@ -2476,7 +2476,7 @@
<Limit do="PM1.DO_ChamTopFlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-197" />
<Limit do="PM1.DO_ChamMiddleFlow1Temp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-198" />
<Limit do="PM1.DO_ChamBottomFlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-199" />
<Limit do="PM1.DO_SpareFlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-200" />
<Limit do="PM1.DO_Spare1FlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-200" />
<Limit do="PM1.DO_PowerRod1FlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-201" />
<Limit do="PM1.DO_PowerRod2FlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-202" />
<Limit do="PM1.DO_ForelineFlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-203" />

View File

@ -2362,7 +2362,7 @@
<Limit do="PM2.DO_ChamTopFlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-197" />
<Limit do="PM2.DO_ChamMiddleFlow1Temp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-198" />
<Limit do="PM2.DO_ChamBottomFlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-199" />
<Limit do="PM2.DO_SpareFlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-200" />
<Limit do="PM2.DO_Spare1FlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-200" />
<Limit do="PM2.DO_PowerRod1FlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-201" />
<Limit do="PM2.DO_PowerRod2FlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-202" />
<Limit do="PM2.DO_ForelineFlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-203" />
@ -2419,7 +2419,7 @@
<Limit do="PM2.DO_ChamTopFlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-197" />
<Limit do="PM2.DO_ChamMiddleFlow1Temp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-198" />
<Limit do="PM2.DO_ChamBottomFlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-199" />
<Limit do="PM2.DO_SpareFlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-200" />
<Limit do="PM2.DO_Spare1FlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-200" />
<Limit do="PM2.DO_PowerRod1FlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-201" />
<Limit do="PM2.DO_PowerRod2FlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-202" />
<Limit do="PM2.DO_ForelineFlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-203" />
@ -2476,7 +2476,7 @@
<Limit do="PM2.DO_ChamTopFlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-197" />
<Limit do="PM2.DO_ChamMiddleFlow1Temp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-198" />
<Limit do="PM2.DO_ChamBottomFlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-199" />
<Limit do="PM2.DO_SpareFlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-200" />
<Limit do="PM2.DO_Spare1FlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-200" />
<Limit do="PM2.DO_PowerRod1FlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-201" />
<Limit do="PM2.DO_PowerRod2FlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-202" />
<Limit do="PM2.DO_ForelineFlowTemp" value="true" tip="" tip.zh-CN="" tip.en-US="DO-203" />

View File

@ -745,7 +745,7 @@
<config default="980" name="VentBasePressure" description="Vent压力值" max="1100" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="3" name="VentDelayTime" description="Vent到达压力后保持时间" max="1000" min="0" paramter="" tag="" unit="s" type="Integer" />
<config default="100" name="VentTimeout" description="Vent超时时间" max="1000" min="0" paramter="" tag="" unit="s" type="Integer" />
<config default="3000" name="RoutineTimeOut" description="Routine超时时间" max="10000" min="0" paramter="" tag="" unit="s" type="Integer" />
<config default="100000" name="RoutineTimeOut" description="Routine超时时间" max="100000" min="0" paramter="" tag="" unit="s" type="Integer" />
<config default="false" name="NeedFinalValveOpen" description="Final Valve是否需要打开" max="" min="" paramter="" tag="" unit="" visible="true" type="Bool" />
</configs>
@ -1432,7 +1432,7 @@
<config default="980" name="VentBasePressure" description="Vent压力值" max="1100" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="3" name="VentDelayTime" description="Vent到达压力后保持时间" max="1000" min="0" paramter="" tag="" unit="s" type="Integer" />
<config default="100" name="VentTimeout" description="Vent超时时间" max="1000" min="0" paramter="" tag="" unit="s" type="Integer" />
<config default="3000" name="RoutineTimeOut" description="Routine超时时间" max="10000" min="0" paramter="" tag="" unit="s" type="Integer" />
<config default="100000" name="RoutineTimeOut" description="Routine超时时间" max="100000" min="0" paramter="" tag="" unit="s" type="Integer" />
<config default="false" name="NeedFinalValveOpen" description="Final Valve是否需要打开" max="" min="" paramter="" tag="" unit="" visible="true" type="Bool" />
</configs>
@ -2032,7 +2032,7 @@
<config default="200" name="SlowFastVentSwitchPressure" description="充气的时候,快慢阀门切换的压力值" max="300" min="100" paramter="" tag="" unit="mbar" type="Double" />
<config default="1500" name="Mfc60Default1" description="Mfc60慢充流量" max="30000" min="0" paramter="" tag="" unit="sccm" type="Double" />
<config default="3000" name="Mfc60Default2" description="Mfc60快充流量" max="30000" min="0" paramter="" tag="" unit="sccm" type="Double" />
<config default="3000" name="RoutineTimeOut" description="Routine超时时间" max="10000" min="0" paramter="" tag="" unit="s" type="Integer" />
<config default="100000" name="RoutineTimeOut" description="Routine超时时间" max="100000" min="0" paramter="" tag="" unit="s" type="Integer" />
</configs>
<configs name="LeakCheck">
<config default="5" name="CyclePurgeCount" description="来回循环的次数" max="100" min="0" paramter="" tag="" unit="s" type="Integer" />
@ -2183,7 +2183,7 @@
<config default="100" name="PumpTimeOut" description="抽气超时时间" max="1000" min="0" paramter="" tag="" unit="s" type="Integer" />
<config default="980" name="VentBasePressure" description="充气的底压" max="1100" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="3" name="VentDelayTime" description="充气到大气压后,继续充气多长时间" max="1000" min="0" paramter="" tag="" unit="s" type="Integer" />
<config default="3000" name="RoutineTimeOut" description="Routine超时时间" max="3000" min="0" paramter="" tag="" unit="s" type="Integer" />
<config default="100000" name="RoutineTimeOut" description="Routine超时时间" max="100000" min="0" paramter="" tag="" unit="s" type="Integer" />
</configs>
<configs name="LeakCheck">
@ -2257,7 +2257,7 @@
<config default="100" name="PumpTimeOut" description="抽气超时时间" max="1000" min="0" paramter="" tag="" unit="s" type="Integer" />
<config default="980" name="VentBasePressure" description="充气的底压" max="1000" min="0" paramter="" tag="" unit="mbar" type="Double" />
<config default="3" name="VentDelayTime" description="充气到大气压后,继续充气多长时间" max="1000" min="0" paramter="" tag="" unit="s" type="Integer" />
<config default="3000" name="RoutineTimeOut" description="Routine超时时间" max="3000" min="0" paramter="" tag="" unit="s" type="Integer" />
<config default="100000" name="RoutineTimeOut" description="Routine超时时间" max="100000" min="0" paramter="" tag="" unit="s" type="Integer" />
</configs>
<configs name="LeakCheck">

View File

@ -51,7 +51,7 @@ using System.Windows;
// 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号
// 方法是按如下所示使用“*”: :
[assembly: AssemblyVersion("1.0.6.14")]
[assembly: AssemblyFileVersion("1.0.6.14")]
[assembly: AssemblyVersion("1.0.6.15")]
[assembly: AssemblyFileVersion("1.0.6.15")]

View File

@ -9,6 +9,12 @@
Sic 系统更新历史记录
---------------------------------------------------------------------------------
Sic06 2023-02-22 Version 1.0.6.15
1.Purge最大时间改为100000s
2.解决SCR Interlock问题
3.TMRobot Pick Load根据Wafer夹爪判断传Tray和Wafer信息
4.Load腔非Idle情况下TMRobot不能Pick和Place
Sic06 2023-02-17 Version 1.0.6.14
1.解决Load腔CCD拍照逻辑问题

View File

@ -3033,7 +3033,7 @@
Height="25"
Margin="10,0"
Content="Pick"
IsEnabled="{Binding RobotCheckOffline}">
IsEnabled="{Binding IsTMRobotActionEnable}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="TMRobot_Pick" />
@ -3045,7 +3045,7 @@
Height="25"
Margin="10,0"
Content="Place"
IsEnabled="{Binding RobotCheckOffline}">
IsEnabled="{Binding IsTMRobotActionEnable}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="TMRobot_Place" />

View File

@ -466,6 +466,54 @@ namespace SicUI.Client.Models.Platform.TM
public AITMfcData Mfc61Data { get; set; }
public ICommand CmdSetMfcFlow { get; set; }
public bool CheckTargetIdle(string target)
{
bool IsTargetIdle = false;
switch (target)
{
case "LoadLock":
case "Load":
{
IsTargetIdle = LLStatus == "Idle" && !LLIsOnline;
}
break;
case "PM1":
{
IsTargetIdle = (StatusPM1 == "Idle" || StatusPM1 =="ProcessIdle") && !PM1IsOnline;
}
break;
case "PM2":
{
IsTargetIdle = (StatusPM2 == "Idle" || StatusPM2 == "ProcessIdle") && !PM2IsOnline;
}
break;
case "UnLoad":
{
IsTargetIdle = UnLoadStatus == "Idle" && !UnLoadIsOnline;
}
break;
case "Buffer.01":
case "Buffer.02":
case "Buffer.03":
{
IsTargetIdle = BufferStatus == "Idle" && !BufferIsOnline;
}
break;
}
return IsTargetIdle;
}
public bool IsTMRobotActionEnable
{
get
{
return IsTMEnableManualOperation && CheckTargetIdle(PickSelectedModule);
}
}
private bool mRobotCheckOffline;
public bool RobotCheckOffline
{

View File

@ -6829,7 +6829,7 @@
<Label
Canvas.Left="1549"
Canvas.Top="567"
Content="70mbar" />
Content="25mbar" />
<Label
Canvas.Left="1449"

View File

@ -54,6 +54,6 @@ using System.Windows;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.6.14")]
[assembly: AssemblyFileVersion("1.0.6.14")]
[assembly: AssemblyVersion("1.0.6.15")]
[assembly: AssemblyFileVersion("1.0.6.15")]