Ejemplo n.º 1
0
            public Manipulator(XmlNode manipulatorNode)
            {
                if (manipulatorNode == null)
                {
                    throw new ApplicationException("Invalid Environment xml file. No Manipulator node found");
                }

                HomePosition = new ManipulatorPosition(manipulatorNode.SelectSingleNode("Position[@key='Home']"));
                Stations     = new List <Station>();
                foreach (XmlNode snode in manipulatorNode.SelectNodes("Stations/Station"))
                {
                    Stations.Add(new Station(snode));
                }
            }
Ejemplo n.º 2
0
            public Station(XmlNode stationNode)
            {
                if (stationNode == null)
                {
                    throw new ApplicationException("Invalid Environment xml file. No station node found");
                }

                Type = (StationType)Enum.Parse(typeof(StationType), stationNode.Attributes["type"].Value);
                ID   = stationNode.Attributes["id"].Value;

                Slots = new List <Slot>();
                foreach (XmlNode slotNode in stationNode.SelectNodes("Slot"))
                {
                    Slots.Add(new Slot(slotNode));
                }

                LowestRegisteredPosition = new ManipulatorPosition(stationNode.SelectSingleNode("Positions/Position[@key='Lowest']"));

                if (Type == StationType.Casette)
                {
                    HighestRegisteredPosition = new ManipulatorPosition(stationNode.SelectSingleNode("Positions//Position[@key='Highest']"));
                }

                RegisteredG4Position = new ManipulatorPosition(stationNode.SelectSingleNode("Positions//Position[@key='G4']"));
                RegisteredP4Position = new ManipulatorPosition(stationNode.SelectSingleNode("Positions//Position[@key='P4']"));

                Thresholds = new List <Threshold>();
                if (Type == StationType.Casette)
                {
                    foreach (XmlNode t in stationNode.SelectSingleNode("Thresholds").ChildNodes)
                    {
                        Thresholds.Add(new Threshold(t));
                    }
                }

                WaferWidth = double.Parse(stationNode["WaferWidth"].InnerText) * 0.001;
            }