using Net462DllTest.Enums; using Serein.Library; using System; namespace Net462DllTest.Model { /// /// PLC变量 /// [AutoRegister] public class PlcVarModel { /// /// 车位号 /// [BindValue(PlcVarName.SpaceNum)] public Int16 SpaceNum { get; set; } /// /// 上位机指令 /// [BindValue(PlcVarName.CmdForPLC)] public Int16 CmdForPLC { get; set; } /// /// PLC当前存取车位号 /// [BindValue(PlcVarName.DoingSpaceNum)] public Int16 DoingSpaceNum { get; set; } /// /// 下位机状态 /// [BindValue(PlcVarName.PLCState)] public Int16 PLCState { get; set; } /// /// 门1正常待机车位号,存车完成地面车位0 /// [BindValue(PlcVarName.Door1CurSpaceNum)] public Int16 Door1CurSpaceNum { get; set; } /// /// 门2正常待机车位号,存车完成地面车位0 /// [BindValue(PlcVarName.Door2CurSpaceNum)] public Int16 Door2CurSpaceNum { get; set; } /// /// 下位机运行模式 /// [BindValue(PlcVarName.PLCRunMode)] public Int16 PLCRunMode { get; set; } /// /// 执行的门号 /// [BindValue(PlcVarName.DoorVar)] public Int16 DoorVar { get; set; } /// /// 门1是否开到位 /// [BindValue(PlcVarName.IsDoor1OpenDone)] public bool IsDoor1OpenDone { get; set; } /// /// 门1是否关到位 /// [BindValue(PlcVarName.IsDoor1ClosedDone)] public bool IsDoor1ClosedDone { get; set; } /// /// 门2是否开到位 /// [BindValue(PlcVarName.IsDoor2OpenDone)] public bool IsDoor2OpenDone { get; set; } /// /// 门2是否关到位 /// [BindValue(PlcVarName.IsDoor2ClosedDone)] public bool IsDoor2ClosedDone { get; set; } /// /// 通道1是否有车 /// [BindValue(PlcVarName.HasCarInTone1)] public bool HasCarInTone1 { get; set; } /// /// 通道2是否有车 /// [BindValue(PlcVarName.HasCarInTone2)] public bool HasCarInTone2 { get; set; } /// /// 下位机异常代码 /// [BindValue(PlcVarName.ErrorCode)] public Int16 ErrorCode { get; set; } /// /// 2层以上的空板是否在待机 /// [BindValue(PlcVarName.IsOver2FlowStanded)] public bool IsOver2FlowStanded { get; set; } /// /// 1号门指示灯 /// [BindValue(PlcVarName.Gate1Light)] public bool Gate1Light { get; set; } /// /// 2号门指示灯 /// [BindValue(PlcVarName.Gate2Light)] public bool Gate2Light { get; set; } } /// /// 数据代理,防止View修改 /// [AutoRegister] public class PlcVarModelDataProxy { private readonly PlcVarModel plcVarModel; public PlcVarModelDataProxy(PlcVarModel plcVarModel) { this.plcVarModel = plcVarModel; } /// /// 车位号 /// public Int16 SpaceNum { get => plcVarModel.SpaceNum; } /// /// 上位机指令 /// public Int16 CmdForPLC { get => plcVarModel.CmdForPLC; } /// /// PLC当前存取车位号 /// public Int16 DoingSpaceNum { get => plcVarModel.DoingSpaceNum; } /// /// 下位机状态 /// public Int16 PLCState { get => plcVarModel.PLCState; } /// /// 门1正常待机车位号,存车完成地面车位0 /// public Int16 Door1CurSpaceNum { get => plcVarModel.Door1CurSpaceNum; } /// /// 门2正常待机车位号,存车完成地面车位0 /// public Int16 Door2CurSpaceNum { get => plcVarModel.Door2CurSpaceNum; } /// /// 下位机运行模式 /// public Int16 PLCRunMode { get => plcVarModel.PLCRunMode; } /// /// 执行的门号 /// public Int16 DoorVar { get => plcVarModel.DoorVar; } /// /// 门1是否开到位 /// public bool IsDoor1OpenDone { get => plcVarModel.IsDoor1OpenDone; } /// /// 门1是否关到位 /// public bool IsDoor1ClosedDone { get => plcVarModel.IsDoor1ClosedDone; } /// /// 门2是否开到位 /// public bool IsDoor2OpenDone { get => plcVarModel.IsDoor2OpenDone; } /// /// 门2是否关到位 /// public bool IsDoor2ClosedDone { get => plcVarModel.IsDoor2ClosedDone; } /// /// 通道1是否有车 /// public bool HasCarInTone1 { get => plcVarModel.HasCarInTone1; } /// /// 通道2是否有车 /// public bool HasCarInTone2 { get => plcVarModel.HasCarInTone2; } /// /// 下位机异常代码 /// public Int16 ErrorCode { get => plcVarModel.ErrorCode; } /// /// 2层以上的空板是否在待机 /// public bool IsOver2FlowStanded { get => plcVarModel.IsOver2FlowStanded; } /// /// 1号门指示灯 /// public bool Gate1Light { get => plcVarModel.Gate1Light; } /// /// 2号门指示灯 /// public bool Gate2Light { get => plcVarModel.Gate2Light; } } }