终端一体化运控平台
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.
 
 
 

143 line
5.2 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. /// 托盘1托盘到位 逻辑完成
  18. /// </summary>
  19. public static bool TrayLogicFinish { get; set; } = false;
  20. /// <summary>
  21. /// 托盘1有货架
  22. /// </summary>
  23. public static bool Station1HaveTray { get; set; }
  24. /// <summary>
  25. /// 托盘2有货架
  26. /// </summary>
  27. public static bool Station2HaveTray { get; set; }
  28. public static bool Station1Sensor { get; set; }
  29. /// <summary>
  30. /// 托盘2传感器信号
  31. /// </summary>
  32. public static bool Station2Sensor { get; set; }
  33. public static bool Station1Cylinder { get; set; }
  34. /// <summary>
  35. /// 托盘2气缸信号
  36. /// </summary>
  37. public static bool Station2Cylinder { get; set; }
  38. public static bool AGV_PutTray1Finish { get; set; }
  39. public static bool AGV_GetTray1Finish { get; set; }
  40. public static bool CylinderReset { get; set; }
  41. /// <summary>
  42. /// 配料站料仓数目
  43. /// </summary>
  44. public const int Max_DosingSotckBinNum = 15;
  45. /// <summary>
  46. /// 风送料仓数目
  47. /// </summary>
  48. public const int Max_PowderSotckBinNum = 5;
  49. public bool HeartBeatToPlc { get; set; } = false;
  50. public bool HeartBeatFromPlc { get; set; } = false;
  51. /// <summary>
  52. /// 是否允许西门子下发配方
  53. /// </summary>
  54. public static bool IsAllowSiemensSendRecipe { get; set; } = false;
  55. /// <summary>
  56. /// 西门子下发配方状态 0:等待下发配方 1:请求下发配方 2:上位机接收配方 3:配方接收完成 4:请求配料 5:西门子开始配料确认 6:配方配料完成 7:配料完成确认
  57. /// </summary>
  58. public static int SiemensSendRecipeStatus { get; set; } = 0;
  59. /// <summary>
  60. /// 往输送带下发配方完成
  61. /// </summary>
  62. public bool IssueRecipeFinishStation1 { get; set; } = false;
  63. /// <summary>
  64. /// 往输送带下发配方完成
  65. /// </summary>
  66. public bool IssueRecipeFinishStation2 { get; set; } = false;
  67. /// <summary>
  68. /// 配方下发状态 =0:配方未下发 ,1:配方下发给plc ,2:plc成功接收配方
  69. /// </summary>
  70. public int RecipeStatusID { get; set; } = 0;
  71. /// <summary>
  72. /// 配方下发状态 =0:配方未下发 ,1:配方下发给plc ,2:plc成功接收配方
  73. /// </summary>
  74. public int RecipeStatusIDTray2 { get; set; } = 0;
  75. /// <summary>
  76. /// Tray1的柔性味魔方配料标志(下发配方时,若柔性味魔方的状态=3,复位该状态)
  77. /// </summary>
  78. public bool DosingTray1 { get; set; } = false;//默认为true,初始时,判断柔性味魔方的状态。
  79. /// <summary>
  80. /// Tray2的柔性味魔方配料标志
  81. /// </summary>
  82. public bool DosingTray2 { get; set; } = false;
  83. public int DosingTray1Loc { get; set; } = 0;
  84. public int DosingTray2Loc { get; set; } = 0;
  85. /// <summary>
  86. /// 当前料仓的位置
  87. /// </summary>
  88. public int StockInIsWork { get; set; } = 0;
  89. /// <summary>
  90. /// 记录AGV进站送货的指令顺序
  91. /// </summary>
  92. public int AgvDeliveryPosition { get; set; }= 0;
  93. /// <summary>
  94. /// 记录AGV进站取货的指令顺序
  95. /// </summary>
  96. public int AgvPickUpPosition { get; set; } = 0;
  97. /// <summary>
  98. /// 是否使用粉仓
  99. /// </summary>
  100. public bool IsUseWindSend { get; set; } = false;
  101. /// <summary>
  102. /// 风送配料完成标志
  103. /// </summary>
  104. public bool WindSendDosingFinish { get; set; } = false;
  105. /// <summary>
  106. /// 顶升气缸的信号
  107. /// </summary>
  108. public bool[] Cylinder_JackInfo = new bool[15];
  109. #region 本地模拟配方
  110. /// <summary>
  111. /// 是否使用本地模拟配方
  112. /// </summary>
  113. public bool IsUseLocalRecipe { get; set; }
  114. /// <summary>
  115. /// 是否使用本地模拟订单+风送配方
  116. /// </summary>
  117. public bool IsUseWindSendDosing { get; set; }
  118. public static int test1 = 1;
  119. public DateTime time1;
  120. /// <summary>
  121. /// 风送是否允许AGV到工站
  122. /// </summary>
  123. public static bool WindSendAllowAGVPutGet { get; set; } = false;
  124. /// <summary>
  125. /// 粉料仓配料完成
  126. /// </summary>
  127. public static bool WindSendDosingComple { get; set; } = false;
  128. #endregion
  129. }
  130. }