您现在正在浏览:首页 > 职教文章 > 职教论文 > 有限状态机在数控系统软件中的应用研究

有限状态机在数控系统软件中的应用研究

日期: 2012/1/14 浏览: 1 来源: 学海网收集整理 作者: 佚名

有限状态机在数控系统软件中的应用研究

李为建  王文  秦兴

浙江大学 现代制造工程研究所 , 浙江 杭州  310027

摘要 :在数控系统软件开发中 ,控制软件的开发是开发的关键。针对数控系统复杂性和实时性特点 ,把有限状态机应用在

数控系统软件开发中 ,构造了控制器软件结构 ,并应用于数控系统的原型开发。

关键词 :有限状态机 ;数控系统 ;软件结构

中图分类号 : TP273  文献标识码 :A  文章编号 :1001 - 2265(2003) 04 - 0050 - 02

Study on the application of finite state machine in CNC software

L I Weijian  WAN G Wen  QIN Xing

Abstract : The development of control software is the key in developing CNC software. Controller software architecture was con2

structed in the development of CNC software using Finite State Machine. Finally , by applying the proposed controller software ar2

chitecture , a CNC system prototype is constructed.

Key words : Finite State Machine ;CNC ; software architecture

图 1  三状态 FSM 状态转换图

 图 2  控制器软件结构图 图 3  构件图

1  引言

一个系统如果在它生存期内行为有改变 ,则称系统具有动

态行为[1 ] 。有限状态机是一种具有离散输入输出系统的数学模

型 ,它以一种“事件驱动”的方式工作 ,可以通过事件驱动下的系

统状态间的转移表达一个系统的动态行为。它作为有限自动控

制理论的一部分 ,应用在很多领域 ,如集成电路设计、正规表达

分析器及控制理论等[2 ] 。数控系统是一个复杂且具有不同层次

实时性要求的多任务控制器。在数控系统软件的开发过程中如

何准确地分析和表达系统的控制流程和行为是关键 ,同时也影

响着系统的开发时间和可靠性。本文结合有限状态机的工作原

理介绍如何把有限状态机应用在数控系统的软件开发过程中。

2  有限状态机的基本原理

有限状态机 (Finite State Machine ,简称 FSM) 是由状态的有

穷集和状态之间的转换关系组成 ,其数学定义[1 ,3 ]如下 :

FSM 是一个五元组[ A , Z , S ,υ,ζ] ,其中

·A 是有穷输入集 : A = { a0 , a1 , . . . , an} ,

·Z 是有穷输出集 : Z = { z0 , z1 , . . . , z n} ,

·S 为内部状态集 : S = { s0 , s1 , . . . , sn}

·υ为映射 S ×A →S ,可看作是状态转换映射 ,

·ζ为映射 S ×A →Z ,可看作是输出映射。

FSM 的工作原理可解释如下 :给定一组状态集 S 和输入集

A 的前提下 ,一但输入 an - 1 和状态 sn - 1 确定 ,在映射υ和ζ作

用下 ,则可确定 FSM 的下一个状态 sn 和输出 z n 。这一工作原

理可以通过状态转移表、状态转换图等方式描述。如 ,一个系统

具有三个状态 ,通过状态转换图描述如图 1 所示;通过状态转移

表描述如表 1 所示。FSM 下一个状态的到达依赖当前输入和

当前状态;而输出也依赖输入和当前的状态。

表 1  三状态 FSM 状态转移表

当前状态 输入 下一状态 输出 输入 下一状态 输出

S0 0 S1 0 1 S0 1

S1 0 S2 1 1 S1 0

S2 0 S0 1 1 S2 0

3  基于有限状态机的数控系统软件结构

3. 1  控制器软件结构

数控系统是多任务、强实时性要求的计算机控制系统。控

制器软件和应用软件是组成数控系统软件的两部分[4 ] ,而构造

控制器软件是关键。图 2 为控制器软件结构图 。控制器软件运

行在相应的软硬件平台 (计算机和操作系统) 上 ,定义了系统的

功能 ,并向上提供服务 ,而应用软件定义了系统的行为[5 ] 。

控制器软件由构件构成 ,构件可以是组件 (二进制兼容) ,也

可以是面向对象中的类等 ,同时构件也可以复合而成为复合式

构件。在软件分析时可以采用面向对象分析 ,具体实现时可以

用组件实现也可以用面向对象等其它方法实现。

05                                            组合机床与自动化加工技术

图 4  轴及控制器结构图

图 5  控制器软件主要类关系图 图 6  控制器嵌套 FSM

图 7  轴 FSM 驱动器状态转换图

3. 2  构件结构

构件由一系列的外部事件接口、FSM 驱动器构成 ,如图 3

所示。

外部事件接口定义了构件功能的操作集 ,只有通过外部事

件接口才能触发构件的实际功能 ,而这种机制是由 FSM 驱动器

实现的。FSM 驱动器通过查询触发事件 ,如果事件是在 FSM

驱动器中注册的 ,那么调用相应的功能函数 ,否则不予处理。

为了支持不同粒度的复合 ,构件可以通过层次结构进行组

织而成为复合式构件。复合式构件的行为可以通过嵌套的有限

状态机 (NFSM) 模型化并与其成员构件的 FSM 同步。

嵌套的行为模型有两个明显的优点 :1) 它支持行为在层次

结构上的集成和修改 ,因此 ,降低了系统行为分析和修改的复杂

性。2) 因为 FSM 可以完全通过一张状态表说明 ,从而方便了控

制逻辑的实现和运行时的重新配置。

3. 3  FSM 驱动器

FSM 驱动器设计的主要目的是把构件的功能定义与控制

逻辑分离 ,这样软件行为的规范和修改可以与软件的实现分离 ,

以提供更大的柔性。其中包含以下几个概念 :

1) 状态 :一个系统所处的状况。

2) 转换 : < 事件 ,条件 ,行动 ,下一个状态 > 的联合。

3) 事件 :行动的请求。

4) 条件 :一个布尔表达式 ,作为转换的“监护者”,当表达式

的值为真时 ,转换被触发 ,执行转换中指定的行动 ,状态机改变

到下一个状态。

5) 行动 :与状态转换关联的执行函数。

FSM 驱动器可以看作是访问和修改构件内部控制逻辑的

接口。需要行为控制的构件都应具有 FSM 驱动器。一个构件

的控制逻辑完全可以由一个状态表说明以供 FSM 驱动器执行。

FSM 驱动器根据状态表和事件产生命令以触发运行时的控制

对象。

4  实例应用

基于以上控制器软件结构 ,将其应用于三轴铣床数控系统。

该系统采用″NC 嵌入 PC″结构 ,由 PC 机和运动控制器构成。PC

机主要负责系统的管理功能及与运动控制器通讯。运动控制器

主要负责实时性控制 ,完成轨迹规划和运动。控制器软件主要

功能是控制运动控制器以协调三轴的运动最终完成相应的轨迹

运动。控制器软件的实现是基于以上软件结构和机制的。

4. 1  控制器软件构成

控制器软件的构件主要包括控制算法、物理设备驱动程序、

子系统等。图 4 为轴构件和控制器软件组成图。控制器软件中

的一些高层构件主要有 :

轴 :接受控制命令并发出控制信号以控制相应轴完成预定

的运动轨迹 ;

数控代码编译器 :解释数控代码以供控制规划使用。

4. 2  控制器软件实现

在构造控制器软件时我们采用了面向对象实现。其中主要

的类关系如图 5 所示。

在用状态机描述控制器软件的行为时 ,我们主要在以下两

种情况下使用状态机 :第一种情况 ,它是与某个类相联的 ,完整

地定义了该类对象的行为 ,那么该类从有限状态机类继承 ,如其

中的轴类。当客户发出的请求被发送到拥有状态机的对象时 ,

状态机按照接收到的事件决定采取什么样的行动来实现状态的

转换。第二种情况 ,独立于功能模块 ,它为完成一定的功能把一

些操作集中到一起并且规定了激活它们的顺序。它作为一个单

独的类而被定义 ,当执行这些方法时要调用一些其它的类或者

其它的状态机所包含的操作 ,如轴 FSM 驱动器类。

控制器软件的 FSM 形成一个嵌套的 FSM ,如图 6 所示。

在系统级上 ,控制器类实现对整个系统的协调 ,如可以选择

不同的操作模式 (自动、手动) 、回零操作等。它从有限状态机类

继承 ,是最上层的 FSM。控制器类包含的轴类从有限状态机类

继承 ,有限状态机负责控制轴的行为 ,包括轴的使能控制、复位、

停止等。

在子系统级上 ,轴 FSM 驱动器嵌套在轴 FSM 中 ,控制和协

调手动、自动和回零三个对象的功能行为。它的 FSM 如图 7 所

示。轴的初始状态为使能无效状态 ,只有轴进入允许使能状态

才能进入下一级的功能 FSM。

5  结论

把有限状态机应用到数控系统软件开发过程中 ,一方面规

范了系统的行为和控制流程 ,缩短了数控系统的开发周期 ,增加

了系统的可靠性 ;另一方面 ,构造的 FSM 驱动器把软件单元 (构

件) 的功能定义和控制逻辑分离 ,提高了系统的柔性。

(下转第 53 页)

152003年第4期                                                   

图 3  动态画面效果图

图 4  报表程序流程框图

  1) 软件系统建立在 windows 98/ windows 2000 的操作平台

上。

2) 兼容中英文输入、输出 ;提供一个友好图形界面 ,通过运

用鼠标点击 ,方便地选择菜单。

3) 数据自动编辑、存储、写入、处理 ;收集和分析数据历史记

录 ,根据要求自动绘制工作特性曲线。

4) 提供可随时查看的有实时数据显示的中文电子表格 ,并

可随时输出打印。该系统的软件设计主要为检测参数动态模拟

程序设计部分和输出报表程序设计部分。

3. 1  检测参数动态模拟程序设计

该系统检测参数动态模拟是利用“组态王”工业控制组态软

件包进行开发。“组态王”是运行于 Microsoft windows 98/ N T

中文平台的全中文界面的组态软件。动态画面的开发和运行由

工程浏览器调用画面制作系统 TOUCHMA K 和画面运行系统

TOUCHEW 来完成的。TOUCHMA K是应用程序的开发环境 ,

TOUCHVEW 是“组态王”软件的实时运行环境 , TOUCHVEW

从工业控制对象中采集数据 ,将其记录在实时数据库中 ,并负责

把数据的变化用动画的方式形象地表示出来。画面效果如图 3

所示。动态画面采用常规指针式仪表结合数字显示 ,直观明了 ,

试验操作者既可从数字显示观察实时试验数据 ,又能从指针的

变化 ,预测动态变化趋势。

3. 2  输出报表程序设计

输出报表软件采用 Visual C ++ 6. 0 软件开发 ,在 windows

98/ N T 中文平台上 ,其具有占用内存少、速度快、编程方便的优

点。报表程序框图如图 4 所示。将显示器画面转到报表画面 ,

每 10 秒采集更新一组数据 ,每 5~10 分种记录存贮最后采集的

一组数据 ,并将数据自动填入表中。

4  系统应用效果

本系统应用于湖南湘潭电机集团公司 108 吨电动轮自卸汽

车制造过程中 ,对进口的 1200 匹马力的柴油发动机性能进行检

测 ,取得了良好的社会及经济效果 ,其突出的特点有如下几点 :

1) 该系统操作简单 ,人机界面友好 ,动态画面直观明了。2)

采用 IPC 工控机和 PLC 分别作为系统数据处理及操作控制 ,系

统抗干扰能力强 ,

性能可靠 ,运行稳

定 ,造价低 ,非常适

合于现有测试系统

的改造。

3) 测试参数数

据自动生成报表 ,

大大减少了人工抄

表的观察误差与劳

动强度 ,大大地提

高了工效 (原先每

班试验需 10 ~ 12

人操作读表抄表 ,

现只需 2 人) 。

5  结束语

采 用 IPC 工

控机和 PLC 作为

工业控制上的数据

处理单元和控制单元 ,将

以其优良的性能 ,较好的

性价比 ,广泛地应用于工业现场的监视、检测与控制 ,本系统仅

是其中应用之一。

[参考文献 ]

[1 ] 金昊等. PC 自动化测试技术及软件结构. 自动化仪表 ,

1999 ,20(4) :1~3

[2 ] 徐科军等. 自动检测和仪表中的共性技术. 北京 :清华大学

出版社 ,2000

[3 ] 黎苏. 汽车发动机动态过程及其控制. 北京 :人民交通出版

社 ,2001

[4 ] 袁任光等. 可编程序控制器 ( PC) 应用技术与实例. 广州 :华

南理工大学出版社 ,2001

收稿日期 :2003 - 01 - 15

作者简介 :胡俊达 (1954 - ) ,男 ,湖南长沙人 ,湖南工程学院

电气与信息工程系副教授。 (编辑  李秀敏)

(上接第 51 页)

[参考文献 ]

[1 ] Jean - Pierre Kruth , etc. The use of finite state machines for

task - based machine tool control , Computers in Industry ,46 ,

2001

[ 2 ] NIST. FSM REFERENCE DOCUMEN TATION , http :/ /

www. isd. mel. nist. gov/ omacapi/ FSMlibrary

[3 ] 雷为民等. 机床控制流程的一种有限状态机表达方法 1 信

息与控制 ,2000 ,29(1)

[4 ] 冯勇等. 现代计算机数控系统. 北京 :机械工业出版社 ,1996

[5 ] Shige Wang and Kang G. Shin. Modelling Manufacturing Con2

trol Software , Proceedings of the 2001 IEEE International

Conference on Robotics & Automation , Seoul , Korea - May

21 - 26 ,2001

收稿日期 :2002 - 08 - 02

作者简介 :李为建 (1977 - ) ,男 ,黑龙江鸡西人 ,浙江大学现

代制造工程研究所在读硕士研究生。 (编辑  江复)

352003年第4期                                                   


有限状态机在数控系统软件中的应用研究.pdf

返回顶部