using BPASmartClient.JXJFoodBigStation.Model.HK_PLC; using BPASmartClient.JXJFoodBigStation.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.JXJFoodBigStation.Model { public class GVL_BigStation { /// /// plc心跳上传 /// [PlcComm("plc心跳上传")] public static bool HeartBeatFromPlc { get; set; } /// /// 订单取消的状态位 /// [PlcComm("订单取消的状态位")] public static bool Order_Cancel { get; set; } /// /// 订单取消的配方号 /// [PlcComm("订单取消的配方号")] public static string Order_CancelRecipeCode { get; set; } = ""; /// /// 订单取消的状态步 /// [PlcComm("订单取消的状态步")] public static int Order_CancelStep { get; set; } /// /// 第一个配方的配料时间 /// [PlcComm("第一个配方的配料时间")] public static DateTime DosingRecipe1Time { get; set; } /// /// 第二个配方的配料时间 /// [PlcComm("第二个配方的配料时间")] public static DateTime DosingRecipe2Time { get; set; } /// /// 第三个配方的配料时间 /// [PlcComm("第三个配方的配料时间")] public static DateTime DosingRecipe3Time { get; set; } /// /// 第四个配方的配料时间 /// [PlcComm("第四个配方的配料时间")] public static DateTime DosingRecipe4Time { get; set; } /// /// plc心跳下发 /// [PlcComm("plc心跳下发")] public static bool HeartBeatToPlc { get; set; } /// /// 配方下发状态 =0:配方未下发 ,1:配方下发给plc ,2:plc成功接收配方 /// [PlcComm("配方1下发状态 =0:配方未下发 ,1:配方下发给plc ,2:plc成功接收配方")] public static int Recipe1DosingStatus { get; set; } /// /// 配方下发状态 =0:配方未下发 ,1:配方下发给plc ,2:plc成功接收配方 /// [PlcComm("配方2下发状态 =0:配方未下发 ,1:配方下发给plc ,2:plc成功接收配方")] public static int Recipe2DosingStatus { get; set; } /// /// 配方下发状态 =0:配方未下发 ,1:配方下发给plc ,2:plc成功接收配方 /// [PlcComm("配方3下发状态 =0:配方未下发 ,1:配方下发给plc ,2:plc成功接收配方")] public static int Recipe3DosingStatus { get; set; } /// /// 配方下发状态 =0:配方未下发 ,1:配方下发给plc ,2:plc成功接收配方 /// [PlcComm("配方4下发状态 =0:配方未下发 ,1:配方下发给plc ,2:plc成功接收配方")] public static int Recipe4DosingStatus { get; set; } public static int[] RecipeDosingStatus { get; set; } = new int[4] { 0, 0, 0, 0 }; public static bool[] AllowIssueRecipe { get; set; } = new bool[4] { false, false, false, false }; public static bool[] ReceviceFinishRecipe { get; set; } = new bool[4] { false, false, false, false }; public static bool[] DosingFinishRecipe { get; set; } = new bool[4] { false, false, false, false }; public static bool[] IsTrayArrive { get; set; } = new bool[5] { false, false, false, false,false }; public static DateTime[] RecipeDosingTime { get; set; } = new DateTime[4] { DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now }; /// /// 是否处于手动下发配方 /// [PlcComm("是否处于手动下发配方")] public static bool IsUseLocalRecipe { get; set; } = false; /// /// 洗桶的标识符 /// [PlcComm("洗桶的标识符")] public static bool BarrelWasherSign { get; set; } /// /// 订单请求 /// [PlcComm("订单请求")] public static bool Order_Request { get; set; } = false; /// /// 下发配方的状态位 /// [PlcComm("下发配方的状态位")] public static int SiemensSendRecipeStatus { get; set; } = 0; /// /// 大料站最大的料仓数目 /// public const int Max_DosingSotckBinNum = 14; public static StockBinName stockBinName { get; set; } = new StockBinName(); /// /// 原料的名称和原料编号对应,Mes提供的信息 /// public static Dictionary RawMaterialsNameCode { get; set; } = new Dictionary(); [PlcComm("AGV送托盘")] public static ushort AGVPutTray { get; set; } [PlcComm("AGV取托盘")] public static ushort AGVGetTray { get; set; } [PlcComm("托盘传感器信号")] public static ushort TraySensor { get; set; } [PlcComm("托盘气缸信号")] public static ushort TrayCylinder { get; set; } public static DB_Read HKPlc_Read = new DB_Read(); /// /// 是否连接海科PLC /// [PlcComm("是否连接海科PLC")] public static bool IsAllowHKPlcConnect { get; set; } /// /// 是否连接西门子PLC /// [PlcComm("是否连接西门子PLC")] public static bool IsAllowSiemensConnect { get; set; } /// /// 配方1配料完成 /// [PlcComm("配方1配料完成")] public static bool Recipe1DosingFinish { get; set; } = false; /// /// 配方2配料完成 /// [PlcComm("配方2配料完成")] public static bool Recipe2DosingFinish { get; set; } = false; /// /// 配方3配料完成 /// [PlcComm("配方3配料完成")] public static bool Recipe3DosingFinish { get; set; } = false; /// /// 配方4配料完成 /// [PlcComm("配方4配料完成")] public static bool Recipe4DosingFinish { get; set; } = false; /// /// 订单是否是洗桶 /// [PlcComm("订单是否是洗桶")] public static bool Order_IsWashingBarrel { get; set; } = false; [PlcComm("TrayEnable")] public static int TrayEnable { get; set; } = 15; } }