using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Security.Permissions; using System.Text; using System.Threading.Tasks; namespace Rs.Framework { public class GlobalVar { private GlobalVar() { } private static GlobalVar instance; public static GlobalVar Instance { get { if(instance == null) instance = new GlobalVar(); return instance; } set { instance = value; } } public bool Save() { try { string dirPath = Path.Combine(Environment.CurrentDirectory, "SysConfig"); if (!Directory.Exists(dirPath)) { Directory.CreateDirectory(dirPath); } XmlSerializerHelper.Instance.Serialize(Path.Combine(dirPath, "default.xml"), this); return true; } catch (Exception ex) { return false; } } public bool Load() { string dirPath = Path.Combine(Environment.CurrentDirectory, "SysConfig"); if (!Directory.Exists(dirPath)) { Directory.CreateDirectory(dirPath); } if(File.Exists(Path.Combine(dirPath,"default.xml"))) { XmlSerializerHelper.Instance.Deserialize(Path.Combine(dirPath, "default.xml"), out GlobalVar entity); GlobalVar.instance = entity; } else { Save(); } return true; } /// /// 当前配方 /// public string CurRecipe { get; set; } = "test"; public string RecipeDir { get { return Path.Combine(Environment.CurrentDirectory, "Recipe", CurRecipe); } } public string SysConfig { get { return Path.Combine(Environment.CurrentDirectory, "SysConfig"); } } /// /// 上相机像素当量 /// public double UpCameraMmPerPixel { get { return 0.0133; } } /// /// 下相机像素当量 /// public double DownCameraMmPerPixel { get { return 0.0224; } } private double _Nozzle1Center2CameraCenterDistX= 60.487; /// /// 吸嘴1到相机中心偏距离X /// public double Nozzle1Center2CameraCenterDistX { get { return _Nozzle1Center2CameraCenterDistX; } set { _Nozzle1Center2CameraCenterDistX = value; } } private double _Nozzle1Center2CameraCenterDistY = 0; /// /// 吸嘴1到相机中心偏距离Y /// public double Nozzle1Center2CameraCenterDistY { get { return _Nozzle1Center2CameraCenterDistY; } set { _Nozzle1Center2CameraCenterDistY = value; } } private double _Nozzle2Center2Nozzle1CenterDistX = 20; /// /// 吸嘴2到吸嘴1的中心距X /// public double Nozzle2Center2Nozzle1CenterDistX { get { return _Nozzle2Center2Nozzle1CenterDistX; } set { _Nozzle2Center2Nozzle1CenterDistX = value; } } private double _Nozzle2Center2Nozzle1CenterDistY = 0; /// /// 吸嘴2到吸嘴1的中心距Y /// public double Nozzle2Center2Nozzle1CenterDistY { get { return _Nozzle2Center2Nozzle1CenterDistY; } set { _Nozzle2Center2Nozzle1CenterDistY = value; } } #region 吸嘴3中心到吸嘴1中心距 private double _Nozzle3Center2Nozzle1CenterDistX = 20; /// /// 吸嘴3到吸嘴1的中心距X /// public double Nozzle3Center2Nozzle1CenterDistX { get { return _Nozzle3Center2Nozzle1CenterDistX; } set { _Nozzle3Center2Nozzle1CenterDistX = value; } } private double _Nozzle3Center2Nozzle1CenterDistY = 0; /// /// 吸嘴3到吸嘴1的中心距Y /// public double Nozzle3Center2Nozzle1CenterDistY { get { return _Nozzle3Center2Nozzle1CenterDistY; } set { _Nozzle3Center2Nozzle1CenterDistY = value; } } #endregion #region 吸嘴4中心到吸嘴1中心距 private double _Nozzle4Center2Nozzle1CenterDistX = 20; /// /// 吸嘴4到吸嘴1的中心距X /// public double Nozzle4Center2Nozzle1CenterDistX { get { return _Nozzle4Center2Nozzle1CenterDistX; } set { _Nozzle4Center2Nozzle1CenterDistX = value; } } private double _Nozzle4Center2Nozzle1CenterDistY = 0; /// /// 吸嘴4到吸嘴1的中心距Y /// public double Nozzle4Center2Nozzle1CenterDistY { get { return _Nozzle4Center2Nozzle1CenterDistY; } set { _Nozzle4Center2Nozzle1CenterDistY = value; } } #endregion #region 吸嘴5中心到吸嘴1中心距 private double _Nozzle5Center2Nozzle1CenterDistX = 20; /// /// 吸嘴5到吸嘴1的中心距X /// public double Nozzle5Center2Nozzle1CenterDistX { get { return _Nozzle5Center2Nozzle1CenterDistX; } set { _Nozzle5Center2Nozzle1CenterDistX = value; } } private double _Nozzle5Center2Nozzle1CenterDistY = 0; /// /// 吸嘴5到吸嘴1的中心距Y /// public double Nozzle5Center2Nozzle1CenterDistY { get { return _Nozzle5Center2Nozzle1CenterDistY; } set { _Nozzle5Center2Nozzle1CenterDistY = value; } } #endregion #region 吸嘴6中心到吸嘴1中心距 private double _Nozzle6Center2Nozzle1CenterDistX = 20; /// /// 吸嘴6到吸嘴1的中心距X /// public double Nozzle6Center2Nozzle1CenterDistX { get { return _Nozzle6Center2Nozzle1CenterDistX; } set { _Nozzle6Center2Nozzle1CenterDistX = value; } } private double _Nozzle6Center2Nozzle1CenterDistY = 0; /// /// 吸嘴6到吸嘴1的中心距Y /// public double Nozzle6Center2Nozzle1CenterDistY { get { return _Nozzle6Center2Nozzle1CenterDistY; } set { _Nozzle6Center2Nozzle1CenterDistY = value; } } #endregion #region 吸嘴7中心到吸嘴1中心距 private double _Nozzle7Center2Nozzle1CenterDistX = 20; /// /// 吸嘴7到吸嘴1的中心距X /// public double Nozzle7Center2Nozzle1CenterDistX { get { return _Nozzle7Center2Nozzle1CenterDistX; } set { _Nozzle7Center2Nozzle1CenterDistX = value; } } private double _Nozzle7Center2Nozzle1CenterDistY = 0; /// /// 吸嘴7到吸嘴1的中心距Y /// public double Nozzle7Center2Nozzle1CenterDistY { get { return _Nozzle7Center2Nozzle1CenterDistY; } set { _Nozzle7Center2Nozzle1CenterDistY = value; } } #endregion #region 吸嘴8中心到吸嘴1中心距 private double _Nozzle8Center2Nozzle1CenterDistX = 20; /// /// 吸嘴8到吸嘴1的中心距X /// public double Nozzle8Center2Nozzle1CenterDistX { get { return _Nozzle8Center2Nozzle1CenterDistX; } set { _Nozzle8Center2Nozzle1CenterDistX = value; } } private double _Nozzle8Center2Nozzle1CenterDistY = 0; /// /// 吸嘴8到吸嘴1的中心距Y /// public double Nozzle8Center2Nozzle1CenterDistY { get { return _Nozzle8Center2Nozzle1CenterDistY; } set { _Nozzle8Center2Nozzle1CenterDistY = value; } } #endregion private double _Nozzle1CameraPosX; /// /// 吸嘴1拍照位X /// public double Nozzle1CameraPosX { get { return _Nozzle1CameraPosX; } set { _Nozzle1CameraPosX = value; } } private double _Nozzle1CameraPosY; /// /// 吸嘴1拍照位Y /// public double Nozzle1CameraPosY { get { return _Nozzle1CameraPosY; } set { _Nozzle1CameraPosY = value; } } private double _Nozzle1CameraPosZ; /// /// 吸嘴1拍照位Z /// public double Nozzle1CameraPosZ { get { return _Nozzle1CameraPosZ; } set { _Nozzle1CameraPosZ = value; } } private double _Nozzle2CameraPosX; /// /// 吸嘴2拍照位X /// public double Nozzle2CameraPosX { get { return _Nozzle2CameraPosX; } set { _Nozzle2CameraPosX = value; } } private double _Nozzle2CameraPosY; /// /// 吸嘴2拍照位Y /// public double Nozzle2CameraPosY { get { return _Nozzle2CameraPosY; } set { _Nozzle2CameraPosY = value; } } private double _Nozzle2CameraPosZ; /// /// 吸嘴2拍照位Z /// public double Nozzle2CameraPosZ { get { return _Nozzle2CameraPosZ; } set { _Nozzle2CameraPosZ = value; } } #region 吸嘴3拍照位置 private double _Nozzle3CameraPosX; /// /// 吸嘴2拍照位X /// public double Nozzle3CameraPosX { get { return _Nozzle3CameraPosX; } set { _Nozzle3CameraPosX = value; } } private double _Nozzle3CameraPosY; /// /// 吸嘴2拍照位Y /// public double Nozzle3CameraPosY { get { return _Nozzle3CameraPosY; } set { _Nozzle3CameraPosY = value; } } private double _Nozzle3CameraPosZ; /// /// 吸嘴2拍照位Z /// public double Nozzle3CameraPosZ { get { return _Nozzle3CameraPosZ; } set { _Nozzle3CameraPosZ = value; } } #endregion #region 吸嘴4拍照位置 private double _Nozzle4CameraPosX; /// /// 吸嘴2拍照位X /// public double Nozzle4CameraPosX { get { return _Nozzle4CameraPosX; } set { _Nozzle4CameraPosX = value; } } private double _Nozzle4CameraPosY; /// /// 吸嘴2拍照位Y /// public double Nozzle4CameraPosY { get { return _Nozzle4CameraPosY; } set { _Nozzle4CameraPosY = value; } } private double _Nozzle4CameraPosZ; /// /// 吸嘴2拍照位Z /// public double Nozzle4CameraPosZ { get { return _Nozzle4CameraPosZ; } set { _Nozzle4CameraPosZ = value; } } #endregion #region 吸嘴5拍照位置 private double _Nozzle5CameraPosX; /// /// 吸嘴2拍照位X /// public double Nozzle5CameraPosX { get { return _Nozzle5CameraPosX; } set { _Nozzle5CameraPosX = value; } } private double _Nozzle5CameraPosY; /// /// 吸嘴2拍照位Y /// public double Nozzle5CameraPosY { get { return _Nozzle5CameraPosY; } set { _Nozzle5CameraPosY = value; } } private double _Nozzle5CameraPosZ; /// /// 吸嘴2拍照位Z /// public double Nozzle5CameraPosZ { get { return _Nozzle5CameraPosZ; } set { _Nozzle5CameraPosZ = value; } } #endregion #region 吸嘴6拍照位置 private double _Nozzle6CameraPosX; /// /// 吸嘴2拍照位X /// public double Nozzle6CameraPosX { get { return _Nozzle6CameraPosX; } set { _Nozzle6CameraPosX = value; } } private double _Nozzle6CameraPosY; /// /// 吸嘴2拍照位Y /// public double Nozzle6CameraPosY { get { return _Nozzle6CameraPosY; } set { _Nozzle6CameraPosY = value; } } private double _Nozzle6CameraPosZ; /// /// 吸嘴2拍照位Z /// public double Nozzle6CameraPosZ { get { return _Nozzle6CameraPosZ; } set { _Nozzle6CameraPosZ = value; } } #endregion #region 吸嘴7拍照位置 private double _Nozzle7CameraPosX; /// /// 吸嘴2拍照位X /// public double Nozzle7CameraPosX { get { return _Nozzle7CameraPosX; } set { _Nozzle7CameraPosX = value; } } private double _Nozzle7CameraPosY; /// /// 吸嘴2拍照位Y /// public double Nozzle7CameraPosY { get { return _Nozzle7CameraPosY; } set { _Nozzle7CameraPosY = value; } } private double _Nozzle7CameraPosZ; /// /// 吸嘴2拍照位Z /// public double Nozzle7CameraPosZ { get { return _Nozzle7CameraPosZ; } set { _Nozzle7CameraPosZ = value; } } #endregion #region 吸嘴8拍照位置 private double _Nozzle8CameraPosX; /// /// 吸嘴2拍照位X /// public double Nozzle8CameraPosX { get { return _Nozzle8CameraPosX; } set { _Nozzle8CameraPosX = value; } } private double _Nozzle8CameraPosY; /// /// 吸嘴2拍照位Y /// public double Nozzle8CameraPosY { get { return _Nozzle8CameraPosY; } set { _Nozzle8CameraPosY = value; } } private double _Nozzle8CameraPosZ; /// /// 吸嘴2拍照位Z /// public double Nozzle8CameraPosZ { get { return _Nozzle8CameraPosZ; } set { _Nozzle8CameraPosZ = value; } } #endregion #region 吸嘴9拍照位置 private double _Nozzle9CameraPosX; /// /// 吸嘴2拍照位X /// public double Nozzle9CameraPosX { get { return _Nozzle5CameraPosX; } set { _Nozzle5CameraPosX = value; } } private double _Nozzle9CameraPosY; /// /// 吸嘴2拍照位Y /// public double Nozzle9CameraPosY { get { return _Nozzle9CameraPosY; } set { _Nozzle9CameraPosY = value; } } private double _Nozzle9CameraPosZ; /// /// 吸嘴2拍照位Z /// public double Nozzle9CameraPosZ { get { return _Nozzle9CameraPosZ; } set { _Nozzle9CameraPosZ = value; } } #endregion private int _WholeSpeed = 5; /// /// 整体速度 /// public int WholeSpeed { get { return _WholeSpeed; } set { _WholeSpeed = value; } } private int _FlyCameraSpeed = 5; /// /// 飞拍速度 /// public int FlyCameraSpeed { get { return _FlyCameraSpeed; } set { _FlyCameraSpeed = value; } } private string _UpCameraName = "upCamera"; /// /// 上相机名称 /// public string UpCameraName { get { return _UpCameraName; } set { _UpCameraName = value; } } private string _DownCameraName = "downCamera"; /// /// 下相机名称 /// public string DownCameraName { get { return _DownCameraName; } set { _DownCameraName = value; } } private double _InkPadPosX; public double InkPadPosX { get { return _InkPadPosX; } set { _InkPadPosX = value; } } private double _InkPadPosY; public double InkPadPosY { get { return _InkPadPosY; } set { _InkPadPosY = value; } } private double _Camera2InkPadPosX; /// /// 相机中心拍印泥中心的位置X /// public double Camera2InkPadPosX { get { return _Camera2InkPadPosX; } set { _Camera2InkPadPosX = value; } } private double _Camera2InkPadPosY; /// /// 相机中心拍印泥中心的位置Y /// public double Camera2InkPadPosY { get { return _Camera2InkPadPosY; } set { _Camera2InkPadPosY = value; } } private double _TestzTestLocationFetchY; /// /// 测试Z测试位取料Y /// public double TestzTestLocationFetchY { get { return _TestzTestLocationFetchY; } set { _TestzTestLocationFetchY = value; } } private double _TestzTestLocationFetchZ; /// /// 测试Z测试位取料高度 /// public double TestzTestLocationFetchZ { get { return _TestzTestLocationFetchZ; } set { _TestzTestLocationFetchZ = value; } } private double _TestzTurnoverLocationFetchY; /// /// 测试Z周转盘取料Y /// public double TestzTurnoverLocationFetchY { get { return _TestzTurnoverLocationFetchY; } set { _TestzTurnoverLocationFetchY = value; } } private double _TestzTurnoverLocationFetchZ; /// /// 测试Z周转盘取料高度 /// public double TestzTurnoverLocationFetchZ { get { return _TestzTurnoverLocationFetchZ; } set { _TestzTurnoverLocationFetchZ = value; } } private double _TestzSafeHeight; /// /// 测试Z安全高度高度 /// public double TestzSafeHeight { get { return _TestzSafeHeight; } set { _TestzSafeHeight = value; } } #region 吸嘴1 private double _Vac1Tray1FetchHeight; /// /// 料盘1取料高度 /// public double Vac1Tray1FetchHeight { get { return _Vac1Tray1FetchHeight; } set { _Vac1Tray1FetchHeight = value; } } private double _Vac1Tray2FetchHeight; /// /// 料盘2取料高度 /// public double Vac1Tray2FetchHeight { get { return _Vac1Tray2FetchHeight; } set { _Vac1Tray2FetchHeight = value; } } private double _Vac1Tray3FetchHeight; /// /// 料盘3取料高度 /// public double Vac1Tray3FetchHeight { get { return _Vac1Tray3FetchHeight; } set { _Vac1Tray3FetchHeight = value; } } private double _Vac1Tray4FetchHeight; /// /// 料盘4取料高度 /// public double Vac1Tray4FetchHeight { get { return _Vac1Tray4FetchHeight; } set { _Vac1Tray4FetchHeight = value; } } private double _Vac1Tray5FetchHeight; /// /// 料盘5取料高度 /// public double Vac1Tray5FetchHeight { get { return _Vac1Tray5FetchHeight; } set { _Vac1Tray5FetchHeight = value; } } private double _Vac1Tray6FetchHeight; /// /// 料盘6取料高度 /// public double Vac1Tray6FetchHeight { get { return _Vac1Tray6FetchHeight; } set { _Vac1Tray6FetchHeight = value; } } private double _Vac1Tray7FetchHeight; /// /// 料盘7取料高度 /// public double Vac1Tray7FetchHeight { get { return _Vac1Tray7FetchHeight; } set { _Vac1Tray7FetchHeight = value; } } private double _Vac1Tray8FetchHeight; /// /// 料盘8取料高度 /// public double Vac1Tray8FetchHeight { get { return _Vac1Tray8FetchHeight; } set { _Vac1Tray8FetchHeight = value; } } private double _Vac1TurnTrayFetchHeight; /// /// 中转盘取料高度 /// public double Vac1TurnTrayFetchHeight { get { return _Vac1TurnTrayFetchHeight; } set { _Vac1TurnTrayFetchHeight = value; } } #endregion #region 吸嘴2 private double _Vac2Tray1FetchHeight; /// /// 料盘1取料高度 /// public double Vac2Tray1FetchHeight { get { return _Vac2Tray1FetchHeight; } set { _Vac2Tray1FetchHeight = value; } } private double _Vac2Tray2FetchHeight; /// /// 料盘2取料高度 /// public double Vac2Tray2FetchHeight { get { return _Vac2Tray2FetchHeight; } set { _Vac2Tray2FetchHeight = value; } } private double _Vac2Tray3FetchHeight; /// /// 料盘3取料高度 /// public double Vac2Tray3FetchHeight { get { return _Vac2Tray3FetchHeight; } set { _Vac2Tray3FetchHeight = value; } } private double _Vac2Tray4FetchHeight; /// /// 料盘4取料高度 /// public double Vac2Tray4FetchHeight { get { return _Vac2Tray4FetchHeight; } set { _Vac2Tray4FetchHeight = value; } } private double _Vac2Tray5FetchHeight; /// /// 料盘5取料高度 /// public double Vac2Tray5FetchHeight { get { return _Vac2Tray5FetchHeight; } set { _Vac2Tray5FetchHeight = value; } } private double _Vac2Tray6FetchHeight; /// /// 料盘6取料高度 /// public double Vac2Tray6FetchHeight { get { return _Vac2Tray6FetchHeight; } set { _Vac2Tray6FetchHeight = value; } } private double _Vac2Tray7FetchHeight; /// /// 料盘7取料高度 /// public double Vac2Tray7FetchHeight { get { return _Vac2Tray7FetchHeight; } set { _Vac2Tray7FetchHeight = value; } } private double _Vac2Tray8FetchHeight; /// /// 料盘8取料高度 /// public double Vac2Tray8FetchHeight { get { return _Vac2Tray8FetchHeight; } set { _Vac2Tray8FetchHeight = value; } } private double _Vac2TurnTrayFetchHeight; /// /// 中转盘取料高度 /// public double Vac2TurnTrayFetchHeight { get { return _Vac2TurnTrayFetchHeight; } set { _Vac2TurnTrayFetchHeight = value; } } #endregion private bool _RunSpace; public bool RunSpace { get { return _RunSpace; } set { _RunSpace = value; } } private string _TestCenterIP; /// /// 中控IP /// public string TestCenterIP { get { return _TestCenterIP; } set { _TestCenterIP = value; } } private int _TestCenterPort; /// /// 中控服务端口 /// public int TestCenterPort { get { return _TestCenterPort; } set { _TestCenterPort = value; } } } }