|
|
@@ -1,190 +0,0 @@
|
|
|
-using OTSDataType;
|
|
|
-using System;
|
|
|
-using System.Collections.Generic;
|
|
|
-using System.Linq;
|
|
|
-using System.Text;
|
|
|
-using System.Threading.Tasks;
|
|
|
-using System.Xml;
|
|
|
-using static OTSModelSharp.COTSHardwareMgr;
|
|
|
-
|
|
|
-namespace OTSModelSharp
|
|
|
-{
|
|
|
- public class COTSHardwareMgr
|
|
|
- {
|
|
|
- OTSEDSBase m_EDSPtr;
|
|
|
-
|
|
|
- String szEdsName = "";
|
|
|
-
|
|
|
- //XML文件名
|
|
|
- public String szXMLFileName = "./Config/ProData/HardwareConfig.xml";
|
|
|
-
|
|
|
- String szSemName = "";
|
|
|
-
|
|
|
- string[] lpEdsName = { "OffLine", "Bruker", "Oxford" };
|
|
|
-
|
|
|
- COTSScanBase m_SCanPtr;
|
|
|
-
|
|
|
-
|
|
|
- public enum EDSDevID
|
|
|
- {
|
|
|
- Invalid = -1,
|
|
|
- OFFLINE = 0,
|
|
|
- BRUKER = 1,
|
|
|
- OXFORD = 2,
|
|
|
- }
|
|
|
-
|
|
|
- public OTSEDSBase GetEDSControllerPtr()
|
|
|
- {
|
|
|
-
|
|
|
- if (null == m_EDSPtr)
|
|
|
- {
|
|
|
- int iDevID = -1;
|
|
|
- if (szEdsName == "")
|
|
|
- {
|
|
|
- if (!this.GetXMLVal(szXMLFileName, szSemName, szEdsName))
|
|
|
- {
|
|
|
- return null;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- iDevID = this.GetEDSControllerID(szEdsName);
|
|
|
- switch (iDevID)
|
|
|
- {
|
|
|
- case (int)EDSDevID.BRUKER:
|
|
|
- {
|
|
|
-
|
|
|
- m_EDSPtr = new OTSEDSBase();
|
|
|
-
|
|
|
-
|
|
|
- break;
|
|
|
- }
|
|
|
- case (int)EDSDevID.OFFLINE:
|
|
|
- {
|
|
|
-
|
|
|
- m_EDSPtr = new OTSEDSBase();
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- break;
|
|
|
- }
|
|
|
- case (int)EDSDevID.OXFORD:
|
|
|
- {
|
|
|
-
|
|
|
- m_EDSPtr = new OTSEDSBase();
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- break;
|
|
|
- }
|
|
|
- default:
|
|
|
-
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- return m_EDSPtr;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- public bool GetXMLVal(String szXmlFileName, String szSemName, String szEdsName)
|
|
|
- {
|
|
|
-
|
|
|
- XmlDocument doc = new XmlDocument();
|
|
|
- doc.Load(szXmlFileName);//载入xml文件
|
|
|
- xString szS = new xString();
|
|
|
- xString szE = new xString();
|
|
|
-
|
|
|
- Slo subClass = new Slo();
|
|
|
- Slo subClass1 = new Slo();
|
|
|
- subClass.Register("drive", szS);
|
|
|
- subClass1.Register("drive",szE);
|
|
|
- subClass.Register("SemControllerName", subClass);
|
|
|
-
|
|
|
- subClass.Register("EDSName",subClass1);
|
|
|
-
|
|
|
-
|
|
|
- XmlNode rootNode;
|
|
|
- rootNode = doc.FirstChild;
|
|
|
-
|
|
|
- subClass.Serialize(false, doc, rootNode);
|
|
|
- szSemName = szS.value().ToString();
|
|
|
- szEdsName = szE.value().ToString();
|
|
|
- return true;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- public XmlElement FirstChildElement(string value) {
|
|
|
- return this.FirstChildElement(value );
|
|
|
- }
|
|
|
-
|
|
|
- //return array Index when ControllerName match for name in array
|
|
|
- public int GetEDSControllerID(String EDSControllerName)
|
|
|
- {
|
|
|
- int iLen = lpEdsName.Length ;
|
|
|
-
|
|
|
- int i = 0;
|
|
|
- for (i = 0; i<iLen; i++)
|
|
|
- {
|
|
|
- if (0 == string.Compare(lpEdsName[i], EDSControllerName))
|
|
|
- {
|
|
|
- return i;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- return -1;
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- public COTSScanBase GetScanControllerPtr()
|
|
|
- {
|
|
|
-
|
|
|
- if (null == m_SCanPtr)
|
|
|
- {
|
|
|
- int iDevID = -1;
|
|
|
-
|
|
|
- if (szEdsName == "")
|
|
|
- {
|
|
|
- if (!this.GetXMLVal(szXMLFileName, szSemName, szEdsName))
|
|
|
- {
|
|
|
- return null;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- iDevID = this.GetEDSControllerID(szEdsName);
|
|
|
-
|
|
|
- switch (iDevID)
|
|
|
- {
|
|
|
- case (int)EDSDevID.BRUKER:
|
|
|
- {
|
|
|
-
|
|
|
- m_SCanPtr = new COTSScanBase();
|
|
|
-
|
|
|
- break;
|
|
|
- }
|
|
|
- case (int)EDSDevID.OFFLINE:
|
|
|
- {
|
|
|
- m_SCanPtr = new COTSScanBase();
|
|
|
-
|
|
|
- break;
|
|
|
- }
|
|
|
- case (int)EDSDevID.OXFORD:
|
|
|
- {
|
|
|
- m_SCanPtr = new COTSScanBase();
|
|
|
-
|
|
|
- break;
|
|
|
- }
|
|
|
- default:
|
|
|
-
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- return m_SCanPtr;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
-}
|