阳江[切换]
免费发布信息
您当前的位置: 阳江百修网> 阳江工控产品维修>阳江数控系统维修> >数控系统被锁怎么办

数控系统被锁怎么办

数控系统被锁怎么办
服务区域
阳江市-阳东县
服务范围
数控机床
发布日期
2023-04-22 14:34:29
标签
数控系统,锁机,解锁

温馨提示:此页面服务由第三方为您提供,交易前请仔细核对商家真实资质,勿信夸张宣传和承诺,勿轻易相信预付定金、汇款等交易方式; 此页面所发布文字及图片均由网民自行发布,如有侵权请联系发布者删除。

产品介绍

数控系统被锁怎么办有限状态机,也称为FSM(Finite State Machine),其在任意时刻都处于有限状态集合中的某一状态。当其获得一个输入字符时,将从当前状态转换到另一个状态,或者仍然保持在当前状态。有限状态机成立的必要条件有:

  • 对象有一组互斥的状态(或对象的生命周期),且这组状态可以涵盖对象的创建到消亡的整个过程。

  • 当向对象传入一个信号(或事件)时,对象的状态能从当前状态转换成另一种状态,或者保持状态不变。

  • 状态是有限的。

如图例所示,红绿灯在同一时间只能亮一个颜色,控制*可以定义3种不同的事件,每个事件定义好红绿灯的起始颜色和目标颜色,我们不需要直接去操作红绿灯开关,只需要按照一定的顺序发送事件过去,我们就可以精确控制红绿灯的工作,红绿灯的工作控制其实就是一个标准的FSM。

由上所述,FSM一般需要以下4个部分组成:

  • 对象状态枚举。

  • 对象事件枚举,并指定事件的起始状态和目标状态。

  • 事件逻辑体,用于处理状态变更引起的业务逻辑。

  • 事件注册工厂类,FSM的*入口。

2. 从需求开始分析FSM

当我们拿到一个类似需求时应该怎么入手呢?下面我们以一个简单的商城订单的FSM实现为例,从需求分析到代码实现为大家讲解:

首先我们应该从需求中提炼出一个订单具体需要经过哪些状态(这里我只列举了一个简单订单的正向状态)。

订单状态:待支付、待发货、待收货、已取消、已完成

列举出所有状态之后,在作图工具中把状态全部画出来,每个状态进行分析是否能转换为其他状态,如分析待支付状态,用户可以从待支付状态进行付款事件,待支付状态将会转换为待发货,用户也可以从待支付状态取消支付,待支付将会转换为订单取消状态。按照这个思路使用单向箭头将所有事件列举出来,并给每个事件起名字。

订单事件:下单事件、支付事件、发货事件、支付取消事件、收货事件

*形成如下图所示的状态流转图

3. FSM的java实现

按照上面所说,我们将FSM的4个部分声明出来:

3.1. 对象状态枚举类

使用枚举的方式穷举出订单所有可能的状态。

public enum OrderStatusEnum {
   Unpaid("Unpaid", "待支付"),
   UnShipping("UnShipping", "待发货"),
   UnReceiving("UnReceiving", "待收货"),

   Canceled("Canceled", "已取消"),
   Finished("Finished", "已完成");    private final String code;    private final String desc;

   OrderStatusEnum(String code, String desc) {        this.code = code;        this.desc = desc;
   }    public String getCode() {        return code;
   }    public String getDesc() {        return desc;
   }
}


企业信息
入驻时间:
2022年
主营产品:
数控机床
公司地址:
广东省阳江市阳东县艺鹏装饰
客服热线

意见反馈邮箱:354481597@qq.com

关注我们
百修网公众号

百修网公众号

百修公众号

百修公众号

师傅接单小程序

师傅接单小程序

苏ICP备09042555号-2 | 增值电信业务经营许可证:苏B2-20150120 | 公安部备案号:32020202000170 | Copyright © 无锡市新视点网络科技有限公司 版权所有