public ProcessValidateProcessListFile() { base.SetName("ValidateProcessListFile"); base.SetTitle("验证地理空间列表文件格式"); base.Abstract = "验证地理空间列表文件格式"; ParaItem[] inputs = new ParaItem[4]; ParaItem item = new ParaItem("ProcessListFile", "String", "地理空间处理列表文件", false, ""); inputs[0] = item; item = new ParaItem("ProcessDescriptionsValidateFile", "String", "地理空间处理列表验证文件", false, ""); inputs[1] = item; item = new ParaItem("GroupValidateFile", "String", "地理空间处理分组验证文件", false, ""); inputs[2] = item; item = new ParaItem("ProcessDescriptionValidateFile", "String", "地理空间处理验证文件", false, ""); inputs[3] = item; base.SetInputParameters(inputs); ParaItem[] outputs = new ParaItem[2]; item = new ParaItem("ProcessListFile", "String"); item.Title = "地理空间处理列表文件"; outputs[0] = item; item = new ParaItem("ValidationInfo", "String"); item.Title = "验证结果"; outputs[1] = item; base.SetOutputParameters(outputs); }
public ProcessValidateModelFileWithProcessList() { base.SetName("ValidateModelFileWithProcessList"); base.SetTitle("使用地理空间列表验证模型文件格式"); base.Abstract = "验证模型文件格式,察看模型中的地理空间处理是否在地理空间列表中,是否有效"; ParaItem[] inputs = new ParaItem[2]; ParaItem item = new ParaItem("ModelFile", "String", "模型文件", false, ""); inputs[0] = item; item = new ParaItem("ProcessListFile", "String", "地理空间处理列表文件", false, ""); inputs[1] = item; base.SetInputParameters(inputs); ParaItem[] outputs = new ParaItem[3]; item = new ParaItem("ModelFile", "String"); item.Title = "模型文件"; outputs[0] = item; item = new ParaItem("ProcessListFile", "String"); item.Title = "地理空间处理列表文件"; outputs[1] = item; item = new ParaItem("ValidationInfo", "String"); item.Title = "验证结果"; outputs[2] = item; base.SetOutputParameters(outputs); }
public ProcessRunModel() { base.SetName("RunModel"); base.SetTitle("运行模型"); base.Abstract = "解析模型文件,设置参数,运行模型"; ParaItem[] inputs = new ParaItem[2]; ParaItem item = new ParaItem("ModelFile", "String", "模型文件", false, ""); inputs[0] = item; item = new ParaItem("ParaSet", "ParameterSet", "参数", false, ""); inputs[1] = item; base.SetInputParameters(inputs); }
public ProcessSettingModelParameter() { base.SetName("SettingModelParameter"); base.SetTitle("输入模型参数"); base.Abstract = "弹出参数设置对话框,由用户输入参数"; ParaItem[] inputs = new ParaItem[1]; ParaItem item = new ParaItem("Paras", "ParaItem[]", "参数", false, ""); inputs[0] = item; base.SetInputParameters(inputs); ParaItem[] outputs = new ParaItem[1]; item = new ParaItem("ParaSet", "ParameterSet"); item.Title = "参数"; outputs[0] = item; base.SetOutputParameters(outputs); }
public ProcessExtractModelParameter() { base.SetName("ExtractModelParameter"); base.SetTitle("提取模型参数"); base.Abstract = "遍历模型文件,从中提取没有进行设置值的参数,做为模型参数"; ParaItem[] inputs = new ParaItem[1]; ParaItem item = new ParaItem("ModelFile", "String", "模型文件", false, ""); inputs[0] = item; base.SetInputParameters(inputs); ParaItem[] outputs = new ParaItem[2]; item = new ParaItem("ModelFile", "String"); item.Title = "模型文件"; outputs[0] = item; item = new ParaItem("ModelParameter", "ParaItem[]"); item.Title = "模型参数"; outputs[1] = item; base.SetOutputParameters(outputs); }
public ProcessValidateModelFile() { base.SetName("ValidateModelFile"); base.SetTitle("验证模型文件格式"); base.Abstract = "验证模型文件格式,可以输入多个文件进行验证"; ParaItem[] inputs = new ParaItem[2]; ParaItem item = new ParaItem("FileArray", "String[]", "模型文件", false, ""); inputs[0] = item; item = new ParaItem("ValidateFile", "String","模型文件",false,""); inputs[1] = item; base.SetInputParameters(inputs); ParaItem[] outputs = new ParaItem[2]; item = new ParaItem("FileArray", "String[]"); item.Title = "模型文件"; outputs[0] = item; item = new ParaItem("ValidationInfo", "String"); item.Title = "验证结果"; outputs[1] = item; base.SetOutputParameters(outputs); }
public ProcessValidateModelFile() { base.SetName("ValidateModelFile"); base.SetTitle("验证模型文件格式"); base.Abstract = "验证模型文件格式,可以输入多个文件进行验证"; ParaItem[] inputs = new ParaItem[2]; ParaItem item = new ParaItem("FileArray", "String[]", "模型文件", false, ""); inputs[0] = item; item = new ParaItem("ValidateFile", "String", "模型文件", false, ""); inputs[1] = item; base.SetInputParameters(inputs); ParaItem[] outputs = new ParaItem[2]; item = new ParaItem("FileArray", "String[]"); item.Title = "模型文件"; outputs[0] = item; item = new ParaItem("ValidationInfo", "String"); item.Title = "验证结果"; outputs[1] = item; base.SetOutputParameters(outputs); }
protected override Boolean Run(XmlElement state) { try { if (!this.IsReady()) { return(false); } PopInputValue(); String strModelFile = this.GetInputValue("ModelFile") as String; if (!System.IO.File.Exists(strModelFile)) { return(false); } IProcessListParser processList = InstanceManager.Instance.ProcessListParser; if (null == processList) { return(false); } XmlDocument doc = new XmlDocument(); doc.Load(strModelFile); XmlElement root = doc.DocumentElement; ParaItem para = null; XmlAttribute attri = null; ProcessDefineDescription pdd = null; ParaItem[] inputs = null; ParaItem pid = null; foreach (XmlNode node in root.GetElementsByTagName("operation")) { pdd = processList.GetProcess(node.Attributes["name"].Value); if (null == pdd) { continue; } inputs = pdd.Inputs; foreach (XmlNode item in node.SelectSingleNode("inputs").ChildNodes) { if (String.IsNullOrEmpty(item.Attributes["variable"].Value)) { para = new ParaItem(node.Attributes["name"].Value + "." + node.Attributes["id"].Value + "." + item.Attributes["name"].Value, item.Attributes["type"].Value); pid = FindPara(inputs, item.Attributes["name"].Value); if (null != pid) { para.Abstract = pid.Abstract; para.UIType = pid.UIType; para.Option = pid.Option; para.Title = pid.Title; } attri = item.Attributes["title"]; if (null != attri) { para.Title = attri.Value; } _parameters.Add(para); } } } PushOutputValue(); return(true); } catch (Exception ex) { IRunningLogger logger = InstanceManager.Instance.Context.GetVariable("RunningLogger") as IRunningLogger; if (null != logger) { logger.Error("sample.ProcessValidateModelFile", ex.Message); } } finally { } return(false); }
private ParaItem FindPara(ParaItem[] items, String name) { if (null == items || String.IsNullOrEmpty(name)) { return null; } else { foreach (ParaItem item in items) { if (String.Compare(item.Name, name, true) == 0) { return item; } } } return null; }
protected override Boolean Run(XmlElement state) { try { if (!this.IsReady()) { return false; } PopInputValue(); String strModelFile = this.GetInputValue("ModelFile") as String; if (!System.IO.File.Exists(strModelFile)) { return false; } IProcessListParser processList = InstanceManager.Instance.ProcessListParser; if (null == processList) { return false; } XmlDocument doc = new XmlDocument(); doc.Load(strModelFile); XmlElement root = doc.DocumentElement; ParaItem para = null; XmlAttribute attri = null; ProcessDefineDescription pdd = null; ParaItem[] inputs = null; ParaItem pid = null; foreach (XmlNode node in root.GetElementsByTagName("operation")) { pdd = processList.GetProcess(node.Attributes["name"].Value); if (null == pdd) { continue; } inputs = pdd.Inputs; foreach (XmlNode item in node.SelectSingleNode("inputs").ChildNodes) { if (String.IsNullOrEmpty(item.Attributes["variable"].Value)) { para = new ParaItem(node.Attributes["name"].Value + "." + node.Attributes["id"].Value + "." + item.Attributes["name"].Value, item.Attributes["type"].Value); pid = FindPara(inputs, item.Attributes["name"].Value); if (null != pid) { para.Abstract = pid.Abstract; para.UIType = pid.UIType; para.Option = pid.Option; para.Title = pid.Title; } attri = item.Attributes["title"]; if (null != attri) { para.Title = attri.Value; } _parameters.Add(para); } } } PushOutputValue(); return true; } catch (Exception ex) { IRunningLogger logger = InstanceManager.Instance.Context.GetVariable("RunningLogger") as IRunningLogger; if (null != logger) { logger.Error("sample.ProcessValidateModelFile", ex.Message); } } finally { } return false; }
protected override Boolean Run(XmlElement state) { XmlReader xmlRead = null; try { if (!this.IsReady()) { return(false); } PopInputValue(); String strModelFile = this.GetInputValue("ModelFile") as String; if (!System.IO.File.Exists(strModelFile)) { return(false); } String strProcessListFile = this.GetInputValue("ProcessListFile") as String; if (!System.IO.File.Exists(strProcessListFile)) { return(false); } IProcessListParser processListParser = InstanceManager.Instance.ProcessListParser; if (null == processListParser) { return(false); } XmlDocument doc = new XmlDocument(); doc.Load(strModelFile); XmlElement rootModelFile = doc.DocumentElement; doc.Load(strProcessListFile); XmlElement rootProcessListFile = doc.DocumentElement; ProcessDefineDescription pdd = null; String strProcessName = String.Empty; String strParaName = String.Empty; ParaItem para = null; String strParaType = String.Empty; foreach (XmlNode node in rootModelFile.GetElementsByTagName("operation")) { strProcessName = node.Attributes["name"].Value; pdd = processListParser.GetProcess(strProcessName); if (null == pdd) { _strValidationInfo += strProcessName + "不存在;"; continue; } ParaItem[] inputs = pdd.Inputs; foreach (XmlNode nodeInput in node.SelectSingleNode("inputs").SelectNodes("input")) { strParaName = nodeInput.Attributes["name"].Value; para = FindPara(inputs, strParaName); if (null == para) { _strValidationInfo += strProcessName + "的参数\"" + strParaName + "\"不正确;"; } strParaType = nodeInput.Attributes["type"].Value; if (String.Compare(strParaType, para.DataType, true) != 0) { _strValidationInfo += strProcessName + "的参数\"" + strParaName + "\"的类型不正确;"; } } } PushOutputValue(); return(true); } catch (Exception ex) { IRunningLogger logger = InstanceManager.Instance.Context.GetVariable("RunningLogger") as IRunningLogger; if (null != logger) { logger.Error("sample.ProcessValidateModelFile", ex.Message); } } finally { if (null != xmlRead) { xmlRead.Close(); } } return(false); }
private static void CreateIniParaFile() { #region create config file //DIO DIOItem a1 = new DIOItem(); a1.DI = new DINum[1]; a1.DI[0] = new DINum(); a1.DI[0].No = 10001; a1.DI[0].Name = "1#吸嘴真空已开"; a1.DO = new DONum[1]; a1.DO[0] = new DONum(); a1.DO[0].No = 10002; a1.DO[0].Name = "1#吸嘴开真空"; XmlSerialization.SerializeObjectToFile(a1, lstDIOFile[0]); //Para ParaItem a2 = new ParaItem(); a2.ParaSet = new Para[2]; a2.ParaSet[0] = new Para(); a2.ParaSet[0].Name = "PickOffset"; a2.ParaSet[0].Desc = "1#吸嘴取料偏差"; a2.ParaSet[0].Option = false; a2.ParaSet[0].Select = ""; a2.ParaSet[0].Value = "0.5"; a2.ParaSet[0].MinValue = "-0.5"; a2.ParaSet[0].MaxValue = "0.5"; a2.ParaSet[1].Name = "VisionName"; a2.ParaSet[1].Desc = "顶部相机图像场景"; a2.ParaSet[1].Option = true; a2.ParaSet[1].Select = "Prd1,Prd2,Prd3"; a2.ParaSet[1].Value = "Prd1"; a2.ParaSet[1].MinValue = ""; a2.ParaSet[1].MaxValue = ""; XmlSerialization.SerializeObjectToFile(a2, lstParaFile[0]); //ErrMsg ErrMsgItem a3 = new ErrMsgItem(); a3.ErrCode = new ErrMsg[1]; a3.ErrCode[0] = new ErrMsg(); a3.ErrCode[0].Code = 2000; a3.ErrCode[0].Msg = "1#吸嘴真空检测超时"; XmlSerialization.SerializeObjectToFile(a3, lstErrMsgFile[0]); //Point PointItem a4 = new PointItem(); a4.Location = new Point[1]; a4.Location[0] = new Point(); a4.Location[0].Name = "SafePoint"; a4.Location[0].X = 1; a4.Location[0].Y = 2; a4.Location[0].Z = 2; a4.Location[0].Yaw = 2; a4.Location[0].Pitch = 2; a4.Location[0].Roll = 2; a4.Location[0].Config = 2; XmlSerialization.SerializeObjectToFile(a4, lstPointFile[0]); //Profile ProfileItem a5 = new ProfileItem(); a5.MoveProfile = new Profile[1]; a5.MoveProfile[0] = new Profile(); a5.MoveProfile[0].Name = "QuickProfile"; a5.MoveProfile[0].Acc = 1; a5.MoveProfile[0].AccR = 2; a5.MoveProfile[0].Dec = 2; a5.MoveProfile[0].DecR = 2; a5.MoveProfile[0].Speed = 2; a5.MoveProfile[0].Speed2 = 2; a5.MoveProfile[0].InRange = 2; a5.MoveProfile[0].Straight = false; XmlSerialization.SerializeObjectToFile(a5, lstProfileFile[0]); //PLC RegItem a6 = new RegItem(); a6.PLCReg = new RegNum[1]; a6.PLCReg[0] = new RegNum(); a6.PLCReg[0].No = "M1"; a6.PLCReg[0].Name = "PLC 可以取料"; XmlSerialization.SerializeObjectToFile(a6, lstPlcRegFile[0]); #endregion }