终端一体化运控平台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

120 lines
4.0 KiB

  1. using BPASmartClient.JXJFoodSmallStation.Model.Siemens;
  2. using System;
  3. using System.Collections.Concurrent;
  4. using System.Collections.Generic;
  5. using System.Collections.ObjectModel;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. namespace BPASmartClient.JXJFoodSmallStation.Model
  10. {
  11. public class GVL_SmallStation
  12. {
  13. private volatile static GVL_SmallStation SmallStation;
  14. public static GVL_SmallStation GetInstance => SmallStation ?? (SmallStation = new GVL_SmallStation());
  15. private GVL_SmallStation() { }
  16. /// <summary>
  17. /// 配料站料仓数目
  18. /// </summary>
  19. public const int Max_DosingSotckBinNum = 15;
  20. /// <summary>
  21. /// 风送料仓数目
  22. /// </summary>
  23. public const int Max_PowderSotckBinNum = 15;
  24. public bool HeartBeatToPlc { get; set; } = false;
  25. public bool HeartBeatFromPlc { get; set; } = false;
  26. /// <summary>
  27. /// 是否允许西门子下发配方
  28. /// </summary>
  29. public static bool IsAllowSiemensSendRecipe { get; set; } = false;
  30. /// <summary>
  31. /// 往输送带下发配方完成
  32. /// </summary>
  33. public bool IssueRecipeFinishStation1 { get; set; } = false;
  34. /// <summary>
  35. /// 配方下发状态 =0:配方未下发 ,1:配方下发给plc ,2:plc成功接收配方
  36. /// </summary>
  37. public int RecipeStatusID { get; set; } = 0;
  38. /// <summary>
  39. /// Tray1的柔性味魔方配料标志(下发配方时,若柔性味魔方的状态=3,复位该状态)
  40. /// </summary>
  41. public bool DosingTray1 { get; set; } = true;//默认为true,初始时,判断柔性味魔方的状态。
  42. /// <summary>
  43. /// Tray2的柔性味魔方配料标志
  44. /// </summary>
  45. public bool DosingTray2 { get; set; } = true;
  46. public int DosingTray1Loc { get; set; } = 0;
  47. public int DosingTray2Loc { get; set; } = 0;
  48. /// <summary>
  49. /// 配方下发状态 =0:配方未下发 ,1:配方下发给plc ,2:plc成功接收配方
  50. /// </summary>
  51. public int RecipeStatusIDTray2 { get; set; } = 0;
  52. /// <summary>
  53. /// 往输送带下发配方完成
  54. /// </summary>
  55. public bool IssueRecipeFinishStation2 { get; set; } = false;
  56. public bool IsAllow { get; set; } = false;
  57. public bool IsAllowOut { set; get; } = false;
  58. /// <summary>
  59. /// 当前料仓的位置
  60. /// </summary>
  61. public int StockInIsWork { get; set; } = 0;
  62. /// <summary>
  63. /// 单个配方执行完成标志
  64. /// </summary>
  65. public bool RecipeFinish { get; set; } = false;
  66. /// <summary>
  67. /// 记录AGV进站送货的指令顺序
  68. /// </summary>
  69. public int AgvDeliveryPosition { get; set; }= 0;
  70. /// <summary>
  71. /// 记录AGV进站取货的指令顺序
  72. /// </summary>
  73. public int AgvPickUpPosition { get; set; } = 0;
  74. /// <summary>
  75. /// 是否使用粉仓
  76. /// </summary>
  77. public bool IsUseWindSend;
  78. /// <summary>
  79. /// 风送配料完成标志
  80. /// </summary>
  81. public bool WindSendDosingFinish;
  82. /// <summary>
  83. /// 是否占用托盘1
  84. /// </summary>
  85. public bool IsOccupationTray1 { get; set; } = true;
  86. /// <summary>
  87. /// 是否占用托盘2
  88. /// </summary>
  89. public bool IsOccupationTray2 { get; set; } = true;
  90. /// <summary>
  91. /// 顶升气缸的信号
  92. /// </summary>
  93. public bool[] Cylinder_JackInfo = new bool[15];
  94. #region 本地模拟配方
  95. /// <summary>
  96. /// 是否使用本地模拟配方
  97. /// </summary>
  98. public bool IsUseLocalRecipe { get; set; }
  99. /// <summary>
  100. /// 是否使用本地模拟订单+风送配方
  101. /// </summary>
  102. public bool IsUseWindSendDosing { get; set; }
  103. #endregion
  104. }
  105. }