Compare commits

...

16 Commits

Author SHA1 Message Date
hanqiangqiang fe7276afe6 1修改仿真中Float类型数据获取属性
2修改方法名GetAoBufferFloat
3修改IO名称
4使用合并后的dll
2024-02-22 11:00:24 +08:00
hanqiangqiang 76aea05399 Merge branch 'develop' into feature/localization
# Conflicts:
#	ThirdParty/MECF.Framework/MECF.Framework.Common.dll
#	ThirdParty/MECF.Framework/MECF.Framework.RT.Core.dll
#	ThirdParty/MECF.Framework/MECF.Framework.RT.EquipmentLibrary.dll
#	ThirdParty/MECF.Framework/MECF.Framework.Simulator.Core.dll
#	ThirdParty/MECF.Framework/MECF.Framework.UI.Client.dll
#	ThirdParty/MECF.Framework/MECF.Framework.UI.Core.dll
#	ThirdParty/MECF.Framework/Sicentury.Core.dll
2024-02-22 09:57:57 +08:00
hanqiangqiang 9ccf64ca9f PM2 Alarm13 修改为 Warning15 2024-02-22 09:46:11 +08:00
hanqiangqiang ff0129730e PM1 Alarm13 修改为 Warning15 2024-02-22 09:21:12 +08:00
hanqiangqiang 616209684b 修改默认账户配置项 2024-02-20 13:18:21 +08:00
hanqiangqiang f07138b1b8 更新dll,更新汉化 2024-02-20 10:26:59 +08:00
hanqiangqiang aba3e9f478 修改PM加热界面布局
更新dll,更新汉化内容
2024-02-20 10:00:10 +08:00
hanqiangqiang b890f1c28d 更新dll测试汉化内容 2024-01-29 16:55:48 +08:00
hanqiangqiang 2531bf459c 更新dll测试修改汉化内容 2024-01-25 16:36:53 +08:00
hanqiangqiang c5493e677b 更新dll,测试汉化内容 2024-01-11 14:29:24 +08:00
SIC1016\caipeilun 34a5aa9dce Merge branch 'feature/localization' of http://118.31.5.210:65000/Sic-Software/Sic10 into feature/localization
# Conflicts:
#	ThirdParty/MECF.Framework/MECF.Framework.Common.dll
#	ThirdParty/MECF.Framework/MECF.Framework.RT.Core.dll
#	ThirdParty/MECF.Framework/MECF.Framework.RT.EquipmentLibrary.dll
#	ThirdParty/MECF.Framework/MECF.Framework.Simulator.Core.dll
#	ThirdParty/MECF.Framework/MECF.Framework.UI.Client.dll
#	ThirdParty/MECF.Framework/MECF.Framework.UI.Core.dll
#	ThirdParty/MECF.Framework/Sicentury.Localization.dll
#	ThirdParty/MECF.Framework/zh/Sicentury.Localization.resources.dll
2024-01-11 14:01:29 +08:00
SIC1016\caipeilun b138097198 完成汉化TM等界面 2024-01-11 13:57:23 +08:00
hanqiangqiang 10d52190b1 1修改PM加热界面控件绑定和显示
2修改PM界面相关汉化
2024-01-11 10:16:56 +08:00
hanqiangqiang 7920766fd5 临时保存PM汉化 2024-01-11 08:36:00 +08:00
SIC1016\caipeilun 9843a8e8aa 添加汉化相关程序集和代码 2024-01-10 15:15:41 +08:00
SL 72e21adc2a 更新库文件a4809b0,修改IoManager相关逻辑。 2024-01-10 13:21:47 +08:00
38 changed files with 1192 additions and 821 deletions

View File

@ -154,7 +154,7 @@
<IoPressureMeter id="PT2" display="PT2" schematicId="PT2" scBasePath="PM.{module}.PC" unit="mbar" aioType="float" aiOpenDegree="" aiActMode="" aoSetMode="" aiValue="AI_ForelinePress" aoValue="" formatString="0.0" />
</IoPressureMeters>
<IoSensorWaterFlowTemp classType="Aitex.Core.RT.Device.Devices.IoSensorWaterFlowTemp" assembly="MECF.Framework.RT.EquipmentLibrary">
<IoSensorWaterFlowTemp id="FlowTemp1" module="" display="SHFlow(U1)" schematicId="SHFlowTemp"
<IoSensorWaterFlowTemp id="FlowTemp1" module="" display="SHFlowTemp(U1)" schematicId="SHFlowTemp"
unit="℃"
ai="AI_SHFlowTemp"
ao=""
@ -363,6 +363,7 @@
<IoSensor id="SensorTransformerOTSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="true" di="DI_TransformerOTSW" infoText="" warningText="Warning12 TransformerOverTemp [DI-83]" alarmText="" />
<IoSensor id="SensorSHLidClosed" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_SHLidClosed" infoText="" warningText="Warning13 SH Lid Opened [DI-106]" alarmText="" />
<IoSensor id="SensorMiddleLidClosed" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_MiddleLidClosed" infoText="" warningText="Warning14 Middle Lid Opened [DI-120]" alarmText="" />
<IoSensor id="SensorTMPumpFlowSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_TMPumpFlowSW" infoText="" warningText="Warning15 TMPump1 Cooling Water Low Flow -U11 [DI-24]" alarmText="" />
<IoSensor id="SensorPSUInnerTempHAlarm" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="true" di="DI_PSUInnerTempHAlarm" infoText="" warningText="Warning22 PSU Inner.Temp High [DI-305]" alarmText="" />
<IoSensor id="SensorPSUMiddleTempHAlarm" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="true" di="DI_PSUMiddleTempHAlarm" infoText="" warningText="Warning23 PSU Middle.Temp High [DI-306]" alarmText="" />
<IoSensor id="SensorPSUOuterTempHAlarm" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="true" di="DI_PSUOuterTempHAlarm" infoText="" warningText="Warning24 PSU Outer.Temp High [DI-307]" alarmText="" />
@ -383,7 +384,7 @@
<IoSensor id="SensorPowerRod2FlowSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_PowerRod2FlowSW" infoText="" warningText="" alarmText="Alarm10 Power Rod2 Cooling Water Low Flow -U8 [DI-21]" />
<IoSensor id="SensorForeline2FlowSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_Foreline2FlowSW" infoText="" warningText="" alarmText="Alarm11 Foreline2 Cooling Water Low Flow -U9 [DI-22]" />
<IoSensor id="SensorElectrodeWFlowSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_ElectrodeWFlowSW" infoText="" warningText="" alarmText="Alarm12 Electrode-W Cooling Water Low Flow -U10 [DI-23]" />
<IoSensor id="SensorTMPumpFlowSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_TMPumpFlowSW" infoText="" warningText="" alarmText="Alarm13 TMPump1 Cooling Water Low Flow -U11 [DI-24]" />
<IoSensor id="SensorTransformerFlowSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_TransformerFlowSW" infoText="" warningText="" alarmText="Alarm14 Transformer Cooling Water Low Flow -U14 [DI-25]" />
<IoSensor id="SensorSpare1FlowSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_Spare1FlowSW" infoText="" warningText="" alarmText="Alarm15 Spare1 Flow Low-U12 [DI-26]" />
<IoSensor id="SensorInletTotalFlowLowSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="true" di="DI_InletTotalFlowLowSW" infoText="" warningText="" alarmText="Alarm16 Chamber Cooling Water Pressure Low [DI-27]" />

View File

@ -154,7 +154,7 @@
<IoPressureMeter id="PT2" display="PT2" schematicId="PT2" scBasePath="PM.{module}.PC" unit="mbar" aioType="float" aiOpenDegree="" aiActMode="" aoSetMode="" aiValue="AI_ForelinePress" aoValue="" formatString="0.0" />
</IoPressureMeters>
<IoSensorWaterFlowTemp classType="Aitex.Core.RT.Device.Devices.IoSensorWaterFlowTemp" assembly="MECF.Framework.RT.EquipmentLibrary">
<IoSensorWaterFlowTemp id="FlowTemp1" module="" display="SHFlow(U1)" schematicId="SHFlowTemp"
<IoSensorWaterFlowTemp id="FlowTemp1" module="" display="SHFlowTemp(U1)" schematicId="SHFlowTemp"
unit="℃"
ai="AI_SHFlowTemp"
ao=""
@ -182,7 +182,7 @@
scWarningOffset="WarningOffset"
scFilterDuration="FilterDuration" />
<IoSensorWaterFlowTemp id="FlowTemp3" module="" display="CMiddleFlow1(U3)" schematicId="ChamMiddleFlow1Temp" unit="℃"
<IoSensorWaterFlowTemp id="FlowTemp3" module="" display="MiddleFlow1(U3)" schematicId="ChamMiddleFlow1Temp" unit="℃"
ai="AI_ChamMiddleFlow1Temp"
diFlowSW="DI_ChamMiddleFlow1SW"
doAlarmHigh="DO_ChamMiddleFlow1Temp"
@ -365,6 +365,7 @@
<IoSensor id="SensorTransformerOTSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="true" di="DI_TransformerOTSW" infoText="" warningText="Warning12 TransformerOverTemp [DI-83]" alarmText="" />
<IoSensor id="SensorSHLidClosed" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_SHLidClosed" infoText="" warningText="Warning13 SH Lid Opened [DI-106]" alarmText="" />
<IoSensor id="SensorMiddleLidClosed" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_MiddleLidClosed" infoText="" warningText="Warning14 Middle Lid Opened [DI-120]" alarmText="" />
<IoSensor id="SensorTMPumpFlowSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_Spare1FlowSW" infoText="" warningText="Warning15 Spare1 Flow Low -U11 [DI-24]" alarmText="" />
<IoSensor id="SensorPSUInnerTempHAlarm" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="true" di="DI_PSUInnerTempHAlarm" infoText="" warningText="Warning22 PSU Inner.Temp High [DI-305]" alarmText="" />
<IoSensor id="SensorPSUMiddleTempHAlarm" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="true" di="DI_PSUMiddleTempHAlarm" infoText="" warningText="Warning23 PSU Middle.Temp High [DI-306]" alarmText="" />
<IoSensor id="SensorPSUOuterTempHAlarm" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="true" di="DI_PSUOuterTempHAlarm" infoText="" warningText="Warning24 PSU Outer.Temp High [DI-307]" alarmText="" />
@ -385,7 +386,7 @@
<IoSensor id="SensorPowerRod2FlowSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_PowerRod2FlowSW" infoText="" warningText="" alarmText="Alarm10 Power Rod2 Cooling Water Low Flow -U8 [DI-21]" />
<IoSensor id="SensorForeline2FlowSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_Foreline2FlowSW" infoText="" warningText="" alarmText="Alarm11 Foreline2 Cooling Water Low Flow -U9 [DI-22]" />
<IoSensor id="SensorElectrodeWFlowSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_ElectrodeWFlowSW" infoText="" warningText="" alarmText="Alarm12 Electrode-W Cooling Water Low Flow -U10 [DI-23]" />
<IoSensor id="SensorTMPumpFlowSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_Spare1FlowSW" infoText="" warningText="" alarmText="Alarm13 Spare1 Flow Low -U11 [DI-24]" />
<IoSensor id="SensorTransformerFlowSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_TransformerFlowSW" infoText="" warningText="" alarmText="Alarm14 Transformer Cooling Water Low Flow -U14 [DI-25]" />
<IoSensor id="SensorSpare1FlowSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="false" di="DI_Spare2FlowSW" infoText="" warningText="" alarmText="Alarm15 Spare2 Flow Low-U12 [DI-26]" />
<IoSensor id="SensorInletTotalFlowLowSW" module="" display="" schematicId="" unit="" aioType="" textOutTrigValue="true" di="DI_InletTotalFlowLowSW" infoText="" warningText="" alarmText="Alarm16 Chamber Cooling Water Pressure Low [DI-27]" />

View File

@ -191,7 +191,7 @@ namespace SicModules.Devices
{
if (_aiLLPressure != null)
{
return _aiLLPressure.FloatValue > _scLoadLockAtmBasePressure.DoubleValue;
return _aiLLPressure.Value > _scLoadLockAtmBasePressure.DoubleValue;
}
return false;
}
@ -1203,7 +1203,7 @@ namespace SicModules.Devices
public void Monitor()
{
_doLLAtProcessPress.Value = _aiLLPressure != null && _aiLLPressure.FloatValue <= _scLoadLockVacBasePressure.DoubleValue;
_doLLAtProcessPress.Value = _aiLLPressure != null && _aiLLPressure.Value <= _scLoadLockVacBasePressure.DoubleValue;
}
public void Reset()

View File

@ -71,17 +71,17 @@ namespace SicModules.Devices
public double CurPos
{
get { return _aiCurPos != null ? _aiCurPos.FloatValue : 0; }
get { return _aiCurPos != null ? _aiCurPos.Value : 0; }
}
public double CCD1Degree
{
get { return _aiCCD1Degree != null ? _aiCCD1Degree.FloatValue : 0; }
get { return _aiCCD1Degree != null ? _aiCCD1Degree.Value : 0; }
}
public double CCD2Degree
{
get { return _aiCCD2Degree != null ? _aiCCD2Degree.FloatValue : 0; }
get { return _aiCCD2Degree != null ? _aiCCD2Degree.Value : 0; }
}
public IoLoadRotation(string module, XmlElement node, string ioModule = "")
@ -288,8 +288,8 @@ namespace SicModules.Devices
}
//传进来为相对值
_aoJogDegree.FloatValue = relativeDis;
_aoPosSpeed.FloatValue = (float)_scPosSpeed.DoubleValue;
_aoJogDegree.Value = relativeDis;
_aoPosSpeed.Value = (float)_scPosSpeed.DoubleValue;
if (!_doJogCW.Check(true, out reason))
{
@ -315,8 +315,8 @@ namespace SicModules.Devices
}
//传进来为相对值
_aoJogDegree.FloatValue = relativeDis;
_aoPosSpeed.FloatValue = (float)_scPosSpeed.DoubleValue;
_aoJogDegree.Value = relativeDis;
_aoPosSpeed.Value = (float)_scPosSpeed.DoubleValue;
if (!_doJogCW.Check(true, out reason))
{
@ -342,8 +342,8 @@ namespace SicModules.Devices
}
//传进来为相对值
_aoJogDegree.FloatValue = relativeDis;
_aoPosSpeed.FloatValue = (float)_scPosSpeed.DoubleValue;
_aoJogDegree.Value = relativeDis;
_aoPosSpeed.Value = (float)_scPosSpeed.DoubleValue;
if (!_doJogCCW.Check(true, out reason))
{
@ -383,8 +383,8 @@ namespace SicModules.Devices
return false;
}
_aoHomeSpeed.FloatValue = (float)_scHomeSpeed.DoubleValue;
_aoHomeOffset.FloatValue = (float)_scHomeOffset.DoubleValue;
_aoHomeSpeed.Value = (float)_scHomeSpeed.DoubleValue;
_aoHomeOffset.Value = (float)_scHomeOffset.DoubleValue;
if (!_doMoveRelativeHome.SetValue(true, out reason))
{
@ -409,7 +409,7 @@ namespace SicModules.Devices
return false;
}
_aoPosSpeed.FloatValue = (float)_scPosSpeed.DoubleValue;
_aoPosSpeed.Value = (float)_scPosSpeed.DoubleValue;
if (!_doMoveOneCircle.SetValue(true, out reason))
{
@ -430,8 +430,8 @@ namespace SicModules.Devices
}
//将参数写入到对应AO中
_aoPosSpeed.FloatValue = (float)_scPosSpeed.DoubleValue;
_aoCCD1Degree.FloatValue = (float)_scCCD1Pos.DoubleValue;
_aoPosSpeed.Value = (float)_scPosSpeed.DoubleValue;
_aoCCD1Degree.Value = (float)_scCCD1Pos.DoubleValue;
if (!_doMoveCCD1Pos.Check(true, out reason))
{
@ -462,8 +462,8 @@ namespace SicModules.Devices
}
//将参数写入到对应AO中
_aoPosSpeed.FloatValue = (float)_scPosSpeed.DoubleValue;
_aoCCD2Degree.FloatValue = (float)_scCCD2Pos.DoubleValue;
_aoPosSpeed.Value = (float)_scPosSpeed.DoubleValue;
_aoCCD2Degree.Value = (float)_scCCD2Pos.DoubleValue;
if (!_doMoveCCD2Pos.SetValue(true, out reason))
{

View File

@ -126,7 +126,7 @@ namespace SicModules.Devices
float[] aiBuffer = ParseAI(AI);
if (aiBuffer != null)
{
_buffer.SetAiBufferFloat(_source, 0, aiBuffer);
_buffer.SetAiBuffer(_source, 0, aiBuffer);
}
}
@ -137,7 +137,7 @@ namespace SicModules.Devices
float[] aoBuffer = ParseAO(AO);
if (aoBuffer != null)
{
_buffer.SetAoBufferFloat(_source, 0, aoBuffer);
_buffer.SetAiBuffer(_source, 0, aoBuffer);
}
}
@ -297,15 +297,7 @@ namespace SicModules.Devices
throw new NotImplementedException();
}
public override bool SetValue(AOAccessor aoItem, short value)
{
if (!_trigConnected.M)
return false;
//....
return true;
}
public override bool SetValueFloat(AOAccessor aoItem, float value)
public override bool SetValue(AOAccessor aoItem, float value)
{
if (!_trigConnected.M)
return false;

View File

@ -197,13 +197,13 @@ namespace SicModules.TMs
}
}
_loadLoakTempAlarmTrig.CLK = AILoadLockTempAlarm != null && AILoadLockTempAlarm.FloatValue >= _scLoadLockWarnTemp.DoubleValue;
_loadLoakTempAlarmTrig.CLK = AILoadLockTempAlarm != null && AILoadLockTempAlarm.Value >= _scLoadLockWarnTemp.DoubleValue;
if (_loadLoakTempAlarmTrig.Q)
{
EV.PostAlarmLog(Module, $"Waring 10 LoadLock Temp High");
}
_bufferTempAlarmTrig.CLK = AIBufferTempAlarm != null && AIBufferTempAlarm.FloatValue >= _scBufferWarnTemp.DoubleValue;
_bufferTempAlarmTrig.CLK = AIBufferTempAlarm != null && AIBufferTempAlarm.Value >= _scBufferWarnTemp.DoubleValue;
if (_bufferTempAlarmTrig.Q)
{
EV.PostAlarmLog(Module, $"Waring 11 Buffer Temp High");

View File

@ -109,7 +109,7 @@
</roles>
<users>
<userItem id="1" loginname="admin" password="YWRtaW4=" firstname="MAE" lastname="dd" email="" description="">
<userItem id="1" loginname="admin" password="YWRtaW4=" firstname="user" lastname="Sic" email="" description="">
<rolegroup>
<role id="0"></role>
<role id="1"></role>

View File

@ -36,12 +36,12 @@
<menuItem id="Config" resKey="Config" System="System" viewmodel="MECF.Framework.UI.Client.CenterViews.Configs.SystemConfig.SystemConfigViewModel,MECF.Framework.UI.Client" />
<menuItem id="Account" resKey="Account" viewmodel="MECF.Framework.UI.Client.CenterViews.Configs.Accounts.AccountViewModel,MECF.Framework.UI.Client" />
<menuItem id="Role" resKey="Role" viewmodel="MECF.Framework.UI.Client.CenterViews.Configs.Roles.RoleViewModel,MECF.Framework.UI.Client" />
<menuItem id="Runtime" resKey="Runtime" viewmodel="SicUI.Models.Maintenances.RuntimeViewModel,SicUI" />
<!--<menuItem id="Runtime" resKey="Runtime" viewmodel="SicUI.Models.Maintenances.RuntimeViewModel,SicUI" />-->
</menuItem>
<menuItem id="Alarm" resKey="Alarm" AlarmModule="System" >
<menuItem id="Alarm" resKey="Alarm" viewmodel="MECF.Framework.UI.Client.CenterViews.Alarms.Alarm.AlarmViewModel,MECF.Framework.UI.Client" />
<menuItem id="EventDiagnosis" resKey="Event Diagnosis" viewmodel="MECF.Framework.UI.Client.CenterViews.Diagnosis.EventGeneratorViewModel,MECF.Framework.UI.Client" />
<!--<menuItem id="EventDiagnosis" resKey="Event Diagnosis" viewmodel="MECF.Framework.UI.Client.CenterViews.Diagnosis.EventGeneratorViewModel,MECF.Framework.UI.Client" />-->
</menuItem>

View File

@ -436,7 +436,7 @@
<DO_ITEM Index="202" Name="DO_PowerRod2FlowTemp" BufferOffset="202" Addr="202" Description="" />
<DO_ITEM Index="203" Name="DO_ForelineFlowTemp" BufferOffset="203" Addr="203" Description="" />
<DO_ITEM Index="204" Name="DO_ElectrodeWFlowTemp" BufferOffset="204" Addr="204" Description="" />
<DO_ITEM Index="205" Name="DO_Spare1FlowTemp" BufferOffset="205" Addr="205" Description="" />
<DO_ITEM Index="205" Name="DO_TMPump1FlowTemp" BufferOffset="205" Addr="205" Description="" />
<DO_ITEM Index="206" Name="DO_TransformerFlowTemp" BufferOffset="206" Addr="206" Description="" />
<DO_ITEM Index="207" Name="DO_Spare1FlowTemp" BufferOffset="207" Addr="207" Description="" />
<DO_ITEM Index="208" Name="DO_Spare2FlowTemp" BufferOffset="208" Addr="208" Description="" />

View File

@ -27,10 +27,10 @@ namespace SicSimulator.Instances
data = IoManager.Instance.GetDoBuffer("PM1.PLC")[0];
break;
case "GVL_IO.PM1_AI_G":
data = IoManager.Instance.GetAiBufferFloat("PM1.PLC")[0];
data = IoManager.Instance.GetAiBuffer("PM1.PLC")[0];
break;
case "GVL_IO.PM1_AO_G":
data = IoManager.Instance.GetAoBufferFloat("PM1.PLC")[0];
data = IoManager.Instance.GetAoBuffer("PM1.PLC")[0];
break;
case "GVL_IO.PM2_DI_G":
@ -40,10 +40,10 @@ namespace SicSimulator.Instances
data = IoManager.Instance.GetDoBuffer("PM2.PLC")[0];
break;
case "GVL_IO.PM2_AI_G":
data = IoManager.Instance.GetAiBufferFloat("PM2.PLC")[0];
data = IoManager.Instance.GetAiBuffer("PM2.PLC")[0];
break;
case "GVL_IO.PM2_AO_G":
data = IoManager.Instance.GetAoBufferFloat("PM2.PLC")[0];
data = IoManager.Instance.GetAoBuffer("PM2.PLC")[0];
break;
}
@ -63,7 +63,7 @@ namespace SicSimulator.Instances
case "GVL_IO.PM1_AI_G":
break;
case "GVL_IO.PM1_AO_G":
IoManager.Instance.GetAoBufferFloat("PM1.PLC")[0][index] = (float)value;
IoManager.Instance.GetAoBuffer("PM1.PLC")[0][index] = (float)value;
break;
case "GVL_IO.PM2_DI_G":
@ -74,7 +74,7 @@ namespace SicSimulator.Instances
case "GVL_IO.PM2_AI_G":
break;
case "GVL_IO.PM2_AO_G":
IoManager.Instance.GetAoBufferFloat("PM2.PLC")[0][index] = (float)value;
IoManager.Instance.GetAoBuffer("PM2.PLC")[0][index] = (float)value;
break;
}
return true;

View File

@ -114,7 +114,7 @@ namespace SicSimulator.Instances
Name = ioItem.Name,
Index = ioItem.Index,
Description = ioItem.Description,
ShortValue = ioItem.Value,
ShortValue = (short)ioItem.Value,
Address = ioItem.Addr,
BlockOffset = ioItem.BlockOffset,
BlockIndex = ioItem.Index,
@ -137,7 +137,7 @@ namespace SicSimulator.Instances
Name = ioItem.Name,
Index = ioItem.Index,
Description = ioItem.Description,
ShortValue = ioItem.Value,
ShortValue = (short)ioItem.Value,
Address = ioItem.Addr,
BlockOffset = ioItem.BlockOffset,
BlockIndex = ioItem.Index,
@ -193,10 +193,10 @@ namespace SicSimulator.Instances
{
if (notifiableIoItem.HoldValue)
{
IO.AI[notifiableIoItem.Name].FloatValue = notifiableIoItem.FloatValue;
IO.AI[notifiableIoItem.Name].Value = notifiableIoItem.FloatValue;
}
notifiableIoItem.FloatValue = IO.AI[notifiableIoItem.Name].FloatValue;
notifiableIoItem.FloatValue = IO.AI[notifiableIoItem.Name].Value;
notifiableIoItem.InvokePropertyChanged("FloatValue");
}
}
@ -205,7 +205,7 @@ namespace SicSimulator.Instances
{
foreach (var notifiableIoItem in AoItemList)
{
notifiableIoItem.FloatValue = IO.AO[notifiableIoItem.Name].FloatValue;
notifiableIoItem.FloatValue = IO.AO[notifiableIoItem.Name].Value;
notifiableIoItem.InvokePropertyChanged("FloatValue");
}
}
@ -251,7 +251,7 @@ namespace SicSimulator.Instances
//IO修改 ---> PLC
if (plcBuffer.Type == IoType.AI)
{
var ioBuffers = IoManager.Instance.GetAiBufferFloat(_source);
var ioBuffers = IoManager.Instance.GetAiBuffer(_source);
if (ioBuffers != null)
{
foreach (var buffer in ioBuffers)

View File

@ -112,9 +112,9 @@ namespace SicSimulator.Instances
IO.DI[$"{mod}.DI_DryPump1Running"].Value = true;
IO.DI[$"{mod}.DI_ServoReady"].Value = true;
IO.AI[$"{mod}.AI_ForelinePress"].FloatValue = 300;
IO.AI[$"{mod}.AI_ChamPress"].FloatValue = 300;
IO.AI[$"{mod}.AI_ActualPressure"].FloatValue = 300;
IO.AI[$"{mod}.AI_ForelinePress"].Value = 300;
IO.AI[$"{mod}.AI_ChamPress"].Value = 300;
IO.AI[$"{mod}.AI_ActualPressure"].Value = 300;
IO.DI[$"{mod}.DI_EPV2-1FB"].Value = true;
IO.DI[$"{mod}.DI_ChamPressAboveATMSW"].Value = true;
@ -143,7 +143,7 @@ namespace SicSimulator.Instances
IO.DO[$"{mod}.DO_CleanRoutineSucceed"].Value = true;
IO.DI[$"{mod}.DI_PSUEnableFB"].Value = true;
IO.AO[$"{mod}.AO_ValveModeSetpoint"].FloatValue = (float)2;
IO.AO[$"{mod}.AO_ValveModeSetpoint"].Value = (float)2;
IO.DI[$"{mod}.DI_ChamLidClosed"].Value = true;
IO.DI[$"{mod}.DI_ChamCabDoorClosed"].Value = true;
@ -177,77 +177,77 @@ namespace SicSimulator.Instances
#region TC
//IO.AI[$"{mod}.AI_L1WorkingOP"].FloatValue = 10;
//IO.AI[$"{mod}.AI_L2WorkingOP"].FloatValue = 10;
//IO.AI[$"{mod}.AI_L3WorkingOP"].FloatValue = 10;
//IO.AI[$"{mod}.AI_L1PV"].FloatValue = 20;
//IO.AI[$"{mod}.AI_L2PV"].FloatValue = 20;
//IO.AI[$"{mod}.AI_L3PV"].FloatValue = 20;
//IO.AI[$"{mod}.AI_L1TempHighAlarm"].FloatValue = 30;
//IO.AI[$"{mod}.AI_L2TempHighAlarm"].FloatValue = 30;
//IO.AI[$"{mod}.AI_L3TempHighAlarm"].FloatValue = 30;
//IO.AI[$"{mod}.AI_L1TempLowAlarm"].FloatValue = 25;
//IO.AI[$"{mod}.AI_L2TempLowAlarm"].FloatValue = 25;
//IO.AI[$"{mod}.AI_L3TempLowAlarm"].FloatValue = 25;
//IO.AI[$"{mod}.AI_L1WorkingOP"].Value = 10;
//IO.AI[$"{mod}.AI_L2WorkingOP"].Value = 10;
//IO.AI[$"{mod}.AI_L3WorkingOP"].Value = 10;
//IO.AI[$"{mod}.AI_L1PV"].Value = 20;
//IO.AI[$"{mod}.AI_L2PV"].Value = 20;
//IO.AI[$"{mod}.AI_L3PV"].Value = 20;
//IO.AI[$"{mod}.AI_L1TempHighAlarm"].Value = 30;
//IO.AI[$"{mod}.AI_L2TempHighAlarm"].Value = 30;
//IO.AI[$"{mod}.AI_L3TempHighAlarm"].Value = 30;
//IO.AI[$"{mod}.AI_L1TempLowAlarm"].Value = 25;
//IO.AI[$"{mod}.AI_L2TempLowAlarm"].Value = 25;
//IO.AI[$"{mod}.AI_L3TempLowAlarm"].Value = 25;
//IO.AO[$"{mod}.AO_L1LoopMode"].FloatValue = 1;
//IO.AO[$"{mod}.AO_L2LoopMode"].FloatValue = 1;
//IO.AO[$"{mod}.AO_L3LoopMode"].FloatValue = 1;
//IO.AO[$"{mod}.AO_L1TargetSP"].FloatValue = 20;
//IO.AO[$"{mod}.AO_L2TargetSP"].FloatValue = 20;
//IO.AO[$"{mod}.AO_L3TargetSP"].FloatValue = 20;
//IO.AO[$"{mod}.AO_L1TargetOP"].FloatValue = 30;
//IO.AO[$"{mod}.AO_L2TargetOP"].FloatValue = 30;
//IO.AO[$"{mod}.AO_L3TargetOP"].FloatValue = 30;
//IO.AO[$"{mod}.AO_L1IPCST"].FloatValue = 40;
//IO.AO[$"{mod}.AO_L2IPCST"].FloatValue = 40;
//IO.AO[$"{mod}.AO_L3IPCST"].FloatValue = 40;
//IO.AO[$"{mod}.AO_L1IPCST"].FloatValue = 70;
//IO.AO[$"{mod}.AO_L2IPCST"].FloatValue = 70;
//IO.AO[$"{mod}.AO_L3IPCST"].FloatValue = 70;
//IO.AO[$"{mod}.AO_TCPyroMode"].FloatValue = 1;
//IO.AO[$"{mod}.AO_L1TempHighLimit"].FloatValue = 90;
//IO.AO[$"{mod}.AO_L2TempHighLimit"].FloatValue = 90;
//IO.AO[$"{mod}.AO_L3TempHighLimit"].FloatValue = 90;
//IO.AO[$"{mod}.AO_L1TempLowLimit"].FloatValue = 80;
//IO.AO[$"{mod}.AO_L2TempLowLimit"].FloatValue = 80;
//IO.AO[$"{mod}.AO_L3TempLowLimit"].FloatValue = 80;
//IO.AO[$"{mod}.AO_L1LoopMode"].Value = 1;
//IO.AO[$"{mod}.AO_L2LoopMode"].Value = 1;
//IO.AO[$"{mod}.AO_L3LoopMode"].Value = 1;
//IO.AO[$"{mod}.AO_L1TargetSP"].Value = 20;
//IO.AO[$"{mod}.AO_L2TargetSP"].Value = 20;
//IO.AO[$"{mod}.AO_L3TargetSP"].Value = 20;
//IO.AO[$"{mod}.AO_L1TargetOP"].Value = 30;
//IO.AO[$"{mod}.AO_L2TargetOP"].Value = 30;
//IO.AO[$"{mod}.AO_L3TargetOP"].Value = 30;
//IO.AO[$"{mod}.AO_L1IPCST"].Value = 40;
//IO.AO[$"{mod}.AO_L2IPCST"].Value = 40;
//IO.AO[$"{mod}.AO_L3IPCST"].Value = 40;
//IO.AO[$"{mod}.AO_L1IPCST"].Value = 70;
//IO.AO[$"{mod}.AO_L2IPCST"].Value = 70;
//IO.AO[$"{mod}.AO_L3IPCST"].Value = 70;
//IO.AO[$"{mod}.AO_TCPyroMode"].Value = 1;
//IO.AO[$"{mod}.AO_L1TempHighLimit"].Value = 90;
//IO.AO[$"{mod}.AO_L2TempHighLimit"].Value = 90;
//IO.AO[$"{mod}.AO_L3TempHighLimit"].Value = 90;
//IO.AO[$"{mod}.AO_L1TempLowLimit"].Value = 80;
//IO.AO[$"{mod}.AO_L2TempLowLimit"].Value = 80;
//IO.AO[$"{mod}.AO_L3TempLowLimit"].Value = 80;
//IO.AI[$"{mod}.AI_L1WorkingOP2"].FloatValue = 10;
//IO.AI[$"{mod}.AI_L2WorkingOP2"].FloatValue = 10;
//IO.AI[$"{mod}.AI_L3WorkingOP2"].FloatValue = 10;
//IO.AI[$"{mod}.AI_L1PV2"].FloatValue = 20;
//IO.AI[$"{mod}.AI_L2PV2"].FloatValue = 20;
//IO.AI[$"{mod}.AI_L3PV2"].FloatValue = 20;
//IO.AI[$"{mod}.AI_L1TempHighAlarm2"].FloatValue = 30;
//IO.AI[$"{mod}.AI_L2TempHighAlarm2"].FloatValue = 30;
//IO.AI[$"{mod}.AI_L3TempHighAlarm2"].FloatValue = 30;
//IO.AI[$"{mod}.AI_L1TempLowAlarm2"].FloatValue = 25;
//IO.AI[$"{mod}.AI_L2TempLowAlarm2"].FloatValue = 25;
//IO.AI[$"{mod}.AI_L3TempLowAlarm2"].FloatValue = 25;
//IO.AI[$"{mod}.AI_L1WorkingOP2"].Value = 10;
//IO.AI[$"{mod}.AI_L2WorkingOP2"].Value = 10;
//IO.AI[$"{mod}.AI_L3WorkingOP2"].Value = 10;
//IO.AI[$"{mod}.AI_L1PV2"].Value = 20;
//IO.AI[$"{mod}.AI_L2PV2"].Value = 20;
//IO.AI[$"{mod}.AI_L3PV2"].Value = 20;
//IO.AI[$"{mod}.AI_L1TempHighAlarm2"].Value = 30;
//IO.AI[$"{mod}.AI_L2TempHighAlarm2"].Value = 30;
//IO.AI[$"{mod}.AI_L3TempHighAlarm2"].Value = 30;
//IO.AI[$"{mod}.AI_L1TempLowAlarm2"].Value = 25;
//IO.AI[$"{mod}.AI_L2TempLowAlarm2"].Value = 25;
//IO.AI[$"{mod}.AI_L3TempLowAlarm2"].Value = 25;
//IO.AO[$"{mod}.AO_L1LoopMode2"].FloatValue = 1;
//IO.AO[$"{mod}.AO_L2LoopMode2"].FloatValue = 1;
//IO.AO[$"{mod}.AO_L3LoopMode2"].FloatValue = 1;
//IO.AO[$"{mod}.AO_L1TargetSP2"].FloatValue = 20;
//IO.AO[$"{mod}.AO_L2TargetSP2"].FloatValue = 20;
//IO.AO[$"{mod}.AO_L3TargetSP2"].FloatValue = 20;
//IO.AO[$"{mod}.AO_L1TargetOP2"].FloatValue = 30;
//IO.AO[$"{mod}.AO_L2TargetOP2"].FloatValue = 30;
//IO.AO[$"{mod}.AO_L3TargetOP2"].FloatValue = 30;
//IO.AO[$"{mod}.AO_L1RecipeValue2"].FloatValue = 40;
//IO.AO[$"{mod}.AO_L2RecipeValue2"].FloatValue = 40;
//IO.AO[$"{mod}.AO_L3RecipeValue2"].FloatValue = 40;
//IO.AO[$"{mod}.AO_L1IPCST2"].FloatValue = 70;
//IO.AO[$"{mod}.AO_L2IPCST2"].FloatValue = 70;
//IO.AO[$"{mod}.AO_L3IPCST2"].FloatValue = 70;
//IO.AO[$"{mod}.AO_TCPyroMode2"].FloatValue = 1;
//IO.AO[$"{mod}.AO_L1TempHighLimit2"].FloatValue = 90;
//IO.AO[$"{mod}.AO_L2TempHighLimit2"].FloatValue = 90;
//IO.AO[$"{mod}.AO_L3TempHighLimit2"].FloatValue = 90;
//IO.AO[$"{mod}.AO_L1TempLowLimit2"].FloatValue = 80;
//IO.AO[$"{mod}.AO_L2TempLowLimit2"].FloatValue = 80;
//IO.AO[$"{mod}.AO_L3TempLowLimit2"].FloatValue = 80;
//IO.AO[$"{mod}.AO_L1LoopMode2"].Value = 1;
//IO.AO[$"{mod}.AO_L2LoopMode2"].Value = 1;
//IO.AO[$"{mod}.AO_L3LoopMode2"].Value = 1;
//IO.AO[$"{mod}.AO_L1TargetSP2"].Value = 20;
//IO.AO[$"{mod}.AO_L2TargetSP2"].Value = 20;
//IO.AO[$"{mod}.AO_L3TargetSP2"].Value = 20;
//IO.AO[$"{mod}.AO_L1TargetOP2"].Value = 30;
//IO.AO[$"{mod}.AO_L2TargetOP2"].Value = 30;
//IO.AO[$"{mod}.AO_L3TargetOP2"].Value = 30;
//IO.AO[$"{mod}.AO_L1RecipeValue2"].Value = 40;
//IO.AO[$"{mod}.AO_L2RecipeValue2"].Value = 40;
//IO.AO[$"{mod}.AO_L3RecipeValue2"].Value = 40;
//IO.AO[$"{mod}.AO_L1IPCST2"].Value = 70;
//IO.AO[$"{mod}.AO_L2IPCST2"].Value = 70;
//IO.AO[$"{mod}.AO_L3IPCST2"].Value = 70;
//IO.AO[$"{mod}.AO_TCPyroMode2"].Value = 1;
//IO.AO[$"{mod}.AO_L1TempHighLimit2"].Value = 90;
//IO.AO[$"{mod}.AO_L2TempHighLimit2"].Value = 90;
//IO.AO[$"{mod}.AO_L3TempHighLimit2"].Value = 90;
//IO.AO[$"{mod}.AO_L1TempLowLimit2"].Value = 80;
//IO.AO[$"{mod}.AO_L2TempLowLimit2"].Value = 80;
//IO.AO[$"{mod}.AO_L3TempLowLimit2"].Value = 80;
#endregion
IO.DI[$"{mod}.DI_PMH2DetectorSW"].Value = true;
@ -300,7 +300,7 @@ namespace SicSimulator.Instances
IO.DO[$"{mod}.DO_PowerRod1FlowTemp"].Value = true;
IO.DO[$"{mod}.DO_PowerRod2FlowTemp"].Value = true;
IO.DO[$"{mod}.DO_ElectrodeWFlowTemp"].Value = true;
IO.DO[$"{mod}.DO_Spare1FlowTemp"].Value = true;
//IO.DO[$"{mod}.DO_Spare1FlowTemp"].Value = true;
IO.DO[$"{mod}.DO_TransformerFlowTemp"].Value = true;
IO.DO[$"{mod}.DO_HeaterEnable"].Value = true;
@ -313,21 +313,21 @@ namespace SicSimulator.Instances
{
#region Water Flow
IO.AI[$"{mod}.AI_ChamMiddleFlow2Temp"].FloatValue = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_SHFlowTemp"].FloatValue = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_ChamTopFlowTemp"].FloatValue = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_ChamMiddleFlow1Temp"].FloatValue = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_ChamBottomFlowTemp"].FloatValue = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_TMPump2FlowTemp"].FloatValue = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_PowerRod1FlowTemp"].FloatValue = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_PowerRod2FlowTemp"].FloatValue = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_Foreline1FlowTemp"].FloatValue = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_ElectrodeWFlowTemp"].FloatValue = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_TMPump1FlowTemp"].FloatValue = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_TransformerFlowTemp"].FloatValue = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_TMTopLidFlowTemp"].FloatValue = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_TMBufferFlowTemp"].FloatValue = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_SpareFlowTemp"].FloatValue = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_ChamMiddleFlow2Temp"].Value = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_SHFlowTemp"].Value = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_ChamTopFlowTemp"].Value = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_ChamMiddleFlow1Temp"].Value = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_ChamBottomFlowTemp"].Value = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_TMPump2FlowTemp"].Value = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_PowerRod1FlowTemp"].Value = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_PowerRod2FlowTemp"].Value = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_Foreline1FlowTemp"].Value = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_ElectrodeWFlowTemp"].Value = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_TMPump1FlowTemp"].Value = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_TransformerFlowTemp"].Value = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_TMTopLidFlowTemp"].Value = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_TMBufferFlowTemp"].Value = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_SpareFlowTemp"].Value = (float)(WaterTempBase * _rnd.NextDouble()); ;
#endregion
}
@ -451,8 +451,8 @@ namespace SicSimulator.Instances
float current = 0;
if (IO.AI[$"{pm}.{item.Item1}"] != null)
{
current = IO.AI[$"{pm}.{item.Item1}"].FloatValue;
setpoint = IO.AO[$"{pm}.{item.Item2}"].FloatValue;
current = IO.AI[$"{pm}.{item.Item1}"].Value;
setpoint = IO.AO[$"{pm}.{item.Item2}"].Value;
}
@ -471,40 +471,40 @@ namespace SicSimulator.Instances
result = result + (float)_rnd.NextDouble();
IO.AI[$"{pm}.{item.Item1}"].FloatValue = result;
IO.AI[$"{pm}.{item.Item1}"].Value = result;
}
}
public object locker = new object();
private void MonitorPm(string pm)
{
IO.AI[$"{pm}.AI_TVmode"].FloatValue = IO.AO[$"{pm}.AO_ValveModeSetpoint"].FloatValue;
IO.AI[$"{pm}.AI_HeartBeat"].FloatValue = IO.AO[$"{pm}.AO_HeartBeat"].FloatValue;
IO.AI[$"{pm}.AI_TVmode"].Value = IO.AO[$"{pm}.AO_ValveModeSetpoint"].Value;
IO.AI[$"{pm}.AI_HeartBeat"].Value = IO.AO[$"{pm}.AO_HeartBeat"].Value;
IO.AI[$"{pm}.AI_ActualPositon"].FloatValue = IO.AO[$"{pm}.AO_SetpointPositon"].FloatValue;
IO.AI[$"{pm}.AI_ActualPositon"].Value = IO.AO[$"{pm}.AO_SetpointPositon"].Value;
//蝶阀开启,跟着蝶阀的设置值走
if (IO.DO[$"{pm}.DO_TVEnable"].Value)
{
if (IO.AI[$"{pm}.AI_ActualPressure"].FloatValue > IO.AO[$"{pm}.AO_SetpointPressure"].FloatValue)
if (IO.AI[$"{pm}.AI_ActualPressure"].Value > IO.AO[$"{pm}.AO_SetpointPressure"].Value)
{
if (IO.AI[$"{pm}.AI_ActualPressure"].FloatValue - 10 < IO.AO[$"{pm}.AO_SetpointPressure"].FloatValue)
if (IO.AI[$"{pm}.AI_ActualPressure"].Value - 10 < IO.AO[$"{pm}.AO_SetpointPressure"].Value)
{
IO.AI[$"{pm}.AI_ActualPressure"].FloatValue -= 10;
IO.AI[$"{pm}.AI_ActualPressure"].Value -= 10;
}
else
{
IO.AI[$"{pm}.AI_ActualPressure"].FloatValue = IO.AO[$"{pm}.AO_SetpointPressure"].FloatValue;
IO.AI[$"{pm}.AI_ActualPressure"].Value = IO.AO[$"{pm}.AO_SetpointPressure"].Value;
}
}
else if (IO.AI[$"{pm}.AI_ActualPressure"].FloatValue < IO.AO[$"{pm}.AO_SetpointPressure"].FloatValue)
else if (IO.AI[$"{pm}.AI_ActualPressure"].Value < IO.AO[$"{pm}.AO_SetpointPressure"].Value)
{
if (IO.AI[$"{pm}.AI_ActualPressure"].FloatValue + 10 < IO.AO[$"{pm}.AO_SetpointPressure"].FloatValue)
if (IO.AI[$"{pm}.AI_ActualPressure"].Value + 10 < IO.AO[$"{pm}.AO_SetpointPressure"].Value)
{
IO.AI[$"{pm}.AI_ActualPressure"].FloatValue += 10;
IO.AI[$"{pm}.AI_ActualPressure"].Value += 10;
}
else
{
IO.AI[$"{pm}.AI_ActualPressure"].FloatValue = IO.AO[$"{pm}.AO_SetpointPressure"].FloatValue;
IO.AI[$"{pm}.AI_ActualPressure"].Value = IO.AO[$"{pm}.AO_SetpointPressure"].Value;
}
}
}
@ -514,34 +514,34 @@ namespace SicSimulator.Instances
if (IO.DI[$"{pm}.DI_InnerGasFinalFB(V89)"].Value || IO.DI[$"{pm}.DI_MiddleGasFinalFB(V90)"].Value || IO.DI[$"{pm}.DI_OpticPurgeFinalFB(V91)"].Value || IO.DI[$"{pm}.DI_GasRingPurgeFinalFB(V92)"].Value
|| IO.DI[$"{pm}.DI_ChamberPurgeFinalFB(V93)"].Value || IO.DI[$"{pm}.DI_RotationUpPurgeFinalFB(V94)"].Value || IO.DI[$"{pm}.DI_ConfinementRingFinalFB(V95)"].Value || IO.DI[$"{pm}.DI_HeaterWFFinalFB(V96)"].Value)
{
if (IO.AI[$"{pm}.AI_ActualPressure"].FloatValue < 1200)
if (IO.AI[$"{pm}.AI_ActualPressure"].Value < 1200)
{
IO.AI[$"{pm}.AI_ActualPressure"].FloatValue += 10;
IO.AI[$"{pm}.AI_ActualPressure"].Value += 10;
}
}
}
//蝶阀Ramp有Bug,设置AO值可以化解
if (IO.AI[$"{pm}.AI_ActualPressure"].FloatValue >= 1100)
if (IO.AI[$"{pm}.AI_ActualPressure"].Value >= 1100)
{
IO.AO[$"{pm}.AO_SetpointPressure"].FloatValue = IO.AI[$"{pm}.AI_ActualPressure"].FloatValue;
IO.AO[$"{pm}.AO_SetpointPressure"].Value = IO.AI[$"{pm}.AI_ActualPressure"].Value;
}
IO.AI[$"{pm}.AI_ChamPress"].FloatValue = IO.AI[$"{pm}.AI_ActualPressure"].FloatValue;
IO.AI[$"{pm}.AI_ChamPress"].Value = IO.AI[$"{pm}.AI_ActualPressure"].Value;
//V27自动打开
if (IO.AI[$"{pm}.AI_ChamPress"].FloatValue > 1020 && IO.DO[$"{pm}.DO_PumpBypass(V27)"].Value != true)
if (IO.AI[$"{pm}.AI_ChamPress"].Value > 1020 && IO.DO[$"{pm}.DO_PumpBypass(V27)"].Value != true)
{
IO.DO[$"{pm}.DO_PumpBypass(V27)"].Value = true;
}
if (IO.AI[$"{pm}.AI_ChamPress"].FloatValue < 900 && IO.DO[$"{pm}.DO_PumpBypass(V27)"].Value)
if (IO.AI[$"{pm}.AI_ChamPress"].Value < 900 && IO.DO[$"{pm}.DO_PumpBypass(V27)"].Value)
{
IO.DO[$"{pm}.DO_PumpBypass(V27)"].Value = false;
}
//设置PT2的压力比PT1的小20
IO.AI[$"{pm}.AI_ForelinePress"].FloatValue = IO.AI[$"{pm}.AI_ChamPress"].FloatValue - 20 > 0 ? IO.AI[$"{pm}.AI_ChamPress"].FloatValue - 20 : 0;
IO.AI[$"{pm}.AI_ForelinePress"].Value = IO.AI[$"{pm}.AI_ChamPress"].Value - 20 > 0 ? IO.AI[$"{pm}.AI_ChamPress"].Value - 20 : 0;
}
@ -669,12 +669,12 @@ namespace SicSimulator.Instances
if (IO.DI["DI_ReactorADoorOpened"].Value || IO.DI["PM1.DI_TMPressBalanceFB(V70)"].Value)
{
IO.AI["AI_TMPressure1"].Value = Convert.ToInt16(IO.AI[$"PM1.AI_ChamPress"].FloatValue);
IO.AI["AI_TMPressure1"].Value = Convert.ToInt16(IO.AI[$"PM1.AI_ChamPress"].Value);
return;
}
if (IO.DI["DI_ReactorBDoorOpened"].Value || IO.DI["PM2.DI_TMPressBalanceFB(V70)"].Value)
{
IO.AI["AI_TMPressure1"].Value = Convert.ToInt16(IO.AI[$"PM2.AI_ChamPress"].FloatValue);
IO.AI["AI_TMPressure1"].Value = Convert.ToInt16(IO.AI[$"PM2.AI_ChamPress"].Value);
return;
}
else if(IO.DI["DI_TMLoadBanlanceFB"].Value)
@ -730,7 +730,7 @@ namespace SicSimulator.Instances
IO.AI["AI_TMPressure1"].Value = Convert.ToInt16(pressure);
if (IO.AI["AI_LoadPressure"].FloatValue > 960)
if (IO.AI["AI_LoadPressure"].Value > 960)
{
IO.DI["DI_LoadPressureATM"].Value = true;
}
@ -739,7 +739,7 @@ namespace SicSimulator.Instances
IO.DI["DI_LoadPressureATM"].Value = false;
}
if (IO.AI["AI_TMPressure1"].FloatValue > 960)
if (IO.AI["AI_TMPressure1"].Value > 960)
{
IO.DI["DI_TMPressure1ATM"].Value = true;
}
@ -1052,19 +1052,19 @@ namespace SicSimulator.Instances
IO.DI[$"{pm}.DI_SCR2Status"].Value = IO.DO[$"{pm}.DO_SCR2Enable"].Value;
IO.DI[$"{pm}.DI_SCR3Status"].Value = IO.DO[$"{pm}.DO_SCR3Enable"].Value;
//IO.AI[$"{pm}.AI_PresentLoop1Temp"].FloatValue = IO.AO[$"{pm}.AO_SetpointLoop1Temp"].FloatValue;
//IO.AI[$"{pm}.AI_Loop1ControlMode"].FloatValue = IO.AO[$"{pm}.AO_Loop1ControlMode"].FloatValue;
//IO.AI[$"{pm}.AI_Loop1ActualPower"].FloatValue = IO.AO[$"{pm}.AO_Loop1ManualOP"].FloatValue;
//IO.AI[$"{pm}.AI_PresentLoop1Temp"].Value = IO.AO[$"{pm}.AO_SetpointLoop1Temp"].Value;
//IO.AI[$"{pm}.AI_Loop1ControlMode"].Value = IO.AO[$"{pm}.AO_Loop1ControlMode"].Value;
//IO.AI[$"{pm}.AI_Loop1ActualPower"].Value = IO.AO[$"{pm}.AO_Loop1ManualOP"].Value;
//IO.DI[$"{pm}.DI_InnerHeaterEnable"].Value = IO.DO[$"{pm}.DO_InnerHeaterEnable"].Value;
//IO.AI[$"{pm}.AI_PresentLoop2Temp"].FloatValue = IO.AO[$"{pm}.AO_SetpointLoop2Temp"].FloatValue;
//IO.AI[$"{pm}.AI_Loop2ControlMode"].FloatValue = IO.AO[$"{pm}.AO_Loop2ControlMode"].FloatValue;
//IO.AI[$"{pm}.AI_Loop2ActualPower"].FloatValue = IO.AO[$"{pm}.AO_Loop2ManualOP"].FloatValue;
//IO.AI[$"{pm}.AI_PresentLoop2Temp"].Value = IO.AO[$"{pm}.AO_SetpointLoop2Temp"].Value;
//IO.AI[$"{pm}.AI_Loop2ControlMode"].Value = IO.AO[$"{pm}.AO_Loop2ControlMode"].Value;
//IO.AI[$"{pm}.AI_Loop2ActualPower"].Value = IO.AO[$"{pm}.AO_Loop2ManualOP"].Value;
//IO.DI[$"{pm}.DI_MiddleHeaterEnable"].Value = IO.DO[$"{pm}.DO_MiddleHeaterEnable"].Value;
//IO.AI[$"{pm}.AI_PresentLoop3Temp"].FloatValue = IO.AO[$"{pm}.AO_SetpointLoop3Temp"].FloatValue;
//IO.AI[$"{pm}.AI_Loop3ControlMode"].FloatValue = IO.AO[$"{pm}.AO_Loop3ControlMode"].FloatValue;
//IO.AI[$"{pm}.AI_Loop3ActualPower"].FloatValue = IO.AO[$"{pm}.AO_Loop3ManualOP"].FloatValue;
//IO.AI[$"{pm}.AI_PresentLoop3Temp"].Value = IO.AO[$"{pm}.AO_SetpointLoop3Temp"].Value;
//IO.AI[$"{pm}.AI_Loop3ControlMode"].Value = IO.AO[$"{pm}.AO_Loop3ControlMode"].Value;
//IO.AI[$"{pm}.AI_Loop3ActualPower"].Value = IO.AO[$"{pm}.AO_Loop3ManualOP"].Value;
//IO.DI[$"{pm}.DI_OuterHeaterEnable"].Value = IO.DO[$"{pm}.DO_OuterHeaterEnable"].Value;
}
private void MonitorGasConnector(string pm)
@ -1135,23 +1135,23 @@ namespace SicSimulator.Instances
if(IO.DI[$"{pm}.DI_ConfinementRingUp"].Value)
{
IO.AI[$"{pm}.AI_ConfinementRingCurPos"].FloatValue = IO.AO[$"{pm}.AO_ConfinementRingUpPos"].FloatValue;
IO.AI[$"{pm}.AI_ConfinementRingCurPos"].Value = IO.AO[$"{pm}.AO_ConfinementRingUpPos"].Value;
}
if (IO.DI[$"{pm}.DI_ConfinementRingDown"].Value)
{
IO.AI[$"{pm}.AI_ConfinementRingCurPos"].FloatValue = IO.AO[$"{pm}.AO_ConfinementRingDownPos"].FloatValue;
IO.AI[$"{pm}.AI_ConfinementRingCurPos"].Value = IO.AO[$"{pm}.AO_ConfinementRingDownPos"].Value;
}
IO.AI[$"{pm}.AI_ConfinementRingUpPos"].FloatValue = IO.AO[$"{pm}.AO_ConfinementRingUpPos"].FloatValue;
IO.AI[$"{pm}.AI_ConfinementRingDownPos"].FloatValue = IO.AO[$"{pm}.AO_ConfinementRingDownPos"].FloatValue;
IO.AI[$"{pm}.AI_ConfinementRingUpPos"].Value = IO.AO[$"{pm}.AO_ConfinementRingUpPos"].Value;
IO.AI[$"{pm}.AI_ConfinementRingDownPos"].Value = IO.AO[$"{pm}.AO_ConfinementRingDownPos"].Value;
}
private void MonitorRotation(string pm)
{
IO.AI[$"{pm}.AI_ActualSpeed"].FloatValue = IO.AO[$"{pm}.AO_SpindleSpeed"].FloatValue;
IO.AI[$"{pm}.AI_ActualSpeed"].Value = IO.AO[$"{pm}.AO_SpindleSpeed"].Value;
IO.DI[$"{pm}.DI_ConfinementRingServoOn"].Value = IO.DO[$"{pm}.DO_ConfinementRingServoOn"].Value;

View File

@ -18,6 +18,8 @@ using Aitex.Core.WCF;
using CommandLine;
using MECF.Framework.UI.Client.ClientBase;
using SciChart.Charting.Visuals;
using WPFLocalizeExtension.Engine;
using System.Globalization;
namespace SicUI.Client
{
@ -34,6 +36,9 @@ namespace SicUI.Client
protected override void OnStartup(object sender, StartupEventArgs e)
{
LocalizeDictionary.Instance.SetCurrentThreadCulture = true;
LocalizeDictionary.Instance.Culture = new CultureInfo("en");
// 解析启动参数
CommandLine.Parser.Default.ParseArguments<StartupOptions>(e.Args)
.WithParsed<StartupOptions>(o =>

View File

@ -7,7 +7,11 @@
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:micro="clr-namespace:Caliburn.Micro;assembly=MECF.Framework.UI.Client"
xmlns:sys="clr-namespace:System;assembly=mscorlib">
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:lex="http://wpflocalizeextension.codeplex.com"
lex:LocalizeDictionary.DesignCulture="zh"
lex:ResxLocalizationProvider.DefaultAssembly="Sicentury.Localization"
lex:ResxLocalizationProvider.DefaultDictionary="lang_overview">
<UserControl.Resources>
<Style TargetType="ToolTip">
<Style.Triggers>
@ -40,7 +44,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Lot ID"
Text="{lex:Loc ID_TXT_JobAssign_LotID}"
TextWrapping="Wrap" />
</Border>
<Border
@ -65,7 +69,7 @@
Width="auto"
Height="auto"
Margin="3"
Content="Start">
Content="{lex:Loc ID_BTN_JobAssign_Start_Content}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<micro:ActionMessage MethodName="Start">
@ -88,7 +92,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Sequence"
Text="{lex:Loc ID_TXT_JobAssign_Sequence}"
TextWrapping="Wrap" />
</Border>
<Border
@ -108,7 +112,7 @@
Width="60"
Margin="4,0,0,0"
Padding="0"
Content="Select"
Content="{lex:Loc ID_BTN_JobAssign_SelectSequence_Content}"
IsEnabled="{Binding WAInfo.IsEnableSelect, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">

View File

@ -36,8 +36,8 @@
ToolTipService.ShowOnDisabled="True"
TrayProcessCount="{Binding TrayProcessCount}"
TrayStatus="{Binding WaferTrayStatus}"
WaferStatus="{Binding WaferStatus}"
ViewType="Top">
ViewType="Top"
WaferStatus="{Binding WaferStatus}">
<ctrl:Slot.RenderTransform>
<TransformGroup>
<ScaleTransform />

View File

@ -11,11 +11,15 @@
xmlns:wnd="http://OpenSEMI.Ctrlib.com/presentation"
xmlns:controls="clr-namespace:MECF.Framework.UI.Client.Ctrlib.Controls;assembly=MECF.Framework.UI.Client"
xmlns:converter="clr-namespace:SicUI.Converter"
xmlns:lex="http://wpflocalizeextension.codeplex.com"
Title="Sic Manual Edition"
WindowStartupLocation="CenterScreen"
WindowState="Maximized"
mc:Ignorable="d"
d:DataContext="{d:DesignInstance Type=client:MainViewModel, IsDesignTimeCreatable=False}">
d:DataContext="{d:DesignInstance Type=client:MainViewModel, IsDesignTimeCreatable=False}"
lex:LocalizeDictionary.DesignCulture="en"
lex:ResxLocalizationProvider.DefaultAssembly="Sicentury.Localization"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common">
<Window.Resources>
<client:CollectionLastIndexConverter x:Key="collectionLastIndexConverter" />
<converter:IsReadOnlyModeToUserInfoNameBgConverter x:Key="IsReadOnlyModeToUserInfoNameBgConverter" />
@ -235,7 +239,8 @@
Margin="3,0,0,0"
Fill="#33FFFFFF" />
</StackPanel>
<Grid Grid.Row="2" Margin="40">
<Grid Grid.Row="2" Margin="40"
lex:ResxLocalizationProvider.DefaultDictionary="lang_config">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="130" />
<ColumnDefinition />
@ -290,7 +295,7 @@
FontSize="16"
FontWeight="Bold"
Foreground="{DynamicResource FG_White}"
Text="User Name"
Text="{lex:Loc ID_TXT_Login_Name}"
TextWrapping="Wrap" />
<TextBlock
Grid.Row="1"
@ -301,7 +306,7 @@
FontSize="16"
FontWeight="Bold"
Foreground="{DynamicResource FG_White}"
Text="Password"
Text="{lex:Loc ID_TXT_Password}"
TextWrapping="Wrap" />
<TextBlock
Grid.Row="2"
@ -312,16 +317,18 @@
FontSize="16"
FontWeight="Bold"
Foreground="{DynamicResource FG_White}"
Text="Role"
Text="{lex:Loc ID_TXT_Role}"
TextWrapping="Wrap" />
</Grid>
<Button
x:Name="ID_BTN_Login_Content"
Grid.Row="3"
Width="160"
Height="55"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Content="Login"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Content="{lex:Loc}"
FontFamily="Arial"
FontSize="18"
FontWeight="Bold"
@ -406,7 +413,7 @@
Padding="5,0"
FontSize="13"
Foreground="white"
Text="Time:" />
Text="{lex:Loc ID_TXT_Time}" />
<TextBlock
Padding="1,0"
FontSize="13"
@ -422,7 +429,7 @@
Padding="5,0"
FontSize="13"
Foreground="white"
Text="Ver:" />
Text="{lex:Loc ID_TXT_Ver}" />
<TextBlock
Padding="5,0"
FontSize="13"
@ -524,14 +531,15 @@
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
BorderBrush="Gray"
Content="Log"
Content="{lex:Loc ID_TXT_Log}"
Style="{DynamicResource TopLable_LeftBottom}" />
<Button
DockPanel.Dock="Right"
Width="90"
Height="30"
Content="Buzzer Off"
Style="{DynamicResource TopButton}" Margin="2,0,0,0">
Content="{lex:Loc ID_BTN_BuzzerOff_Content}"
Style="{DynamicResource TopButton}" Margin="2,0,0,0"
ToolTip="{lex:Loc ID_BTN_BuzzerOff_ToolTip}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="BuzzerOff" />
@ -542,8 +550,9 @@
DockPanel.Dock="Right"
Width="90"
Height="30"
Content="Reset"
Style="{DynamicResource TopButton}" Margin="2,0,0,0">
Content="{lex:Loc ID_BTN_Reset_Content}"
Style="{DynamicResource TopButton}" Margin="2,0,0,0"
ToolTip="{lex:Loc ID_BTN_Reset_ToolTip}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="Reset" />
@ -560,11 +569,12 @@
<CheckBox
HorizontalAlignment="Center"
VerticalAlignment="Center"
Content="Alarm"
Content="{lex:Loc ID_CBX_Alarm_Content}"
FontFamily="Arial"
FontSize="16"
Foreground="{DynamicResource FG_Black}"
IsChecked="{Binding IsShowAlarmEventOnly, Delay=10}" />
IsChecked="{Binding IsShowAlarmEventOnly, Delay=10}"
ToolTip="{lex:Loc ID_CBX_Alarm_ToolTip}"/>
</Label>
<ComboBox
Height="Auto"
@ -616,7 +626,8 @@
<Button
Grid.Row="1"
Margin="2,4"
Content="Logout"
Content="{lex:Loc ID_BTN_Logout_Content}"
ToolTip="{lex:Loc ID_BTN_Logout_ToolTip}"
Style="{DynamicResource Logout_Button}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
@ -656,10 +667,11 @@
Margin="3,0"
Background="{x:Null}"
ItemContainerStyle="{DynamicResource BottomSubMenu}"
ItemsSource="{Binding Path=SubMenuItems}">
ItemsSource="{Binding Path=SubMenuItems}"
lex:ResxLocalizationProvider.DefaultDictionary="lang_menu_view">
<Menu.ItemTemplate>
<DataTemplate>
<TextBlock Margin="1" Text="{Binding Path=ResKey}" />
<TextBlock Margin="1" Text="{lex:Loc {Binding Path = ResKey, FallbackValue=Unknown}}" />
</DataTemplate>
</Menu.ItemTemplate>
</Menu>
@ -683,10 +695,11 @@
VerticalAlignment="Center"
Background="{x:Null}"
ItemContainerStyle="{DynamicResource MainMenu}"
ItemsSource="{Binding Path=MenuItems}">
ItemsSource="{Binding Path=MenuItems}"
lex:ResxLocalizationProvider.DefaultDictionary="lang_menu_view">
<Menu.ItemTemplate>
<DataTemplate>
<TextBlock Margin="1" Text="{Binding Path=ResKey}" />
<TextBlock Margin="1" Text="{lex:Loc {Binding Path = ResKey, FallbackValue=Unknown}}" />
</DataTemplate>
</Menu.ItemTemplate>
</Menu>

View File

@ -7,9 +7,13 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:lex="http://wpflocalizeextension.codeplex.com"
d:DesignHeight="900"
d:DesignWidth="1800"
mc:Ignorable="d">
mc:Ignorable="d"
lex:LocalizeDictionary.DesignCulture="en"
lex:ResxLocalizationProvider.DefaultAssembly="Sicentury.Localization"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common">
<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
<TabControl>
@ -137,7 +141,9 @@
VirtualizingPanel.VirtualizationMode="Recycling">
<DataGrid.Columns>
<DataGridTemplateColumn Width="200" Header="Date">
<DataGridTemplateColumn
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Width="200" Header="{lex:Loc ID_TXT_Date}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock
@ -152,7 +158,10 @@
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="150" Header="Status">
<DataGridTemplateColumn
Width="150"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Header="{lex:Loc ID_TXT_Status}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock
@ -168,7 +177,10 @@
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="200" Header="Leak Rate (mbar/minutes)">
<DataGridTemplateColumn
Width="200"
lex:ResxLocalizationProvider.DefaultDictionary="lang_leakcheckview"
Header="{lex:Loc ID_TXT_LeakRate}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock
@ -184,7 +196,9 @@
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="200" Header="Start Pressure (mbar)">
<DataGridTemplateColumn Width="200"
lex:ResxLocalizationProvider.DefaultDictionary="lang_leakcheckview"
Header="{lex:Loc ID_TXT_StartPressure}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock
@ -200,7 +214,9 @@
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="200" Header="Stop Pressure(mbar)">
<DataGridTemplateColumn Width="200"
lex:ResxLocalizationProvider.DefaultDictionary="lang_leakcheckview"
Header="{lex:Loc ID_TXT_StopPressure}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock
@ -217,7 +233,9 @@
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="200" Header="Leak Check Time (s)">
<DataGridTemplateColumn Width="200"
lex:ResxLocalizationProvider.DefaultDictionary="lang_leakcheckview"
Header="{lex:Loc ID_TXT_LeakCheckTime}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock
@ -240,7 +258,7 @@
<Button
Width="120"
Height="25"
Content="Remove"
Content="{lex:Loc ID_BTN_Remove_Content}"
FontSize="12">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
@ -386,7 +404,9 @@
VirtualizingPanel.VirtualizationMode="Recycling">
<DataGrid.Columns>
<DataGridTemplateColumn Width="200" Header="Date">
<DataGridTemplateColumn Width="200"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Header="{lex:Loc ID_TXT_Date}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock
@ -401,7 +421,9 @@
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="150" Header="Status">
<DataGridTemplateColumn Width="150"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Header="{lex:Loc ID_TXT_Status}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock
@ -417,7 +439,9 @@
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="200" Header="Leak Rate (mbar/minutes)">
<DataGridTemplateColumn Width="200"
lex:ResxLocalizationProvider.DefaultDictionary="lang_leakcheckview"
Header="{lex:Loc ID_TXT_LeakRate}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock
@ -433,7 +457,9 @@
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="200" Header="Start Pressure (mbar)">
<DataGridTemplateColumn Width="200"
lex:ResxLocalizationProvider.DefaultDictionary="lang_leakcheckview"
Header="{lex:Loc ID_TXT_StartPressure}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock
@ -449,7 +475,9 @@
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="200" Header="Stop Pressure(mbar)">
<DataGridTemplateColumn Width="200"
lex:ResxLocalizationProvider.DefaultDictionary="lang_leakcheckview"
Header="{lex:Loc ID_TXT_StopPressure}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock
@ -466,7 +494,9 @@
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="200" Header="Leak Check Time (s)">
<DataGridTemplateColumn Width="200"
lex:ResxLocalizationProvider.DefaultDictionary="lang_leakcheckview"
Header="{lex:Loc ID_TXT_LeakCheckTime}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock
@ -489,7 +519,7 @@
<Button
Width="120"
Height="25"
Content="Remove"
Content="{lex:Loc ID_BTN_Remove_Content}"
FontSize="12">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
@ -675,7 +705,9 @@
VirtualizingPanel.VirtualizationMode="Recycling">
<DataGrid.Columns>
<DataGridTemplateColumn Width="200" Header="Date">
<DataGridTemplateColumn Width="200"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Header="{lex:Loc ID_TXT_Date}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock
@ -690,7 +722,9 @@
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="150" Header="Status">
<DataGridTemplateColumn Width="150"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Header="{lex:Loc ID_TXT_Status}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock
@ -706,7 +740,9 @@
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="200" Header="Leak Rate (mbar/minutes)">
<DataGridTemplateColumn Width="200"
lex:ResxLocalizationProvider.DefaultDictionary="lang_leakcheckview"
Header="{lex:Loc ID_TXT_LeakRate}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock
@ -722,7 +758,9 @@
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="200" Header="Start Pressure (mbar)">
<DataGridTemplateColumn Width="200"
lex:ResxLocalizationProvider.DefaultDictionary="lang_leakcheckview"
Header="{lex:Loc ID_TXT_StartPressure}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock
@ -738,7 +776,9 @@
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="200" Header="Stop Pressure(mbar)">
<DataGridTemplateColumn Width="200"
lex:ResxLocalizationProvider.DefaultDictionary="lang_leakcheckview"
Header="{lex:Loc ID_TXT_StopPressure}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock
@ -755,7 +795,9 @@
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="200" Header="Leak Check Time (s)">
<DataGridTemplateColumn Width="200"
lex:ResxLocalizationProvider.DefaultDictionary="lang_leakcheckview"
Header="{lex:Loc ID_TXT_LeakCheckTime}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock
@ -778,7 +820,7 @@
<Button
Width="120"
Height="25"
Content="Remove"
Content="{lex:Loc ID_BTN_Remove_Content}"
FontSize="12">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
@ -819,7 +861,9 @@
VirtualizingPanel.VirtualizationMode="Recycling">
<DataGrid.Columns>
<DataGridTemplateColumn Width="200" Header="Date">
<DataGridTemplateColumn Width="200"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Header="{lex:Loc ID_TXT_Date}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock
@ -834,7 +878,9 @@
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="150" Header="Status">
<DataGridTemplateColumn Width="150"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Header="{lex:Loc ID_TXT_Status}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock
@ -850,7 +896,9 @@
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="200" Header="Leak Rate (mbar/minutes)">
<DataGridTemplateColumn Width="200"
lex:ResxLocalizationProvider.DefaultDictionary="lang_leakcheckview"
Header="{lex:Loc ID_TXT_LeakRate}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock
@ -866,7 +914,9 @@
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="200" Header="Start Pressure (mbar)">
<DataGridTemplateColumn Width="200"
lex:ResxLocalizationProvider.DefaultDictionary="lang_leakcheckview"
Header="{lex:Loc ID_TXT_StartPressure}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock
@ -882,7 +932,9 @@
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="200" Header="Stop Pressure(mbar)">
<DataGridTemplateColumn Width="200"
lex:ResxLocalizationProvider.DefaultDictionary="lang_leakcheckview"
Header="{lex:Loc ID_TXT_StopPressure}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock
@ -899,7 +951,9 @@
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="200" Header="Leak Check Time (s)">
<DataGridTemplateColumn Width="200"
lex:ResxLocalizationProvider.DefaultDictionary="lang_leakcheckview"
Header="{lex:Loc ID_TXT_LeakCheckTime}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock
@ -922,7 +976,7 @@
<Button
Width="120"
Height="25"
Content="Remove"
Content="{lex:Loc ID_BTN_Remove_Content}"
FontSize="12">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">

View File

@ -10,9 +10,13 @@
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:unitControls="clr-namespace:MECF.Framework.UI.Client.Ctrlib.UnitControls;assembly=MECF.Framework.UI.Client"
xmlns:lex="http://wpflocalizeextension.codeplex.com"
d:DesignHeight="800"
d:DesignWidth="1980"
mc:Ignorable="d">
mc:Ignorable="d"
lex:LocalizeDictionary.DesignCulture="en"
lex:ResxLocalizationProvider.DefaultAssembly="Sicentury.Localization"
lex:ResxLocalizationProvider.DefaultDictionary="lang_deviceview">
<ScrollViewer
HorizontalScrollBarVisibility="Auto"
IsEnabled="{Binding IsPermission}"
@ -1736,7 +1740,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="BatteryUnderResidue"
Text="{lex:Loc ID_TXT_BatteryUnderResidue}"
TextWrapping="Wrap"
ToolTip="剩余电量百分比" />
</Border>
@ -1857,7 +1861,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="BatteryRemainsTime"
Text="{lex:Loc ID_TXT_BatteryRemainsTime}"
TextWrapping="Wrap"
ToolTip="剩余时间" />
</Border>
@ -1981,7 +1985,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="BatteryVoltage"
Text="{lex:Loc ID_TXT_BatteryVoltage}"
TextWrapping="Wrap"
ToolTip="电池当前电压" />
</Border>
@ -2104,7 +2108,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="InputVoltage"
Text="{lex:Loc ID_TXT_InputVoltage}"
TextWrapping="Wrap"
ToolTip="输入交流电电压" />
</Border>

View File

@ -14,9 +14,13 @@
xmlns:m2c4parts="clr-namespace:SicUI.Controls.M2C4Parts"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:unitControls="clr-namespace:MECF.Framework.UI.Client.Ctrlib.UnitControls;assembly=MECF.Framework.UI.Client"
xmlns:lex="http://wpflocalizeextension.codeplex.com"
d:DesignHeight="800"
d:DesignWidth="1920"
mc:Ignorable="d">
mc:Ignorable="d"
lex:LocalizeDictionary.DesignCulture="en"
lex:ResxLocalizationProvider.DefaultAssembly="Sicentury.Localization"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common">
<UserControl.Resources>
<Color x:Key="EdgeColorWhite">DimGray</Color>
<Color x:Key="CenterColorWhite">LightGray</Color>
@ -73,7 +77,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Status"
Text="{lex:Loc ID_TXT_Status}"
TextWrapping="Wrap" />
</Border>
<Border
@ -84,11 +88,12 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,0,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_terms"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="{Binding StatusPM1}"
Text="{lex:Loc {Binding StatusPM1}}"
TextAlignment="Center"
TextWrapping="Wrap" />
</Border>
@ -105,7 +110,7 @@
Width="80"
Height="25"
Margin="10,0"
Content="Home">
Content="{lex:Loc ID_BTN_Home_Content}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="Home">
@ -119,7 +124,7 @@
Width="80"
Height="25"
Margin="10,0"
Content="Abort">
Content="{lex:Loc ID_BTN_Abort_Content}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="Abort">
@ -133,7 +138,7 @@
Width="80"
Height="25"
Margin="10,0"
Content="Reset">
Content="{lex:Loc ID_BTN_Reset_Content}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="Reset">
@ -156,7 +161,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Online Mode"
Text="{lex:Loc ID_TXT_OnlineMode}"
TextWrapping="Wrap" />
</Border>
<Border
@ -167,11 +172,12 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,0,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_terms"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="{Binding PM1OnlineMode}"
Text="{lex:Loc {Binding PM1OnlineMode}}"
TextAlignment="Center"
TextWrapping="Wrap" />
</Border>
@ -188,7 +194,7 @@
Width="80"
Height="25"
Margin="10,0"
Content="Online">
Content="{lex:Loc ID_BTN_Online_Content}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="SetOnline">
@ -202,7 +208,7 @@
Width="80"
Height="25"
Margin="10,0"
Content="Offline">
Content="{lex:Loc ID_BTN_Offline_Content}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="SetOffline">
@ -213,15 +219,17 @@
</Button>
</StackPanel>
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_tmview"
Width="100"
HorizontalAlignment="Right"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="{Binding PM1PurgeLoop, StringFormat=0.00}"
TextAlignment="Right"
TextWrapping="Wrap" />
TextAlignment="Left"
TextWrapping="Wrap">
<Run Text="{lex:Loc ID_TXT_PurgeLoop}" FontSize="12"/><Run Text="{Binding PM1PurgeLoop, StringFormat=0.00 ,Mode=OneWay}" FontSize="12"/>
</TextBlock>
</Grid>
</Border>
@ -232,11 +240,12 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_tmview"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Info"
Text="{lex:Loc ID_TXT_Info}"
TextWrapping="Wrap" />
</Border>
<Border
@ -295,11 +304,12 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_tmview"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="PyroTemp"
Text="{lex:Loc ID_TXT_PyroTemp}"
TextWrapping="Wrap" />
</Border>
<Border
@ -476,7 +486,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Status"
Text="{lex:Loc ID_TXT_Status}"
TextWrapping="Wrap" />
</Border>
<Border
@ -487,11 +497,12 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,0,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_terms"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="{Binding StatusPM2}"
Text="{lex:Loc {Binding StatusPM2}}"
TextAlignment="Center"
TextWrapping="Wrap" />
</Border>
@ -508,7 +519,7 @@
Width="80"
Height="25"
Margin="10,0"
Content="Home">
Content="{lex:Loc ID_BTN_Home_Content}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="Home">
@ -522,7 +533,7 @@
Width="80"
Height="25"
Margin="10,0"
Content="Abort">
Content="{lex:Loc ID_BTN_Abort_Content}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="Abort">
@ -536,7 +547,7 @@
Width="80"
Height="25"
Margin="10,0"
Content="Reset">
Content="{lex:Loc ID_BTN_Reset_Content}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="Reset">
@ -559,7 +570,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Online Mode"
Text="{lex:Loc ID_TXT_OnlineMode}"
TextWrapping="Wrap" />
</Border>
<Border
@ -570,11 +581,12 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,0,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_terms"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="{Binding PM2OnlineMode}"
Text="{lex:Loc {Binding PM2OnlineMode}}"
TextAlignment="Center"
TextWrapping="Wrap" />
</Border>
@ -591,7 +603,7 @@
Width="80"
Height="25"
Margin="10,0"
Content="Online">
Content="{lex:Loc ID_BTN_Online_Content}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="SetOnline">
@ -605,7 +617,7 @@
Width="80"
Height="25"
Margin="10,0"
Content="Offline">
Content="{lex:Loc ID_BTN_Offline_Content}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="SetOffline">
@ -616,15 +628,17 @@
</Button>
</StackPanel>
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_tmview"
Width="100"
HorizontalAlignment="Right"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="{Binding PM2PurgeLoop, StringFormat=0.00}"
TextAlignment="Right"
TextWrapping="Wrap" />
TextAlignment="Left"
TextWrapping="Wrap">
<Run Text="{lex:Loc ID_TXT_PurgeLoop}" FontSize="12"/><Run Text="{Binding PM2PurgeLoop, StringFormat=0.00,Mode=OneWay}" FontSize="12"/>
</TextBlock>
</Grid>
</Border>
@ -635,11 +649,12 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_tmview"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Info"
Text="{lex:Loc ID_TXT_Info}"
TextWrapping="Wrap" />
</Border>
<Border
@ -698,11 +713,12 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_tmview"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="PyroTemp"
Text="{lex:Loc ID_TXT_PyroTemp}"
TextWrapping="Wrap" />
</Border>
<Border
@ -1333,7 +1349,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Status"
Text="{lex:Loc ID_TXT_Status}"
TextWrapping="Wrap" />
</Border>
<Border
@ -1344,11 +1360,12 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,0,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_terms"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="{Binding LLStatus}"
Text="{lex:Loc {Binding LLStatus}}"
TextAlignment="Center"
TextWrapping="Wrap" />
</Border>
@ -1366,7 +1383,7 @@
Width="80"
Height="25"
Margin="10,0"
Content="Home">
Content="{lex:Loc ID_BTN_Home_Content}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="Home">
@ -1380,7 +1397,7 @@
Width="80"
Height="25"
Margin="10,0"
Content="Abort">
Content="{lex:Loc ID_BTN_Abort_Content}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="Abort">
@ -1394,7 +1411,7 @@
Width="80"
Height="25"
Margin="10,0"
Content="Reset">
Content="{lex:Loc ID_BTN_Reset_Content}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="Reset">
@ -1417,7 +1434,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Online Mode"
Text="{lex:Loc ID_TXT_OnlineMode}"
TextWrapping="Wrap" />
</Border>
<Border
@ -1428,12 +1445,13 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,0,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_terms"
Margin="0,7,0,0"
VerticalAlignment="Top"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="{Binding LLOnlineMode}"
Text="{lex:Loc {Binding LLOnlineMode}}"
TextAlignment="Center"
TextWrapping="Wrap" />
</Border>
@ -1449,7 +1467,7 @@
Width="80"
Height="25"
Margin="10,0"
Content="Online">
Content="{lex:Loc ID_BTN_Online_Content}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="SetOnline">
@ -1463,7 +1481,7 @@
Width="80"
Height="25"
Margin="10,0"
Content="Offline">
Content="{lex:Loc ID_BTN_Offline_Content}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="SetOffline">
@ -1473,6 +1491,7 @@
</i:Interaction.Triggers>
</Button>
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_tmview"
Width="100"
Margin="15,0,0,0"
HorizontalAlignment="Right"
@ -1480,9 +1499,10 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="{Binding LLPurgeLoop, StringFormat=0.00}"
TextAlignment="Right"
TextWrapping="Wrap" />
TextAlignment="Left"
TextWrapping="Wrap">
<Run Text="{lex:Loc ID_TXT_PurgeLoop}" FontSize="12"/><Run Text="{Binding LLPurgeLoop, StringFormat=0.00,Mode=OneWay}" FontSize="12"/>
</TextBlock>
</StackPanel>
</Border>
@ -1497,7 +1517,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Pressure"
Text="{lex:Loc ID_TXT_Pressure}"
TextWrapping="Wrap" />
</Border>
@ -1529,7 +1549,7 @@
Width="80"
Height="25"
Margin="10,0"
Content="Pump"
Content="{lex:Loc ID_BTN_Pump_Content}"
IsEnabled="{Binding IsLLEnableManualOperation}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
@ -1544,7 +1564,7 @@
Width="80"
Height="25"
Margin="10,0"
Content="Vent"
Content="{lex:Loc ID_BTN_Vent_Content}"
IsEnabled="{Binding IsLLEnableManualOperation}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
@ -1559,7 +1579,7 @@
Width="80"
Height="25"
Margin="10,0"
Content="Purge"
Content="{lex:Loc ID_BTN_Purge_Content}"
IsEnabled="{Binding IsLLEnableManualOperation}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
@ -1579,11 +1599,12 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_tmview"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="TrayPresence"
Text="{lex:Loc ID_TXT_TrayPresence}"
TextWrapping="Wrap" />
</Border>
<Border
@ -1615,7 +1636,7 @@
Height="25"
Margin="10,0"
HorizontalAlignment="Left"
Content="LeakCheck"
Content="{lex:Loc ID_BTN_LeakCheck_Content}"
IsEnabled="{Binding IsLLEnableManualOperation}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
@ -1635,11 +1656,12 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_tmview"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Load Lid"
Text="{lex:Loc ID_TXT_LoadLid}"
TextWrapping="Wrap" />
</Border>
<Border
@ -1650,11 +1672,12 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,0,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_tmview"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="{Binding LLLidState}"
Text="{lex:Loc {Binding LLLidState}}"
TextAlignment="Center"
TextWrapping="Wrap" />
</Border>
@ -1671,7 +1694,7 @@
Height="25"
Margin="10,0"
HorizontalAlignment="Left"
Content="Lock"
Content="{lex:Loc ID_BTN_Lock_Content}"
IsEnabled="{Binding IsLLEnableManualOperation}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
@ -1689,7 +1712,7 @@
Height="25"
Margin="10,0"
HorizontalAlignment="Left"
Content="Unlock"
Content="{lex:Loc ID_BTN_Unlock_Content}"
IsEnabled="{Binding IsLLEnableManualOperation}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
@ -1712,11 +1735,12 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_tmview"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="CoolingTime"
Text="{lex:Loc ID_TXT_CoolingTime}"
TextWrapping="Wrap" />
</Border>
<Border
@ -2849,7 +2873,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Status"
Text="{lex:Loc ID_TXT_Status}"
TextWrapping="Wrap" />
</Border>
<Border
@ -2860,11 +2884,12 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,0,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_terms"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="{Binding TMStatus}"
Text="{lex:Loc {Binding TMStatus}}"
TextAlignment="Center"
TextWrapping="Wrap" />
</Border>
@ -2881,7 +2906,7 @@
Width="80"
Height="25"
Margin="10,0"
Content="Home">
Content="{lex:Loc ID_BTN_Home_Content}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="Home">
@ -2895,7 +2920,7 @@
Width="80"
Height="25"
Margin="10,0"
Content="Abort">
Content="{lex:Loc ID_BTN_Abort_Content}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="Abort">
@ -2909,7 +2934,7 @@
Width="80"
Height="25"
Margin="10,0"
Content="Reset">
Content="{lex:Loc ID_BTN_Reset_Content}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="Reset">
@ -2932,7 +2957,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Online Mode"
Text="{lex:Loc ID_TXT_OnlineMode}"
TextWrapping="Wrap" />
</Border>
<Border
@ -2943,11 +2968,12 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,0,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_terms"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="{Binding TMOnlineMode}"
Text="{lex:Loc {Binding TMOnlineMode}}"
TextAlignment="Center"
TextWrapping="Wrap" />
</Border>
@ -2963,7 +2989,7 @@
Width="80"
Height="25"
Margin="10,0"
Content="Online">
Content="{lex:Loc ID_BTN_Online_Content}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="SetOnline">
@ -2977,7 +3003,7 @@
Width="80"
Height="25"
Margin="10,0"
Content="Offline">
Content="{lex:Loc ID_BTN_Offline_Content}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="SetOffline">
@ -2988,6 +3014,7 @@
</Button>
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_tmview"
Width="97"
Margin="47,0,0,0"
HorizontalAlignment="Right"
@ -2995,9 +3022,10 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="{Binding TMPurgeLoop, StringFormat=0.00}"
TextAlignment="Right"
TextWrapping="Wrap" />
TextAlignment="Left"
TextWrapping="Wrap">
<Run Text="{lex:Loc ID_TXT_PurgeLoop}" FontSize="12"/><Run Text="{Binding TMPurgeLoop, StringFormat=0.00 ,Mode=OneWay}" FontSize="12"/>
</TextBlock>
</StackPanel>
</Border>
@ -3013,7 +3041,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Pressure"
Text="{lex:Loc ID_TXT_Pressure}"
TextWrapping="Wrap" />
</Border>
<Border
@ -3044,7 +3072,7 @@
Width="80"
Height="25"
Margin="10,0"
Content="Pump"
Content="{lex:Loc ID_BTN_Pump_Content}"
IsEnabled="{Binding IsTMEnableManualOperation}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
@ -3059,7 +3087,7 @@
Width="80"
Height="25"
Margin="10,0"
Content="Vent"
Content="{lex:Loc ID_BTN_Vent_Content}"
IsEnabled="{Binding IsTMEnableManualOperation}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
@ -3074,7 +3102,7 @@
Width="80"
Height="25"
Margin="10,0"
Content="Purge"
Content="{lex:Loc ID_BTN_Purge_Content}"
IsEnabled="{Binding IsTMEnableManualOperation}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
@ -3094,11 +3122,12 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_tmview"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Robot"
Text="{lex:Loc ID_TXT_Robot}"
TextWrapping="Wrap" />
</Border>
<Border
@ -3127,7 +3156,7 @@
Width="80"
Height="25"
Margin="10,0"
Content="Home"
Content="{lex:Loc ID_BTN_Home_Content}"
IsEnabled="{Binding RobotCheckOffline}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
@ -3140,7 +3169,7 @@
Width="80"
Height="25"
Margin="10,0"
Content="Pick"
Content="{lex:Loc ID_BTN_Pick_Content}"
IsEnabled="{Binding RobotCheckOffline}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
@ -3152,7 +3181,7 @@
Width="80"
Height="25"
Margin="10,0"
Content="Place"
Content="{lex:Loc ID_BTN_Place_Content}"
IsEnabled="{Binding RobotCheckOffline}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
@ -3171,11 +3200,12 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_tmview"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Slit Valve"
Text="{lex:Loc ID_TXT_SlitValve}"
TextWrapping="Wrap" />
</Border>
<Border
@ -3204,7 +3234,7 @@
Width="80"
Height="25"
Margin="10,0"
Content="Open"
Content="{lex:Loc ID_BTN_Open_Content}"
IsEnabled="{Binding CheckOffline}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
@ -3224,7 +3254,7 @@
Width="80"
Height="25"
Margin="88,0,10,0"
Content="Close"
Content="{lex:Loc ID_BTN_Close_Content}"
IsEnabled="{Binding CheckOffline}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
@ -3270,7 +3300,7 @@
Height="25"
Margin="10,0"
HorizontalAlignment="Left"
Content="LeakCheck"
Content="{lex:Loc ID_BTN_LeakCheck_Content}"
IsEnabled="{Binding IsTMEnableManualOperation}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
@ -3281,10 +3311,11 @@
</i:Interaction.Triggers>
</Button>
<Button
Width="98"
lex:ResxLocalizationProvider.DefaultDictionary="lang_tmview"
Width="120"
Height="25"
Margin="-5,0"
Content="ServoPress"
Margin="10,0"
Content="{lex:Loc ID_BTN_ServoPressure_Content}"
IsEnabled="{Binding IsTMEnableManualOperation}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
@ -3336,7 +3367,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Status"
Text="{lex:Loc ID_TXT_Status}"
TextWrapping="Wrap" />
</Border>
<Border
@ -3347,11 +3378,12 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,0,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_terms"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="{Binding BufferStatus}"
Text="{lex:Loc {Binding BufferStatus}}"
TextAlignment="Center"
TextWrapping="Wrap" />
</Border>
@ -3369,7 +3401,7 @@
Width="80"
Height="25"
Margin="10,0"
Content="Home">
Content="{lex:Loc ID_BTN_Home_Content}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="Home">
@ -3383,7 +3415,7 @@
Width="80"
Height="25"
Margin="10,0"
Content="Abort">
Content="{lex:Loc ID_BTN_Abort_Content}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="Abort">
@ -3397,7 +3429,7 @@
Width="80"
Height="25"
Margin="10,0"
Content="Reset">
Content="{lex:Loc ID_BTN_Reset_Content}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="Reset">
@ -3420,7 +3452,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Online Mode"
Text="{lex:Loc ID_TXT_OnlineMode}"
TextWrapping="Wrap" />
</Border>
<Border
@ -3431,11 +3463,12 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,0,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_terms"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="{Binding BufferOnlineMode}"
Text="{lex:Loc {Binding BufferOnlineMode}}"
TextAlignment="Center"
TextWrapping="Wrap" />
</Border>
@ -3451,7 +3484,7 @@
Width="80"
Height="25"
Margin="10,0"
Content="Online">
Content="{lex:Loc ID_BTN_Online_Content}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="SetOnline">
@ -3465,7 +3498,7 @@
Width="80"
Height="25"
Margin="10,0"
Content="Offline">
Content="{lex:Loc ID_BTN_Offline_Content}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="SetOffline">
@ -3488,7 +3521,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Pressure"
Text="{lex:Loc ID_TXT_Pressure}"
TextWrapping="Wrap" />
</Border>
<Border
@ -3556,11 +3589,12 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_tmview"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="TrayTop"
Text="{lex:Loc ID_TXT_TrayTop}"
TextWrapping="Wrap" />
</Border>
<Border
@ -3587,11 +3621,12 @@
BorderThickness="1,0,1,1">
<StackPanel HorizontalAlignment="Left" Orientation="Horizontal">
<Label
lex:ResxLocalizationProvider.DefaultDictionary="lang_tmview"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Background="{DynamicResource Table_BG_Title}"
BorderBrush="{DynamicResource Table_BD}"
Content="Remain Time"
Content="{lex:Loc ID_TXT_RemainTime}"
FontFamily="Arial"
FontSize="12" />
@ -3614,11 +3649,12 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_tmview"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="TrayMiddle"
Text="{lex:Loc ID_TXT_TrayMiddle}"
TextWrapping="Wrap" />
</Border>
<Border
@ -3645,11 +3681,12 @@
BorderThickness="1,0,1,1">
<StackPanel HorizontalAlignment="Left" Orientation="Horizontal">
<Label
lex:ResxLocalizationProvider.DefaultDictionary="lang_tmview"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Background="{DynamicResource Table_BG_Title}"
BorderBrush="{DynamicResource Table_BD}"
Content="Remain Time"
Content="{lex:Loc ID_TXT_RemainTime}"
FontFamily="Arial"
FontSize="12" />
@ -3672,11 +3709,12 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,0,1,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_tmview"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="TrayBottom"
Text="{lex:Loc ID_TXT_TrayBottom}"
TextWrapping="Wrap" />
</Border>
<Border
@ -3703,11 +3741,12 @@
BorderThickness="1,0,1,1">
<StackPanel HorizontalAlignment="Left" Orientation="Horizontal">
<Label
lex:ResxLocalizationProvider.DefaultDictionary="lang_tmview"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Background="{DynamicResource Table_BG_Title}"
BorderBrush="{DynamicResource Table_BD}"
Content="Remain Time"
Content="{lex:Loc ID_TXT_RemainTime}"
FontFamily="Arial"
FontSize="12" />

View File

@ -243,7 +243,7 @@ namespace SicUI.Client.Models.Platform.TM
[Subscription("TM.CurrentRoutineLoopTotal")]
public int TMTotalLoop { get; set; }
public string TMPurgeLoop => $"Purge Loop: {TMCurrentLoop}/{TMTotalLoop}";
public string TMPurgeLoop => $"{TMCurrentLoop}/{TMTotalLoop}";
[Subscription("TM.PM1Door.OpenFeedback")]
public bool PM1SlitValveOpenFeedback { get; set; }
@ -724,7 +724,7 @@ namespace SicUI.Client.Models.Platform.TM
[Subscription("LoadLock.CurrentRoutineLoopTotal")]
public int LLTotalLoop { get; set; }
public string LLPurgeLoop => $"Purge Loop: {LLCurrentLoop}/{LLTotalLoop}";
public string LLPurgeLoop => $"{LLCurrentLoop}/{LLTotalLoop}";
#endregion
@ -750,7 +750,7 @@ namespace SicUI.Client.Models.Platform.TM
[Subscription("UnLoad.CurrentRoutineLoopTotal")]
public int UnLoadBTotalLoop { get; set; }
public string UnLoadPurgeLoop => $"Purge Loop: {UnLoadBCurrentLoop}/{UnLoadBTotalLoop}";
public string UnLoadPurgeLoop => $"{UnLoadBCurrentLoop}/{UnLoadBTotalLoop}";
#endregion
@ -829,7 +829,7 @@ namespace SicUI.Client.Models.Platform.TM
[Subscription("PM1.CurrentRoutineLoopTotal")]
public int PM1TotalLoop { get; set; }
public string PM1PurgeLoop => $"Purge Loop: {PM1CurrentLoop}/{PM1TotalLoop}";
public string PM1PurgeLoop => $"{PM1CurrentLoop}/{PM1TotalLoop}";
[Subscription("PM1.ConfinementRing.RingUpSensor")]
public bool PM1ConfinementRingUpSensor { get; set; }
@ -898,7 +898,7 @@ namespace SicUI.Client.Models.Platform.TM
[Subscription("PM2.CurrentRoutineLoopTotal")]
public int PM2TotalLoop { get; set; }
public string PM2PurgeLoop => $"Purge Loop: {PM2CurrentLoop}/{PM2TotalLoop}";
public string PM2PurgeLoop => $"{PM2CurrentLoop}/{PM2TotalLoop}";
[Subscription("PM2.ConfinementRing.RingUpSensor")]
public bool PM2ConfinementRingUpSensor { get; set; }

View File

@ -14,9 +14,13 @@
xmlns:unitControls="clr-namespace:MECF.Framework.UI.Client.Ctrlib.UnitControls;assembly=MECF.Framework.UI.Client"
xmlns:vr="clr-namespace:SicUI.Models.Operations.Overviews"
xmlns:waferAssociation="clr-namespace:MECF.Framework.UI.Client.CenterViews.Operations.WaferAssociation;assembly=MECF.Framework.UI.Client"
xmlns:lex="http://wpflocalizeextension.codeplex.com"
d:DesignHeight="760"
d:DesignWidth="1900"
mc:Ignorable="d">
mc:Ignorable="d"
lex:LocalizeDictionary.DesignCulture="zh"
lex:ResxLocalizationProvider.DefaultAssembly="Sicentury.Localization"
lex:ResxLocalizationProvider.DefaultDictionary="lang_overview">
<UserControl.Resources>
<Style x:Key="Text_Online_PM1" TargetType="{x:Type TextBlock}">
<Style.Triggers>
@ -103,7 +107,7 @@
Grid.ColumnSpan="3"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="Job Assign"
Content="{lex:Loc ID_TXT_JobAssign}"
Style="{DynamicResource Table_TitleStyle}" />
<controls:WaferAssociationUnitLite
Grid.Row="1"
@ -139,7 +143,7 @@
Grid.ColumnSpan="2"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="PM1 Information"
Content="{lex:Loc ID_TXT_PM1Info}"
Style="{DynamicResource Table_TitleStyle}" />
<Border
Grid.Row="1"
@ -152,7 +156,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Status"
Text="{lex:Loc ID_TXT_Status}"
TextWrapping="Wrap" />
</Border>
<Border
@ -163,11 +167,12 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,1,1,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_terms"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="{Binding PM1Status}"
Text="{lex:Loc {Binding PM1Status}}"
TextWrapping="Wrap" />
</Border>
<Border
@ -181,7 +186,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Recipe Name"
Text="{lex:Loc ID_TXT_RecipeName}"
TextWrapping="Wrap" />
</Border>
<Border
@ -211,7 +216,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Elapse Time(s)"
Text="{lex:Loc ID_TXT_ElapseTime}"
TextWrapping="Wrap" />
</Border>
<Border
@ -241,7 +246,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Total Time(s)"
Text="{lex:Loc ID_TXT_TotalTime}"
TextWrapping="Wrap" />
</Border>
<Border
@ -269,7 +274,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Pressure(mbar)"
Text="{lex:Loc ID_TXT_Pressure}"
TextWrapping="Wrap" />
</Border>
<Border
@ -295,7 +300,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Confinement"
Text="{lex:Loc ID_TXT_Confinement}"
TextWrapping="Wrap" />
</Border>
<Border
@ -338,7 +343,7 @@
Grid.ColumnSpan="2"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="PM2 Information"
Content="{lex:Loc ID_TXT_PM2Info}"
Style="{DynamicResource Table_TitleStyle}" />
<Border
Grid.Row="1"
@ -351,7 +356,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Status"
Text="{lex:Loc ID_TXT_Status}"
TextWrapping="Wrap" />
</Border>
<Border
@ -362,11 +367,12 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,1,1,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_terms"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="{Binding PM2Status}"
Text="{lex:Loc {Binding PM2Status}}"
TextWrapping="Wrap" />
</Border>
<Border
@ -380,7 +386,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Recipe Name"
Text="{lex:Loc ID_TXT_RecipeName}"
TextWrapping="Wrap" />
</Border>
<Border
@ -410,7 +416,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Elapse Time(s)"
Text="{lex:Loc ID_TXT_ElapseTime}"
TextWrapping="Wrap" />
</Border>
<Border
@ -440,7 +446,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Total Time(s)"
Text="{lex:Loc ID_TXT_TotalTime}"
TextWrapping="Wrap" />
</Border>
<Border
@ -468,7 +474,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Pressure(mbar)"
Text="{lex:Loc ID_TXT_Pressure}"
TextWrapping="Wrap" />
</Border>
<Border
@ -494,7 +500,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Confinement"
Text="{lex:Loc ID_TXT_Confinement}"
TextWrapping="Wrap" />
</Border>
<Border
@ -542,7 +548,7 @@
Grid.ColumnSpan="2"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="Remain Time"
Content="{lex:Loc ID_TXT_RemainTime}"
Style="{DynamicResource Table_TitleStyle}" />
<Border
Grid.Row="1"
@ -770,7 +776,7 @@
Grid.ColumnSpan="2"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="Load Info"
Content="{lex:Loc ID_TXT_LoadInfo}"
Style="{DynamicResource Table_TitleStyle}" />
<Border
Grid.Row="1"
@ -781,7 +787,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Pressure(mbar)"
Text="{lex:Loc ID_TXT_Pressure}"
TextWrapping="Wrap" />
</Border>
<Border
@ -807,7 +813,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="CoolingTime"
Text="{lex:Loc ID_TXT_CoolingTime}"
TextWrapping="Wrap" />
</Border>
<Border
@ -899,7 +905,7 @@
Grid.ColumnSpan="2"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="Buffer Info"
Content="{lex:Loc ID_TXT_BufferInfo}"
Style="{DynamicResource Table_TitleStyle}" />
<Border
Grid.Row="1"
@ -910,7 +916,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Pressure(mbar)"
Text="{lex:Loc ID_TXT_Pressure}"
TextWrapping="Wrap" />
</Border>
<Border
@ -1074,7 +1080,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Idle / No Job" />
Text="{lex:Loc ID_TXT_WaferState_Idle_NoJob}" />
</Grid>
<Grid
Width="180"
@ -1097,7 +1103,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Idle / With Job" />
Text="{lex:Loc ID_TXT_WaferState_Idle_WithJob}" />
</Grid>
<Grid
Width="180"
@ -1120,7 +1126,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="In Process" />
Text="{lex:Loc ID_TXT_WaferState_InProcess}" />
</Grid>
<Grid
Width="180"
@ -1143,7 +1149,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Process Complete" />
Text="{lex:Loc ID_TXT_WaferState_ProcessComplete}" />
</Grid>
<Grid
Width="180"
@ -1166,7 +1172,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Error" />
Text="{lex:Loc ID_TXT_WaferState_Error}" />
</Grid>
<Grid
Width="180"
@ -1189,7 +1195,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Warning" />
Text="{lex:Loc ID_TXT_WaferState_Warning}"/>
</Grid>
</StackPanel>
</Border>
@ -1248,7 +1254,7 @@
FontFamily="Arial"
FontSize="18"
Foreground="{DynamicResource FG_Black}"
Text="Operation" />
Text="{lex:Loc ID_TXT_Operation}" />
</StackPanel>
</Border>
@ -1272,12 +1278,13 @@
BorderThickness="1,1,1,1"
CornerRadius="6">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_terms"
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="16"
Foreground="{DynamicResource FG_Black}"
Text="{Binding RtStatus}"
Text="{lex:Loc {Binding RtStatus}}"
TextWrapping="Wrap" />
</Border>
@ -1286,8 +1293,9 @@
Canvas.Top="89"
Width="110"
Height="35"
Content="Initialize"
IsEnabled="{Binding IsEnableInitialize}">
Content="{lex:Loc ID_BTN_Init_Content}"
IsEnabled="{Binding IsEnableInitialize}"
ToolTip="{lex:Loc ID_BTN_Init_ToolTip}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="HomeAll" />
@ -1300,8 +1308,9 @@
Canvas.Top="156"
Width="110"
Height="35"
Content="Abort"
IsEnabled="{Binding IsEnableAbort}">
Content="{lex:Loc ID_BTN_Abort_Content}"
IsEnabled="{Binding IsEnableAbort}"
ToolTip="{lex:Loc ID_BTN_Abort_ToolTip}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="Abort" />
@ -1314,7 +1323,8 @@
Canvas.Top="220"
Width="110"
Height="35"
Content="Monitor"
Content="{lex:Loc ID_BTN_Monitor_Content}"
ToolTip="{lex:Loc ID_BTN_Monitor_ToolTip}"
Visibility="{Binding ProcessMonitorButtonVisibility}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
@ -1392,7 +1402,7 @@
FontFamily="Arial"
FontSize="18"
Foreground="{DynamicResource FG_Black}"
Text="Running Mode" />
Text="{lex:Loc ID_TXT_RunningMode}" />
</StackPanel>
</Border>
@ -1416,12 +1426,13 @@
BorderThickness="1,1,1,1"
CornerRadius="6">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_terms"
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="16"
Foreground="{DynamicResource FG_Black}"
Text="{Binding RunningMode}"
Text="{lex:Loc {Binding RunningMode, FallbackValue=Unknown}}"
TextWrapping="Wrap" />
</Border>
@ -1430,8 +1441,9 @@
Canvas.Top="103"
Width="110"
Height="35"
Content="Auto"
IsEnabled="{Binding IsEnableAuto}">
Content="{lex:Loc ID_BTN_RunningModeAuto_Content}"
IsEnabled="{Binding IsEnableAuto}"
ToolTip="{lex:Loc ID_BTN_RunningModeAuto_ToolTip}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="Auto" />
@ -1444,8 +1456,9 @@
Canvas.Top="167"
Width="110"
Height="35"
Content="Manual"
IsEnabled="{Binding IsEnableManual}">
Content="{lex:Loc ID_BTN_RunningModeManual_Content}"
IsEnabled="{Binding IsEnableManual}"
ToolTip="{lex:Loc ID_BTN_RunningModeManual_ToolTip}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="Manual" />
@ -1462,7 +1475,9 @@
Canvas.Top="420"
Width="600"
Height="300">
<TabItem Header="Job List">
<TabItem
lex:ResxLocalizationProvider.DefaultDictionary="lang_overview"
Header="{lex:Loc ID_TXT_JobList}">
<DataGrid
Name="gridJob"
Grid.Row="1"
@ -1491,7 +1506,9 @@
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="80" Header="Lot Name">
<DataGridTemplateColumn
lex:ResxLocalizationProvider.DefaultDictionary="lang_overview"
Width="80" Header="{lex:Loc ID_TXT_JobAssign_Name}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock
@ -1505,7 +1522,9 @@
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="80" Header="Status">
<DataGridTemplateColumn
lex:ResxLocalizationProvider.DefaultDictionary="lang_overview"
Width="80" Header="{lex:Loc ID_TXT_Status}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock
@ -1519,7 +1538,9 @@
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="140" Header="Create Time">
<DataGridTemplateColumn
lex:ResxLocalizationProvider.DefaultDictionary="lang_overview"
Width="140" Header="{lex:Loc ID_TXT_Creat_Time}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock
@ -1533,7 +1554,9 @@
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="260" Header="Recipe Name">
<DataGridTemplateColumn
lex:ResxLocalizationProvider.DefaultDictionary="lang_overview"
Width="260" Header="{lex:Loc ID_TXT_RecipeName}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock

View File

@ -14,8 +14,12 @@
xmlns:controls="http://OpenSEMI.Ctrlib.com/presentation"
xmlns:converters="clr-namespace:Aitex.Core.UI.Converters;assembly=MECF.Framework.UI.Core"
xmlns:converter="clr-namespace:MECF.Framework.UI.Client.Ctrlib.Converter;assembly=MECF.Framework.UI.Client"
xmlns:lex="http://wpflocalizeextension.codeplex.com"
mc:Ignorable="d"
d:DesignHeight="780" d:DesignWidth="1900" Background="#91b0cd">
d:DesignHeight="780" d:DesignWidth="1900" Background="#91b0cd"
lex:LocalizeDictionary.DesignCulture="zh"
lex:ResxLocalizationProvider.DefaultAssembly="Sicentury.Localization"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common">
<UserControl.Resources>
<converters:LineColorConverter x:Key="colorConverter"/>
@ -86,10 +90,10 @@
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="50" />
<ColumnDefinition Width="150" />
<ColumnDefinition Width="70" />
<ColumnDefinition Width="150" />
<ColumnDefinition Width="80" />
<ColumnDefinition Width="130" />
<ColumnDefinition Width="80" />
<ColumnDefinition Width="130" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
@ -97,7 +101,6 @@
Grid.Row="0"
Grid.Column="0"
Padding="5,1"
Width="50"
Background="{DynamicResource Table_BG_Title}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,1,1,1">
@ -105,9 +108,9 @@
HorizontalAlignment="Left"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="18"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Start" />
Text="{lex:Loc ID_TXT_StartTime}" />
</Border>
<Border
Grid.Row="0"
@ -116,7 +119,7 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,1,1,1">
<wfi:WindowsFormsHost
Width="140"
Width="120"
Height="25"
Margin="5,0,0,0"
VerticalAlignment="Center"
@ -133,7 +136,6 @@
<Border
Grid.Row="1"
Grid.Column="0"
Width="50"
Padding="5,1"
Background="{DynamicResource Table_BG_Title}"
BorderBrush="{DynamicResource Table_BD}"
@ -142,9 +144,9 @@
HorizontalAlignment="Left"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="18"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="End" />
Text="{lex:Loc ID_TXT_EndTime}" />
</Border>
<Border
Grid.Row="1"
@ -153,7 +155,7 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,1,1,1">
<wfi:WindowsFormsHost
Width="140"
Width="120"
Height="25"
Margin="5,0,0,0"
VerticalAlignment="Center"
@ -175,12 +177,13 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,1,1,1">
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_datalogviews"
HorizontalAlignment="Left"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="14"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Chamber" />
Text="{lex:Loc ID_TXT_Chamber}" />
</Border>
<Border
Grid.Row="0"
@ -191,7 +194,7 @@
BorderThickness="0,1,1,1">
<toolkit:CheckComboBox
x:Name="tbLoadPort"
Width="120"
Width="100"
Height="30"
Margin="0,0,7,0"
HorizontalAlignment="Right"
@ -213,9 +216,9 @@
HorizontalAlignment="Left"
VerticalAlignment="Center"
FontFamily="Arial"
FontSize="18"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Recipe" />
Text="{lex:Loc ID_TXT_Recipe}" />
</Border>
<Border
Grid.Row="1"
@ -234,7 +237,7 @@
Height="40"
Margin="0,0,0,0"
FontSize="15"
Content="Search">
Content="{lex:Loc ID_BTN_Search_Content}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<micro:ActionMessage MethodName="SearchRecipe" />
@ -262,7 +265,9 @@
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<StackPanel VerticalAlignment="Center" Orientation="Horizontal">
<TextBlock Text="Add" Margin="0,0,5,0"/>
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_datalogviews"
Text="{lex:Loc ID_TXT_Add}" Margin="0,0,5,0"/>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
@ -282,7 +287,9 @@
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn MinWidth="100" Header="Mark">
<DataGridTemplateColumn
lex:ResxLocalizationProvider.DefaultDictionary="lang_datalogviews"
MinWidth="100" Header="{lex:Loc ID_TXT_Mark}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock
@ -296,7 +303,9 @@
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn MinWidth="100" Header="Recipe Name">
<DataGridTemplateColumn
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
MinWidth="100" Header="{lex:Loc ID_TXT_Recipe}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock
@ -310,7 +319,9 @@
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Width="60" Header="Module">
<DataGridTemplateColumn
lex:ResxLocalizationProvider.DefaultDictionary="lang_datalogviews"
Width="60" Header="{lex:Loc ID_TXT_Module}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock
@ -325,7 +336,9 @@
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn MinWidth="100" Header="Start Time">
<DataGridTemplateColumn
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
MinWidth="100" Header="{lex:Loc ID_TXT_StartTime}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock
@ -340,7 +353,9 @@
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn MinWidth="100" Header="End Time">
<DataGridTemplateColumn
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
MinWidth="100" Header="{lex:Loc ID_TXT_EndTime}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock
@ -376,7 +391,7 @@
<ColumnDefinition Width="60"/>
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" Orientation="Horizontal" HorizontalAlignment="Left">
<TextBlock Text="Filter:" VerticalAlignment="Bottom" FontSize="25" Width="80" Height="30" Margin="5,0,5,0" HorizontalAlignment="Right"/>
<TextBlock Text="{lex:Loc ID_TXT_Filter}" VerticalAlignment="Bottom" FontSize="18" Height="30" Margin="5,0,5,0" HorizontalAlignment="Right"/>
<TextBox x:Name="tbxkeyword" VerticalAlignment="Bottom" HorizontalAlignment="Right" Width="200" Height="30" Margin="5,0,5,0" Foreground="Black"/>
<Button VerticalAlignment="Center" HorizontalAlignment="Left" Margin="5,0,5,0" Height="25">
<Button.Background>
@ -559,7 +574,7 @@
</Grid>
<Grid Grid.Row="1" Visibility="{Binding DataDetailVisbility}">
<TabControl Grid.Row="1" Margin="5" MinHeight="300">
<TabItem Header="Data Line" Height="24" VerticalAlignment="Top">
<TabItem Height="24" VerticalAlignment="Top">
<Grid>
<DataGrid Margin="5" HorizontalAlignment="Left" BorderThickness="1"
AlternationCount="2" ColumnHeaderHeight="30"
@ -569,7 +584,7 @@
<DataGridTemplateColumn Width="60">
<DataGridTemplateColumn.HeaderTemplate >
<DataTemplate>
<TextBlock Text="Visible" FontFamily="Arial" FontSize="12" VerticalAlignment="Bottom" Margin="3,0,0,0"/>
<TextBlock Text="{lex:Loc ID_TXT_Visible}" FontFamily="Arial" FontSize="12" VerticalAlignment="Bottom" Margin="3,0,0,0"/>
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
@ -578,28 +593,36 @@
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Mark" MinWidth="100">
<DataGridTemplateColumn
lex:ResxLocalizationProvider.DefaultDictionary="lang_datalogviews"
Header="{lex:Loc ID_TXT_Mark}" MinWidth="100">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding ProcessGuid}" Margin="5,0" FontFamily="Arial" FontSize="14" Foreground="{DynamicResource FG_Black}" HorizontalAlignment="Left" VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Recipe Name" MinWidth="150">
<DataGridTemplateColumn
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Header="{lex:Loc ID_TXT_Recipe}" MinWidth="150">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding RecipeName}" Margin="5,0" FontFamily="Arial" FontSize="14" Foreground="{DynamicResource FG_Black}" HorizontalAlignment="Left" VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Time" MinWidth="150">
<DataGridTemplateColumn
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Header="{lex:Loc ID_TXT_Date}" MinWidth="150">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Time}" Margin="5,0" FontFamily="Arial" FontSize="14" Foreground="{DynamicResource FG_Black}" HorizontalAlignment="Left" VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Color" MinWidth="60">
<DataGridTemplateColumn
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Header="{lex:Loc ID_TXT_Color}" MinWidth="60">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button Style="{DynamicResource Color_Button}" Height="25" HorizontalAlignment="Stretch" Background="{Binding Stroke, Converter={StaticResource colorConverter}}" Width="50">
@ -614,28 +637,36 @@
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Factor" MinWidth="60">
<DataGridTemplateColumn
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Header="{lex:Loc ID_TXT_Factor}" MinWidth="60">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<controls:TextBoxEx AllowBackgroundChange="False" Text="{Binding DataFactor, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Width="50" Margin="5,0" FontFamily="Arial" FontSize="14" Foreground="{DynamicResource FG_Black}" HorizontalAlignment="Left" VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="YOffset" MinWidth="100">
<DataGridTemplateColumn
lex:ResxLocalizationProvider.DefaultDictionary="lang_datalogviews"
Header="{lex:Loc ID_TXT_YOffset}" MinWidth="100">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBox Text="{Binding DataOffset, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="80" Margin="5,0" Foreground="{DynamicResource FG_Black}" HorizontalAlignment="Left" VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="XOffset" MinWidth="100">
<DataGridTemplateColumn
lex:ResxLocalizationProvider.DefaultDictionary="lang_datalogviews"
Header="{lex:Loc ID_TXT_XOffset}" MinWidth="100">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBox Text="{Binding DataXOffset, Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" Width="80" Margin="5,0" Foreground="{DynamicResource FG_Black}" HorizontalAlignment="Left" VerticalAlignment="Center" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="Width" MinWidth="60">
<DataGridTemplateColumn
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Header="{lex:Loc ID_TXT_Width}" MinWidth="60">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<controls:TextBoxEx AllowBackgroundChange="False" Text="{Binding LineThickness, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Width="50" Margin="5,0" Foreground="{DynamicResource FG_Black}" HorizontalAlignment="Left" VerticalAlignment="Center" />
@ -645,7 +676,9 @@
<DataGridTemplateColumn Width="60">
<DataGridTemplateColumn.HeaderTemplate >
<DataTemplate>
<TextBlock Text="Select" FontFamily="Arial" FontSize="12" VerticalAlignment="Bottom" Margin="3,0,0,0"/>
<TextBlock
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Text="{lex:Loc ID_TXT_Select}" FontFamily="Arial" FontSize="12" VerticalAlignment="Bottom" Margin="3,0,0,0"/>
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>

View File

@ -1,51 +1,73 @@
<UserControl x:Class="SicUI.Models.PMs.PMAlarmView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:alarm="clr-namespace:MECF.Framework.UI.Client.CenterViews.Alarms.Alarm;assembly=MECF.Framework.UI.Client"
mc:Ignorable="d"
d:DesignHeight="325" d:DesignWidth="1200">
<UserControl
x:Class="SicUI.Models.PMs.PMAlarmView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:alarm="clr-namespace:MECF.Framework.UI.Client.CenterViews.Alarms.Alarm;assembly=MECF.Framework.UI.Client"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:lex="http://wpflocalizeextension.codeplex.com"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
d:DesignHeight="325"
d:DesignWidth="1200"
lex:LocalizeDictionary.DesignCulture="zh"
lex:ResxLocalizationProvider.DefaultAssembly="Sicentury.Localization"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
mc:Ignorable="d">
<UserControl.Resources>
<alarm:EventLevelToBackgroundConverter x:Key="EventLevelToBackgroundConverter"/>
<alarm:EventLevelToBackgroundConverter x:Key="EventLevelToBackgroundConverter" />
</UserControl.Resources>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="7*" />
<ColumnDefinition Width="5*" />
</Grid.ColumnDefinitions>
<GroupBox Header="Alarm List" Margin="5,0,12,5">
<DataGrid AutoGenerateColumns="False" Margin="5" Name="eventList"
Background="White" ItemsSource="{Binding AlarmEvents, Mode=OneWay}"
SelectionMode="Single" SelectionUnit="FullRow"
FontFamily="Arial,SimSun" FontSize="13"
SelectionChanged="listView1_SelectionChanged" BorderThickness="0.1"
CanUserDeleteRows="True" CanUserAddRows="True" IsReadOnly="True">
<GroupBox Margin="5,0,12,5" Header="{lex:Loc ID_TXT_Alarm}">
<DataGrid
Name="eventList"
Margin="5"
AutoGenerateColumns="False"
Background="White"
BorderThickness="0.1"
CanUserAddRows="True"
CanUserDeleteRows="True"
FontFamily="Arial,SimSun"
FontSize="13"
IsReadOnly="True"
ItemsSource="{Binding AlarmEvents, Mode=OneWay}"
SelectionChanged="listView1_SelectionChanged"
SelectionMode="Single"
SelectionUnit="FullRow">
<DataGrid.Columns>
<DataGridTemplateColumn Header="Type" Width="90" CanUserSort="True" SortMemberPath="Type">
<DataGridTemplateColumn.HeaderTemplate >
<DataGridTemplateColumn
Width="90"
CanUserSort="True"
Header="Type"
SortMemberPath="Type">
<DataGridTemplateColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="Type" />
<TextBlock Text="{lex:Loc ID_TXT_Type}" />
</DataTemplate>
</DataGridTemplateColumn.HeaderTemplate>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Border Background="{Binding Level, Converter={StaticResource EventLevelToBackgroundConverter}}"
Margin="-2">
<TextBlock
Text="{Binding LevelString}"
<Border Margin="-2" Background="{Binding Level, Converter={StaticResource EventLevelToBackgroundConverter}}">
<TextBlock
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
VerticalAlignment="Center"
Text="{Binding LevelString}" />
</Border>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="Time" Width="150" CanUserSort="True" IsReadOnly="True" Binding="{Binding OccuringTime,Mode=OneWay}">
<DataGridTextColumn.HeaderTemplate >
<DataGridTextColumn
Width="150"
Binding="{Binding OccuringTime, Mode=OneWay}"
CanUserSort="True"
Header="Time"
IsReadOnly="True">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="Time"/>
<TextBlock Text="{lex:Loc ID_TXT_Date}" />
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
@ -55,25 +77,39 @@
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Header="Description" Width="*" CanUserSort="True" IsReadOnly="True" Binding="{Binding Description,Mode=OneWay}">
<DataGridTextColumn.HeaderTemplate >
<DataGridTextColumn
Width="*"
Binding="{Binding Description, Mode=OneWay}"
CanUserSort="True"
Header="Description"
IsReadOnly="True">
<DataGridTextColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Text="Description" />
<TextBlock Text="{lex:Loc ID_TXT_Description}" />
</DataTemplate>
</DataGridTextColumn.HeaderTemplate>
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="TextAlignment" Value="Left" />
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Margin" Value="2 1" />
<Setter Property="Margin" Value="2,1" />
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
</GroupBox>
<GroupBox Grid.Column="1" Header="Detail" Margin="0,0,5,5">
<TextBlock x:Name="AnalysisText" FontSize="14" Margin="5" Background="White" TextWrapping="Wrap" Style="{x:Null}"/>
<GroupBox
Grid.Column="1"
Margin="0,0,5,5"
Header="{lex:Loc ID_TXT_Detail}">
<TextBlock
x:Name="AnalysisText"
Margin="5"
Background="White"
FontSize="14"
Style="{x:Null}"
TextWrapping="Wrap" />
</GroupBox>
</Grid>
</UserControl>

File diff suppressed because it is too large Load Diff

View File

@ -425,8 +425,8 @@ namespace SicUI.Models.PMs
private List<string> _HeaterModeGroup2 = new List<string>() { "Power"};
public List<string> HeaterModeGroup2
{
get { return _HeaterModeGroup; }
set { _HeaterModeGroup = value; NotifyOfPropertyChange("HeaterModeGroup"); }
get { return _HeaterModeGroup2; }
set { _HeaterModeGroup2 = value; NotifyOfPropertyChange("HeaterModeGroup2"); }
}
public string heaterMode2

View File

@ -6,11 +6,15 @@
xmlns:cal="http://www.caliburn.org"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:lex="http://wpflocalizeextension.codeplex.com"
xmlns:local="clr-namespace:SicUI.Models.PMs"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
d:Background="#91b0cd"
d:DesignHeight="880"
d:DesignWidth="1920"
d:Background="#91b0cd"
lex:LocalizeDictionary.DesignCulture="zh"
lex:ResxLocalizationProvider.DefaultAssembly="Sicentury.Localization"
lex:ResxLocalizationProvider.DefaultDictionary="lang_pm"
mc:Ignorable="d">
<Grid>
<Grid Margin="20">
@ -48,7 +52,7 @@
Grid.ColumnSpan="3"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="MFC Setting"
Content="{lex:Loc ID_TXT_MFC_Set}"
Style="{DynamicResource Table_TitleStyle}" />
<Border
@ -60,7 +64,7 @@
<Label
HorizontalContentAlignment="Right"
VerticalContentAlignment="Center"
Content="Reactor Pressure(mbar)"
Content="{lex:Loc ID_TXT_Reactor_Pressure}"
FontSize="12" />
</Border>
<Border
@ -200,7 +204,11 @@
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,1,1">
<Button Content="Set" IsEnabled="{Binding IsActionEnable}">
<Button
Name="ID_BTN_Set_Content"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Content="{lex:Loc}"
IsEnabled="{Binding IsActionEnable}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="SaveMFCFlow" />
@ -234,13 +242,13 @@
<Label
Grid.Row="1"
HorizontalContentAlignment="Center"
Content="Flow(sccm)"
Content="{lex:Loc ID_TXT_Flow}"
FontSize="12" />
<Label
Grid.Row="1"
Grid.Column="1"
HorizontalContentAlignment="Center"
Content="RampTime(s)"
Content="{lex:Loc ID_TXT_Ramp_Time}"
FontSize="12" />
</Grid>

View File

@ -7,11 +7,15 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:forms="clr-namespace:System.Windows.Forms;assembly=System.Windows.Forms"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:lex="http://wpflocalizeextension.codeplex.com"
xmlns:local="clr-namespace:SicUI.Models.PMs"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:toolkit="http://schemas.xceed.com/wpf/xaml/toolkit"
d:DesignHeight="800"
d:DesignWidth="1800"
d:DesignWidth="2200"
lex:LocalizeDictionary.DesignCulture="."
lex:ResxLocalizationProvider.DefaultAssembly="Sicentury.Localization"
lex:ResxLocalizationProvider.DefaultDictionary="lang_pm"
mc:Ignorable="d">
<UserControl.Resources>
<Style TargetType="TextBlock">
@ -57,18 +61,18 @@
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="350" />
<ColumnDefinition Width="370" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="300" />
<RowDefinition Height="200" />
<RowDefinition Height="90" />
<RowDefinition Height="310" />
<RowDefinition Height="210" />
<RowDefinition Height="80" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<StackPanel
Width="320"
Width="350"
Margin="5"
HorizontalAlignment="Left"
Orientation="Vertical">
@ -83,40 +87,40 @@
HorizontalAlignment="Center"
FontSize="13"
Foreground="White"
Text="基准MFC" />
Text="{lex:Loc ID_TXT_Standard_MFC}" />
</Border>
<StackPanel Orientation="Horizontal">
<StackPanel Width="200" HorizontalAlignment="Left">
<StackPanel Width="230" HorizontalAlignment="Left">
<Border BorderThickness="1,0,1,1">
<TextBlock Text="基准MFC" />
<TextBlock Text="{lex:Loc ID_TXT_Standard_MFC}" />
</Border>
<Border BorderThickness="1,0,1,1">
<TextBlock Text="腔体压差(mbar)" />
<TextBlock Text="{lex:Loc ID_TXT_Differential_Pressure}" />
</Border>
<Border>
<TextBlock Text="压力P1(mbar)" />
<TextBlock Text="{lex:Loc ID_TXT_Pressure1}" />
</Border>
<Border>
<TextBlock Text="压力P2(mbar)" />
<TextBlock Text="{lex:Loc ID_TXT_Pressure2}" />
</Border>
<Border>
<TextBlock Text="压力P3(mbar)" />
<TextBlock Text="{lex:Loc ID_TXT_Pressure3}" />
</Border>
<Border>
<TextBlock Text="压力P4(mbar)" />
<TextBlock Text="{lex:Loc ID_TXT_Pressure4}" />
</Border>
<Border>
<TextBlock Text="腔体平均压差(mbar)" />
<TextBlock Text="{lex:Loc ID_TXT_Mean_Pressure_Difference}" />
</Border>
<Border>
<TextBlock Text="MFC实际流量(sccm)" />
<TextBlock Text="{lex:Loc ID_TXT_MFC_Actual_Flow}" />
</Border>
<Border>
<TextBlock Text="MFC设定流量(sccm)" />
<TextBlock Text="{lex:Loc ID_TXT_MFC_Set_Flow}" />
</Border>
<Border>
<TextBlock Text="腔体体积(ml)" />
<TextBlock Text="{lex:Loc ID_TXT_Reactor_Volume}" />
</Border>
</StackPanel>
@ -198,7 +202,7 @@
<StackPanel
Grid.Row="1"
Width="320"
Width="350"
Margin="5"
HorizontalAlignment="Left"
Orientation="Vertical">
@ -217,24 +221,24 @@
</Border>
<StackPanel Orientation="Horizontal">
<StackPanel Width="200" HorizontalAlignment="Left">
<StackPanel Width="230" HorizontalAlignment="Left">
<Border>
<TextBlock Text="反应腔温度(K)" />
<TextBlock Text="{lex:Loc ID_TXT_Reactor_Temp}" />
</Border>
<Border>
<TextBlock Text="压力记录时间间隔(s)" />
<TextBlock Text="{lex:Loc ID_TXT_Pressure_Recording_Interval}" />
</Border>
<Border>
<TextBlock Text="设定流量(sccm‹‹)" />
<TextBlock Text="{lex:Loc ID_TXT_Set_Flow}" />
</Border>
<Border>
<TextBlock Text="压力‹(mbar‹‹)" />
<TextBlock Text="{lex:Loc ID_TXT_Pressure}" />
</Border>
<Border>
<TextBlock Text="设定为标准MFC" />
<TextBlock Text="{lex:Loc ID_TXT_Set_Standard_MFC}" />
</Border>
<Border>
<TextBlock Text="MFC量程(sccm)" />
<TextBlock Text="{lex:Loc ID_TXT_MFC_Range}" />
</Border>
</StackPanel>
<StackPanel Width="120">
@ -272,9 +276,10 @@
Margin="5"
Orientation="Vertical">
<Border
Width="320"
Width="350"
Margin="0,0,0,10"
HorizontalAlignment="Left"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
BorderThickness="0"
CornerRadius="8,8,0,0">
<StackPanel Orientation="Vertical">
@ -286,7 +291,7 @@
HorizontalAlignment="Center"
FontSize="13"
Foreground="White"
Text="Set" />
Text="{lex:Loc ID_BTN_Set_Content}" />
</Border>
<StackPanel Grid.Row="1" Orientation="Horizontal">
<toolkit:CheckComboBox
@ -323,7 +328,7 @@
Width="80"
Height="30"
Margin="35,5,0,5"
Content="Start">
Content="{lex:Loc ID_BTN_Start_Content}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="StartMfcRor" />
@ -340,9 +345,10 @@
<StackPanel
Grid.Row="3"
Margin="5"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Orientation="Vertical">
<Border
Width="320"
Width="350"
Margin="0,10,0,0"
HorizontalAlignment="Left"
BorderThickness="1,0,1,1"
@ -350,7 +356,7 @@
<StackPanel Width="302" Orientation="Horizontal">
<StackPanel Margin="0,15">
<StackPanel Height="40" Orientation="Horizontal">
<TextBlock Width="75" Text="Start Time" />
<TextBlock Width="75" Text="{lex:Loc ID_TXT_StartTime}" />
<WindowsFormsHost
Width="170"
Height="22"
@ -369,7 +375,7 @@
Height="40"
Margin="0,5,0,0"
Orientation="Horizontal">
<TextBlock Width="75" Text="End Time" />
<TextBlock Width="75" Text="{lex:Loc ID_TXT_EndTime}" />
<WindowsFormsHost
Width="170"
Height="22"
@ -394,7 +400,7 @@
Height="30"
Margin="5,0,5,0"
HorizontalAlignment="Center"
Content="Query">
Content="{lex:Loc ID_BTN_Query_Content}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="QueryData" />
@ -411,7 +417,8 @@
<DataGrid
Grid.RowSpan="2"
Grid.Column="1"
Width="1315"
Width="1660"
Margin="5"
HorizontalAlignment="Left"
AlternationCount="2"
AutoGenerateColumns="False"
@ -422,73 +429,85 @@
<DataGrid.Columns>
<DataGridTextColumn
Width="50"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Binding="{Binding Path=Header, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type DataGridRow}}}"
Header="No" />
Header="#" />
<DataGridTextColumn
Width="100"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Binding="{Binding Name}"
Header="MFCName"
Header="{lex:Loc ID_TXT_Name}"
IsReadOnly="True" />
<DataGridTextColumn
Width="130"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Binding="{Binding StartTime, StringFormat='yyyy-MM-dd HH:mm:ss'}"
Header="开始时间"
Header="{lex:Loc ID_TXT_StartTime}"
IsReadOnly="True" />
<DataGridTextColumn
Width="130"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Binding="{Binding EndTime, StringFormat='yyyy-MM-dd HH:mm:ss'}"
Header="结束时间"
Header="{lex:Loc ID_TXT_EndTime}"
IsReadOnly="True" />
<DataGridTextColumn
Width="100"
Width="125"
lex:ResxLocalizationProvider.DefaultDictionary="lang_pm"
Binding="{Binding Pressure1, StringFormat=0.00}"
Header="P1"
Header="{lex:Loc ID_TXT_Pressure1}"
IsReadOnly="True" />
<DataGridTextColumn
Width="100"
Width="125"
lex:ResxLocalizationProvider.DefaultDictionary="lang_pm"
Binding="{Binding Pressure2, StringFormat=0.00}"
Header="P2"
Header="{lex:Loc ID_TXT_Pressure2}"
IsReadOnly="True" />
<DataGridTextColumn
Width="100"
Width="125"
lex:ResxLocalizationProvider.DefaultDictionary="lang_pm"
Binding="{Binding Pressure3, StringFormat=0.00}"
Header="P3"
Header="{lex:Loc ID_TXT_Pressure3}"
IsReadOnly="True" />
<DataGridTextColumn
Width="100"
Width="125"
lex:ResxLocalizationProvider.DefaultDictionary="lang_pm"
Binding="{Binding Pressure4, StringFormat=0.00}"
Header="P4"
Header="{lex:Loc ID_TXT_Pressure4}"
IsReadOnly="True" />
<DataGridTextColumn
Width="100"
Width="180"
lex:ResxLocalizationProvider.DefaultDictionary="lang_pm"
Binding="{Binding MeanDifferencePressure, StringFormat=0.00}"
Header="腔体平均压差"
Header="{lex:Loc ID_TXT_Mean_Pressure_Difference}"
IsReadOnly="True" />
<DataGridTextColumn
Width="100"
Width="150"
lex:ResxLocalizationProvider.DefaultDictionary="lang_pm"
Binding="{Binding ActualFlow, StringFormat=0.00}"
Header="实际流量"
Header="{lex:Loc ID_TXT_MFC_Actual_Flow}"
IsReadOnly="True" />
<DataGridTextColumn
Width="100"
Width="150"
lex:ResxLocalizationProvider.DefaultDictionary="lang_pm"
Binding="{Binding SetFlow, StringFormat=0.00}"
Header="设定流量"
Header="{lex:Loc ID_TXT_MFC_Set_Flow}"
IsReadOnly="True" />
<DataGridTextColumn
Width="100"
Width="150"
lex:ResxLocalizationProvider.DefaultDictionary="lang_pm"
Binding="{Binding Deviation, StringFormat={}{0:F2}%}"
Header="偏差"
Header="{lex:Loc ID_TXT_Differential_Pressure}"
IsReadOnly="True">
<DataGridTextColumn.CellStyle>
<Style TargetType="DataGridCell">
@ -506,7 +525,10 @@
</DataGridTextColumn.CellStyle>
</DataGridTextColumn>
<DataGridTemplateColumn Width="80" Header="基准MFC">
<DataGridTemplateColumn
Width="120"
lex:ResxLocalizationProvider.DefaultDictionary="lang_pm"
Header="{lex:Loc ID_TXT_Standard_MFC}">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<CheckBox
@ -527,7 +549,10 @@
Margin="3"
BorderBrush="Gray"
BorderThickness="0,0,0,3">
<Label FontSize="15" FontWeight="Black">ROR测试结果</Label>
<Label
Content="{lex:Loc ID_TXT_ROR_Test_Result}"
FontSize="15"
FontWeight="Black" />
</Border>
<Button
@ -535,7 +560,8 @@
Height="30"
Margin="3"
HorizontalAlignment="Left"
Content="Clear">
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Content="{lex:Loc ID_BTN_Clear_Content}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="ClearMfcRorData" />

View File

@ -7,11 +7,15 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:deviceControl="clr-namespace:Aitex.Core.UI.DeviceControl;assembly=MECF.Framework.UI.Core"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:lex="http://wpflocalizeextension.codeplex.com"
xmlns:local="clr-namespace:SicUI.Controls"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
d:Background="#91b0cd"
d:DesignHeight="780"
d:DesignWidth="1900"
d:Background="#91b0cd"
lex:LocalizeDictionary.DesignCulture="zh"
lex:ResxLocalizationProvider.DefaultAssembly="Sicentury.Localization"
lex:ResxLocalizationProvider.DefaultDictionary="lang_pm_motion"
mc:Ignorable="d">
<Grid>
<Canvas>
@ -40,7 +44,7 @@
Grid.ColumnSpan="4"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="Latch"
Content="{lex:Loc DI_TXT_Latch}"
Style="{DynamicResource Table_TitleStyle}" />
@ -54,7 +58,7 @@
BorderThickness="1,1,1,1">
<Label
HorizontalContentAlignment="Right"
Content="Up AirBrake"
Content="{lex:Loc ID_TXT_Up_AirBrake}"
FontSize="14" />
</Border>
<Border
@ -78,7 +82,7 @@
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,1,1,1">
<Button Content="Latch" IsEnabled="{Binding EnableUpLatch}">
<Button Content="{lex:Loc ID_BTN_Latch_Content}" IsEnabled="{Binding EnableUpLatch}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="ChamMoveBodyLatch" />
@ -95,7 +99,7 @@
BorderThickness="1,0,1,1">
<Label
HorizontalContentAlignment="Right"
Content="ForwardLatch"
Content="{lex:Loc ID_TXT_Forward_Latch}"
FontSize="14" />
</Border>
<Border
@ -119,7 +123,7 @@
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,1,1">
<Button Content="Latch" IsEnabled="{Binding EnableForwardLatch}">
<Button Content="{lex:Loc ID_BTN_Latch_Content}" IsEnabled="{Binding EnableForwardLatch}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="SetForwardLatch" />
@ -136,7 +140,7 @@
BorderThickness="1,0,1,1">
<Label
HorizontalContentAlignment="Right"
Content="BackwardLatch"
Content="{lex:Loc ID_TXT_Backward_Latch}"
FontSize="14" />
</Border>
<Border
@ -160,7 +164,7 @@
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,1,1">
<Button Content="Latch" IsEnabled="{Binding EnableBackwardLatch}">
<Button Content="{lex:Loc ID_BTN_Latch_Content}" IsEnabled="{Binding EnableBackwardLatch}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="SetBackwardLatch" />
@ -177,7 +181,7 @@
BorderThickness="1,0,1,1">
<Label
HorizontalContentAlignment="Right"
Content="UpDown Enable"
Content="{lex:Loc ID_TXT_Up_Down_Enable}"
FontSize="14" />
</Border>
<Border
@ -201,7 +205,10 @@
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,1,1">
<Button Content="Enable" IsEnabled="{Binding EnableUpDownEnable}">
<Button
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Content="{lex:Loc ID_BTN_Enable_Content}"
IsEnabled="{Binding EnableUpDownEnable}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="SetUpDownEnable" />
@ -231,7 +238,7 @@
Grid.ColumnSpan="4"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="Chamber Body"
Content="{lex:Loc ID_TXT_Chamber_Body}"
Style="{DynamicResource Table_TitleStyle}" />
<Border
@ -243,7 +250,7 @@
BorderThickness="1,1,1,1">
<Label
HorizontalContentAlignment="Right"
Content="Up"
Content="{lex:Loc ID_TXT_UP}"
FontSize="14" />
</Border>
<Border
@ -270,7 +277,7 @@
BorderThickness="0,0,1,1">
<Label
HorizontalContentAlignment="Right"
Content="Down"
Content="{lex:Loc ID_TXT_Down}"
FontSize="14" />
</Border>
<Border
@ -297,7 +304,7 @@
BorderThickness="1,0,1,1">
<Label
HorizontalContentAlignment="Right"
Content="Front"
Content="{lex:Loc ID_TXT_Front}"
FontSize="14" />
</Border>
<Border
@ -323,7 +330,7 @@
BorderThickness="0,0,1,1">
<Label
HorizontalContentAlignment="Right"
Content="End"
Content="{lex:Loc ID_TXT_End}"
FontSize="14" />
</Border>
<Border
@ -362,7 +369,7 @@
Grid.ColumnSpan="4"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="Control Model"
Content="{lex:Loc ID_TXT_Control_Model}"
Style="{DynamicResource Table_TitleStyle}" />
@ -376,9 +383,9 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1,1,1,1">
<Label
HorizontalContentAlignment="Right"
VerticalAlignment="Center"
Content="IsRemote"
HorizontalContentAlignment="Right"
Content="{lex:Loc ID_TXT_Is_Remote}"
FontSize="14" />
</Border>
<Border
@ -388,7 +395,10 @@
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,1,1,1">
<Label HorizontalContentAlignment="Center" VerticalAlignment="Center" FontSize="14">
<Label
VerticalAlignment="Center"
HorizontalContentAlignment="Center"
FontSize="14">
<deviceControl:AITSensor
EnableToolTip="False"
GreenColor="True"
@ -404,9 +414,9 @@
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,1,1,1">
<Label
HorizontalContentAlignment="Right"
VerticalAlignment="Center"
Content="IsLocked"
HorizontalContentAlignment="Right"
Content="{lex:Loc ID_TXT_Is_Locked}"
FontSize="14" />
</Border>
<Border
@ -416,7 +426,10 @@
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,1,1,1">
<Label HorizontalContentAlignment="Center" VerticalAlignment="Center" FontSize="14">
<Label
VerticalAlignment="Center"
HorizontalContentAlignment="Center"
FontSize="14">
<deviceControl:AITSensor
EnableToolTip="False"
GreenColor="True"
@ -429,7 +442,7 @@
<Label
Canvas.Left="573"
Canvas.Top="642"
Content="Be Carefull of High Temperature,Please check the Pm Temperature First"
Content="{lex:Loc ID_TXT_Attention_High_Temperature}"
FontSize="20"
Foreground="Red"
Visibility="{Binding HeatEnableTips}" />
@ -437,7 +450,7 @@
<Label
Canvas.Left="573"
Canvas.Top="702"
Content="UpDown Enable is not avalible,Plese check 【Down】 state is correct"
Content="{lex:Loc ID_TXT_Attention_UpDown_Enable}"
FontSize="20"
Foreground="Red"
Visibility="{Binding UpDownISFalse}" />
@ -459,7 +472,7 @@
Grid.ColumnSpan="4"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="SH Gas Connector"
Content="{lex:Loc ID_TXT_SH_Gas_Connector}"
Style="{DynamicResource Table_TitleStyle}" />
<Border
@ -470,7 +483,7 @@
BorderThickness="1,1,1,1">
<Label
HorizontalContentAlignment="Right"
Content="Loosen"
Content="{lex:Loc ID_TXT_Loosen}"
FontSize="14" />
</Border>
<Border
@ -494,7 +507,7 @@
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,1,1,1">
<Button Content="Loosen" IsEnabled="{Binding EnableGasConnectorLoosen}">
<Button Content="{lex:Loc ID_TXT_Loosen}" IsEnabled="{Binding EnableGasConnectorLoosen}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="GasConnectorLoosen" />
@ -511,7 +524,7 @@
BorderThickness="1,0,1,1">
<Label
HorizontalContentAlignment="Right"
Content="Tighten"
Content="{lex:Loc ID_TXT_Tighten}"
FontSize="14" />
</Border>
<Border
@ -535,7 +548,7 @@
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,1,1">
<Button Content="Tighten" IsEnabled="{Binding EnableGasConnectorTighten}">
<Button Content="{lex:Loc ID_TXT_Tighten}" IsEnabled="{Binding EnableGasConnectorTighten}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="GasConnectorTighten" />
@ -561,7 +574,7 @@
Grid.ColumnSpan="4"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="Open Lid Routine"
Content="{lex:Loc ID_TXT_Open_Lid_Routine}"
Style="{DynamicResource Table_TitleStyle}" />
<Border
@ -586,7 +599,11 @@
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,1,1,1">
<Button Margin="8" Content="Open" IsEnabled="{Binding EnableOpen}">
<Button
Margin="8"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Content="{lex:Loc ID_BTN_Open_Content}"
IsEnabled="{Binding EnableOpen}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="ChamberMoveBodyOpen" />
@ -602,7 +619,11 @@
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,1,1,1">
<Button Margin="8" Content="Close" IsEnabled="{Binding EnableClose}">
<Button
Margin="8"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Content="{lex:Loc ID_BTN_Close_Content}"
IsEnabled="{Binding EnableClose}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="ChamberMoveBodyClose" />
@ -632,7 +653,7 @@
Grid.ColumnSpan="4"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="SH Lid"
Content="{lex:Loc ID_TXT_SH_Lid}"
Style="{DynamicResource Table_TitleStyle}" />
<Border
@ -643,7 +664,7 @@
BorderThickness="1,1,1,1">
<Label
HorizontalContentAlignment="Right"
Content="Loosen"
Content="{lex:Loc ID_TXT_Loosen}"
FontSize="14" />
</Border>
<Border
@ -667,7 +688,7 @@
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,1,1,1">
<Button Content="Loosen" IsEnabled="{Binding EnableSHLoosen}">
<Button Content="{lex:Loc ID_TXT_Loosen}" IsEnabled="{Binding EnableSHLoosen}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="SHLidLoosen" />
@ -684,7 +705,7 @@
BorderThickness="1,0,1,1">
<Label
HorizontalContentAlignment="Right"
Content="Tighten"
Content="{lex:Loc ID_TXT_Tighten}"
FontSize="14" />
</Border>
<Border
@ -708,7 +729,7 @@
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,1,1">
<Button Content="Tighten" IsEnabled="{Binding EnableSHTighten}">
<Button Content="{lex:Loc ID_TXT_Tighten}" IsEnabled="{Binding EnableSHTighten}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="SHLidTighten" />
@ -725,7 +746,8 @@
BorderThickness="1,0,1,1">
<Label
HorizontalContentAlignment="Right"
Content="Closed"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Content="{lex:Loc ID_BTN_Close_Content}"
FontSize="14" />
</Border>
<Border
@ -758,7 +780,7 @@
BorderThickness="1,0,1,1">
<Label
HorizontalContentAlignment="Right"
Content="Swing Lock"
Content="{lex:Loc ID_TXT_Swing_Lock}"
FontSize="14" />
</Border>
<Border
@ -782,7 +804,7 @@
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,1,1">
<Button Content="Lock" IsEnabled="{Binding EnableSHSwingLock}">
<Button Content="{lex:Loc ID_BTN_Lock_Content}" IsEnabled="{Binding EnableSHSwingLock}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="SHLidLock" />
@ -799,7 +821,7 @@
BorderThickness="1,0,1,1">
<Label
HorizontalContentAlignment="Right"
Content="Swing Unlock"
Content="{lex:Loc ID_TXT_Swing_Unlock}"
FontSize="14" />
</Border>
<Border
@ -823,7 +845,7 @@
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,1,1">
<Button Content="Unlock" IsEnabled="{Binding EnableSHSwingUnlock}">
<Button Content="{lex:Loc ID_BTN_Unlock_Content}" IsEnabled="{Binding EnableSHSwingUnlock}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="SHLidUnlock" />
@ -853,7 +875,7 @@
Grid.ColumnSpan="4"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="Middle Lid"
Content="{lex:Loc ID_TXT_Middle_Lid}"
Style="{DynamicResource Table_TitleStyle}" />
<Border
@ -864,7 +886,7 @@
BorderThickness="1,1,1,1">
<Label
HorizontalContentAlignment="Right"
Content="Loosen"
Content="{lex:Loc ID_TXT_Loosen}"
FontSize="14" />
</Border>
<Border
@ -888,7 +910,7 @@
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,1,1,1">
<Button Content="Loosen" IsEnabled="{Binding EnableMiddleLoosen}">
<Button Content="{lex:Loc ID_TXT_Loosen}" IsEnabled="{Binding EnableMiddleLoosen}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="MiddleLidLoosen" />
@ -905,7 +927,7 @@
BorderThickness="1,0,1,1">
<Label
HorizontalContentAlignment="Right"
Content="Tighten"
Content="{lex:Loc ID_TXT_Tighten}"
FontSize="14" />
</Border>
<Border
@ -929,7 +951,7 @@
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,1,1">
<Button Content="Tighten" IsEnabled="{Binding EnableMiddleTighten}">
<Button Content="{lex:Loc ID_TXT_Tighten}" IsEnabled="{Binding EnableMiddleTighten}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="MiddleLidTighten" />
@ -946,7 +968,8 @@
BorderThickness="1,0,1,1">
<Label
HorizontalContentAlignment="Right"
Content="Closed"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Content="{lex:Loc ID_BTN_Close_Content}"
FontSize="14" />
</Border>
<Border
@ -979,7 +1002,7 @@
BorderThickness="1,0,1,1">
<Label
HorizontalContentAlignment="Right"
Content="Swing Lock"
Content="{lex:Loc ID_TXT_Swing_Lock}"
FontSize="14" />
</Border>
<Border
@ -1003,7 +1026,7 @@
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,1,1">
<Button Content="Lock" IsEnabled="{Binding EnableMiddleSwingLock}">
<Button Content="{lex:Loc ID_BTN_Lock_Content}" IsEnabled="{Binding EnableMiddleSwingLock}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="MiddleLidLock" />
@ -1020,7 +1043,7 @@
BorderThickness="1,0,1,1">
<Label
HorizontalContentAlignment="Right"
Content="Swing Unlock"
Content="{lex:Loc ID_TXT_Swing_Lock}"
FontSize="14" />
</Border>
<Border
@ -1044,7 +1067,7 @@
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,1,1">
<Button Content="Unlock" IsEnabled="{Binding EnableMiddleSwingUnlock}">
<Button Content="{lex:Loc ID_BTN_Unlock_Content}" IsEnabled="{Binding EnableMiddleSwingUnlock}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="MiddleLidUnlock" />
@ -1360,7 +1383,7 @@
Grid.ColumnSpan="3"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="Rotation Status "
Content="{lex:Loc ID_TXT_Rotation_Status}"
Style="{DynamicResource Table_TitleStyle}" />
<Border
@ -1371,7 +1394,7 @@
BorderThickness="1,1,1,1">
<Label
HorizontalContentAlignment="Right"
Content="Servo Ready"
Content="{lex:Loc ID_TXT_Servo_Ready}"
FontSize="14" />
</Border>
<Border
@ -1395,7 +1418,7 @@
BorderThickness="1,0,1,1">
<Label
HorizontalContentAlignment="Right"
Content="Servo Error"
Content="{lex:Loc ID_TXT_Servo_Error}"
FontSize="14" />
</Border>
<Border
@ -1419,7 +1442,7 @@
BorderThickness="1,0,1,1">
<Label
HorizontalContentAlignment="Right"
Content="Servo Enable"
Content="{lex:Loc ID_TXT_Servo_Enable}"
FontSize="14" />
</Border>
<Border
@ -1445,7 +1468,8 @@
<Button
Height="32"
VerticalAlignment="Top"
Content="Enable"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Content="{lex:Loc ID_BTN_Enable_Content}"
IsEnabled="{Binding PMIsIdle}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
@ -1462,7 +1486,10 @@
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,1,1,1">
<Button Content="Initial" IsEnabled="{Binding PMIsIdle}">
<Button
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Content="{lex:Loc ID_BTN_Init_Content}"
IsEnabled="{Binding PMIsIdle}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="SetServoInital" />
@ -1478,7 +1505,10 @@
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,1,1">
<Button Content="Reset" IsEnabled="{Binding PMIsIdle}">
<Button
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Content="{lex:Loc ID_BTN_Reset_Content}"
IsEnabled="{Binding PMIsIdle}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="SetServoReset" />
@ -1507,7 +1537,7 @@
Grid.ColumnSpan="4"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="Rotation Speed Set"
Content="{lex:Loc ID_TXT_Rotation_Speed_Set}"
Style="{DynamicResource Table_TitleStyle}" />
<Border
@ -1518,7 +1548,7 @@
BorderThickness="1,1,1,1">
<Label
HorizontalContentAlignment="Right"
Content="Actual Speed"
Content="{lex:Loc ID_TXT_Actual_Speed}"
FontSize="14" />
</Border>
<Border
@ -1576,7 +1606,10 @@
Background="{DynamicResource Table_BG_Content}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="0,0,1,1">
<Button Content="Set" IsEnabled="{Binding PMIsIdle}">
<Button
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Content="{lex:Loc ID_BTN_Set_Content}"
IsEnabled="{Binding PMIsIdle}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="SetActualSpeed">
@ -1595,7 +1628,7 @@
BorderThickness="1,0,1,1">
<Label
HorizontalContentAlignment="Right"
Content="Actual Current"
Content="{lex:Loc ID_TXT_Actual_Current}"
FontSize="14" />
</Border>
<Border
@ -1631,7 +1664,11 @@
</Grid>
<StackPanel Canvas.Left="1270" Canvas.Top="243" HorizontalAlignment="Center" VerticalAlignment="Top">
<StackPanel
Canvas.Left="1270"
Canvas.Top="243"
HorizontalAlignment="Center"
VerticalAlignment="Top">
<Grid Margin="1,1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80" />
@ -1655,7 +1692,7 @@
Grid.ColumnSpan="6"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Content="ConfinementRing"
Content="{lex:Loc ID_TXT_Confinement_Ring}"
Style="{DynamicResource Table_TitleStyle}" />
<Border
Grid.Row="1"
@ -1665,10 +1702,11 @@
BorderThickness="1,1,1,1">
<TextBlock
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Busy"
Text="{lex:Loc ID_TXT_Busy}"
TextWrapping="Wrap" />
</Border>
<Border
@ -1693,10 +1731,11 @@
BorderThickness="1,1,1,1">
<TextBlock
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="ServoOn"
Text="{lex:Loc ID_TXT_Servo_On}"
TextWrapping="Wrap" />
</Border>
<Border
@ -1721,10 +1760,11 @@
BorderThickness="1,1,1,1">
<TextBlock
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Done"
Text="{lex:Loc ID_TXT_Done}"
TextWrapping="Wrap" />
</Border>
<Border
@ -1752,7 +1792,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="UpSensor"
Text="{lex:Loc ID_TXT_Up_Sensor}"
TextWrapping="Wrap" />
</Border>
<Border
@ -1780,7 +1820,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="DownSensor"
Text="{lex:Loc ID_TXT_Down_Sensor}"
TextWrapping="Wrap" />
</Border>
<Border
@ -1805,10 +1845,11 @@
BorderThickness="1,0,1,1">
<TextBlock
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Error"
Text="{lex:Loc ID_TXT_Error}"
TextWrapping="Wrap" />
</Border>
@ -1836,7 +1877,7 @@
Width="130"
Height="30"
HorizontalAlignment="Center"
Content="JogUp"
Content="{lex:Loc ID_BTN_Jog_Up_Content}"
IsEnabled="{Binding ConfinementRingBtnEnable}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
@ -1882,7 +1923,8 @@
Width="80"
Height="30"
HorizontalAlignment="Center"
Content="ServoOn">
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Content="{lex:Loc ID_BTN_ServoOn_Content}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="RingServoOn" />
@ -1902,7 +1944,7 @@
Width="130"
Height="30"
HorizontalAlignment="Center"
Content="JogDown"
Content="{lex:Loc ID_BTN_Jog_Down_Content}"
IsEnabled="{Binding ConfinementRingBtnEnable}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
@ -1933,7 +1975,8 @@
Width="80"
Height="30"
HorizontalAlignment="Center"
Content="Reset">
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Content="{lex:Loc ID_BTN_Reset_Content}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="RingServoReset" />
@ -1954,7 +1997,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="CurrentPos"
Text="{lex:Loc ID_TXT_CurrenPos}"
TextWrapping="Wrap" />
</Border>
<Border
@ -1999,7 +2042,7 @@
Width="130"
Height="30"
HorizontalAlignment="Center"
Content="MoveUpPos"
Content="{lex:Loc ID_BTN_Move_Up_Pos_Content}"
IsEnabled="{Binding ConfinementRingBtnEnable}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
@ -2043,7 +2086,7 @@
Width="130"
Height="30"
HorizontalAlignment="Center"
Content="MoveDownPos"
Content="{lex:Loc ID_BTN_Move_Down_Pos_Content}"
IsEnabled="{Binding ConfinementRingBtnEnable}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
@ -2079,7 +2122,8 @@
Width="80"
Height="30"
HorizontalAlignment="Center"
Content="Stop">
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Content="{lex:Loc ID_BTN_Stop_Content}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="RingStop" />

View File

@ -12,12 +12,16 @@
xmlns:deviceControl="clr-namespace:Aitex.Core.UI.DeviceControl;assembly=MECF.Framework.UI.Core"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
xmlns:industrialcontrol="clr-namespace:MECF.Framework.UI.Client.IndustrialControl;assembly=MECF.Framework.UI.Client"
xmlns:lex="http://wpflocalizeextension.codeplex.com"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:pm="clr-namespace:SicUI.Models.PMs"
xmlns:system="clr-namespace:System;assembly=mscorlib"
d:Background="#91b0cd"
d:DesignHeight="780"
d:DesignWidth="1900"
lex:LocalizeDictionary.DesignCulture="."
lex:ResxLocalizationProvider.DefaultAssembly="Sicentury.Localization"
lex:ResxLocalizationProvider.DefaultDictionary="lang_pm"
mc:Ignorable="d">
<UserControl.Resources>
<Storyboard x:Key="SlitValve_Open">
@ -157,7 +161,7 @@
FontFamily="Arial"
FontSize="14"
Foreground="{DynamicResource FG_Black}"
Text="{Binding SystemName, StringFormat=Reactor Status - {0}}" />
Text="{lex:Loc ID_TXT_Reactor_Status}" />
</StackPanel>
</StackPanel>
</Border>
@ -183,6 +187,7 @@
<StackPanel
Grid.Row="0"
Margin="3,5,5,5"
lex:ResxLocalizationProvider.DefaultDictionary="lang_terms"
Orientation="Horizontal">
<!--<Border
Width="60"
@ -218,7 +223,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="{Binding LableStatue}"
Text="{lex:Loc {Binding LableStatue, FallbackValue=Unknown}}"
TextAlignment="Center"
TextWrapping="Wrap" />
</Border>
@ -231,7 +236,7 @@
Height="30"
Margin="5,0"
HorizontalAlignment="Center"
Content="{Binding OnlineButtomContent}"
Content="{lex:Loc {Binding OnlineButtomContent, FallbackValue=Unknown}}"
FontFamily="微软雅黑"
FontSize="12"
FontStretch="Normal"
@ -244,11 +249,12 @@
</i:Interaction.Triggers>
</Button>
<Button
Name="ID_BTN_Service"
Width="80"
Height="30"
Margin="0,0"
HorizontalAlignment="Center"
Content="Service"
Content="{lex:Loc Service}"
FontFamily="微软雅黑"
FontSize="12"
FontStretch="Normal"
@ -267,14 +273,16 @@
<StackPanel
Grid.Row="1"
Margin="5,5,5,5"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Orientation="Horizontal">
<Button
x:Name="ID_BTN_Home_Content"
Width="80"
Height="30"
Margin="0,0"
Padding="0"
HorizontalAlignment="Center"
Content="Home"
Content="{lex:Loc}"
FontFamily="微软雅黑"
FontSize="12"
FontStretch="Normal"
@ -287,12 +295,13 @@
</i:Interaction.Triggers>
</Button>
<Button
x:Name="ID_BTN_Reset_Content"
Width="80"
Height="30"
Margin="5,0"
Padding="0"
HorizontalAlignment="Center"
Content="Reset"
Content="{lex:Loc}"
FontFamily="微软雅黑"
FontSize="12"
FontStretch="Normal"
@ -305,10 +314,11 @@
</i:Interaction.Triggers>
</Button>
<Button
x:Name="ID_BTN_Abort_Content"
Width="80"
Height="30"
HorizontalAlignment="Center"
Content="Abort"
Content="{lex:Loc}"
FontFamily="微软雅黑"
FontSize="12"
FontStretch="Normal"
@ -329,12 +339,13 @@
Margin="5,5,5,5"
Orientation="Horizontal">
<Button
Name="ID_BTN_OP_AtmIdle"
Width="80"
Height="30"
Margin="0,0"
Padding="0"
HorizontalAlignment="Center"
Content="ATM Idle"
Content="{lex:Loc}"
FontFamily="微软雅黑"
FontSize="12"
FontStretch="Normal"
@ -350,12 +361,13 @@
</i:Interaction.Triggers>
</Button>
<Button
Name="ID_BTN_OP_VacIdle"
Width="80"
Height="30"
Margin="5,0"
Padding="0"
HorizontalAlignment="Center"
Content="VAC Idle"
Content="{lex:Loc}"
FontFamily="微软雅黑"
FontSize="12"
FontStretch="Normal"
@ -371,11 +383,12 @@
</i:Interaction.Triggers>
</Button>
<Button
Name="ID_BTN_OP_ProcessIdle"
Width="80"
Height="30"
Padding="0"
HorizontalAlignment="Center"
Content="ProcessIdle"
Content="{lex:Loc}"
FontFamily="微软雅黑"
FontSize="12"
FontStretch="Normal"
@ -451,7 +464,7 @@
FontFamily="Arial"
FontSize="14"
Foreground="{DynamicResource FG_Black}"
Text="Reactor Service" />
Text="{lex:Loc ID_TXT_Reactor_Service}" />
</StackPanel>
</Border>
<Border
@ -482,6 +495,7 @@
<Border
Width="100"
Padding="5,1"
lex:ResxLocalizationProvider.DefaultDictionary="lang_overview"
Background="{DynamicResource Table_BG_Title}"
BorderBrush="{DynamicResource Table_BD}"
BorderThickness="1">
@ -492,7 +506,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Pressure (mbar)"
Text="{lex:Loc ID_TXT_Pressure}"
TextWrapping="Wrap" />
</Border>
<Border
@ -531,13 +545,15 @@
<StackPanel
Grid.Row="1"
Margin="5"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Orientation="Horizontal">
<Button
Name="ID_BTN_Pump_Content"
Width="100"
Height="30"
Padding="0"
HorizontalAlignment="Center"
Content="Pump"
Content="{lex:Loc}"
FontFamily="微软雅黑"
FontSize="12"
FontStretch="Normal"
@ -553,11 +569,12 @@
</i:Interaction.Triggers>
</Button>
<Button
x:Name="ID_BTN_Vent_Content"
Width="100"
Height="30"
Margin="25,0"
HorizontalAlignment="Center"
Content="Vent"
Content="{lex:Loc}"
FontFamily="微软雅黑"
FontSize="12"
FontStretch="Normal"
@ -612,13 +629,15 @@
<StackPanel
Grid.Row="2"
Margin="5"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
Orientation="Horizontal">
<Button
x:Name="ID_BTN_Purge_Content"
Width="100"
Height="30"
Padding="0"
HorizontalAlignment="Center"
Content="Purge"
Content="{lex:Loc}"
FontFamily="微软雅黑"
FontSize="12"
FontStretch="Normal"
@ -634,12 +653,13 @@
</i:Interaction.Triggers>
</Button>
<Button
x:Name="ID_BTN_Clean_Content"
Width="100"
Height="30"
Margin="25,0"
Padding="0"
HorizontalAlignment="Center"
Content="Clean"
Content="{lex:Loc}"
FontFamily="微软雅黑"
FontSize="12"
FontStretch="Normal"
@ -661,11 +681,12 @@
Margin="5"
Orientation="Horizontal">
<Button
x:Name="ID_BTN_Exchange_TCS_Content"
Width="100"
Height="30"
Padding="0"
HorizontalAlignment="Center"
Content="ExchangeTCS"
Content="{lex:Loc}"
FontFamily="微软雅黑"
FontSize="12"
FontStretch="Normal"
@ -682,12 +703,13 @@
</Button>
<Button
x:Name="ID_BTN_Exchange_TMA_Content"
Width="100"
Height="30"
Margin="25,0"
Padding="0"
HorizontalAlignment="Center"
Content="ExchangeTMA"
Content="{lex:Loc}"
FontFamily="微软雅黑"
FontSize="12"
FontStretch="Normal"
@ -709,11 +731,12 @@
Margin="5"
Orientation="Horizontal">
<Button
x:Name="ID_BTN_Isolation_Content"
Width="100"
Height="30"
Padding="0"
HorizontalAlignment="Center"
Content="Isolation"
Content="{lex:Loc}"
FontFamily="微软雅黑"
FontSize="12"
FontStretch="Normal"
@ -730,12 +753,13 @@
</Button>
<Button
x:Name="ID_BTN_LeakCheck_Content"
Width="100"
Height="30"
Margin="25,0"
Padding="0"
HorizontalAlignment="Center"
Content="LeakCheck"
Content="{lex:Loc}"
FontFamily="微软雅黑"
FontSize="12"
FontStretch="Normal"
@ -787,10 +811,11 @@
Margin="5,0,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
FontFamily="Arial"
FontSize="14"
Foreground="{DynamicResource FG_Black}"
Text="Parameters" />
Text="{lex:Loc ID_TXT_Status}" />
</StackPanel>
</Border>
@ -806,7 +831,7 @@
Height="258"
VerticalAlignment="Top"
Background="Transparent">
<TabItem Header="Sensor">
<TabItem Header="{lex:Loc ID_TXT_Sensor}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="23" />
@ -838,10 +863,11 @@
<TextBlock
HorizontalAlignment="Center"
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
FontFamily="Arial"
FontSize="14"
Foreground="{DynamicResource FG_Black}"
Text="Name"
Text="{lex:Loc ID_TXT_Name}"
TextWrapping="Wrap" />
</Border>
@ -855,10 +881,11 @@
<TextBlock
HorizontalAlignment="Center"
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
FontFamily="Arial"
FontSize="14"
Foreground="{DynamicResource FG_Black}"
Text="Status"
Text="{lex:Loc ID_TXT_Status}"
TextWrapping="Wrap" />
</Border>
@ -932,7 +959,7 @@
FontFamily="Arial"
FontSize="14"
Foreground="{DynamicResource FG_Black}"
Text="ChamLidClosed"
Text="{lex:Loc ID_TXT_Cham_Lid_Closed}"
TextWrapping="Wrap" />
</Border>
<Border
@ -965,7 +992,7 @@
FontFamily="Arial"
FontSize="14"
Foreground="{DynamicResource FG_Black}"
Text="ChamCabDoorClosed"
Text="{lex:Loc ID_TXT_Cham_Cab_Door_Closed}"
TextWrapping="Wrap" />
</Border>
<Border
@ -999,7 +1026,7 @@
FontFamily="Arial"
FontSize="14"
Foreground="{DynamicResource FG_Black}"
Text="GBDoorClosed"
Text="{lex:Loc ID_TXT_GB_Door_Closed}"
TextWrapping="Wrap" />
</Border>
<Border
@ -1033,7 +1060,7 @@
FontFamily="Arial"
FontSize="14"
Foreground="{DynamicResource FG_Black}"
Text="GBWaterLeak"
Text="{lex:Loc ID_TXT_GB_Water_Leak}"
TextWrapping="Wrap" />
</Border>
<Border
@ -1067,7 +1094,7 @@
FontFamily="Arial"
FontSize="14"
Foreground="{DynamicResource FG_Black}"
Text="PRWaterLeak"
Text="{lex:Loc ID_TXT_PR_Water_Leak}"
TextWrapping="Wrap" />
</Border>
<Border
@ -1102,7 +1129,7 @@
FontFamily="Arial"
FontSize="14"
Foreground="{DynamicResource FG_Black}"
Text="ReactorWaterLeak"
Text="{lex:Loc ID_TXT_Reactor_Water_Leak}"
TextWrapping="Wrap" />
</Border>
<Border
@ -1135,7 +1162,7 @@
FontFamily="Arial"
FontSize="14"
Foreground="{DynamicResource FG_Black}"
Text="ChamPressAboveATM"
Text="{lex:Loc ID_TXT_Cham_Press_Above_ATM}"
TextWrapping="Wrap" />
</Border>
<Border
@ -1168,7 +1195,7 @@
FontFamily="Arial"
FontSize="14"
Foreground="{DynamicResource FG_Black}"
Text="DORPressVAC"
Text="{lex:Loc ID_TXT_DOR_Press_VAC}"
TextWrapping="Wrap" />
</Border>
<Border
@ -1188,13 +1215,13 @@
</Border>
</Grid>
</TabItem>
<TabItem Header="Cooling Water">
<TabItem Header="{lex:Loc ID_TXT_Cooling_Water}">
<TabControl Margin="0,0,0,0" Background="Transparent">
<TabItem
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Header="Water1">
Header="{lex:Loc ID_TXT_Water1}">
<Grid Margin="0,0,0,0">
<Grid.RowDefinitions>
<RowDefinition Height="23" />
@ -1215,10 +1242,11 @@
<TextBlock
HorizontalAlignment="Center"
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Name"
Text="{lex:Loc ID_TXT_Name}"
TextWrapping="Wrap" />
</Border>
<Border
@ -1233,7 +1261,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Sensor"
Text="{lex:Loc ID_TXT_Sensor}"
TextWrapping="Wrap" />
</Border>
<Border
@ -1245,10 +1273,11 @@
<TextBlock
HorizontalAlignment="Center"
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Temp(°C)"
Text="{lex:Loc ID_TXT_Temp}"
TextWrapping="Wrap" />
</Border>
@ -1269,7 +1298,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Header="Water2">
Header="{lex:Loc ID_TXT_Water2}">
<Grid Margin="0,0,0,-35">
<Grid.RowDefinitions>
<RowDefinition Height="23" />
@ -1289,10 +1318,11 @@
<TextBlock
HorizontalAlignment="Center"
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Name"
Text="{lex:Loc ID_TXT_Name}"
TextWrapping="Wrap" />
</Border>
<Border
@ -1307,7 +1337,7 @@
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Sensor"
Text="{lex:Loc ID_TXT_Sensor}"
TextWrapping="Wrap" />
</Border>
<Border
@ -1319,10 +1349,11 @@
<TextBlock
HorizontalAlignment="Center"
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
FontFamily="Arial"
FontSize="12"
Foreground="{DynamicResource FG_Black}"
Text="Temp(°C)"
Text="{lex:Loc ID_TXT_Temp}"
TextWrapping="Wrap" />
</Border>
<StackPanel Grid.Row="1" Grid.ColumnSpan="3">
@ -1339,7 +1370,7 @@
</TabControl>
</TabItem>
<TabItem Header="Resistance">
<TabItem Header="{lex:Loc ID_TXT_Resistance}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="23" />
@ -1360,10 +1391,11 @@
<TextBlock
HorizontalAlignment="Center"
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
FontFamily="Arial"
FontSize="14"
Foreground="{DynamicResource FG_Black}"
Text="Name"
Text="{lex:Loc ID_TXT_Name}"
TextWrapping="Wrap" />
</Border>
<Border
@ -1376,10 +1408,11 @@
<TextBlock
HorizontalAlignment="Center"
VerticalAlignment="Center"
lex:ResxLocalizationProvider.DefaultDictionary="lang_common"
FontFamily="Arial"
FontSize="14"
FontSize="13"
Foreground="{DynamicResource FG_Black}"
Text="State"
Text="{lex:Loc ID_TXT_Status}"
TextWrapping="Wrap" />
</Border>
<Border
@ -1395,7 +1428,7 @@
FontFamily="Arial"
FontSize="14"
Foreground="{DynamicResource FG_Black}"
Text="R (Ω)"
Text="{lex:Loc ID_TXT_R}"
TextWrapping="Wrap" />
</Border>
@ -1404,17 +1437,17 @@
Grid.Row="1"
Grid.Column="0"
Grid.ColumnSpan="3">
<controls:HeaterResPresenter Caption="PSU1 Resistance(Ω)" DataContext="{Binding PSU1Data}" />
<controls:HeaterResPresenter Caption="{lex:Loc ID_TXT_PSU1_Resistance}" DataContext="{Binding PSU1Data}" />
<controls:HeaterResPresenter Caption="PSU2 Resistance(Ω)" DataContext="{Binding PSU2Data}" />
<controls:HeaterResPresenter Caption="{lex:Loc ID_TXT_PSU2_Resistance}" DataContext="{Binding PSU2Data}" />
<controls:HeaterResPresenter Caption="PSU3 Resistance(Ω)" DataContext="{Binding PSU3Data}" />
<controls:HeaterResPresenter Caption="{lex:Loc ID_TXT_PSU3_Resistance}" DataContext="{Binding PSU3Data}" />
<controls:HeaterResPresenter Caption="SCR1 Resistance(Ω)" DataContext="{Binding SCR1Data}" />
<controls:HeaterResPresenter Caption="{lex:Loc ID_TXT_SCR1_Resistance}" DataContext="{Binding SCR1Data}" />
<controls:HeaterResPresenter Caption="SCR2 Resistance(Ω)" DataContext="{Binding SCR2Data}" />
<controls:HeaterResPresenter Caption="{lex:Loc ID_TXT_SCR2_Resistance}" DataContext="{Binding SCR2Data}" />
<controls:HeaterResPresenter Caption="SCR3 Resistance(Ω)" DataContext="{Binding SCR3Data}" />
<controls:HeaterResPresenter Caption="{lex:Loc ID_TXT_SCR3_Resistance}" DataContext="{Binding SCR3Data}" />
</StackPanel>
</Grid>
</TabItem>

View File

@ -102,6 +102,9 @@
<Reference Include="Sicentury.Core">
<HintPath>..\ThirdParty\MECF.Framework\Sicentury.Core.dll</HintPath>
</Reference>
<Reference Include="Sicentury.Localization">
<HintPath>..\ThirdParty\MECF.Framework\Sicentury.Localization.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System.Configuration" />
@ -126,9 +129,15 @@
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="WindowsFormsIntegration" />
<Reference Include="WPFLocalizeExtension">
<HintPath>..\ThirdParty\MECF.Framework\WPFLocalizeExtension.dll</HintPath>
</Reference>
<Reference Include="WPFToolkit">
<HintPath>..\ThirdParty\MECF.Framework\WPFToolkit.dll</HintPath>
</Reference>
<Reference Include="XAMLMarkupExtensions">
<HintPath>..\ThirdParty\MECF.Framework\XAMLMarkupExtensions.dll</HintPath>
</Reference>
<Reference Include="Xceed.Wpf.Toolkit, Version=3.6.0.0, Culture=neutral, PublicKeyToken=3e4669d2f30244f4, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\ThirdParty\dlls\Xceed.Wpf.Toolkit.dll</HintPath>

Binary file not shown.