using BPASmartClient.JXJFoodSmallStation.Model.Siemens; using System; using System.Collections.Concurrent; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; namespace BPASmartClient.JXJFoodSmallStation.Model { public class GVL_SmallStation { private volatile static GVL_SmallStation SmallStation; public static GVL_SmallStation GetInstance => SmallStation ?? (SmallStation = new GVL_SmallStation()); private GVL_SmallStation() { } public static bool Order_Cancel { get; set; } public static string Order_CancelRecipeCode { get; set; } = ""; /// <summary> /// 托盘1托盘到位 逻辑完成 /// </summary> public static bool TrayLogicFinish { get; set; } = false; /// <summary> /// 托盘1有货架 /// </summary> public static bool Station1HaveTray { get; set; } /// <summary> /// 托盘2有货架 /// </summary> public static bool Station2HaveTray { get; set; } public static bool Station1Sensor { get; set; } /// <summary> /// 托盘2传感器信号 /// </summary> public static bool Station2Sensor { get; set; } public static bool Station1Cylinder { get; set; } /// <summary> /// 托盘2气缸信号 /// </summary> public static bool Station2Cylinder { get; set; } public static bool AGV_PutTray1Finish { get; set; } public static bool AGV_GetTray1Finish { get; set; } public static bool CylinderReset { get; set; } /// <summary> /// 配料站料仓数目 /// </summary> public const int Max_DosingSotckBinNum = 15; /// <summary> /// 风送料仓数目 /// </summary> public const int Max_PowderSotckBinNum = 5; public bool HeartBeatToPlc { get; set; } = false; public bool HeartBeatFromPlc { get; set; } = false; /// <summary> /// 是否允许西门子下发配方 /// </summary> public static bool IsAllowSiemensSendRecipe { get; set; } = false; /// <summary> /// 西门子下发配方状态 0:等待下发配方 1:请求下发配方 2:上位机接收配方 3:配方接收完成 4:请求配料 5:西门子开始配料确认 6:配方配料完成 7:配料完成确认 /// </summary> public static int SiemensSendRecipeStatus { get; set; } = 0; /// <summary> /// 配方下发状态 =0:配方未下发 ,1:配方下发给plc ,2:plc成功接收配方 /// </summary> public int RecipeStatusID { get; set; } = 0; /// <summary> /// 配方下发状态 =0:配方未下发 ,1:配方下发给plc ,2:plc成功接收配方 /// </summary> public int RecipeStatusIDTray2 { get; set; } = 0; /// <summary> /// Tray1的柔性味魔方配料标志(下发配方时,若柔性味魔方的状态=3,复位该状态) /// </summary> public bool DosingTray1 { get; set; } = false;//默认为true,初始时,判断柔性味魔方的状态。 /// <summary> /// Tray2的柔性味魔方配料标志 /// </summary> public bool DosingTray2 { get; set; } = false; public int DosingTray1Loc { get; set; } = 0; public int DosingTray2Loc { get; set; } = 0; /// <summary> /// 当前料仓的位置 /// </summary> public int StockInIsWork { get; set; } = 0; /// <summary> /// 记录AGV进站送货的指令顺序 /// </summary> public int AgvDeliveryPosition { get; set; }= 0; /// <summary> /// 记录AGV进站取货的指令顺序 /// </summary> public int AgvPickUpPosition { get; set; } = 0; /// <summary> /// 是否使用粉仓 /// </summary> public bool IsUseWindSend { get; set; } = false; /// <summary> /// 风送配料完成标志 /// </summary> public bool WindSendDosingFinish { get; set; } = false; /// <summary> /// 顶升气缸的信号 /// </summary> public bool[] Cylinder_JackInfo = new bool[15]; #region 本地模拟配方 /// <summary> /// 是否使用本地模拟配方 /// </summary> public bool IsUseLocalRecipe { get; set; } /// <summary> /// 是否使用本地模拟订单+风送配方 /// </summary> public bool IsUseWindSendDosing { get; set; } public static int test1 = 1; public DateTime time1; /// <summary> /// 风送是否允许AGV到工站 /// </summary> public static bool WindSendAllowAGVPutGet { get; set; } = false; /// <summary> /// 粉料仓配料完成 /// </summary> public static bool WindSendDosingComple { get; set; } = false; /// <summary> /// 系统模式 /// </summary> public static bool SystemMode { get; set; } = false; /// <summary> /// 系统状态 /// </summary> public static bool SystemStatus { get; set; } = false; /// <summary> /// 系统运行状态 /// </summary> public static bool SystemRunStatus { get; set; } = false; #endregion } }