“Status” vs. “state”

本文探讨了英语中“status”与“state”的区别,并通过具体例子解释了二者在描述项目进展及对象状况时的不同用法。

http://english.stackexchange.com/questions/12958/status-vs-state

 

Can anyone explain what the difference between status and state is when I talk about the condition or situation of an object?

Here's what I got from Longman English Dictionary.

status: a situation at a particular time, especially in an argument, discussion etc.

state: the physical or mental condition that someone or something is in

For example, how do you interpret these two sentences:

  1. What is the current status of this project?

  2. What is the current state of this project?

private static bool GetDisk(RobotTask task) { CurrentTask = task; CancellationTokenSource cancellationTokenSource = task.CancellationTokenSource; HardRobotStationEntity robot = task.RobotStation; StationStatus stationStatus = task.StationStatus; if (stationStatus.SlotStatus.Status == ExecuteStatusEnum.Error) { CurrentTask = null; return false; } if (task.StationStatus.SlotStatus.Status == ExecuteStatusEnum.None) { CurrentTask = null; task.Status = TaskStatus.Remove; return false; } // CA工位根据6寸, 8寸位置不同特殊处理 if (stationStatus.StationCode == Constant.CA) { robot = GetCARobotStation(stationStatus); } string usedArm = task.RobotArm; string stationRobotPos = ""; if (usedArm == RobotLockControl.WStation) { stationRobotPos = robot.GetW; } if (usedArm == RobotLockControl.RStation) { stationRobotPos = robot.GetR; } Log?.Info( $"execute task use {usedArm} do {task.PutType},{stationStatus.StationCode},slot{stationStatus.SlotStatus.Index}, {stationStatus.SlotStepStatus.StationType},{task.Maked} begin "); if (cancellationTokenSource.IsCancellationRequested) { CurrentTask = null; return false; } if ((!StationLockControl.HasDisk(stationStatus.StationCode) && stationStatus.SlotStepStatus.StationType != StationTypeEnum.CS) || (stationStatus.SlotStatus.InBasketStatus != SlotInBasketStatus.Exist && stationStatus.SlotStepStatus.StationType == StationTypeEnum.CS)) { CurrentTask = null; Log?.Error($" {stationStatus.StationCode} has no disk {task.TaskId} error "); return false; } while (Robot.Suspend == 1) { if (cancellationTokenSource.IsCancellationRequested) { CurrentTask = null; return false; } Thread.Sleep(1000); } int stationSlotIndex = 1; if (IsCsGet(task)) { stationSlotIndex = task.FlowStatus.SlotStatus.Index; } WaitUtilStationReady(stationStatus.StationCode, cancellationTokenSource, TaskType.Get, stationStatus.SlotStatus); StationState stationState = Global.GetStationState(stationStatus.StationCode); if (stationState == StationState.Maintenance ||cancellationTokenSource.IsCancellationRequested) { CurrentTask = null; task.Status = TaskStatus.Remove; return false; } if (stationStatus.SlotStatus.Status == ExecuteStatusEnum.Error||cancellationTokenSource.IsCancellationRequested) { CurrentTask = null; task.Status = TaskStatus.Remove; return false; } if (task.StationStatus.SlotStatus.Status == ExecuteStatusEnum.None||cancellationTokenSource.IsCancellationRequested) { CurrentTask = null; task.Status = TaskStatus.Remove; return false; } SyncRobotMessage(new RobotMessage() { MessageType = RobotMessageType.Start, WhichArm = usedArm, Target = stationStatus.StationCode, Message = string.Empty }); stationStatus.SlotStepStatus.GetArm = usedArm; RobotLockControl.LockStation(usedArm, stationStatus); Robot.RobotState = GummingCommon.RobotState.Run; var command6 = Global.RobotCommands.FirstOrDefault(q => q.CommandCode == Constant.GETA); var message = $"{command6.CommandCode} {stationRobotPos}, {stationSlotIndex}"; string message6 = Robot.Send(message); while (!string.Equals(message6, ">")) { if (ExecuteRobotHelper.CheckRobotWarning(true, usedArm)) { //等待机器人报警恢复 while (ExecuteRobotHelper.CheckRobotWarning(false, usedArm) && !cancellationTokenSource.IsCancellationRequested) { if (Global.IsRobotCleaning) //清片处理 { Global.ClearPauseState(stationStatus.StationCode); Global.SetAbortState(stationStatus.StationCode); var cur = stationStatus.BasketStatus.SlotStatues.FirstOrDefault(q => q.Index == stationStatus?.SlotStatus?.Index); if (cur != null) { cur.IsAbort = true; cur.Status = ExecuteStatusEnum.Error; cur.InBasketStatus = SlotInBasketStatus.NoExist; } CurrentTask = null; RobotLockControl.UnLockStation(usedArm); return false; } Thread.Sleep(1000); } } if (Global.IsAlarmingConfirmed) //告警确认后再重试 { Global.IsAlarmingConfirmed = false; if (stationStatus.SlotStatus.Status == ExecuteStatusEnum.Error) { CurrentTask = null; RobotLockControl.UnLockStation(usedArm); return false; } if (ExeBaseHelper.IsHandWithWafer((ushort)(RobotLockControl.RStation == usedArm ? 1 : 2))) { return true; } WaitUtilStationReady(stationStatus.StationCode, cancellationTokenSource, TaskType.Get, stationStatus.SlotStatus); if (stationStatus.SlotStatus.Status == ExecuteStatusEnum.Error||cancellationTokenSource.IsCancellationRequested) { RobotLockControl.UnLockStation(usedArm); return false; } Log.Info($"robot-redo={message}"); message6 = Robot.Send(message); } } Robot.RobotState = GummingCommon.RobotState.Idle; CurrentStation = stationStatus.StationCode; StationLockControl.PutedCurrentDiskStatus(stationStatus.StationCode, false, 0, stationStatus); SyncRobotMessage(new RobotMessage() { MessageType = RobotMessageType.End, WhichArm = usedArm, Target = stationStatus.StationCode, Message = $"{stationStatus?.BasketStatus?.LittleName} {stationStatus?.SlotStatus?.Index}" }); stationStatus.SlotStatus.PrevStationCode = stationStatus.StationCode; stationStatus.SlotStatus.CurrentStationCode = usedArm; stationStatus.SlotStatus.Putted = false; stationStatus.SlotStatus.Getted = true; stationStatus.SlotStatus.InBasketStatus = SlotInBasketStatus.Moved; //移片状态 StaticsInfo.STATICS_INFO.GetDisk(stationStatus.SlotStatus, stationStatus.StationCode, usedArm); Log?.Info( $"execute task use {usedArm} do {task.PutType},{stationStatus.StationCode},slot{stationStatus.SlotStatus.Index}, {stationStatus.SlotStepStatus.StationType},{task.Maked} done"); Task.Run(() => ExeBaseHelper.RefreshWarning(RobotLockControl.RStation == usedArm ? AlarmRobotEnum.GetName(AlarmRobotConfig.RBT_003) : AlarmRobotEnum.GetName(AlarmRobotConfig.RBT_004))); CurrentTask = null; return true; }
最新发布
09-05
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值