最新新闻
我要投稿
联系电话:027-87592219/20/21转188
投稿邮箱:tb@e-works.net.cn
您所在的位置:首页 > 智库 > 智能生产

有限状态机在开放式数控系统中的应用

发布时间:2014-06-17 作者:李 霞 永章 梁宏斌 钟 力  来源:万方数据
为增强开放式数控系统的重构能力,采用层级式有限状态机作为描述系统控制逻辑的行为模型,并给出了建模方法。为便于实施有限状态机的机制,建立了有限状态机基础类库,该类库提供了定义和修改有限状态机的接口。当系统扩充功能时,可以根据有限状态机完成对系统行为的重构。通过向三轴数控铣床系统中添加刀具的监控功能,验证了系统的行为重构能力。

  4.2 重构实现

  下面在原有系统中集成监控功能,以监控刀具破损为例,证实基于FSM 构造的系统具有行为重构能力。

  监控刀具破损功能指在主轴刀具发生破损或断裂时,系统能够及时检测到该情况,并自动停止所有轴。笔者编制了单独的模块,以实现刀具破损监控功能。通过读取外部传感器测得的主轴功率,依据一定的规则判定刀具破损,发出刀具破损(broken)事件(刀具破损判定规则不在本文研究范围内) 。监控刀具破损模块也在任务协调器的调度下周期性运行,在发生刀具破损时,它向任务协调器的标准接口发送broken 事件。

  任务协调器对broken 事件做出反应,其行为发生变化,因此需要规划FSM ,修改状态表,包括增加新的状态、事件、转移和动作,如图6 中的虚线框内为新增FSM 部分。在其处理broken 事件的动作(对应于任务协调器的成员函数toolBrokenAction() ) 中向轴组发出stop 事件,而轴组模块已经具有处理stop 事件的能力,控制逻辑不发生改变,因此轴组和轴模块的FSM 不受影响,无需作任何修改。对状态表内容的修改包括增加一个“刀具破损Tool_Broken”状态,以及和刀具破损状态相关的两个转移,还有与“循环加工Incycle”状态相关的一个转移。这些新增条目可以利用FSM 类库提供的方法addTransition 来创建。该函数原型为CFiniteS2tateMachine : :addTransition ( st ring state , st ring e2vent , st ring next State , CFSMAction action) 。其中,CFiniteStateMachine 表示FSM 类, st ring 表示字符串类, state 表示对象当前所处状态的名称,e2vent 表示对象接收事件的名称,nextState 表示对象将转移的下一状态的名称,CFSMAction 表示FSM动作类,action 表示对象转移过程中被触发的动作。创建状态表的部分代码如下:

FSM

  void CTaskCoordinator ∷setup FSM() / / 任务协调器建立FSM
  {
  addTransition (“Idle”, “setAuto ”, “Auto ”, & CTaskCoordina2
  tor : : setAutoAction) ;/ / 原有转移
  ?
  / / 添加刀具破损、恢复、复位事件对应的转移
  addTransition (“ InCycle ”, “ broken ”, “ Tool _ Broken ”,
  &CTaskCoordinator : :toolBrokenAction) ;
  addTransition (“ Tool _ Broken ”, “ resume ”, “ InCycle ”,
  &CTaskCoordinator : : resumeAction) ;
  addTransition (“ Tool _ Broken ”, “ reset ”, “ Idle ”,
  &CTaskCoordinator : : resetAction) ;
  }

  可以看出,通过FSM 基础类库提供的方法能够方便、高效地改变状态表。此外,模块开发者还需要完成断刀处理动作, 即toolBrokenAction , re2sumeAction 和resetAction 的编程。

  每个模块都要经过调试正确后进行集成,最终可获得具有刀具破损监控功能的三轴数控铣床系统(如图7) 。上述重构过程已在一开放式三轴数控铣床实验台上实现,达到了系统重构的目标。通过在三轴铣床系统中添加刀具破损检测功能,说明本系统也能够集成其他外部传感器信号,实施用户特有的控制策略。

图7 具有刀具监控功能的
图7 具有刀具监控功能的软件系统组成 

5 结论

  FSM 作为系统的动态行为模型,使系统具有了行为重构能力,大大增强了开放性。基于有限状态机的行为建模的优点是:提供了构造系统动态行为的统一方式;可以对每个模块的行为单独检验,有助于错误的发现; FSM 采用层级方式管理,使系统的行为变化转变为对部分模块FSM 的修改;有限状态机基础类库提供了修改和存取模块内部控制逻辑的接口,使控制逻辑的定义与实现相分离。  

3
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。