『壹』 基于matlab的通信仿真系统设计

GUI中通过控件调用M里面的函数,也可以和simulink建立联系,可有simulink输出波形,并给出分析。基本上你的题目已经涵盖了Matlab的三个系统,即GUI,M,simulink。自己学习并从简单操作开始吧。

基于MATLAB 的扩频通信系统仿真研究
范伟 翟传润 战兴群
(上海交通大学电子信息与电气工程学院,200030,上海)
摘要 本文阐述了扩展频谱通信技术的理论基础和实现方法,利用MATLAB 提供的可视化
工具Simulink 建立了扩频通信系统仿真模型,详细讲述了各模块的设计,并指出了仿真建模
中要注意的问题。在给定仿真条件下,运行了仿真程序,得到了预期的仿真结果。同时,利
用建立的仿真系统,研究了扩频增益与输出端信噪比的关系,结果表明,在相同误码率下,
增大扩频增益,可以提高系统输出端的信噪比,从而提高通信系统的抗干扰能力。
关键词 扩频通信, 信噪比, 误码率, 扩频增益
中图分类号:TN914.42 文献标识码:A
Simulation of the Spread Spectrum Communication System
Based on MATLAB
FAN Wei, ZHAI Chuan-run, ZHAN Xing-qun
(School of Electronic, Information and Electrical Engineering, Shanghai Jiaotong University, 200030, Shanghai)
Abstract: The theory base and realizing methods of the spread spectrum communication
technology was presented in this study. The simulation model of the spread spectrum
communication system was built by using SIMULINK, which is provided by MATLAB. In
addition, each mole of the simulation model was introced in detail,and pointed out the
problems that must be pay attention to in the system simulation. On the basis of the designed
simulation conditions, the simulation program was run and the anticipant results were gained.
Moreover, the relationship between the spread spectrum gain and the fan-out error rate was also
studied by use of the simulation system. The results showed that on the base of the same error rate,
if the spread spectrum gain was enlarged, the Signal-to-Noise of the system fan-out would be
enhanced and the anti-jamming capability of the communication system would also be enhanced.
Keywords: spread spectrum communication, Signal-to-Noise, error rate, spread spectrum gain
1 引言
扩展频谱通信(简称扩频通信)与光纤通信、卫星通信,一同被誉为进入信息时代的三
大高技术通信传输方式,它是指发送的信息被展宽到一个很宽的频带上,在接收端通过相关
接收,将信号恢复到信息带宽的一种系统。采用扩频信号进行通信的优越性在于用扩展频谱
的方法可以换取信噪比上的好处,即接收机输出的信噪比相对于输入的信噪比有很大改善,
从而提高了系统的抗干扰能力。本文根据扩频通信的原理,利用MATALB提供的可视化仿真工
具Simulink建立了扩频通信系统仿真模型,研究了扩频通信的特性和扩频增益与输出端信噪
比的关系,目的是为以扩频通信为基础的现代通信的研究和设计提供依据。
2 扩展频谱通信技术
2.1 理论基础
扩频通信的基本理论是根据信息论中的Shannon 公式,即
log (1 / ) 2 C = B + S N (1)
式中:C为系统的信道容量(bit/s);B为系统信道带宽(Hz);S为信号的平均功率;N为噪
声功率。
Shannon公式表明了一个系统信道无误差地传输信息的能力跟存在于信道中的信噪比
(S/N)以及用于传输信息的系统信道带宽(B)之间的关系。该公式说明了两个最重要的概
念:一个是在一定的信道容量的条件下,可以用减少发送信号功率、增加信道带宽的办法达
到提高信道容量的要求;一个是可以采用减少带宽而增加信号功率的办法来达到。
扩频增益是扩频通信的重要参数,它反应了扩频通信系统抗干扰能力的强弱,其定义为
接收机相关器输出信噪比和接收机相关器输入信噪比之比,即
d
s
d
s
i i B
B
R
R
S N
S N
G = = =
/
/ 0 0 (2)
式中,Si和S0分别为接收机相关器输入、输出端信号功率;Ni和N0分别为相关器的输入、输出
端干扰功率;Rs为伪随机码的信息速率,Rd为基带信号的信息速率;Bs为频谱扩展后的信号带
宽,Bd频谱扩展前的信号带宽。
2.2 实现方法
扩频通信与一般的通信系统相比,主要是在发射端增加了扩频调制,而在接收端增加了
扩频解调的过程,扩频通信按其工作方式不同主要分为直接序列扩频系统、跳频扩频系统、
跳时扩频系统、线性调频系统和混合调频系统。现以直接序列扩频系统为例说明扩频通信的
实现方法。图1为直接序列扩频系统的原理框图。
图1 直接序列扩频系统原理图
由直扩序列扩频系统原理图可以看出,在发射端,信源输出的信号与伪随机码产生器产
生的伪随机码进行模2加,产生一速率与伪随机码速率相同的扩频序列,然后再用扩频序列
去调制载波,这样得到已扩频调制的射频信号。在接收端,接收到的扩频信号经高放和混频
后,用与发射端同步的伪随机序列对扩频调制信号进行相关解扩,将信号的频带恢复为信息
序列的频带,然后进行解调,恢复出所传输的信息。
3 系统仿真模型的建立
3.1 Simulik 简介
MATLAB 最初是Mathworks 公司推出的一种数学应用软件,经过多年的发展,开发了包括
通信系统在内的多个工具箱,从而成为目前科学研究和工程应用最流行的软件包之一。
Simulink 是MATLAB 中的一种可视化仿真工具,是实现动态系统建模、仿真和分析的一个集成
环境,广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。它包
括一个复杂的由接受器、信号源、线性和非线性组件以及连接件组成的模块库,用户也可以
根据需要定制或者创建自己的模块。Simulink 的主要特点在于使用户可以通过简单的鼠标操
作和拷贝等命令建立起直观的系统框图模型,用户可以很随意地改变模型中的参数,并可以
马上看到改变参数后的结果,从而达到方便、快捷地建模和仿真的目的。
3.2 模型建立及主要模块设计
基于MATLAB /Simulink 所建立的扩频通信系统的仿真模型,能够反映扩频通信系统的
动态工作过程,可进行波形观察、频谱分析和性能分析等,同时能根据研究和设计的需要扩
展仿真模型,实现以扩频通信为基础的现代通信的模拟仿真,为系统的研究和设计提供强有
力的平台。图2 为基于MATLAB/Simulink 的扩频通信系统仿真模型。
图2 系统仿真模型
信源:随机整数发生器(Random Integer generator)作为仿真系统的信源,随机整数发
生器产生二进制随机信号,采样时间、初始状态可自由设置,从而满足扩频通信系统所需信
接 收
高放混频解扩 解调
本振PN 码 同步
信 源 扩频调制
PN 码 振荡器
发 射
源的要求。
扩频与解扩:PN 序列生成器模块(PN Sequence Generator)作为伪随机码产生器,扩
频过程通过信息码与PN 码进行双极性变换后相乘加以实现。解扩过程与扩频过程相同,即
将接收的信号用PN 码进行第二次扩频处理。
调制与解调:使用二相相移键控PSK 方式进行调制、解调。调制由正弦载波与双极性扩
频码直接相乘实现,采用相干解调法进行解调。
信道:传输信道为加性高斯白噪声信道。在加性高斯白噪声信道模块中,可进行信号功
率和信噪比的设置。
误码计算:误码计算由误码仪实现,误码仪在通信系统中的主要任务是评估传输系统的
误码率,它具有两个输入端口:第一个端口(Tx)接收发送方的输入信号,第二个端口(Rx)
接收接收方的输入信号。
3.3 几点说明
在Simulink中,没有单独实现统计的计数器模块,需要自行创建,计数模型的设计如图
3。在计数模型中,用与信源和伪随机码同频的脉冲模块分别实现码元同步和切普同步,利
用加法器的累加功能,实现每个码元的相关峰值统计。
图3 计数模型实现框图
在扩频通信建模中,扩频与解扩使用的PN 码以及调制和解调所使用的载波必须保持同
步,因此要注意伪随机码模块和载波模块的参数设置。
在误码率计算中,接收到的信号,由于经过扩频解扩、调制解调、相关统计等处理,会
存在一个延迟,在误码仪模块的对话框中要设置一个合适的延迟。
4 仿真结果分析
4.1 仿真系统运行情况分析
在给出下列仿真的条件下,观察仿真运行情况。信息速率20b/s,幅度为1;伪随机序
列采用10 级,传输速率为200b/s 的m 序列;载波频率10KHz;信号功率为1W,信噪比30dB;
仿真时间设为2s。在这样的仿真条件下,理论上可获得10 倍的扩频增益。图4 是系统扩频
解扩的仿真结果。上图为信源,中图为扩频码,下图为信宿。从图4 可见,信源和信宿相同,
误码率为0,基于MATLAB/Simulink 所设计的仿真系统满足扩频通信系统的软件仿真要求。
图4 系统扩频解扩的仿真结果
4.2 扩频增益与输出端信噪比的关系
设置信息速率和伪随机序列传输速率,在扩频增益10 和50 的情况下,不断改变信噪比
的大小,从而得到扩频增益、误码率和信噪比的关系如图5。从图5 可以看到,在相同误码
率下,扩频增益越大,输出端信噪比越大,并且随着系统要求的提高,增大扩频增益,输出
端信噪比会得到更大的好处。
图5 不同扩频增益下误码率仿真曲线
5 结论
扩频通信以其较强的抗干扰、抗衰落、抗多径性能而成为第三代通信的核心技术,本文
阐述了扩频通信的理论基础和实现方法,利用MATLAB 提供的可视化工具箱Simulink 建立了
扩频通信系统仿真模型,详细讲述了各模块的设计,并给出了仿真建模中需注意的问题。在
给定仿真条件下,运行了仿真系统,验证了所建仿真模型的正确性。通过仿真研究了扩频增
益和输出端信噪比的关系,结果表明,在相同误码率下,增大扩频增益,可以提高系统输出
端的信噪比,从而提高系统的抗干扰能力。本文作者创新点:通过MATLAB/Simulink 建立的
仿真平台,研究了扩频增益与误码率、信噪比之间的关系,为以扩频通信为基础的卫星信号
设计提供依据。
参考文献:
1 曾兴雯,刘乃安,孙献璞。扩展频谱通信及其多址技术〔M〕。西安:西安电子科技大学
出版社,2004。
2 徐明远,邵玉斌。MATLAB 仿真在通信与电子工程中的应用[M]。西安:西安电子科技大
学出版社,2005。
3 李建新,刘乃安,刘继平。现代通信系统分析与仿真-MATALAB 通信工具箱〔M〕。西安:
西安电子科技大学出版社,2001。
4 徐明伟,李茜,汤伟。基于MATLAB 串口通信的数据采集系统的设计。微计算机信息,
2005,21(8-1),89-90。
5 郭海燕,毕红军。MATLAB 在伪随机码的生成及仿真中的应用。计算机仿真,21(3),2004.3。
基金项目:上海市科技攻关项目,项目编号:45115031。
作者简介:范伟(1973-),男,汉族,硕士研究生,主要研究方向为卫星导航、CDMA 扩频
通信。 E-mail: [email protected]
通信地址及邮编:上海市长宁区安顺路220 弄18 号402 室,200051。
翟传润(1972-),男,汉族,博士,副教授,主要研究方向为卫星导航和测控技术。
战兴群(1970-),男,汉族,博士,教授,主要研究方向为卫星导航和新型控制理论与应用。
Authors brief introctions:
Fai Wei, was born in 1973, male, the Han nationality, master student. His research subjects include
the satellite navigation and CDMA spread spectrum communication.
Zhai Chuan-run, was born in 1972, male, the Han nationality, Ph.D, associate professor. His
research subjects include satellite navigation and test control technique.
Zhan Xing-qun, was born in 1970, male, the Han nationality, Ph.D, professor. His research interests
include satellite navigation, new control theory and application.

『贰』 如何建立虚拟数控机床加工仿真系统

虚拟数控加工过程物理仿真模型的建立



摘要:该文首先阐述了虚拟数控加工过程物理仿真的研究内容,其次重点讨论了所建立的切削力仿真,刀具磨损仿真与变形仿真,加工误差仿真,振动仿真和切屑形成过程仿真的数学模型。最后,提出了物理仿真今后研究的方向。

1 引言

虚拟数控加工(VNC)过程物理仿真是虚拟制造(VM)单元和虚拟制造系统基础核心技术,越来越受到各国学者的重视。虚拟数控加工过程的仿真包括数控(NC)代码仿真,几何仿真和物理仿真。数控代码仿真是虚拟数控加工过程的一个重要环节,通过它可以检查数控程序的正确性及实现碰撞、干涉检验,大大节省数控程序的调试时间,减少昂贵的试切用度,进步数控机床的安全性等。几何仿真是数控加工过程仿真的条件,通过刀具扫略体和工件模型连续的布尔运算可得切屑的往除加工过程仿真,它也提供了物理仿真评估切削力和加工误差所需的主要参数。物理仿真主要是力学仿真,它是虚拟数控加工过程仿真的核心部分,其内涵就是综合考虑实际切削中的各种因素,建立与实际切削拟合程度高的数学模型,从真正意义上实现虚拟加工与实际加工的“无缝连接”,满足虚拟数控加工的沉醉感和交互性。只有对物理仿真的机理研究透彻,才能真正意义上的满足虚拟制造的目的即实际加工过程在计算机上的真实映射。

2 物理仿真的研究内容体系

物理仿真的主要内容包括切削力仿真、加工误差仿真、切屑的天生过程仿真、刀具的偏移、变形和磨损仿真、及数控切削机床的振动与温度仿真等。其仿真体系结构。

3 虚拟数控加工物理仿真的模型

3.1 切削力仿真模型

在切削力的仿真中,关于切削力的模型,有人以为,刀具受的切削力可以看做是单位时间材料往除率的函数。首先在刀具上建立笛卡儿坐标系,刀刃上受到三个正交力。

Ft=KtSt Fr=KrSr Fa=KaSa (1)

式中:St、Sr、St——切屑在三个坐标平面上的投影面积。

Kt、Kr、Ka——从金属切削中得到的材料和切削速度参数。

上述切削力仿真的方法经过S.Jayaram的研究对于三轴以上的数控机床切削力误差较大,因此此仿真方法只适应于三轴和三轴以下的数控机床的切削力仿真。

Hirohisa基于刀具沿轴向的切削力均匀分布假设的基础上提出了一种将刀具分成很多部分的切削力仿真模型。本文在此基础上利用有限元法(FEM)建立切削力模型,将刀具切削刃划分成若干微元对其中一个微元做受力分析。那么由第j个刀具微元的切向力dFtj(θ, z),径向力dFrj(θ, z)和轴向力dFaj(θ, z)可以得出基本的切削力。

dFtj(θ, z)=[Kte+Ktchj(θ, z)]dz=[Kte+KtcStsinθj]dz

dFrj(θ, z)=[Kre+Krchj(θ, z)]dz=[Kre+KrcStsinθj]dz

dFaj(θ, z)=[Kae+Kachj(θ, z)]dz=[Kae+KacStsinθj]dz (2)

上式中Kte、Kre、Kae,Ktc、Krc、Kac代表切削系数,可由切削测试中的各种进给速度得出。hj(θ, z)=Stsinθj是未切削工件的厚度。dz是刀具的轴向长度微分。St每一刀具微元的进给量。上面(2 )式通过求解微分方程可得出刀具在三个方向的瞬时切削力。刀具在三个方向的受力总和通过所有微元在x、y、z方向瞬时切削力的总和求出。

3.2 加工误差的模型

工件加工误差受到很多因素的影响,这给加工误差仿真带来了很多困难,由于要精确仿真出加工误差,不但要考虑每一单项因素对加工误差的影响而且还得综合考虑各因素的权重。C.Anderssson对定位误差和刀具磨损对工件精度的仿真模型分别作了较为具体的研究,Huaizhong Li对机床热变形和振动对工件加工误差的模型作了深人的研究等。影响加工误差的因素还包括机床运动精度误差、刀具尺寸误差以及主轴偏移、导轨变形、夹紧力、刀具、零件热变形和弹性变形误差及加工方法引起的误差等。基于上述研究对这些单项误差按模糊理论进行模糊综合评判得出影响工件加工精度的总误差模型。

(3)

式中,x(t)、y(t)、z(t)为时刻t 是工件表面上天生点的位置,Wi表示第i个误差叠加时的权重,Ei[x(t), y(t), z(t)]表示第i个误差在时刻t 的误差值。上式又可表达为影响刀具位置和姿态的自变量为时间t的误差函数:

(4)

这样可以在虚拟加工中融人误差并方便的计算出时间t时工件上某点的加工误差。然后将产品的理论模型与毛坯往除材料后得到的加工模型求差可得加工误差模型。在VNC 机床加工过程中,加工误差模型按误差大小用不同的颜色表示加工区域,通过对其进行检查,可对加工误差的大小及其可能产生的原因进行分析评判,并为产品的可制造性评估提供依据。

3.3 切屑天生过程的模型

切屑天生过程的实时仿真是虚拟数控加工与实际加工“无缝连接”和同步显示的主要环节切屑的天生、卷取、折断以及天生的外形受到很多因素的影响,比如与刀具的几何外形、切削液、工件和刀具的材料工件和刀具间的摩擦力以及应力厂司和应变阔、切屑的天生机理和热变形等因素有关,这一研究结果已被很多学者采用。C.Andersson的研究发现当切屑的厚度非常小时(小于2μm)切屑的厚度与切削力是线性关系,关系式为:

Cr=Fr/[(nz+1)·h1n·b1i (5)

由于已经证实了FH和h1n之间的线性关系,所以用Cr代替关系式中的FH得到:

Cr=Cr1+Cr2/H1n (6)

式中,Cr为主切削力,Cr1, Cr2为切削力的系数常量,H1n切屑厚度。

但这一方面研究仍在继续深进。CIRP工作组在1998年的Keynote Paper中的建议从以下几个方面进一步加强研究。

对切削和切屑形成的机理及毛边和碎片的控制、抑制方法作进一步深人的研究。

加强有限元法(FEM)、混沌理论(Choas Theory)、人工神经网络(ANN))、及遗传算法(GA)在切屑天生机理和仿真中应用的研究。

规范切屑的结构分类和标准建立全球同一的切屑试验参数数据库。

3.4 刀具的磨损和偏移

刀具的磨损模型

刀具的磨损仿真是估算刀具寿命的有效方法,它可以省往繁杂的切削试验既经济又省时,它也是选择刀具与切削条件的有洲衣据。根据硬质渗碳钢在数控铣床上的切削实验,刀具的磨损既有坑状磨损又有平面磨损。实验数据表明每单位进给间隔和单位面积的刀具磨损体积dw/dl与切削温度θ和压应力σ有关,即:

dw/dl=c1σtexp(-c2/θ) (7)

式中c1、c2是切削的特征常数,θ是切削的尽对温度。

刀具的变形模型

在磨削刀具变形模型中,刀具的线性变形和非线性变形都应考虑到。为了便于分析在此使用一般的固体力学模型假设切削力作用在刀尖部分。从丈量刀具的变形可以得出刀具和刀具夹头间的接触面积对刀具的变形起很大作用,刀尖到刀具间隔为z的每一点的线性变形都能按下式计算。

εx(z)=Eh·Fx+Er·My(l-z)

εy(z)=Eh·Fy+Er·Mx(l-z) (8)

上式中Fx和Fy是切向力在x, y向的分力,Er和Eh是平移和旋转的系数常量,可通过实验得到,Mx和My刀尖部位的切削力产生的力矩。

Mx=Fy·l My=Fx·l (9)

由于端磨刀具的非线性变形可以被简化成悬臂梁模型,刀具沿z轴的非线性变形按下式计算。

δx(z)=Fx·(l-z)2·(2l+z)/6EJ

δy(z)=Fy·(l-z)2·(2l+z)/6EJ (10)

那么,刀具在沿z轴任意点的总变形可从下式中得到:

Dx(z)=εx(z)+δx(z) Dy(z)=εy(z)+δy(z) (11)

3.5 加工温度模型

磨削和车削的加工过程是连续变化的,持续型的加工温度模型Huaizhong Li已经给出即

Tstatic=T[1-v lg(ε/ε0)] (12)

式中T 是切削点的温度,v是给出的材料参数常量,ε是应变率,ε0是材料特性不受影响的临界应变率。

铣削是间歇切削过程不能直接将(12)式用于铣削加工的温度仿真。在间歇切削中切削温度的预热传递过程随切削时间T(t)变化,为到达与持续切削相同的平稳状态,Tstatic必须考虑。下面给出预热传递过程的温度模型:

T(t)=Tstaticexp(τ/t)+Tmin (13)

式中:τ是常量,t是一个周期中每一铣齿的切削时间;Tmin和Tp是切削周期中的最小和最高温度。

Tmin=Tpexp(-t2/τ)

Tp=Tstatic·[exp(-τ/t1)/(1-exp(-t2/τ))] (14)

式中t1、t2分别指一个周期中切削和非切削时间,由于刀具的旋转周期是60/nR(S),所以有

t1=(60/nR)·(Øgx-Øst)/2π

t2=(60/nR)·[1-(Øgx-Øst)/2π] (15)

式中Øgx、Øst分别指铣削时铣刀的切进角和离开角。

在铣削中切削区的温度首先使用式(12)计算持续切削温度,然后通过(13)~(15)式修正。

3.6 振动模型

在大多数模型中,仅考虑静态切削力动力可能引起的振动也将影响工件的加工表面精度。对振动的实时仿真可以提供避免或减少振动的依据公道地选择加工条件。在这方面学者已做了大量工作并建立了主要的仿真理论。但存在的题目是很多重要的变量参数难以丈量且丈量精度也难以保证。有两方面数据非常重要:

赖于机床、工件及刀具和随切削力向量的位置和方向变化的系统的动力学参数。

与切削力相关的加工材料、刀具外形和材料、切削状况、刀具磨损类型和磨损量等变化的动力学行为。

一个二自由度铣削振动模型,在此模型中假设振动方向是沿相互垂直的X和Y方向,且进给方向是沿X轴。座标系被固定在NC铣床上,轴与主振幅对齐,铣刀有n个齿且均匀分布。铣刀系统的振动模型由下面微分方程给出:

(16)

式中m、c、k是铣床仿真模型在X、Y方向的质量、阻尼系数和弹簧刚性系数,Fxj和Fyj是第j个铣齿上的铣削力在x、y向的分力,n是铣刀的齿数。

3.7 摩擦力模型

切屑和刀具面的摩擦力影响着切屑的外形、系统的温度等物理仿真中的很多因素摩擦力在刀具切削刃进进工件到离开工件的时间内是变化的,切削摩擦力的大小与系统的温度、工件和切屑的塑性变形等之间有相互影响、非常复杂的关系,这就要求收集临界点的数据,建立切屑参数数据库以便更好的建立摩擦力仿真模型,有效控制摩擦力。方程(17 ) 给出了非线性摩擦力仿真模型。

τt/k=1-exp(μσt/k) (17)

式中τt和&sogma;t是刀具面的摩擦力和正压力,k是切屑的剪切力系数,μ是材料的特征参数常量。

4 小结

物理仿真模型的建立是物理仿真的基础与关键。在很多方面已经做了大量的工作,也取得了一定的进展,但笔者以为,现有的VNC加工过程仿真系统不能给用户精确的结果,很唯实现VM的交互性与沉醉感,模型的研究仍有待进一步完善。因此为了使仿真模型的定量计算与实际加工相同,笔者建议必须从以下四个方面加强物理仿真的研究。

实验方面:建立物理仿真全过程的切削实验参数数据库。

机理方面:仿真机理与实际加工机理及两者之间的进一步藕合关系。

仿真领域:向高速切削、硬质合金切削的物理仿真及微细切削的分子力仿真领域扩展。

仿真方法:仿真手段和方法的多样化,如有限元法(FEM)、人工神经网络(ANN)等。


-----------------------------------------

数控铣床加工过程虚拟仿真系统的设计

建立一个真实的数控铣床加工环境,并在此环境下对加工过程进行仿真。对虚拟制造的体系结构和相关技术进行了深入的研究和分析、着重阐述了虚拟数控机床的建模原理及其相关的控制技术,在建立的虚拟数控机床上实现机床各轴的运动控制、程序显示、NC编译、反馈信息显示等功能,实现了虚拟数控铣床最基本的功能。本系统的目标是建立一个真实的数控加工环境。在这个环境中,需要建立机床模型和加工过程模型。机床模型就是整个加工过程的物理环境,将真实的机床在计算机中以3D画面的形式出现;加工过程模型是一个动画过程,模拟真实机床、刀具、切削等加工过程的运动。该系统应满足的要求:1)具有逼真的加工环境;2)能够对NC代码等进行检测,即具备机床的NC程序编译功能,能发现NC程序的错误,并生成目标文件;3)能够显示刀具轨迹及切削过程;4)能调整、修改机床状态参数,实时监控机床的运动状态;5)有友好的人机界面,能方便用户操作。它具备的特点有:1)环境真实,系统的环境和真实的机床环境尽量相同;2)功能一致,系统的功能要和机床的功能一样;3)较强的纠正错误能力,能发现各种错误同时给出报警信息;4)快速完成仿真过程,仿真加工过程需要的时间不能和真实的加工时间一样,否则让人难以忍受,加工过程时问可以根据用户的要求来进行调节。1本系统整体构架仿真过程为:在控制面板上编辑NC程序或调入NC程序,然后对准备好的加工程序进行检查,轨迹仿真,确认无误,准备加工。加工前对整个系统进行必要的设置,刀具参数设置,工件坐标系设置等。进行加工时,显示机床运动动画及工件切削动画,对机床状态进行监测,显示监测的信息,如果有非法操作、越程等信息,发出相应的警报。系统分为五个模块:人机界面、几何模块、运动模块、编译模块和监测反馈模块。整个系统的模块划分如图l所示。人机界面用来实现人机交互,即机床的控制面板;几何模块用来实现系统的物理环境,刀具轨迹及工件模型等几何体;NC模块主要功能有数控程序编辑、刀补、插补、编译生成虚拟机床驱动文件等;运动模块用来实现虚拟机床运动,刀具运动及切削运动等;机床参数设鬣、机床状态信息反馈与监测等功能用监测反馈模块来实现。整个系统各个模块关系如图2所示。2各个模块的设计2.1人机界面(控制面板)的设计这个模块有两个方面:一是对面板的各个界面元素进行设计,一一个是对机床等各个虚拟物体进行控制。操作面板上的组件数量很多,但大多数都具有相似性,因此可以将具有相同功能的组件设计为ActiveX控件,利用ActiveX控件的封装性和动态连接性来实现虚拟操作面板上的具有相同功能的组件。界面元素构建三个类CRob、CMyButton、CMyEdiloCRob是用米实现旋转开关。CMyEdit用于实现显示屏。CMyBunon来实现方形按钮。几乎所用的操作,控制都在控制面板上,那么所有的模块都在这里汇集,可以是指针、实体,用来实现整个机床及加工过程的控制。设计一个NcPanel类,这个类提供各个控制变量,用于NC文件检查,机床参数设置,机床运动控制等等。2.2几何模块的设计2.2.1机床本体模型、刀具模型、切削液喷管等复杂几何模型这峰模型比较复杂,直接采用绘图编程的方法很难实现这么复杂的图形,即使实现了也需要花费极大的时间和精力,绘制出来的效果也难以达到预期效果。本文采用一些成熟绘图应用软件如3dsMax、UG、Pro/E等来实现这些几何模型。本系统并不能直接调用这些软件生成的几何模型,只能得到这些几何模型的描述性文件。不得不对这些文件进行研究,找出需要的几何信息,然后转化成程序中能够使用的几何实体。有一种标准的文件格式--3DS文件格式,几乎所有的3D绘图软件都支持这种文件格式,能转化成这种文件格式。因此,这个模块的工作便是编写一个文件接口,将3DS二进制文件读入转换成0penGL几何实体。构建的类如下:classC3dsReader;//3DS文件读人类class8CTriList;//生成数据链表(用来逼近3DS图形的小三角形片//集合)将机床各个部件几何模型组成一个机床类classMachine,这个类包括机床的各个组件,如床身、主轴等。2.2.2刀具轨迹及零件几何模型此模块用于刀具轨迹仿真,验证NC程序是否正确及显示加工后刀具轨迹几何模型,可划分为两层:第一层:基本几何元素层。点,线,圆弧,平面,直纹面面等几何元素的绘制,点,向量,矩阵的各种运算等。在0penGL环境中,可以相似地构造出一个设备环境类,让它绘制出一些基本的几何元素:直线、圆弧等。第二层:模型建立层。整个NC文件形成的刀具轨迹是由各种几何元素构成的,建模即是将各种几何元素构成一个完整的图形。如加工一个字,字体则是由多条直线构成。从中可以构建各个几何模型的类如直线(CLine),圆弧(CAre),圆(CCircIe),直纹曲面(CLin_Are)等。各个无素的绘制则调用上一层glCDC类的成员函数。如直线自我绘制可以写成:pDC->Line(start,end);pDC是glCDC一个实例的一个指针。2.2.3工件模型工件模型用于工件切削运动。采用空间分割法对工件模型进行建模。本文只将工件在X、Y平面上进行分割,Z方向用top值表示,构建的模型的如下:classPexSeL//离散的小方块实体模型整个工件可表示为:PexSelBox[x][y];//x,y为工件分辨率2.3运动模块的设计运动模型有机床本体运动,刀具运动,加工切削运动,属于动画制作过程。动画可以让一张张相关的图片以较快的速度进行切换,就能得到连续的运动效果。相似地,在一定地时间里绘制N张相关的图片,就能得到计算机动画效果。先设置一个系统时间,让它不停的刷新画面,接下来的工作就是绘制这些相关的图片。图形的绘制,把它封装成按参数化形式绘制,只要将其参数进行修改就可以实现动画控制。比如一个正方体绘制可写成:Translated(m_x,m_y,m_z);//DrawBox(length,width,high);那么只要对m_x,m_y,m_z三个变量进行控制,然后让画图模块不停地按参数绘制即可实现正方体移动动画。接下来的工作需按时间对位置变量进行控制,实现需要的运动。设计一些位置控制器,如直线、圆弧位置控制器等cIassMoveCircle//实现圆弧运动计算器classMovenne//实现直线运动计算器……2.4编译模块的设计编译模块主要划分为四个部分:词法分析、语法分析、目标代码生成和出错处理。编译过程是输入数控加工程序,输出目标代码或错误信息。本系统采用逐行扫描方式,以词法分析程序和语法分析程序为核心,出错处理作为一个独立的过程,目标代码的生成则在错误为零的情况下生成。设计一个编译类Compile。输入:CStringm_Nccode;//一段NC代码功能函数:Wo-check()//词法检查SyntaxCheck()//语法检查输出:CStringerrInfo//错误信息操作数据对象ProgramNodeNcSegementStruct//编译后生成的中间文件。CTypedPtrList<C0bList,CPart*>*m_curvelist;//生成的刀具轨迹链表2.5监测反馈模块的设计机床参数系统的没计:1)设计一个后台数据库CDaoDatabasem_db,后台数据库使用微软公司的ACCESS制作;2)所有的变量设计一个MachineState类来集中进行管理。3)状态监测,设计一个类RunErrCheck,实现功能包括非法报警、工件与刀具干涉、非法操作和越程等。3小结数控加工过程本身是一个十分复杂的过程,它是对零部件设计、工艺规划等许多工作的一个检验。本文建立的系统已经具备虚拟机床的基本功能,仍然存在以下几个需要改进的地方:1)工件模型可以进一步进行研究,找出结构更优秀,显示速度更快的模型,使得切削过程更加逼真、快捷;2)运动模型需要进一步研究,构造更强大的运动控制器,如高级曲线运动控制、高级曲面运动控制,以满足更高级CNC系统刀位控制要求;3)本系统只研究了纯几何仿真,对于加工中一些力学因素没有考虑,今后可通过建立加工过程的力学物理仿真模型,进行加工过程切削性能与切削效果仿真。