有限状态机(FSM)由有限的状态和相互之间的转移构成,在任何时候只能处于给定数目的状态中的一个。当接收到一个输入事件时,状态机产生一个输出,同时也可能伴随着状态的转移[83]。有限状态机由以下要素构成:
(1)状态 状态是一个有限状态机的生命周期中满足某种条件,执行某些动作(Action),或等待某些输入事件发生的一个阶段。它能持续一段时间。
一个状态对应地执行某些活动(Activity)。活动就对应一个嵌套的状态机。
(2)转移 转移是从一个状态结点到另一个状态结点(目标状态)的移动。
(3)事件 事件是一个在时空中显式出现的特定现象,它可以触发状态转移。事件可以分为好几类,如信号事件、定时事件等。
(4)动作 动作是对象在状态发生转移时所作的一系列处理操作。动作(Action)是原子的,不可被中断的。它的执行时间是忽略不计的,它在状态进入和推出的时候执行,或在转移时执行。
在有限状态机中,还有一种特殊的转移,即自身状态转移,它是源状态等于目标状态的转移,如一段运动程序(直线、圆弧、NURBS样条等)在轴组中进行插值。
FSM经常被应用于反应式系统的建模,而反应式系统对外部和内部事件作出反应,以事件驱动方式工作。在确定性的反应式系统中,输入事件的顺序和数值决定了系统响应的顺序和数值。
数控系统根据输入的信息(如数控程序、操作面板的输入、传感器反馈信息)控制机床移动,实现加工操作(如轴运动、换刀、停止机床等),其行为是可预见的,属于典型的反应式系统。因此,我们将外部输入的信息表示为FSM的输入事件,将机床的加工操作表示为FSM的动作,采用FSM作为机床的行为模型[33,84]。(www.daowen.com)
在实际应用中,机床的行为非常复杂,其状态数目庞大,需要将整个系统按照层级方式分解得到一系列子功能模块。整个系统的行为被分解为子系统的行为,并用单独的FSM描述,然后再把这些模块集成起来构成系统,就得到了由层级式FSM所表述的整个系统的行为模型。本系统中的FSM如图2-3所示。
图2-3 系统中的FSM
FSM不是独立存在的,它依附于构成数控系统的各个构件。在分层FSM中,不同层级的FSM之间通过构件接口进行通信。为了调用一个低层FSM,包含上层FSM的构件发送一个事件到包含下层FSM的构件接口;当下层FSM到达终止状态时,发送一个终止通知事件到上层FSM的接口。
当系统部件、功能或过程顺序有变化的时候,加工系统的可重构是必需的。每种情形都需要控制流的改变。使用FSM机制,控制流能与机械分离开来而被单独改变。另外,FSM为系统开发者提供了一种指定专用控制流的方法。采用这种方法,系统重构所需的努力和技巧都可以显著减少。
加工系统重构包括加工部件的重组和过程顺序的改变。在一个开放式数控系统中,一个机械系统被模块化为不同的部件,它们中的每一个都完成一些规定的功能。机械重组意味着使用新的或不同的部件,或将部件以不同的方式组合在一起。例如:将一个钻削系统变为车削系统,或者将一个三轴轴组分成一个两轴轴组和一个单轴轴组。过程改变是指使用带相同的部件组的同样的机床,而只是操作顺序发生了改变。也有很多时候组成部件和过程顺序都发生了变化。在实际应用中,最常见的变化是处理过程和(或)部件的一个子集发生变化。很少有整个系统或整台机床被重新设计或重新建造。因为在开放式数控系统中,不管是功能还是过程顺序都被模型化为控制流,所以通过改变系统的控制流可以很容易地重构加工系统。
在一个三轴铣削系统中,FSM能被用来控制一个两轴轴组,一个单轴轴组和每一个轴。创造一个三轴轴组将弓入一个新的控制三轴轴组的有限状态机,但每个轴的FSM还将保持不变。在数控系统中扩充NURBS曲线加工能力,相当于增加系统的功能。但由于采用了FSM模型,因此只有与插值相关的模块如任务生成器和轴组模块需要修改,而其他的模块则不需要变动,这极大地减少了系统功能扩充的编程工作量。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。