/// <summary> /// Speichert die Daten: Bit, PortType, InName, OutName im DataSafe /// </summary> /// <param name="pos">Positionsindex, an dem die Werte gespeichert werden sollen.</param> /// <param name="ds">DataSafe zum Speichern</param> public virtual void Save(int pos, Data.DataSafe ds) { ds.Ints["Bit-" + pos] = this.Bit; ds.Ints["PortType-" + pos] = (int)this.PortType; ds.Strings["InName-" + pos] = this.InName; ds.Strings["OutName-" + pos] = this.OutName; }
public virtual void Save() { Data.DataSafe ds = new Data.DataSafe(Data.Paths.SettingsConfigurationPath, "HardwareController"); ds.Ints["AxisCount"] = AllAxes.Count; ds.Ints["IOCount"] = AllIOs.Count; ds.Ints["ToolCount"] = AllTools.Count - 1; for (int i = 0; i < AllAxes.Count; ++i) { ds.Strings["Axis-" + i] = AllAxes[i].ControlIdent; AllAxes[i].Save(); } for (int i = 0; i < AllIOs.Count; ++i) { ds.Strings["IO-" + i] = AllIOs[i].ControlIdent; AllIOs[i].Save(); } int index = 0; for (int i = 0; i < AllTools.Count; ++i) { if (AllTools[i] != NoTool) { ds.Strings["Tool-" + index] = AllTools[i].ControlIdent; AllTools[i].Save(); ++index; } } //Camera ds.Strings["CameraURL"] = CurrentCamera.Path; //Properties ds.Ints["TableOrigin-X"] = this.TableOrigin[0]; ds.Ints["TableOrigin-Y"] = this.TableOrigin[1]; ds.Ints["TableCenter-X"] = this.TableCenter[0]; ds.Ints["TableCenter-Y"] = this.TableCenter[1]; ds.Ints["LoadPosition-X"] = this.LoadPosition[0]; ds.Ints["LoadPosition-Y"] = this.LoadPosition[1]; ds.Ints["LoadPosition-Z"] = this.LoadPosition[2]; ds.Bools["IntelligentScribe"] = this.IntelligentScribe; ds.Bools["HomeWhileScribing"] = this.HomeWhileScribing; ds.Ints["HomeWhileScribingNumber"] = this.HomeWhileScribingNumber; ds.Ints["HomeWhileScribingAxesCount"] = this.HomeWhileScribingAxes.Count; for (int i = 0; i < this.HomeWhileScribingAxes.Count; ++i) { ds.Strings["HWSAxis-" + i] = this.HomeWhileScribingAxes[i]; } }
public virtual void Load() { Data.DataSafe ds = new Data.DataSafe(Data.Paths.SettingsConfigurationPath, ControlIdent + "-Tool.xml"); Name = ds.Strings["Name", ""]; Fokus = ds.Ints["Fokus", 0]; CameraOffset[0] = ds.Ints["CameraOffset-X", 0]; CameraOffset[1] = ds.Ints["CameraOffset-Y", 0]; MyToolType = (ToolType)ds.Ints["ToolType", 0]; }
public virtual void Save() { Data.DataSafe ds = new Data.DataSafe(Data.Paths.SettingsConfigurationPath, ControlIdent + "-Tool.xml"); ds.Strings["ControlIdent"] = ControlIdent; ds.Strings["Name"] = Name; ds.Ints["Fokus"] = Fokus; ds.Ints["CameraOffset-X"] = CameraOffset[0]; ds.Ints["CameraOffset-Y"] = CameraOffset[1]; ds.Ints["ToolType"] = (int)MyToolType; }
/// <summary> /// Speichert alle Konfigurationen für alle Ports für diesen IOController in die Konfigurationsdatei /// </summary> public virtual void Save() { Data.DataSafe ds = new Data.DataSafe(Data.Paths.SettingsConfigurationPath, ControlIdent + "-IO.xml"); ds.Strings["ControlIdent"] = ControlIdent; ds.Strings["Name"] = Name; ds.Ints["Count"] = AllIOPorts.Count; for (int i = 0; i < AllIOPorts.Count; ++i) { AllIOPorts[i].Save(i, ds); } }
/// <summary> /// Lädt einen IOPort mit Bit aus einem DataSafe /// </summary> /// <param name="bit">Positionsindex, aus dem die Werte geladen werden sollen.</param> /// <param name="ds">DataSafe aus dem geladen werden soll.</param> /// <returns></returns> public static IOPort Load(int pos, Data.DataSafe ds) { int b = ds.Ints["Bit-" + pos, -1]; if (b >= 0) { IOPort p = new IOPort(b, (IOPortType)ds.Ints["PortType-" + pos, 3]); p.InName = ds.Strings["InName-" + pos, ""]; p.OutName = ds.Strings["OutName-" + pos, ""]; return(p); } return(null); }
public static void Save() { DataSafe ds = new Data.DataSafe(Data.Paths.SettingsPath, "Functions"); ds.Ints["Categories"] = AllCategories.Count - 1; for (int i = 1; i < AllCategories.Count; ++i) { FunctionCategory category = AllCategories[i]; ds.Strings["Category-" + (i - 1)] = category.Title.ToUpper(); DataSafe catSafe = new DataSafe(Data.Paths.SettingsScriptFunctionsPath, "Category-" + category.Title); catSafe.Ints["Functions"] = category.Functions.Count; for (int f = 0; f < category.Functions.Count; ++f) { catSafe.Strings["Function-" + f] = category.Functions[f].ToUpper(); GetFunction(category.Functions[f]).Save(); } } }
/// <summary> /// Speichert alle Parameter dieser Achse /// </summary> public virtual void Save() { Data.DataSafe ds = new Data.DataSafe(Data.Paths.SettingsConfigurationPath, ControlIdent + "-Axis.xml"); ds.Strings["ControlIdent"] = this.ControlIdent; ds.Strings["Name"] = this.Name; ds.Ints["Min"] = this.Min; ds.Ints["Max"] = this.Max; ds.Ints["MinVelocity"] = this.MinVelocity; ds.Ints["MaxVelocity"] = this.MaxVelocity; ds.Ints["PositionSpeed"] = this.PositionSpeed; ds.Ints["RampRate"] = this.RampRate; ds.Ints["RampDistancePercent"] = this.RampDistancePercent; ds.Ints["MinAccelRampTimeMS"] = this.MinAccelRampTimeMS; ds.Ints["StaticRampDistance"] = this.StaticRampDistance; ds.Bools["UseStaticRampDistance"] = this.UseStaticRampDistance; }
/// <summary> /// Lädt alle Ports für diesen IOController aus der Konfigurationsdatei /// </summary> public virtual void Load() { Data.DataSafe ds = new Data.DataSafe(Data.Paths.SettingsConfigurationPath, ControlIdent + "-IO.xml"); if (!ds.containsKey("ControlIdent")) { throw new Exception("Incorect save file for an IO Controller!"); } this.Name = ds.Strings["Name", ""]; int count = ds.Ints["Count", 0]; this.AllIOPorts.Clear(); for (int i = 0; i < count; ++i) { IOPort p = IOPort.Load(i, ds); AllIOPorts.Add(p); } SortIOPorts(); }
/// <summary> /// Lädt eine Achse aus einer XML Datei /// </summary> public virtual void Load() { Data.DataSafe ds = new Data.DataSafe(Data.Paths.SettingsConfigurationPath, ControlIdent + "-Axis.xml"); /* if(!ds.containsKey("Name") || !ds.containsKey("ControlIdent")) * { * throw new Exception("Incorect save file for an Axis!"); * }*/ this.Name = ds.Strings["Name", "Axis"]; this.Min = ds.Ints["Min", 0]; this.Max = ds.Ints["Max", 0]; this.MinVelocity = ds.Ints["MinVelocity", 0]; this.MaxVelocity = ds.Ints["MaxVelocity", 0]; this.PositionSpeed = ds.Ints["PositionSpeed", 0]; this.RampRate = ds.Ints["RampRate", 0]; this.RampDistancePercent = ds.Ints["RampDistancePercent", 0]; this.MinAccelRampTimeMS = ds.Ints["MinAccelRampTimeMS", 0]; this.StaticRampDistance = ds.Ints["StaticRampDistance", 0]; this.UseStaticRampDistance = ds.Bools["UseStaticRampDistance", false]; }
public HardwareSelector(Data.DataSafe mwDataSafe) { InitializeComponent(); MWDS = mwDataSafe; }
/// <summary> /// Lädt eine Achse aus einer XML Datei /// </summary> public virtual void Load() { Data.DataSafe ds = new Data.DataSafe(Data.Paths.SettingsConfigurationPath, ControlIdent + "-Axis.xml"); /* if(!ds.containsKey("Name") || !ds.containsKey("ControlIdent")) { throw new Exception("Incorect save file for an Axis!"); }*/ this.Name = ds.Strings["Name", "Axis"]; this.Min = ds.Ints["Min", 0]; this.Max = ds.Ints["Max", 0]; this.MinVelocity = ds.Ints["MinVelocity", 0]; this.MaxVelocity = ds.Ints["MaxVelocity", 0]; this.PositionSpeed = ds.Ints["PositionSpeed", 0]; this.RampRate = ds.Ints["RampRate", 0]; this.RampDistancePercent = ds.Ints["RampDistancePercent", 0]; this.MinAccelRampTimeMS = ds.Ints["MinAccelRampTimeMS", 0]; this.StaticRampDistance = ds.Ints["StaticRampDistance", 0]; this.UseStaticRampDistance = ds.Bools["UseStaticRampDistance", false]; }
public static void Load() { if (!Loaded) { AllCategories.Clear(); AllFunctions.Clear(); FunctionCategory AllCat = new FunctionCategory("All Functions"); //AllCategories.Add(AllCat); //1) Lade alle Kategorien! DataSafe ds = new Data.DataSafe(Data.Paths.SettingsPath, "Functions"); int catCount = ds.Ints["Categories", 0]; for (int i = 0; i < catCount; ++i) { string name = ds.Strings["Category-" + i, ""]; /*if (string.IsNullOrEmpty(name) || string.IsNullOrWhiteSpace(name)) { throw new Exception("Error in Function Categories -> Functions.xml"); }*/ FunctionCategory category = new FunctionCategory(name ); DataSafe catSafe = new DataSafe(Data.Paths.SettingsScriptFunctionsPath, "Category-" + name); int funCount = catSafe.Ints["Functions", 0]; for (int f = 0; f < funCount; ++f) { string funName = catSafe.Strings["Function-" + f, ""]; AllCat.Functions.Add(funName); category.Functions.Add(funName); //Lade eine Funktion AllFunctions.Add( Function.Load(funName) ); } category.Sort(); AllCategories.Add(category); } //AllFunctions.Sort(); AllCat.Sort(); AllCategories.Sort(); AllCategories.Insert(0,AllCat); /* string code = "$RETURN = 1;if( $i > 1 ){ $RETURN = FAK($i - 1) * $i; }"; Function fak = new Function("FAK", code, typeof(int)); fak.AddParameterInt("I"); AllFunctions.Add(fak); */ Loaded = true; } else { Console.WriteLine("All Functions have been loaded before!"); } }
/// <summary> /// Lädt die Konfiguration des HardwareControllers, wenn dieser erstellt wird, aus der entsprechenden XML Datei /// </summary> protected virtual void InternalLoad() { Data.DataSafe ds = new Data.DataSafe(Data.Paths.SettingsConfigurationPath, "HardwareController"); int ac = ds.Ints["AxisCount", 0]; for (int i = 0; i < ac; ++i) { string a = ds.Strings["Axis-" + i, ""].ToUpper(); NewAxis(a); } int ic = ds.Ints["IOCount", 0]; for (int i = 0; i < ic; ++i) { string a = ds.Strings["IO-" + i, ""].ToUpper(); NewIOController(a); } this.AllIOs.Sort(delegate(IOController i1, IOController i2) { if (i1 == null || i2 == null) { return(0); } return(string.Compare(i1.ControlIdent, i2.ControlIdent)); }); int tc = ds.Ints["ToolCount", 0]; for (int i = 0; i < tc; ++i) { string a = ds.Strings["Tool-" + i, ""].ToUpper(); if (a != "" && a != "NO-TOOL") { NewTool(a); } } //Camera CurrentCamera = NewCamera(ds.Strings["CameraURL", "http://localhost:8080/CameraService"]); LaserControl.ScriptV2.GlobalObjects.Camera = CurrentCamera; //Properties this.TableOrigin[0] = ds.Ints["TableOrigin-X", 0]; this.TableOrigin[1] = ds.Ints["TableOrigin-Y", 0]; this.TableCenter[0] = ds.Ints["TableCenter-X", 0]; this.TableCenter[1] = ds.Ints["TableCenter-Y", 0]; this.LoadPosition[0] = ds.Ints["LoadPosition-X", 0]; this.LoadPosition[1] = ds.Ints["LoadPosition-Y", 0]; this.LoadPosition[2] = ds.Ints["LoadPosition-Z", 0]; this.IntelligentScribe = ds.Bools["IntelligentScribe", false]; this.HomeWhileScribing = ds.Bools["HomeWhileScribing", false]; this.HomeWhileScribingNumber = ds.Ints["HomeWhileScribingNumber", 0]; int hwsac = ds.Ints["HomeWhileScribingAxesCount", 0]; this.HomeWhileScribingAxes.Clear(); for (int i = 0; i < hwsac; ++i) { this.HomeWhileScribingAxes.Add(ds.Strings["HWSAxis-" + i, ""]); } }
public virtual void Save() { Data.DataSafe ds = new Data.DataSafe(Data.Paths.SettingsConfigurationPath, "HardwareController"); ds.Ints["AxisCount"] = AllAxes.Count; ds.Ints["IOCount"] = AllIOs.Count; ds.Ints["ToolCount"] = AllTools.Count-1; for (int i = 0; i < AllAxes.Count; ++i) { ds.Strings["Axis-"+i] = AllAxes[i].ControlIdent; AllAxes[i].Save(); } for (int i = 0; i < AllIOs.Count; ++i) { ds.Strings["IO-"+i] = AllIOs[i].ControlIdent; AllIOs[i].Save(); } int index = 0; for (int i = 0; i < AllTools.Count; ++i) { if (AllTools[i] != NoTool) { ds.Strings["Tool-" + index] = AllTools[i].ControlIdent; AllTools[i].Save(); ++index; } } //Camera ds.Strings["CameraURL"] = CurrentCamera.Path; //Properties ds.Ints["TableOrigin-X"] = this.TableOrigin[0]; ds.Ints["TableOrigin-Y"] = this.TableOrigin[1]; ds.Ints["TableCenter-X"] = this.TableCenter[0]; ds.Ints["TableCenter-Y"] = this.TableCenter[1]; ds.Ints["LoadPosition-X"] = this.LoadPosition[0]; ds.Ints["LoadPosition-Y"] = this.LoadPosition[1]; ds.Ints["LoadPosition-Z"] = this.LoadPosition[2]; ds.Bools["IntelligentScribe"] = this.IntelligentScribe; ds.Bools["HomeWhileScribing"] = this.HomeWhileScribing; ds.Ints["HomeWhileScribingNumber"] = this.HomeWhileScribingNumber; ds.Ints["HomeWhileScribingAxesCount"] = this.HomeWhileScribingAxes.Count; for (int i = 0; i < this.HomeWhileScribingAxes.Count; ++i) { ds.Strings["HWSAxis-" + i] = this.HomeWhileScribingAxes[i]; } }
public static void Load() { if (!Loaded) { AllCategories.Clear(); AllFunctions.Clear(); FunctionCategory AllCat = new FunctionCategory("All Functions"); //AllCategories.Add(AllCat); //1) Lade alle Kategorien! DataSafe ds = new Data.DataSafe(Data.Paths.SettingsPath, "Functions"); int catCount = ds.Ints["Categories", 0]; for (int i = 0; i < catCount; ++i) { string name = ds.Strings["Category-" + i, ""]; /*if (string.IsNullOrEmpty(name) || string.IsNullOrWhiteSpace(name)) * { * throw new Exception("Error in Function Categories -> Functions.xml"); * }*/ FunctionCategory category = new FunctionCategory(name); DataSafe catSafe = new DataSafe(Data.Paths.SettingsScriptFunctionsPath, "Category-" + name); int funCount = catSafe.Ints["Functions", 0]; for (int f = 0; f < funCount; ++f) { string funName = catSafe.Strings["Function-" + f, ""]; AllCat.Functions.Add(funName); category.Functions.Add(funName); //Lade eine Funktion AllFunctions.Add(Function.Load(funName)); } category.Sort(); AllCategories.Add(category); } //AllFunctions.Sort(); AllCat.Sort(); AllCategories.Sort(); AllCategories.Insert(0, AllCat); /* * string code = "$RETURN = 1;if( $i > 1 ){ $RETURN = FAK($i - 1) * $i; }"; * Function fak = new Function("FAK", code, typeof(int)); * fak.AddParameterInt("I"); * AllFunctions.Add(fak); */ Loaded = true; } else { Console.WriteLine("All Functions have been loaded before!"); } }
public static void Save() { DataSafe ds = new Data.DataSafe(Data.Paths.SettingsPath, "Functions"); ds.Ints["Categories"] = AllCategories.Count-1; for (int i = 1; i < AllCategories.Count; ++i) { FunctionCategory category = AllCategories[i]; ds.Strings["Category-" + (i-1)] = category.Title.ToUpper(); DataSafe catSafe = new DataSafe(Data.Paths.SettingsScriptFunctionsPath, "Category-" + category.Title); catSafe.Ints["Functions"] = category.Functions.Count; for (int f = 0; f < category.Functions.Count; ++f) { catSafe.Strings["Function-" + f] = category.Functions[f].ToUpper(); GetFunction(category.Functions[f]).Save(); } } }
/// <summary> /// Lädt die Konfiguration des HardwareControllers, wenn dieser erstellt wird, aus der entsprechenden XML Datei /// </summary> protected virtual void InternalLoad() { Data.DataSafe ds = new Data.DataSafe(Data.Paths.SettingsConfigurationPath, "HardwareController"); int ac = ds.Ints["AxisCount",0]; for (int i = 0; i < ac; ++i) { string a = ds.Strings["Axis-" + i, ""].ToUpper(); NewAxis(a); } int ic = ds.Ints["IOCount", 0]; for (int i = 0; i < ic; ++i) { string a = ds.Strings["IO-" + i, ""].ToUpper(); NewIOController(a); } this.AllIOs.Sort(delegate(IOController i1, IOController i2) { if (i1 == null || i2 == null) return 0; return string.Compare(i1.ControlIdent, i2.ControlIdent); }); int tc = ds.Ints["ToolCount", 0]; for (int i = 0; i < tc; ++i) { string a = ds.Strings["Tool-" + i, ""].ToUpper(); if(a != "" && a != "NO-TOOL"){ NewTool(a); } } //Camera CurrentCamera = NewCamera(ds.Strings["CameraURL", "http://localhost:8080/CameraService"]); LaserControl.ScriptV2.GlobalObjects.Camera = CurrentCamera; //Properties this.TableOrigin[0] = ds.Ints["TableOrigin-X",0]; this.TableOrigin[1] = ds.Ints["TableOrigin-Y", 0]; this.TableCenter[0] = ds.Ints["TableCenter-X", 0]; this.TableCenter[1] = ds.Ints["TableCenter-Y", 0]; this.LoadPosition[0] = ds.Ints["LoadPosition-X", 0]; this.LoadPosition[1] = ds.Ints["LoadPosition-Y", 0]; this.LoadPosition[2] = ds.Ints["LoadPosition-Z", 0]; this.IntelligentScribe = ds.Bools["IntelligentScribe", false]; this.HomeWhileScribing = ds.Bools["HomeWhileScribing", false]; this.HomeWhileScribingNumber = ds.Ints["HomeWhileScribingNumber",0]; int hwsac = ds.Ints["HomeWhileScribingAxesCount", 0]; this.HomeWhileScribingAxes.Clear(); for (int i = 0; i < hwsac; ++i) { this.HomeWhileScribingAxes.Add(ds.Strings["HWSAxis-"+i, ""]); } }