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;
}
}