机床控制流程的一种有限状态机表达方法

合集下载

实验3有限状态机

实验3有限状态机
对收集到的数据进行深入分析,以了解有限状态机的表现和优缺点。例如,我们可以分析不同输入下有限状态机的响 应时间、内存占用情况等,以便更好地理解其性能特点。
结果评估
根据实验目标和数据分析结果,对实现的有限状态机进行评估。评估指标可以包括功能完整性、性能效 率、可扩展性等。通过评估,我们可以了解实现的效果如何,以及需要改进的地方。
与流程图的区别
流程图描述的是一系列的决策和转移, 而有限状态机强调的是系统的状态和 状态之间的转换。
与数据结构模型的区别
与模拟器的区别
模拟器用于模拟系统的行为,而有限 状态机是一种用于描述系统行为的计 算模型。
有限状态机不仅关注数据结构,更关 注状态之间的转移逻辑和行为。
02 有限状态机的实现方式
THANKS FOR WATCHING
感谢您的观看
不足
在实验过程中,我们发现自己在有限状态机的设计和实现上还存在一些不足之处。例如,在状态转移逻辑的设计 上,我们有时会忽略一些重要的状态转移条件,导致程序运行结果不正确。此外,在代码实现方面,我们也存在 一些语法错误和逻辑错误,需要进一步加强代码审查和测试。
对未来研究的建议与展望
要点一
建议
为了进一步提高有限状态机的应用效果和性能,我们建议 在未来的研究中,可以从以下几个方面进行改进。首先, 深入研究有限状态机的设计方法和技巧,提高状态转移逻 辑的准确性和可靠性。其次,加强有限状态机的测试和验 证,及时发现和修复程序中的错误和问题。最后,探索有 限状态机在其他领域的应用,如人工智能、游戏开发等。
04 实验结果与讨论
结果展示
状态转移图
根据实验数据,绘制了有限状态机的状态转移图, 清晰地展示了各个状态之间的转移关系。

机器人程序设计中的状态机设计

机器人程序设计中的状态机设计

机器人程序设计中的状态机设计一、前言工业机器人系统通常分为机器人本体和控制器两大部分。

微控制器的主要作用是根据用户的指令对机器人本体进行操作和控制,为每一个不同的机器人设计不同功能的控制程序是一个设计者经常感到困扰的难题。

许多机器人都是有多个任务的,这些任务间是相关联的,且每个任务都有明确的细致要求,这就使得机器人的控制设计难度增大。

在此,有一种叫状态机理论的相关概念,它能用在机器人的控制程序设计上。

二、有限状态机理论有限状态机,又称有限状态自动机,简称状态机。

有限状态机理论构成有限状态机的具体内容是:有限状态机是由寄存器组和组合逻辑构成的硬件时序电路。

它是由有限个状态相互间的转换构成的,下一个状态不但取决于各个输入值,还取决于当前的所有状态。

在任意时刻,当前状态就只能存在一个。

只有在有事件输入的条件下,状态才会产生并发出一个输出。

对在给定时刻要进行的活动的描述的是动作。

它包括了进入动作、退出动作、输入动作和转移动作四个动作。

三、有限状态机的优、缺点有限状态机,又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。

它具有以下优缺点:优点:思路明确,内容简单易懂,状态间的关系明了,容易编程;只需要改动输出就可以改动机器人的动作要求;当发现程序不对时,更能快速的找到错误的点。

缺点:在每一个时刻,有且只有一个状态,没有并发性的表达方式,更不能描述异步并发系统;当设计需求的状态太多时,反而编程变得更耗时和困难。

四、基于状态转换方法的机器人的程序控制的设计实例状态机是具有基于状态的动态行为的机器。

它是一个动态系统,对时间和状态产生的时间做出反应。

一个状态机包含一组有限的状态和一组转换的集合。

其中状态描述运算中不同的阶段,而转换所描述的是如何使运算从一个状态变化到另一个状态。

依赖于此理论的有限性,才能发此理论用在机器人的编程设计上,设计时可以把机器人的每个动作按要求先合理分成多个状态,并给予特定的符号代表每个状态,在每个状态给予相应的输出要求,及机器人的动作和反映。

第十讲 有限状态机FSM

第十讲 有限状态机FSM

由状态机构成的硬件系统广泛应用在一般CPU无法胜 任的领域,如超高速串行或并行AD、DA的控制,硬 件串行通信接口RS232、PS/2、USB的实现等
--2008-10-Copyright@2008.邹云海
4
5.1 状态机设计相关语句---类型定义语句
VHDL允许用户自行定义新的数据类型,主要由类 型定义语句TPYE实现;
ARCHITECTURE ...IS
TYPE FSM_ST IS (s0,s1,s2,s3); SIGNAL current_state, next_state: FSM_ST;
Begin
……
--2008-10-Copyright@2008.邹云海
7
2、主控时序进程
主控时序进程负责状态机运转和在时钟驱动下负 责状态转换; 状态机向下一状态(包括再次进入本状态)的转 换仅取决于时钟信号的到来; 当时钟的有效跳变到来时,时序进程只是机械地 将代表次态的信号nexe_state中的内容送入现 态的信号current_state中,而nexe_state中 的内容完全由其他进程根据实际情况来决定。
END s_machine;
ARCHITECTURE behv OF s_machine IS TYPE FSM_ST IS (s0, s1, s2, s3); BEGIN BEGIN IF reset = '1' THEN current_state <= s0; --检测异步复位信号 ELSIF clk='1' AND clk'EVENT THEN current_state <= next_state; --数据类型定义,状态符号化 --将现态和次态定义为新的数据类型

有限状态自动机

有限状态自动机
25
自动机的应用
• 使用如上图所示的自动机,选择状态图上 任意的路径并记录得到的单词,便可以构 造合法的句子
• 同样,这个自动机也可以用来由识别用户 输入的句子,检查其是否符合特定的“模式”
• 试着自己设计一个能造句的FSA,并让其他 人使用你的FSA来造句
26
识别美元的自动机
27
识别派生词的自动机
• Google这样的搜索引擎公司也正是基于这 一点,依靠“爬虫”(crawling)在网页链接 间的探索,为我们提供索引信息
44
谷歌的PageRank算法
n
PR(a) q (1 q)
PR( pi )
i1 C( pi )
A
B
C
D
E
F
15% probability of a random jump
7
寻宝游戏
• 现在我们换一张有7座岛屿的地图,你的目 标是找到从海盗岛到金银岛的路线
• 唯一的问题是,地图上并没有标出箭头, 你需要自己去探索旅行的路线
• 为了达成这个目标,你可以问每座岛上的A 船或B船各驶向哪里
• 后面我们将具体解释如何进行这个游戏, 从而了解自动机的构造形式
8
岛屿地图
9
寻宝游戏
17
自动机的表示
• 如果某个输入的序列(例如BBAB),能够 从初始状态,经过状态转移之后,到达“终 结状态”,则说明这一输入是“可接受的” (acceptable)
• 在我们的例子中,“可接受”表示这是一条正 确的寻宝路线(并不一定是最短最好的), 在其他自动机的应用中,接受状态可能有 更具体的含义,如检查输入是否构成有效 的命令序列
• 请将以下形式的卡片对折,让没有目的地 信息的一面向上,这样你只能在到达某个 岛屿之后,才能“询问”岛屿的每艘船的目的 地——只需将卡片翻过来即可

第12讲有限状态机设计

第12讲有限状态机设计
有限状态机(FSM,Finite State Machine)是时序电 路设计中经常采用的一种方式,尤其适于设计数字系统 的控制模块。用 Verilog 的 case 、 if-else 等语句能很好地 描述基于状态型(Moore)状态机
米里型(Mealy)状态机
5状态编码
常用的编码方式
◆ 顺序编码
◆ 格雷编码
◆ 约翰逊编码
◆一位热码
一位热码编码选择对话框(Quartus Ⅱ)
状态编码的定义
在 Verilog 语言中,有两种方式可用于定义状态编码,分别用 parameter 和 'define 语句实现,比如要为 state0 、 state1 、 state2 、state3四个状态定义码字为:00、01、11、10,可采用下面两 种方式。 方式1:用parameter参数定义 parameter state1=2'b00,state2=2'b01,state3=2'b11,state4=2'b10; …… case(state) state1: …; //调用 state2: …; ……
用状态机设计模5计数器(单过程描述)
module fsm(clk,clr,z,qout); input clk,clr; output reg z; output reg[2:0] qout; always @(posedge clk or posedge clr) beginif(clr) qout<=0; //异步复位 else case(qout) 3'b000:begin qout<=3'b001; z=1'b0;end 3'b001: begin qout<=3'b010; z=1'b0;end 3'b010: begin qout<=3'b011; z=1'b0;end 3'b011: begin qout<=3'b100; z=1'b0;end 3'b100: begin qout<=3'b000; z=1'b1;end default: begin qout<=3'b000; z=1'b0;end endcase end endmodule

第2章 有限状态机及其扩展

第2章 有限状态机及其扩展

2
B
3
4
B,C[ctr<3]/[ctr:=ctr+1]
身份认证系统(具有条件和变量机制的有限状态机)
(最大允许错误次数为3)(err:报警状态; ctr:计数变量) X[con]/Y[exec]含义在于:所标注的状态转移关系在输入x且条件con成立下,转移至下一状态, 并输出y且执行exec。标注中的各项x、[con]、y或[exec]可以缺省。
6
(1) 基本概念
一个有限状态机包括:一个有限状态集,用于描述系统中 的不同状态;一个输入符号集,用于表征系统所接收 的不同输入信息;一个状态转移函数,用于表述系统 在接收不同输入下,从一个状态转移到另外一个状态的 规则。 状态转移函数:刻画其行为的最关键部分, 一个从Q到Q 的二元函数。状态转移函数通常可以用关系矩阵、状 态转移表或状态转移图的形式来表示。 有限状态机可用四元组 M = (Q, , , q0)或三元组 M = (Q, , )来表示。
16
(2) 有限状态机的复合
有限状态机M1 = (Q1, 1, 1, q10)和M2 = (Q2, 2, 2, q20) 的笛卡尔积
为M = M1 M2 = (Q, , , q0),其中, Q = Q1Q2; = (1 {})(2 {}); q0 = (q10, q20) Q1Q2; ((q1, q2), (a1, a2)) = (q1, q2) (q1, q2) (q1, q2) 无定义 1(q1, a1)=q1,a2 = ,a11 2(q2, a2)=q2,a1 = ,a22 1(q1, a1)=q1 , 2(q2, a2)=q2 , a11 , 其余
Chapter 2
有限状态机及其扩展
有限状态机

三段式状态机标准写法

三段式状态机标准写法

三段式状态机标准写法一、概述状态机是一种用于描述系统在不同状态之间转换的模型,广泛应用于各种领域。

三段式状态机是一种简单易懂的状态机,通常由三个状态组成:初始状态、中间状态和最终状态。

这种状态机适用于描述一些简单、有序的系统行为。

二、标准写法1.定义状态机类型和状态名称首先,我们需要定义状态机类型和各个状态名称。

通常,我们将状态机类型命名为“StateMachine”,状态名称使用英文单词或短句表示。

2.描述初始状态在状态机的开头,我们需要描述系统的初始状态。

初始状态通常是系统空闲或无任务的状态。

在代码中,我们可以通过一个变量来记录当前状态机的状态。

3.描述中间状态和最终状态中间状态是系统从初始状态转换到最终状态的过渡状态。

在描述中间状态时,我们需要说明该状态的作用和转换条件。

最终状态是系统完成某个任务后的最终结果状态。

4.编写状态转换函数根据状态机的描述,我们需要编写相应的函数来实现状态转换。

函数名应该与状态转换条件相对应,参数包括当前状态、转换条件等。

在函数中,我们需要根据转换条件判断是否进行状态转换,并更新当前状态。

5.示例代码为了更好地理解三段式状态机的标准写法,我们提供一段示例代码。

代码实现了一个简单的三段式状态机,用于描述一个系统从空闲状态开始,执行一个任务(中间状态),然后进入结果状态(最终状态)。

三、示例代码及解析```pythonclassStateMachine:def__init__(self):self.state=InitialState#初始状态deftransition_to_task(self,condition):ifcondition:self.state=TaskState#进入中间状态else:self.state=ResultState#未满足条件,系统回到初始状态classInitialState(object):passclassTaskState(object):passclassResultState(object):pass#示例代码:一个简单的三段式状态机示例sm=StateMachine()sm.transition_to_task(True)#系统进入中间状态(执行任务)#在此处添加执行任务的代码...sm.transition_to_task(False)#系统回到初始状态(未满足条件)```解析:上述代码实现了一个简单的三段式状态机,其中`StateMachine`类表示整个系统,`InitialState`、`TaskState`和`ResultState`分别表示系统的初始状态、中间状态和最终状态。

codesys状态机 用法 -回复

codesys状态机 用法 -回复

codesys状态机用法-回复Codesys状态机是一种用于编写程序的工具,通过使用状态机可以更加高效地管理复杂的程序逻辑。

本文将详细介绍Codesys状态机的用法,以帮助读者了解如何使用和优化状态机编程。

第一部分:介绍Codesys状态机Codesys状态机是一种基于有限状态机(FSM)原理的程序设计工具。

有限状态机是一种计算模型,它通过一个有限的状态集合和一组转换规则来描述系统的行为。

Codesys状态机基于这个概念,提供了一种结构化的方法来编写程序,并且可以更好地管理复杂的控制逻辑。

第二部分:Codesys状态机的基本原理Codesys状态机由状态、转换和行为组成。

状态表示程序所处的状态,转换定义了状态之间的关系,而行为则定义了在某个状态下所执行的操作。

第三部分:创建Codesys状态机在Codesys中创建状态机需要以下步骤:1. 定义状态:根据程序的需求,定义所有可能的状态,例如“停止状态”、“开始状态”、“运行状态”等。

2. 定义转换:根据状态之间的逻辑关系,定义转换规则。

每个转换规则由一个起始状态、一个结束状态和一组触发条件组成。

3. 定义行为:为每个状态定义对应的行为,即在某个状态下所执行的操作。

第四部分:实例分析现假设我们有一个简单的交通灯系统,只有三个状态:红灯、绿灯和黄灯。

我们可以使用Codesys状态机来设计这个系统。

1. 定义状态:我们定义三个状态:“红灯状态”、“绿灯状态”和“黄灯状态”。

2. 定义转换:根据交通灯的逻辑规则,我们定义三个转换规则:从红灯状态到绿灯状态(条件:红灯时间到);从绿灯状态到黄灯状态(条件:绿灯时间到);从黄灯状态到红灯状态(条件:黄灯时间到)。

3. 定义行为:对于每个状态,我们定义相应的行为。

例如,在红灯状态下,我们可以执行关闭绿灯和黄灯的操作,打开红灯;在绿灯状态下,我们可以执行关闭红灯和黄灯的操作,打开绿灯;在黄灯状态下,我们可以执行关闭红灯和绿灯的操作,打开黄灯。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

文章编号:1002-0411(2000)01-047-09机床控制流程的一种有限状态机表达方法雷为民1 于 东2 李本忍2 滕弘飞1(1.大连理工大学机械工程系 116024; 2.中国科学院沈阳计算技术研究所,高档数控国家工程研究中心 110003)摘 要:面向过程的IEC-1131-3规范已难以满足机床控制流程表达新的应用需求,为了更好地支持控制器开放式体系结构设计和面向对象系统实现技术,我们扩展了有限状态机的基本概念,提出了一种机床控制流程表达的分层式有限状态机(FSM )方法.本文首先对分层式FSM 的组织方法、特性、形式定义等进行了详细讨论;为了进一步阐明这种方法的表达特性,我们介绍了一种分层式FSM 表达的机床控制器总体结构,并讨论了这种结构下的开放性设计表达和系统实现等相关问题.a关键词:机床控制器,控制流程表达,分层式有限状态机,I EC-1131-3规范中图分类号:T P 391 文献标识码:B1 引言在机床控制系统的规划、设计与实现中,控制流程的设计表达是一个重要的环节,有效的设计表达不仅可以简化系统的复杂度、促进系统的快速实现、充分体现系统体系结构思想,而且可以通过这种形式主义的表达来验证控制流程的合理性,排除控制系统设计中的各种错误.目前在一般控制系统设计中,比较常见的控制流程表达工具是IEC -1131-3规范[2],在机床控制器设计(特别是控制器中的PLC 设计)中,IEC-1131-3具有广泛的应用基础. 机床控制系统正在经历着新的技术变革,支持开放式体系结构的系统设计和面向对象的系统实现已逐渐成为机床控制器设计和实现技术的主流.IEC-1131-3规范以结构化、模块化过程分析方法为基础,是一种面向过程的表达工具,已难以适应这种新的应用需求. 有限状态机(Finite State M achine,简称FSM )又称有限自动机(Finite Automaton,FA ),是一种具有离散输入输出系统的数学模型,它以一种“事件驱动”的方式工作,可以通过事件驱动下系统状态间的转移,来表达一个控制系统的控制流程. 有限状态机和面向对象程序设计具有相似的工作方式,其基本特性又非常适合表达动态控制行为,我们认为在有限状态机的概念基础上加以扩展,可有效地表达新型机床控制器的控制流程设计.2 有限状态机基本概念有限状态机是由状态的有穷集和状态之间的转移关系组成.其形式定义如下. 定义 FSM 是一个五元组,M =(Q ,2,D ,q 0,F ),其中 (1)Q 为有穷状态集;第29卷第1期2000年2月 信息与控制Infor mation and Contr o l V ol.29,N o.1 Feb.,2000a 收稿日期:1999-04-19 基金项目:中国科学院机器人学开放实验室基金课题(A970111)(2)2有穷的事件集;(3)D 为从Q ×2到Q 上的映射或称转移函数;(4)q 0在Q 中,它是初始状态;(5)F A Q 为终止状态集.FSM 具有状态转移表、状态转移图等多种描述方式.状态转移图是一种形象、直观的FSM 描述方式,它是一个有向图,有向图中的顶点对应于FSM 中的状态;顶点间的路径对应于FSM 中与顶点对应的状态间由于某特定事件e (e ∈2)引起的状态转移;FSM 中初始状态和所有的终止状态q f 1…q f n (q f *∈F )通常对应于具有特定标记的顶点.例如,下列有限状态机描述的是机床控制中某一局部的控制流程.其FSM 的完全表示为:FSM =(Q ,2,D ,q 0,F )其中,Q ={系统就绪,轴运动,刀具破损处理,系统停机}2={加工请求,轴进给,进给完成,刀具破损,人工换刀,刀具就绪,加工结束}D 包括:D (系统就绪,加工请求)=系统就绪;D (系统就绪,轴进给)=轴运动;D (轴运动,进给完成)=系统就绪;D (轴运动,刀具破损)=刀具破损处理;D (刀具破损处理,刀具就绪)=系统就绪;D (刀具破损处理,人工换刀)=系统停机;D (系统就绪,加工结束)=系统停机;q 0=系统就绪F ={系统停机} 其对应的状态转移图见图1.图1 机床控制中某一局部的F SM 状态转移图示例3 用于机床控制流程表达的分层式FSM3.1 机床控制的基本特征 机床控制的特征直接影响控制流程的表达.根据FSM 的表达特性,进行控制流程的系统规划时,要充分地考虑这些特征. 1)复杂的串级控制 机床控制被认为是一种复杂的串级控制,其主要控制流程通常被划分为三个层次:工艺控制、运动控制/逻辑控制、伺服控制/设备控制.三个层次的控制流之间同时具有顺序和并发的关系. 2)多闭环系统 机床控制通常具有多级反馈处理机制,是一种典型的多闭环系统. 3)控制策略的开放性需求48信 息 与 控 制29卷  随着开放式体系结构的发展,控制策略的可替换性、可修改性,也逐渐成为机床控制系统的基本特征.这要求FSM 表达的控制流程具有较强的“可配置性”或者是一种“自生成系统”. 4)智能控制支持需求 智能控制技术正逐渐渗透到机床控制中,所以对机床控制流程的表达要考虑对模糊控制、神经网络控制等控制策略的支持.3.2 分层式FSM 及其组织方法 根据机床控制的基本特征,我们提出一种分层式FSM 表达方法.分层式FSM 的组织类似于软件工程中结构化分析方法中的数据流图(DFD ).其组织原则是:1)状态和层次的划分机床控制是一个复杂控制系统,其控制行为可划分为多个相互协作的控制功能群,每个控制功能群又被划分为多个相互协作的控制功能子群,不能被细分的控制功能子群称为控制基元.见图2示意.图2 机床复杂控制系统控制功能划分示意图 在分层式FSM 中,每个控制基元对应着一个FSM 状态;多个控制基元组成的控制功能子群分别对应着一个FSM 及一个上层的FSM 状态;控制功能(子)群间的层次和逻辑关系构成了相应FSM 间的层次和逻辑关系.这样,机床控制系统的控制流程可由这样一组FSM 来表达:{一个顶层FSM ,若干个一层FSM ,若干个二层FSM ,…}.图3示意了分层式FSM 组织中的状态和层次关系.图3 分层式FSM 组织中的状态和层次关系示意图2)事件 FSM 通过对事件的响应、实现其状态转移,从而表达控制流程的演变.由于机床控制流程491期雷为民等:机床控制流程的一种有限状态机表达方法的三个层次间同时具有顺序和并发的关系,分层式FSM 采用一种支持并发的顺序事件模型.事件按照其来源,被分为两类:系统事件和用户事件.与反馈相关的事件通常被设定为系统事件(或称外部事件),其他事件均被设定为用户事件(或称内部事件),在系统实现中,系统事件和用户事件被分别组织成两个事件队列,在并发FSM 中,对系统事件的响应通常具有更高的优先级. 为了更形象地表达分层式FSM 的层次关系,根据事件对应的目标状态的形式,事件被分为两类:分枝事件和叶子事件,如果事件对应的目标状态可被分解为一个低层FSM ,则称该事件为分枝事件,如果目标状态是不可再分解的,则称这个事件为叶子事件. 在机床控制流程的FSM 表达中,事件是一个二元组(e ,a ),“e ”代表事件的触发器,“a ”是图4 机床控制的分层式FSM 表达中的事件指执行一种控制行为.见图4示例. *这里e =一次插补周期完成; A =某个函数():其主要功能是:将对各运动轴插补结果或生成的运动控制程序传递给运动控制部件. *这个事件是一个分枝事件. *这个事件是一个用户事件.3.3 事件、状态和层次间的协调 任何分枝事件总是与一个代表同一事件的叶子事件对应,分枝事件只是这个叶子事件在上层FSM 中的表达形式. 同一FSM 中状态间的转移是由事件驱动的,同一层次的不同FSM 之间通常没有通信问题,如果这些不同FSM 中的状态所表达的控制流具有并发的特性,它们之间的同步是由上层同一FSM 中的状态来协调的. 在机床控制流程的分层式FSM 表达中,一般总是上层FSM 协调其相关的下层FSM 或状态间的控制行为;另外,机床逻辑控制FSM 也起着重要的协调作用,机床逻辑控制FSM 通过其底层FSM 向其他FSM 发送事件并收集状态,来有效地协调系统的控制流程. 上层FSM 对下层FSM 间的协调,引发了上下层FSM 间的通信问题.为了支持这种通信,在分层式FSM 的实现中,每个FSM 都有一组通信端口,同层的不同FSM 间共享通信端口,但同时只能有一个FSM 响应某一特定事件.为了引用一个低层FSM ,上层FSM 发送一个事件到下层FSM 的通信端口;当下层FSM 到达终止状态时,发送一个终止通知事件到上层FSM 的通信端口. 图5中,2层FSM 是1层FSM 中“轴控制”状态对应的低层FSM ,两层FSM 间的通信是通过相应的通信端口和一个公共的通信对象完成的.3.4 FSM 的管理属性 分层式FSM 由位于不同层次相互关联的多个FSM 组成,其中,每个FSM 都有一组独立的管理属性,包括: (1)带有层次和关联信息的唯一标识 任何FSM 状态都有一个全局性的ID ,ID 是一个分节的字串,如“2.3.1”等,其含义为: 第一节为‘2’,表示在顶层FSM 中与状态2相对应;第二节为‘3’,表示在相应的1层FSM 中与状态3相对应;末节为‘1’,表示在本FSM 中,状态编号为‘1’.50信 息 与 控 制29卷 图5 不同层次FSM 间的通信机制示意图 FSM 的标识和与其对应的上层FSM 中的状态的ID 是完全一致的. (2)可替换性标志 一个布尔类型值.它标识在控制器生成时,这个FSM 是否可被具有同样功能接口的其他FSM 所替换. (3)可删除性标志 一个布尔类型值.它标识在控制器生成时,这个FSM 是否可被删除.如果这个FSM 是系统控制流程中的“关键路径”,那么它是不可删除的. (4)外部引用事件集合 引用这个FSM 的所有事件的集合.它和终止事件集合一起构成了FSM 功能接口. (5)FSM 终止事件集合 如果一个事件触发的转移函数的目标状态不在这个FSM 之内,我们称这个事件为FSM 终止事件.终止事件集合是FSM 功能接口的一部分. 管理属性的定义,使得这种改进的FSM 不仅可以更灵活地表达机床控制流程,而且是控制器可配置性设计的基础.3.5 分层式FSM 的形式定义 分层式FSM 是根据机床控制系统的基本特征和控制流程表达的需求,在传统有限状态机概念的基础上扩展而成的一种有限状态机系统.按照我们对其基本特征的讨论,其形式定义可用巴克斯范式表示为: 分层式FSM ::=<多层FSM >+<全局通信对象> <多层FSM >::=<单层FSM >+<单层FSM 通信接口>+[{<单层FSM >+<单层FSM 通信接口>}] <单层FSM >::=<单元FSM >+[{<单元FSM >}] <单元FSM >::=<FSM >+<管理属性集> <FSM > ::=<状态集>+<事件集>+<转移函数集>+<初始状态>+<结束状态集> <状态集> ::=<状态>+[{<状态>}] <状态> ::=<单元FSM >û<元状态>511期雷为民等:机床控制流程的一种有限状态机表达方法4 分层式FSM 表达机床控制流程的几个相关问题4.1 控制器总体结构 控制流程的设计表达要直接面向系统的实现,根据机床控制流程的特点,我们设计的控制器总体结构可表达为:见图6.图6 分层式FSM 表达的机床控制器总体结构 在这个设计表达中,控制器由多个可以并发的任务组成,每个任务包含一组耦合较强的控制流程,完成一组特定的控制功能.在图6中,加工控制任务对应着顶层FSM 表达;其他任务分别对应着某个FSM 状态,并一起构成了一层FSM 表达;一层FSM 中的状态转移,是通过任务间的通信(全局通信对象,可用共享内存等机制实现)实现的.4.2 控制器的开放性设计表达 控制器的开放性设计表达主要体现在两个方面. (1)任务FSM 的引入,使得控制系统具有增强的可配置性. 我们注意到在图6中,每个任务中都包含两种FSM :一个“任务FSM ”;一个或两个“功能FSM ”.这里,“任务FSM ”的主要功能是管理本任务中“功能FSM ”的生成、配置和执行.其状态转移图见图7.图7 任务F SM 的状态转移图52信 息 与 控 制29卷  任务FSM 在配置状态下,将根据用户需求和机床特性组合相应的功能FSM 部件,并对其进行各种参数配置. (2)FSM 管理属性是可配置性表达的基础 机床控制流程的FSM 表达中,所有的FSM 被称为系统元件,如果两个元件具有同样的功能接口,并且其管理属性中的可替换性标志均为真,则这两个元件被称为是“相似”的.在控制生成和配置时,相似的系统元件是可以被相互替换的,这将有助于控制策略的开放性实现.如,对于“轴控制FSM ”之下的“速度调节FSM ”,可以有“基于PID 的速度调节FSM ”、“基于模糊控制的速度调节FSM ”、“基于用户定制的速度调节FSM ”等多个相似的系统元件.对相似系统元件的选定并不影响控制系统的整体结构,具有相似性的系统元件所表达的控制流程粒度越小,控制系统的开放程度将越高.另外,FSM 的可删除性,直接支持系统为适应机床规模特性而进行的参数调节. FSM 的功能接口、相似性判断、可替换性判断、可删除性判断等均依赖于FSM 管理属性中的信息,所以说,FSM 管理属性是系统可配置性表达的基础.4.3 设计表达与系统实现 有限状态机的基本工作方式是“事件驱动”,这和面向对象程序设计有本质的一致性.分层式FSM 设计是直接面向系统实现的,将系统设计转化为系统的面向对象实现时,可采用下列规则: (1)相似的FSM 系统元件的共性被抽象为类,其特性体现在类的派生; (2)FSM 的管理属性是类的属性; (3)分层式FSM 中的任何一个FSM (不论层次)均对应一个具体的对象; (4)所有的FSM 状态均对应一个具体的对象,状态对象是其相应FSM 对象的公有成员; (5)一个FSM 和其对应的上层FSM 状态对应着同一个对象; (6)同层FSM 通信接口是同层FSM 类的静态成员函数; (7)系统通信对象类是所有FSM 类的友元; (8)事件的触发对应着源状态对象类成员函数,事件的响应对应着目标状态对象类成员函数; (9)实现系统事件队列和用户事件队列,由一个队列管理对象进行管理; (10)FSM 状态转移函数是通过事件触发、事件管理、事件响应所对应的三个不同的对象成员函数实现的.5 评价和结论机床控制流程的分层式FSM 表达设计,是我们BS-2000软件数控[1]研究项目的一部分,这个研究项目的主要内容包括两个方面:(1)完全用PC 应用软件的形式实现机床控制中的伺服控制;(2)机床控制策略的用户开放性实现方法.在项目研究中我们发现,机床控制流程的表达是一个非常重要的问题,有效的设计表达,不仅有助于我们迅速掌握机床控制流程的主要特征,抓住系统实现的主要问题,有效地支持系统的开放式体系结构,而且可以简化系统的复杂程度,有利于控制原型系统的快速实现. IEC-1131-3规范是由国际电工协会(International Electr otechnical Comm issio n)于1993年推出的一个控制流程表达工具,,这个规范实际上是一种主要面向可编程控制器(PLC)的程531期雷为民等:机床控制流程的一种有限状态机表达方法54信 息 与 控 制29卷 序设计语言,其主要内容包括用于表达程序结构的有序功能图(Sequential Functio n Char ts, SFC)及四种操作语言:指令列表(Instr uction List,IL)、梯形图(Ladder Diagr am,LD)、功能块图(Function Block Diagram,FBD)和结构化文本(Structur ed T ex t,ST).IEC-1131-3规范具有较强的流程描述能力,并且支持系统的可配置性设计,在控制系统设计中获得了广泛的应用. 但随着相关技术的进步,IEC-1131-3规范的局限性已阻碍了它的深入应用.其局限性主要表现在: (1)与面向对象程序设计具有较大的语义差距 IEC-1131-3规范强调面向过程的结构化设计,是一种过程程序设计语言,与面向对象语言具有较大的语义差距.而目前,面向对象已成为控制系统实现的主流技术,这种较大的语义差距使得控制系统的设计和实现难以统一,增加了系统实现的难度. (2)可配置性设计支持不够充分 IEC-1131-3规范通过支持结构化控制模块、变量参数方式等支持系统的可配置性设计,随着开放性需求的增长,可配置性设计要求支持“控制策略的用户定制”等更深入的开放性, IEC-1131-3规范已难以满足这样的需求. 为了克服上述局限性,我们在有限状态机概念的基础上加以扩展,并借用了软件工程中数据流图、软件数控参考模型[1]中的管理层面等分析方法和基本思想,提出了用以描述机床控制流程的分层式FSM方法. 有限状态机“事件驱动”的工作方式与面向对象程序设计的“消息驱动”是完全一致的,它们有非常相似的语义.有限状态机基于“事件驱动”的“状态转移”也非常适合动态控制流程的表达,分层式FSM进一步增强了这种表达能力,不仅通过层次划分和相关通信机制的引入,支持复杂控制流程的表达,而且通过在FSM上附加管理属性,更充分地支持机床控制系统的可配置性设计. 我们采用分层式FSM方法设计了BS-2000机床控制器的部分控制流程(运动控制的一部分),并用C++进行了系统实现,可以认为这是一种非常有效的机床控制流程表达方法.在实验中我们还发现,分层式FSM虽然采用一种支持并发的顺序事件模型,但对复杂系统中并发控制流称的表达并不是特别有效,这是这种方法有待改进的的地方.参 考 文 献1 雷为民,乔建中,李本忍,滕弘飞.关于软件数控的一些基本构想.小型微型计算机系统,1999,20(2):81~872 PLC Open Ass ociation.T he IEC1131-3s tandard,http://ww /s tddscr.htm3 Chito Shiu,M ichael J W ashbu rn,Shige W ang,Chinya Ravishanker.Specifying Reconfigurable C on tr ol Flow for Open Arch itecture Controllers.Proc.1998Jap an-U SA.Sympos ium on Flexible Automation,Ohtsu,Japan,July1998:659~6664 S K Birla.S oftw ar e M odelin g for Reconfigur able M achine T ool Controllers.Ph.D.Dis ser tation,T he University of M ichigan,Ann Arb or,M I,M ay19975 邹海明.周 新.形式语言、自动机和语法分析.武汉:华中工学院出版社,19856 Har el D.State Charts:A Vis ual Formalis m for Com plex Sys tems.Scien ce of Computer Programming,1987,8(3):231~274(下转第75页)ral Network s,1995,6(1):144~1553 Goldberg D E .Genetic Algorithms in Search ,Optim ization &M achine Learn ing .Addison Wesley ,1989TRAINING OF DIAGONAL RECURRENT NEURAL NETWORKPREDICTIVE CONTROLLER USING GENETIC ALGORITHMSZHANG A -bu HU ANG Wei -bin(De p t .of A utomation ,X iamen Univ er sity ,X iamen 361005)Abstract :T his paper pro po ses a neur al netw or k predictiv e contr ol scheme based on g eneralized predic-tiv e contr ol (GP C).T he predictiv e contr oller is made of diag onal r ecurr ent neur al netw o rk predictiv e con-tr oller (DR N PC)and feed for w ard neur al netwo r k steady-stat e co mpensato r (F N C).T wo kinds o f neur al net-wo rks ar e trained using genetic alg or ithms.T he sim ulation results show sa tosfacto ry per for mance o f t he neu-ral netw or k pr edict ive co nt ro ller for no nlinear plants w ith dead time .Key words :gener alized predictiv e contr ol,neural netw or k,genetic alg or ithm作者简介张阿卜(1946-),男,副教授.研究领域为预测控制,模糊控制,神经网络,遗传算法等.黄伟斌(1974-),男,硕士.研究领域为神经网络,遗传算法及其应用等.(上接第54页)A HIERARCHICAL FSM METHOD FOR CONTROLFLOW OF MACHINE TOOLLEI Wei -min 1 YU Dong 2 LI Ben -ren 2 T ENG Hong -fei1 (1.Dalian Univ ersity of T echnology 116024; 2.S henyang I nstitute of Comp uting Tec hnology ,Chinese A cademy o f S ciences 110003)Abstract :T he pro cedure -or iented IEC-1131-3specificatio n has poo r capability to suppo rt the open ar chi-tecture desig n and object -or iented implementation in r epr esent atio n of the co nt ro l flo w o f machine too l .In or -der to meet t he new r equir ement ,w e ex tended the co ncept of Finite St ate M achine ,and pr oposed a new hier -archical FSM metho d for r epresenting the co ntro l flow o f ma chine too l.I n this paper ,the o rg anizatio n,pr op-erties and for mal definitio n of hier archical FSM are discussed in det ail.A kind of g ener al structur e based on hier archical F SM r epresentatio n of machine to ol co ntr o ller is descr ibed .M or eov er ,the pr oblems r elated t o repr esenting o penness and sy stem implement atio n a re also discussed.Keywords :machine to ol co ntro ller ,co nt ro l flow r epr esentatio n,hier ar chical F SM ,IEC-1131-3specifi-ca tio n作者简介雷为民(1969-),男,助理研究员,博士生.研究方向为数控技术、计算机应用、智能控制.751期张阿卜等:采用遗传算法训练对角递归神经网络预测控制器。

相关文档
最新文档