[RT.EqumentLibrary]

重新整理XLM对应的实体类对象和对应的函数功能
This commit is contained in:
hanqiangqiang 2023-07-13 14:03:54 +08:00
parent 2c233cb563
commit c7484c5668
9 changed files with 67 additions and 407 deletions

View File

@ -1,24 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;
using System.Xml.Serialization;
namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.GasFlow
{
/// <summary>
/// 真值表单元格对应的配置内容信息
/// </summary>
public class ControlNameValue
[XmlType(typeName: "ControlNameValue")]
public partial class ControlNameValue
{
[XmlAttribute(AttributeName = "Name")]
[XmlAttribute()]
public string Name { get; set; }
[XmlAttribute(AttributeName = "Value")]
public double Value { get; set; }
[XmlAttribute()]
public byte Value { get; set; }
[XmlAttribute(AttributeName = "ControlName")]
[XmlAttribute()]
public string ControlName { get; set; }
}
}

View File

@ -2,12 +2,14 @@
using Aitex.Core.RT.OperationCenter;
using Aitex.Core.Util;
using MECF.Framework.Common.Device.Bases;
using MECF.Framework.RT.EquipmentLibrary.HardwareUnits.PMs;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Linq;
using System.Xml.Serialization;
using static System.Net.Mime.MediaTypeNames;
@ -15,7 +17,7 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.GasFlow
{
public class GasFlowManager : Singleton<GasFlowManager>
{
ModuleGsaFlow123 PM1GsaFlow { get; set; }
ModuleGsaFlow PM1GsaFlow { get; set; }
public GasFlowManager()
{
@ -23,48 +25,21 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.GasFlow
}
public void Initialize()
{
//PM1GsaFlow = new ModuleGsaFlow123();
PM1GsaFlow = CustomXmlSerializer.Deserialize<ModuleGsaFlow>(new FileInfo($"Config\\PM\\PM1\\RealtimeGasFlow.xml"));
DATA.Subscribe($"\"PM1\".GasFlowManagerTest", () => PM1GsaFlow.GasFlowUnitLise);
//ControlNameValue controlNameValue = new ControlNameValue();
//controlNameValue.Name = "1";
//controlNameValue.Value = 2;
//controlNameValue.ControlName = "123";
//RealtimeGasFlowTrueTableRow realtimeGasFlowTrueTableRow = new RealtimeGasFlowTrueTableRow();
//realtimeGasFlowTrueTableRow.InputList.Add(controlNameValue);
//realtimeGasFlowTrueTableRow.InputList.Add(controlNameValue);
//realtimeGasFlowTrueTableRow.OutputList.Add(controlNameValue);
//GasFlowUnit gasFlowUnit = new GasFlowUnit();
//gasFlowUnit.GasName = "SiH4";
//gasFlowUnit.GasFlowRatioName = "Test";
//gasFlowUnit.GasTrueTableRowList.Add(realtimeGasFlowTrueTableRow);
//gasFlowUnit.GasTrueTableRowList.Add(realtimeGasFlowTrueTableRow);
//gasFlowUnit.GasTrueTableRowList.Add(realtimeGasFlowTrueTableRow);
//PM1GsaFlow.GasFlowUnitList = new List<GasFlowUnit>
//{
// gasFlowUnit,
// gasFlowUnit
//};
//XmlSerializer xml = new XmlSerializer(typeof(ModuleGsaFlow123));
//System.IO.Stream stream = new System.IO.FileStream(" sutudents.xml", System.IO.FileMode.OpenOrCreate);
//xml.Serialize(stream, PM1GsaFlow);
ModuleGsaFlow m= DeserializeFromXml<ModuleGsaFlow>($"Config\\PM\\RealtimeGasFlow\\Test.xml");
PM1GsaFlow = CustomXmlSerializer.Deserialize<ModuleGsaFlow123>(new FileInfo($"Config\\PM\\RealtimeGasFlow\\Test.xml"));
PM1GsaFlow.SetModuleName("PM1");
DATA.Subscribe("GasFlowManagerTest", () => GasFlowManagerTest());
OP.Subscribe("GasFlowManager.QueryUpdate", (string cmd, object[] args) => QueryUpdate());
}
private void IniPM(string pmName)
{
ModuleGsaFlow moduleGsaFlow = CustomXmlSerializer.Deserialize<ModuleGsaFlow>(new FileInfo($"Config\\PM\\{pmName}\\RealtimeGasFlow.xml"));
DATA.Subscribe($"{pmName}.GasFlowManagerTest", () => moduleGsaFlow.GasFlowUnitLise);
}
public T DeserializeFromXml<T>(string filePath)
{
try

View File

@ -1,4 +1,5 @@
using System;
using Aitex.Core.RT.SCCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
@ -11,29 +12,19 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.GasFlow
/// <summary>
/// 单个气体对象的真值表数据,所有配置行数据集合,气体需要的属性数据
/// </summary>
[XmlType(typeName: "GasFlowUnit")]
public class GasFlowUnit
{
[XmlElement("GasTrueTableRows")]
public List<GasTrueTableRows> GasTrueTableRowList { get; set; }
/// <summary>
/// 气体名称
/// </summary>
[XmlAttribute(AttributeName = "GasName")]
[XmlAttribute()]
public string GasName { get; set; }
/// <summary>
/// 系统配置文件中气体系数名称,根据此名称来获取对应的配置数据
/// </summary>
[XmlAttribute(AttributeName = "GasFlowRatioName")]
[XmlAttribute()]
public string GasFlowRatioName { get; set; }
/// <summary>
/// 一种气体对应的所有行数据集合
/// </summary>
[XmlArrayItem("GasTrueTableRowList")]
public List<RealtimeGasFlowTrueTableRow> GasTrueTableRowList { get; set; } = new List<RealtimeGasFlowTrueTableRow>();
/// <summary>
/// 系统中配置的气体流量系数
/// </summary>

View File

@ -13,15 +13,17 @@ namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.GasFlow
/// <summary>
/// 单行真值表对应的逻辑对象,主要执行逻辑就在这里
/// </summary>
public class RealtimeGasFlowTrueTableRow
[XmlType(typeName: "GasTrueTableRows")]
public partial class GasTrueTableRows
{
[XmlArray("InputList")]
[XmlArrayItem("ControlNameValue")]
public List<ControlNameValue> InputList { get; set; } = new List<ControlNameValue>();
[XmlArray("OutputList")]
[XmlArrayItem("ControlNameValue")]
public List<ControlNameValue> OutputList { get; set; } = new List<ControlNameValue>();
[XmlArray("Inputs")]
public List<ControlNameValue> InputList { get; set; }
[XmlArray("Outputs")]
public List<ControlNameValue> OutputList { get; set; }
private bool IsCanOut(string module)
{
//有一个集合为空,不用循环

View File

@ -1,31 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;
namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.GasFlow
{
public class GasUnitData
{
/// <summary>
/// 气体名称
/// </summary>
[XmlAttribute(AttributeName = "GasName")]
public string GasName { get; set; }
/// <summary>
/// 系统配置文件中气体系数名称,根据此名称来获取对应的配置数据
/// </summary>
[XmlAttribute(AttributeName = "GasFlowRatioName")]
public string GasFlowRatioName { get; set; }
/// <summary>
/// 一种气体对应的所有行数据集合
/// </summary>
[XmlArray("GasTrueTableRowList")]
[XmlArrayItem("RealtimeGasFlowTrueTableRow")]
public List<RealtimeGasFlowTrueTableRow> RealtimeGasFlowTrueTableRows { get; set; } = new List<RealtimeGasFlowTrueTableRow>();
}
}

View File

@ -1,231 +1,39 @@
using System;
using Aitex.Core.Util;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;
namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.GasFlow
{
// 注意: 生成的代码可能至少需要 .NET Framework 4.5 或 .NET Core/Standard 2.0。
/// <remarks/>
public partial class ModuleGsaFlow
public class ModuleGsaFlow
{
[XmlAttribute()]
public string ModuleName { get; set; }
[XmlElement("GasFlowUnit")]
public List<GasFlowUnit> GasFlowUnitLise { get; set; }
private PeriodicJob _thread;
private void IniPMGas()
{
_thread = new PeriodicJob(1000, OnTimer, $"{ModuleName}.ModuleGsaFlow", true);
}
private bool OnTimer()
{
foreach (var Unit in GasFlowUnitLise)
{
Unit.GetGasFlowFeedBack(ModuleName);
}
return true;
}
[System.Xml.Serialization.XmlElement("GasFlowUnit")]
public List<GasFlowUnit> GasFlowUnit { get; set; }
}
[System.Xml.Serialization.XmlTypeAttribute(typeName: "GasFlowUnit")]
public partial class FGasFlowUnit
{
private ModuleGsaFlowGasFlowUnitGasTrueTableRows[] gasTrueTableRowsField;
private string gasNameField;
private string gasFlowRatioNameField;
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("GasTrueTableRows")]
public ModuleGsaFlowGasFlowUnitGasTrueTableRows[] GasTrueTableRows
{
get
{
return this.gasTrueTableRowsField;
}
set
{
this.gasTrueTableRowsField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public string GasName
{
get
{
return this.gasNameField;
}
set
{
this.gasNameField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public string GasFlowRatioName
{
get
{
return this.gasFlowRatioNameField;
}
set
{
this.gasFlowRatioNameField = value;
}
}
}
public partial class ModuleGsaFlowGasFlowUnitGasTrueTableRows
{
private ModuleGsaFlowGasFlowUnitGasTrueTableRowsControlNameValue[] inputsField;
private ModuleGsaFlowGasFlowUnitGasTrueTableRowsOutputs outputsField;
/// <remarks/>
[System.Xml.Serialization.XmlArrayItemAttribute("ControlNameValue", IsNullable = false)]
public ModuleGsaFlowGasFlowUnitGasTrueTableRowsControlNameValue[] Inputs
{
get
{
return this.inputsField;
}
set
{
this.inputsField = value;
}
}
/// <remarks/>
public ModuleGsaFlowGasFlowUnitGasTrueTableRowsOutputs Outputs
{
get
{
return this.outputsField;
}
set
{
this.outputsField = value;
}
}
}
public partial class ModuleGsaFlowGasFlowUnitGasTrueTableRowsControlNameValue
{
private string nameField;
private byte valueField;
private string controlNameField;
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public string Name
{
get
{
return this.nameField;
}
set
{
this.nameField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public byte Value
{
get
{
return this.valueField;
}
set
{
this.valueField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public string ControlName
{
get
{
return this.controlNameField;
}
set
{
this.controlNameField = value;
}
}
}
public partial class ModuleGsaFlowGasFlowUnitGasTrueTableRowsOutputs
{
private ModuleGsaFlowGasFlowUnitGasTrueTableRowsOutputsControlNameValue controlNameValueField;
/// <remarks/>
public ModuleGsaFlowGasFlowUnitGasTrueTableRowsOutputsControlNameValue ControlNameValue
{
get
{
return this.controlNameValueField;
}
set
{
this.controlNameValueField = value;
}
}
}
public partial class ModuleGsaFlowGasFlowUnitGasTrueTableRowsOutputsControlNameValue
{
private string nameField;
private byte valueField;
private string controlNameField;
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public string Name
{
get
{
return this.nameField;
}
set
{
this.nameField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public byte Value
{
get
{
return this.valueField;
}
set
{
this.valueField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public string ControlName
{
get
{
return this.controlNameField;
}
set
{
this.controlNameField = value;
}
}
}
}

View File

@ -1,59 +0,0 @@
using Aitex.Core.Util;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;
namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.GasFlow
{
public class ModuleGsaFlow123
{
/// <summary>
/// PM模块所有气体对象的集合
/// </summary>
/// <summary>
[XmlArray("ModuleGsaFlow123")]
[XmlArrayItem("GasFlowUnit")]
public List<GasFlowUnit> GasFlowUnitList { get; set; }
public string MoudleName { get; set; }
private PeriodicJob _thread;
public ModuleGsaFlow123()
{
IniPMGas();
}
public void SetModuleName(string module)
{
MoudleName = module;
}
private void IniPMGas()
{
_thread = new PeriodicJob(1000, OnTimer, $"{MoudleName}.ModuleGsaFlow123", true);
}
private void IniGasFlowUnitList(string path)
{
}
private bool OnTimer()
{
foreach (var Unit in GasFlowUnitList)
{
Unit.GetGasFlowFeedBack(MoudleName);
}
return true;
}
}
}

View File

@ -1,17 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MECF.Framework.RT.EquipmentLibrary.HardwareUnits.GasFlow
{
/// <summary>
/// 真值表逻辑计算器,对应每个大的模块所有气体
/// </summary>
public class RealtimeGasFlowCalculator
{
}
}

View File

@ -178,15 +178,12 @@
<Compile Include="HardwareUnits\FFUs\AAF\FfuAAFHandler.cs" />
<Compile Include="HardwareUnits\FFUs\DW254Pressure\DWConnection.cs" />
<Compile Include="HardwareUnits\FFUs\DW254Pressure\DWPressure.cs" />
<Compile Include="HardwareUnits\GasFlow\ModuleGsaFlow.cs" />
<Compile Include="HardwareUnits\GasFlow\ControlNameValue.cs" />
<Compile Include="HardwareUnits\GasFlow\GasFlowManager.cs" />
<Compile Include="HardwareUnits\GasFlow\GasFlowSqlHelp.cs" />
<Compile Include="HardwareUnits\GasFlow\GasFlowUnit.cs" />
<Compile Include="HardwareUnits\GasFlow\GasUnitData.cs" />
<Compile Include="HardwareUnits\GasFlow\ModuleGsaFlow123.cs" />
<Compile Include="HardwareUnits\GasFlow\RealtimeGasFlowCalculator.cs" />
<Compile Include="HardwareUnits\GasFlow\RealtimeGasFlowTrueTableRow.cs" />
<Compile Include="HardwareUnits\GasFlow\ModuleGsaFlow.cs" />
<Compile Include="HardwareUnits\GasFlow\GasTrueTableRows.cs" />
<Compile Include="HardwareUnits\LoadPorts\HirataII\HirataIILoadPort.cs" />
<Compile Include="HardwareUnits\LoadPorts\HirataII\HirataIILoadPortConnection.cs" />
<Compile Include="HardwareUnits\LoadPorts\HirataII\HirataIILoadPortHandler.cs" />