/// <summary> /// 堆垛机状态 /// </summary> /// <param name="stocker"></param> /// <returns></returns> private BllResult FilterForData(Equipment srm) { string status = String.Empty; //判断未开机 var result = HHECS.Model.Common.CommonForPing.PingTest(srm.IP); if (!result) { status = "00"; return(BllResultFactory.Sucess(null, status)); } else { //判断堆垛机 联机 有故障。 if (srm.EquipmentProps.Find(t => t.EquipmentTypeTemplateCode == TrussNormalProps.OperationModel.ToString()).Value == SRMOperationModel.联机.GetIndexString() && srm.EquipmentProps.Find(t => t.EquipmentTypeTemplateCode == TrussNormalProps.TotalError.ToString()).Value == "True") { status = "10"; return(BllResultFactory.Sucess(null, status)); } //判断堆垛机 联机,无故障 else if (srm.EquipmentProps.Find(t => t.EquipmentTypeTemplateCode == TrussNormalProps.OperationModel.ToString()).Value == SRMOperationModel.联机.GetIndexString() && srm.EquipmentProps.Find(t => t.EquipmentTypeTemplateCode == TrussNormalProps.TotalError.ToString()).Value == "False") { var Fork1TaskExcuteStatus = srm.EquipmentProps.FirstOrDefault(t => t.EquipmentTypeTemplateCode == TrussNormalProps.Fork1TaskExcuteStatus.ToString()); if (Fork1TaskExcuteStatus != null) { SRMTaskExcuteStatus temp = (SRMTaskExcuteStatus)(Convert.ToInt32(Fork1TaskExcuteStatus.Value)); switch (temp) { case SRMTaskExcuteStatus.待机: status = "01"; break; case SRMTaskExcuteStatus.任务执行中: case SRMTaskExcuteStatus.任务完成: status = "03"; break; case SRMTaskExcuteStatus.任务中断_出错: case SRMTaskExcuteStatus.发任务错误: status = "10"; break; } return(BllResultFactory.Sucess(null, status)); } } else if (srm.EquipmentProps.Find(t => t.EquipmentTypeTemplateCode == TrussNormalProps.OperationModel.ToString()).Value != SRMOperationModel.联机.GetIndexString()) { status = "04"; return(BllResultFactory.Sucess(null, status)); } status = "00"; return(BllResultFactory.Sucess(null, status)); } }
/// <summary> /// 赋值属性 /// </summary> /// <param name="deviceEntity"></param> /// <param name="props"></param> /// <param name="address"></param> public void SetProps(Equipment truss) { Self = truss; #region 固定属性赋值 var Fork1ForkHasPallet = truss.EquipmentProps.FirstOrDefault(t => t.EquipmentTypeTemplateCode == TrussNormalProps.Fork1HasPallet.ToString()); if (Fork1ForkHasPallet != null) { lab_Fork1ForkHasPallet.Foreground = Brushes.Blue; switch (Fork1ForkHasPallet.Value) { case "True": lab_Fork1ForkHasPallet.Text = "有货"; break; case "False": lab_Fork1ForkHasPallet.Text = "无货"; break; default: lab_Fork1ForkHasPallet.Text = "未知"; lab_Fork1ForkHasPallet.Foreground = Brushes.Red; break; } } var Fork1TaskExcuteStatus = truss.EquipmentProps.FirstOrDefault(t => t.EquipmentTypeTemplateCode == TrussNormalProps.Fork1TaskExcuteStatus.ToString()); if (Fork1TaskExcuteStatus != null) { lab_Fork1TaskExcuteStatus.Foreground = Brushes.Blue; SRMTaskExcuteStatus temp = (SRMTaskExcuteStatus)(Convert.ToInt32(Fork1TaskExcuteStatus.Value)); switch (temp) { case SRMTaskExcuteStatus.待机: case SRMTaskExcuteStatus.任务执行中: case SRMTaskExcuteStatus.任务完成: lab_Fork1TaskExcuteStatus.Text = temp.ToString(); break; case SRMTaskExcuteStatus.任务中断_出错: case SRMTaskExcuteStatus.发任务错误: lab_Fork1TaskExcuteStatus.Text = temp.ToString(); lab_Fork1TaskExcuteStatus.Foreground = Brushes.Red; break; default: lab_Fork1TaskExcuteStatus.Text = "未知"; lab_Fork1TaskExcuteStatus.Foreground = Brushes.Red; break; } } var operationModel = truss.EquipmentProps.FirstOrDefault(t => t.EquipmentTypeTemplateCode == TrussNormalProps.OperationModel.ToString()); if (operationModel != null) { lab_OperationModel.Foreground = Brushes.Blue; SRMOperationModel temp = (SRMOperationModel)(Convert.ToInt32(operationModel.Value)); switch (temp) { case SRMOperationModel.维修: case SRMOperationModel.手动: case SRMOperationModel.机载操作: case SRMOperationModel.单机自动: case SRMOperationModel.联机: lab_OperationModel.Text = temp.ToString(); break; default: lab_OperationModel.Text = "未知"; lab_OperationModel.Foreground = Brushes.Red; break; } } //var model = stocker.EquipmentProps.FirstOrDefault(t => t.EquipmentTypeTemplateCode == TrussNormalProps.ExpendMode.ToString()); //if (model != null) //{ // lab_Model.Foreground = Brushes.Blue; // if (model.Value == "True") // { // lab_Model.Text = "转轨"; // } // else // { // lab_Model.Text = "正常"; // } //} var forkCenter = truss.EquipmentProps.FirstOrDefault(t => t.EquipmentTypeTemplateCode == TrussNormalProps.Fork1Center.ToString()); if (forkCenter != null) { if (forkCenter.Value == "True") { lab_ForkCenter.Text = "在高位"; } else { lab_ForkCenter.Text = "在低位"; } } var maxColumn = truss.EquipmentProps.FirstOrDefault(t => t.EquipmentTypeTemplateCode == TrussNormalProps.ManageBigDistance.ToString()); if (maxColumn != null) { lab_MaxColumn.Text = maxColumn.Value; } var minColumn = truss.EquipmentProps.FirstOrDefault(t => t.EquipmentTypeTemplateCode == TrussNormalProps.ManageSmallDistance.ToString()); if (minColumn != null) { lab_MinColumn.Text = minColumn.Value; } var Fork1TaskType = truss.EquipmentProps.FirstOrDefault(t => t.EquipmentTypeTemplateCode == TrussNormalProps.Fork1TaskType.ToString()); if (Fork1TaskType != null) { lab_Fork1TaskType.Foreground = Brushes.Blue; TrussForTaskFlag temp = (TrussForTaskFlag)Convert.ToInt32(Fork1TaskType.Value); switch (temp) { case TrussForTaskFlag.无任务: case TrussForTaskFlag.绗车取货: case TrussForTaskFlag.绗车放货: case TrussForTaskFlag.移车任务: lab_Fork1TaskType.Text = temp.ToString(); break; default: lab_Fork1TaskType.Text = "未知"; lab_Fork1TaskType.Foreground = Brushes.Red; break; } } var Fork1TaskNo = truss.EquipmentProps.FirstOrDefault(t => t.EquipmentTypeTemplateCode == TrussNormalProps.Fork1TaskNo.ToString()); if (Fork1TaskNo != null) { lab_Fork1TaskNo.Text = Fork1TaskNo.Value; } lab_rowIndex1.Text = truss.RowIndex1.ToString(); lab_rowIndex2.Text = truss.RowIndex2.ToString(); var CurrentTongs = truss.EquipmentProps.FirstOrDefault(t => t.EquipmentTypeTemplateCode == TrussNormalProps.CurrentTongs.ToString()); if (CurrentTongs != null) { lab_CurrentStation.Text = CurrentTongs.Value; } var horizontalDistance = truss.EquipmentProps.FirstOrDefault(t => t.EquipmentTypeTemplateCode == SRMProps.HorizontalDistance.ToString()); if (horizontalDistance != null) { lab_HorizontalDistance.Text = horizontalDistance.Value; } var verticalDistance = truss.EquipmentProps.FirstOrDefault(t => t.EquipmentTypeTemplateCode == TrussNormalProps.VerticalDistance.ToString()); if (verticalDistance != null) { lab_VerticalDistance.Text = verticalDistance.Value; } var ForkDistance = truss.EquipmentProps.FirstOrDefault(t => t.EquipmentTypeTemplateCode == TrussNormalProps.Fork1Distance.ToString()); if (ForkDistance != null) { lab_ForkDistance.Text = ForkDistance.Value; } #endregion //监控属性赋值 var tempProps = truss.EquipmentProps.FindAll(t => t.EquipmentTypeTemplate.IsMonitor == true); foreach (var item in tempProps) { if (item.Value != item.EquipmentTypeTemplate.MonitorCompareValue) { AddAlarm("报警:" + item.EquipmentTypeTemplate.Name + " 信息:" + item.EquipmentTypeTemplate.MonitorFailure, 2); } else { RemoveAlarm("报警:" + item.EquipmentTypeTemplate.Name + " 信息:" + item.EquipmentTypeTemplate.MonitorFailure); } } }