public override void LoadParameters(XElement xml) { base.LoadParameters(xml); if (_loadedParameters == false) { CreateInputOutputBytes(InputSize, OutputSize); if (xml.Element("InputStartIO") != null) { var ioName = xml.Element("InputStartIO").Value; FAIOInfo ioInfo = Device.GetInputIOInfo(ioName); if (ioInfo == null) throw new Exception("Not Found IO(" + ioName + ") In IOList. Part Name is " + Name); InputStartIO = new FAPartInputIOInfo(Device, ioName, ioInfo.Index, ioInfo.Description); } if (xml.Element("OutputStartIO") != null) { var ioName = xml.Element("OutputStartIO").Value; FAIOInfo ioInfo = Device.GetOutputIOInfo(ioName); if (ioInfo == null) throw new Exception("Not Found IO(" + ioName + ") In IOList. Part Name is " + Name); OutputStartIO = new FAPartInputIOInfo(Device, ioName, ioInfo.Index, ioInfo.Description); } _loadedParameters = true; } }
private void LoadInputIOList(XElement xml) { foreach (XElement item in xml.Elements()) { string ioName; bool isInverse = false; if (item.HasElements) { ioName = item.Element("IOName").Value; isInverse = bool.Parse(item.Element("IsInverse").Value); } else { ioName = item.Value; } FAIOInfo ioInfo = Device.GetInputIOInfo(ioName); if (ioInfo == null) throw new Exception("Not Found IO(" + ioName + ") In IOList. Part Name is " + Name); var obj = new FAPartInputIOInfo(Device, ioName, ioInfo.Index, ioInfo.Description); obj.IsInverse = isInverse; this.InputIO.Add(obj); } }