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

100 lines
3.6 KiB

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