仿真程序范文
仿真程序范文(精选8篇)
仿真程序 第1篇
数控仿真加工是以计算机为平台在数控仿真加工软件的支持下进行的。当前国内较为流行的仿真软件有北京斐克VNUC、南京宇航Yhcnc、上海宇龙等数控加工仿真软件。这些软件一般都具有数控加工过程的三维显示和模拟真实机床的仿真操作功能。VNUC融合了三维实体造型与真实图形显示技术、虚拟现实技术,综合了机床、机械加工、软件开发等多学科技术,独立研发了实现动画效果的三维形体OpenGL开发类库,全面再现了机床加工操作细节,使仿真数控机床在开动和切削过程中,其音响、动画等功能的操作接近真实效果,实现了数控机床操作仿真、数控系统仿真、教学仿真等多种功能。该软件采用了虚拟控制器、机床本体、控制面板等,涵盖了国内外企业生产实践中使用的多种数控系统以及机床类型。系统支持所有G代码编程(包括宏程序、变量编程),包括循环、直线差补、圆弧差补、子程序调用、宏程序、变量编程等,最大限度地满足了不同用户的编程需求。
1 梯形螺纹程序设计
1.1 梯形螺纹工艺分析
采用数控车床加工梯形螺纹时,由于螺纹的牙型较深、槽宽和螺距较大,且切削余量和切削力均比较大,为避免车削热和切削阻力给加工带来的误差,因此采用低速切削方式。当工件较长时,为避免加工时产生更大的切削力而发生颤振,须采用“一夹一顶”的装夹方式。
数控车床上,通常用仿形刀具来加工梯形螺纹。该方法要求刀具刀尖宽度较宽以保证梯形螺纹的牙型,因此在加工过程中,致使刀具和工件的接触面积大,产生了较大的切削抗力,造成刀具和工件之间产生共振,加工后的零件表面总是出现振纹。如果用一把“尖刀”对梯形螺纹进行加工,减小与工件的接触面积,即可避免振纹的产生,于是采用常见的35°硬质合金外圆精车刀加工。由于刀尖角较小,使用精车刀加工45钢工件时,吃刀量必须采用较小的值,并且在整个加工过程中都需要浇注充分的切削液。整个加工切削过程用VNUC系统模拟仿真,检测是否有超程、干涉、过切、欠切等现象。
1.2 走刀路线设计
选用分层法车削梯形螺纹。分层切削法克服了传统加工方法中由于切削力太大而引起的“扎刀”和“崩刃”现象,有效地减小了刀具受力,使刀具单侧受力,工作稳定,不易扎刀或产生颤振;另外还可将梯形螺纹的切削进刀过程规律化,使操作者编制程序的思路更加清晰。其走刀过程是先设计一个外层循环,将螺纹总切削深度沿径向X分成若干层, 即每一层的螺旋槽加工完毕后再沿切深方向进刀,加工下一层,层层递进,进刀到最后螺纹底径处;然后设计内层循环,将同一切削层上整个槽宽沿Z向分为若干次进刀,刀具通过改变起点的位置向左偏移完成同一切削层上整个槽宽的切削加工。程序中根据梯形螺纹的牙型轨迹进行计算得到每一层的槽宽, 再把该槽宽分多次进刀完成。
1.3 程序设计过程
FANUC0i系统使用B类宏指令,允许用户使用宏变量、赋值、算数、逻辑运算及条件调用等,使得编制相同加工操作的程序更方便,即对相同加工操作的程序用条件限制而循环调用。本文以如图1所示梯形螺纹零件为例采用宏程序编制加工程序。
根据本文思路所编制的宏程序如下:
宏程序中#1为螺纹槽总切深;#2为槽宽的一半;#3为槽宽的另外一半;#4为每一切削层的槽宽;#5为每层切削深度;#6为梯形螺纹牙型角α。
2 仿真加工验证
2.1 搭建仿真环境
要实现程序在VNUC中的三维模拟仿真,首先需要根据机床搭建逼真的仿真环境。VNUC提供了选择机床和系统、刀具库、毛坯选定、夹具库、基准工具、参数设置等模块,使得操作者很方便地搭建一套完整形象的虚拟机床环境。
2.1.1 选择机床
打开VNUC数控仿真软件,进入VNUC主界面后,点选菜单栏 “选项/选择机床和系统”,进入如图 2所示选择机床与数控系统对话框,选择“卧式车床/FANUCOiMate-TC”系统,则出现控制操作面板,它与真实机床操作面板几乎一模一样。
2.1.2 安装工件
首先在菜单栏中选择“工艺流程/毛坯”,出现对话框,在该对话框中选择“新毛坯”,出现毛坯与夹具设置话框,按照对话框提示设置毛坯参数,选择夹具后确定,出现毛坯列表对话框;在毛坯列表中选择某毛坯并点选“安装此毛坯/确定”,出现调整毛坯位置对话框, 调整好毛坯在夹具中的位置后关闭即可。此时观察视图区可以见到工件毛坯被安装到夹具上,如图3所示。
2.1.3 安装刀具
在刀具库模块中可以对刀具、基准工具等进行建模,包括的类型有:车刀刀库、铣刀刀库、加工中心刀具库。在菜单栏中选择“工艺流程/车刀刀库”,出现图4所示刀具设置对话框,在此为所用各刀具选择刀具类型,设置刀具参数。根据加工工序要求,需要设定3把刀具,分别为主偏角93°外圆刀、切槽刀和主偏角为72.5°、刀尖角为35°的外圆精车刀。此时观察视图区可以见到各刀具“对号入座”,被安装到车床刀架上。
2.1.4 建立工件坐标系
打开主轴正转,工作方式选择手动,分别移动X轴、Z轴,平端面、车外圆对刀设置偏置值。试切一段外圆,1号刀具的对刀过程如下:刀具沿Z方向退离工件后,在菜单栏选择“工具/选项/测量”,测量出毛坯的试切直径值;在出现的参数设置界面中,点选软键“补正”,出现刀具偏置值设置或称补正界面;将光标移到“G 01”行X列,在命令行输入所测直径值,点软键“测量”,系统即可自动计算并显示出X方向刀具的补偿值,即完成了X方向刀具偏置值的设定;切削端面后,刀具沿X方向退离工件后,在界面将光标移到“G 01”行Z列,在命令行输入 “Z0”,点软键“测量”,即可完成了Z方向刀具偏置值的设定。刀具偏置设定界面如图5所示。
仿真环境搭建完毕,为使仿真效果逼真还可以打开参数设置菜单,进一步设置速度、声音以及三维背景等软件参数设置。
2.2 仿真加工验证
将写好的程序写在记事本,保存为txt格式的文件。在菜单栏选择“文件/加载NC代码文件”,出现浏览磁盘界面,寻找并双击找到的程序文件(此文件路径是个人设置的),该程序将自动出现在显示窗口中。完成调用程序、置零和对刀,设置好相对应的偏置量后,检查倍率和主轴转速按钮,最后开启循环启动按钮。此时可以看到虚拟仿真的过程图(见图6),并在加工过程中发现是否有超程、过切、欠切等现象,根据加工反馈的信息,及时做出相应调整。最终仿真加工完毕的零件如图7所示。
3 结语
要实现数控加工,虚拟仿真加工是一个关键的环节,结合工艺专家和技工的经验,通过利用数控系统宏变量编程手段,对梯形螺纹数控程序设计,有效地简化程序结构。VNUC切削仿真系统平台可以形象地实现数控加工仿真、验证、分析及程序优化,同时也能通过仿真运行发现问题,有利于加工过程的控制和生产前的准备工作,软件仿真结果显示35°刀具切削梯形螺纹效果较好,可以使用数控机床试切。
摘要:介绍了VNUC数控加工仿真软件的仿真加工过程。通过搭建数控车床模型、安装工件、安装刀具、载入程序文件等的仿真环境,尝试用35°硬质合金外圆精车刀加工梯形螺纹,并进行工艺分析与程序设计。利用VNUC软件支持的宏程序功能对梯形螺纹程序仿真并验证,加工的螺纹效果很好。
关键词:VNUC,35°外圆精车刀,梯形螺纹
参考文献
[1]陈颖,韩加好.基于宏指令的梯形螺纹通用数控加工程序编制[J].工具技术,2008(3):56-68.
[2]魏平,耿慧莲.基于VERICUT数控车削梯形螺纹宏程序设计[J].工具技术,2010(2):80-82.
[3]蔚刚,张秀芬.VNUC数控加工仿真方法及其教学应用研究[J].内江科技,2010(7):37-38.
仿真程序 第2篇
目的: 1.掌握单片机仿真软件的使用。
2.掌握单片机汇编语言程序设计的基本方法。
3.掌握单片机编程、调试方法。
设计题目:
1、试编写程序。统计内RAM 30H一50H单元中FFH的个数,并将统计结果存51H。
2、从内RAM 30H单元开始存放着一组无符号数,其个数存在21H单元中。试编写程序,找出其中最小的数,并将其存入20H单元中。
3、设外RAM 2000H单元中有一个8位二进制数,试编程将该数的低四位屏蔽掉,并送回原存储单元。
4、试编写程序,求出内RAM20H单元中“1”的个数,并将结果存入21H单元。
5、试编一程序,分别统计在内部RAM的30H~50H单元的数据区中奇数和偶数的个数,并将奇数和偶数的个数分别存放在51H和52H单元中。
6、在2000H~2004H单元中,存有5个压缩的BCD码,试编程将它们转换成ASCII码,并存入2005H开始的连续单元中。
实验报告格式:
一.设计题目:
二.编程实现:(左边为实验前的程序,右边为实验后调试正确的程序)
三.实验小结:
软件实验小结:
可以从以下几个方面总结
1. 进一步掌握并理解单片机指令系统的功能及应用(熟悉MCS—51单片机指令
系统)。
2. 加深对寻址方式的理解。
3. 了解程序设计过程,掌握单片机程序设计的基本方法。
4. 掌握编程、调试方法(包括排除程序错误、决解问题的方法)。
5. 掌握单片机仿真软件的使用(包括对以后项目开发的好处)
6. 通过编程设计、软件调试,进一步了解和掌握单片机软、硬件的工作原理,为
仿真程序 第3篇
当今CAD/CAM软件, 如UG、Pro-E、Power Mill、Master CAM等得到了广泛的应用, 使得自动编程成为复杂轮廓加工的主流手段, 数控编程人员都偏向于使用自动编程软件完成编程。不过对于一些规则曲线、曲面加工, 若辅以使用数控系统宏程序功能将具有更高效、灵活、快捷的特点。生产应用中证明, 与自动编程软件生成数控程序相比, 数控宏程序简洁、便于修改, 其占用数控系统的内存少, 避免了在线加工时因长程序的传输速率跟不上而使机床运动出现断滞的现象;其次, 加工速度较快, 加工尺寸易于参数化;第三, 对于同类零件具有通用性, 适合于小批量多种类加工。但宏程序因为是人工编程, 程序内部有很多逻辑判断、程序跳转、参数赋值读取等语句, 往往会因编程人员自身考虑不周而容易出错。因此, 宏程序编好后需采取传统的切削实验部件方式验证后, 才能应用在生产中, 这使其实际应用受到影响。
VERICUT软件是美国CGTECH公司开发的数控加工仿真验证系统, 其不仅能够直观地校验数控宏程序, 清除编程错误。还可以模拟NC加工过程, 以检测刀具路径中可能存在的错误, 如过切工件、碰撞机床等。同时, 可以利用VERICUT系统完成整个机床及其配套的刀具库和夹具的建模, 进行仿真加工, 进而检测加工效果。本文通过斜坡椭圆槽加工实例就此展开讨论。
1 建立虚拟数控机床
1.1 机床模型构建与参数设置
首先通过CAD软件根据实际加工机床尺寸构建机床3D实体模型组件, 然后转换成STL格式。在VERICUT中新建仿真项目文件, 在模型组件树中, 创建机床逻辑结构, 包括机床基座, 机床X、Y和Z轴以及机床夹具, 如图1所示。然后依次导入各机床组件, 构建机床模型如图2所示。
通过图3完成机床参数设置, 主要设置机床行程极限和进给速度限制等。通过项目树中添加控制器。控制器可以使用系统自带的控制器, 也可以自己构建。如果使用系统自带的, 就可以开启系统库, 然后选择合适的控制器, 根据图4完成相应参数的修改。
1.2 刀具建模
为了实现仿真加工, 要建立相配套的刀具。右键选择刀具管理库, 输入刀具装配件编号, 导入刀具装配件。对于具有复杂形状的切削刃, 可以利用VERICUT提供的刀具管理模块来完成任意形状的刀具建模。
1.3 工件毛坯建模
用CAD软件输出工件毛坯3D模型和设计3D理想数模, 且转换成STL格式文件;也可以利用VERICUT系统的建模模块, 完成工件毛坯的建模, 并通过设定坐标系将其安放在机床的正确位置上。
2 斜坡椭圆槽加工宏程序
下面就FANUC (发那科) 数控系统加工斜坡椭圆槽进行宏程序编制。编制中采用椭圆参数方程, 以椭圆参数角度为自变量, 根据参数方程计算刀位点的X、Y坐标, 同时通过斜坡方程计算Z坐标, 由此得到宏程序如表1所示。
3 斜坡椭圆槽宏程序加工仿真
利用VERICUT的程序管理功能调入斜坡椭圆槽宏程序。在前述已建立好的虚拟数控机床定义毛坯, 在毛坯上设定加工坐标系, 通过模拟走刀分析程序的正确性, 完成程序调试, 软件计算刀具轨迹如图5所示。对调试完成的程序进行加工仿真, 程序结果如图6所示。导入零件的设计3D理想数模, 通过Analysis下面的Auto-Diff工具进行比对, 判断零件是否合格, 从而确认程序的正确性。至此, 仿真完成。
4 结语
本文介绍了VERICUT数控仿真软件对数控宏程序的仿真。应用VERICUT软件建立与实际加工相符的虚拟数控加工环境, 真实地反映实际加工过程中宏程序的运行情况, 可以提高宏程序可靠性, 避免不必要的失误, 提高宏程序的编制效率和质量, 节约生产成本, 提高生产安全度, 在生产实践中有着重要的现实意义。
参考文献
[1]陈海舟.数控铣削加工宏程序及应用实例[M].北京:机械工业出版社, 2008.
[2]张冲.基于VERICUT的虚拟制造技术应用[J].合肥工业大学学报, 2004, 27 (1) :113-116.
抛物面加工的宏程序实现及数控仿真 第4篇
关键词:宏程序,抛物面,仿真
一般的数控系统只有直线插补和圆弧插补两种插补功能,而无非圆曲线插补功能。对于抛物线的数控加工,大多根据微分原理,采用小段直线或小段圆弧来逼近轮廓曲线的数学处理方法来完成数控编程,即在满足允许编程误差的前提条件下,用若干直线段或圆弧段分割并逼近给定的曲线。直线拟合计算简单,数控系统运算量小,加工速度快,所以比圆弧拟合应用广泛。本文采用了等间距法直线逼近抛物线。
1 宏程序功能简介
当前较先进的数控系统都为用户配备了强大的类似于高级语言的宏程序功能。宏程序是以变量的组合,通过各种算术和逻辑运算,转移和循环等指令,而编制的一种可以灵活运用的程序。只要改变变量的值,就可以完成不同的加工和操作[1]。宏程序功能可以使用户对数控系统进行一定的功能扩展,即在数控系统功能平台上进行二次开发。宏程序可以简化程序的编制,提高工作效率。
2 加工实现方法
抛物线的手工编程,一般是利用数控系统的用户宏程序功能实现的。用户宏程序允许使用变量,然而设置的参数变量不同,不仅影响加工的精度,而且还影响着程序的数据量和加工的效率。
抛物线的方程可记为:Z=-2KX2(K>0),若以X为参变量,当X值为小值时,Z增长较缓慢;当Z值为大值时,值增长较快。即存在一个值X′,当X
3 实例编程
加工图1所示零件的抛物面,毛坯尺寸为φ3580,抛物线方程为:Z=-X2/15。对于本例,存在一个值X′=7.5,当X
为了提高加工精度,步距值可取小些,但不能太小,因为步距值减小会使数控系统的计算量增大,导致加工效率不高。如果要加工的抛物面的加工精度要求不是很高,可始终以X作为参变量。
但是利用上述方法加工,刀具空行程比较多,效率较低。根据所给抛物线的性质,可以考虑将抛物线部分首先作为一个半径为15mm的圆弧加工,此圆弧的加工可放在G71循环中,然后再利用宏程序将此圆弧加工成抛物线,以提高加工效率。
4 数控仿真
利用宇龙仿真系统对以上程序进行了调试,最后仿真结果如图2所示[4]。在仿真加速倍率为5%的情况下,粗精加工调用同一宏程序的方法大约需要110S完成。而先作为一个圆弧加工,然后再加工成抛物线的方法,大约35S即可完成。由此可见,后一种方法效率更高。
5 结论
用宏程序编制非圆曲线的加工程序的基本思路就是用小段直线或小段圆弧来逼近非圆曲线。宏程序为实现抛物线等非圆曲线的手工编程与加工提供了可能。利用宏程序通用性强、方便灵活的特点编写宏程序,可提高编程的品质和速度,真正实现优化编程和加工。
参考文献
[1]高慧,吴文江,王品.CNC系统中图形辅助宏编程的设计与实现[J].制造技术与机床,2007(8):67-71.
[2]徐守敬.数控车床加工椭圆的技术探讨[J].机械制造,2006(9):45-47.
[3]陈红康,杜洪香.数控编程与加工[M].济南:山东大学出版社,2004.
仿真程序 第5篇
光学自由曲面被称为非回转对称(Non-Rotationally Symmetric,以下简称NRS)的光学曲面,即一种没有任何对称轴的光学曲面[1],在诸多工业领域中具有十分广泛的应用需求[2,3]。早期的光学系统大多是由多片球面镜组成的。但是球面镜存在像差,即通过球面镜的光线不能成为同心光线。为了克服像差,在高精度光学系统中,必须采用多块球面镜的组合。而非球面的曲率随着孔径高度而变化,非球面光学元件可以有效地消除像差,并以较少的元件个数获得与多个球面元件同样的成像效果,因而能简化结构、减轻系统质量和体积、减少光能损失,还可以降低整个光学系统的成本[4,5,6]。这些零件表面轮廓非对称、形状复杂,精度要求高,传统加工方法如靠模仿形加工、研磨抛光、电化学腐蚀、光刻等难以兼顾加工效率、加工精度一致性,以及成本等[7]。
上世纪80年代以来,单点金刚石车削(SPDM)技术取得了长足的进步,SPDM可以加工出具有高精度几何形状和表面粗糙度的光学表面。然而,随着自由光学曲面元件需求的增加,NRS曲面的金刚石车削加工变得越来越重要[8]。随着驱动和控制技术的发展,三轴金刚石车削加工出现了快速刀具伺服(Fast Tool Servo)和慢速刀具伺服(Slow Tool Servo)两种加工方式[9]。一些商用的CAD/CAM软件(如MasterCAM、Unigraphics等),大多是针对通用数控机床或加工中心,适合对端面铣削或球头铣刀加工进行数控编程,而不适合于基于FTS的金刚石车削。在CNC系统中,计算机无法直接根据数控程序进行加工,必须通过编译程序提取机床状态和刀具位置信息,并将其转换为计算机可以执行的程序,以供计算机进行仿真加工或控制机床加工实际零件。目前,日本AikoAlpha公司的SuperVERIFY是一个很好的NC代码编译和检验软件,它不仅能验证NC程序的正确性,同时也可对代码进行优化[10],CGTech公司开发的VERICUT软件可以对铣削、车削、钻削及EDM加工的NC代码进行验证,并可对加工过程进行仿真[11]。香港理工大学先进光学制造中心开发了一套光学自由曲面刀具轨迹生成软件,该软件可用于超精密5轴数控机床上加工光纤通讯元件、微透镜阵列和f-theta透镜等光学自由曲面[12]。然而,这些软件针对普通零件的加工或者多轴(多于3轴)加工进行仿真。为此,本研究开发了一套针对基于3轴FTS的DTOFS仿真系统编译系统。
本研究提出的系统是在Windows XP操作系统平台上,采用面向对象的VC++6.0集成开发工具,并结合OpenGL库进行设计,针对基于FTS的DTOFS加工程序进行编译。系统的成功开发,可以对DTOFS加工CNC程序进行验证,从而缩短加工时间,满足光学自由曲面的加工要求。
1 程序编译系统的功能分析
编译系统所读取的是基于FTS的NC指令,这些NC指令与普通NC代码类似,不能直接驱动虚拟机床和刀具的运动。同时,无论是手工编写还是自动生成的NC代码,都有可能存在一定的错误。所以,在实际加工零件之前必须对现有的NC代码进行检查,并对加工过程进行仿真。编译系统需要实现以下功能:
(1) NC代码的读取和修改,如果发现代码有误,对其进行修改;
(2) 程序格式的转换,由于数控程序文件是TXT格式,读取出来的信息是统一的CString格式,所以必须把不同的信息转换成相应的数据格式;
(3) NC代码的错误检查,包括非法代码的使用、指令之间或者是指令与数据之间的错误匹配、刀具的错误选择等;
(4) 根据NC指令,忽略原有数控程序中的注释语句和行号,提取与机床状态和刀具坐标有关的信息。计算刀位路径,判断插补离散化类型,并对刀位路径进行离散化,求出一系列离散点的三维坐标值;
(5) 根据所选刀具的刀尖圆弧半径,进行刀具补偿,并计算刀尖轨迹;
(6) 最终生成驱动虚拟机床模型的程序代码,实现仿真加工。
2 程序编译过程
根据FTS的加工特点(即简单的三轴联动,与车床类似)可知,此类加工程序与普通数控车床的加工程序类似。但是,本系统所要加工的是光学自由曲面,当主轴转动时,需要实现对主轴转动角度的反馈,根据反馈的转动角度信息对刀具的运动轨迹进行控制[13]。因此,所加工出的自由曲面是主轴转动角度与刀具运动轨迹的合成,主轴转动角度与刀具运动轨迹是相对应的,或者说是具有一定函数关系。这是与普通数控车床加工最大的区别,因为普通数控车床的主轴转动与刀具移动是不具有严格对应关系的。
由上述分析可知,基于FTS的数控加工,对刀具的控制更加严格,对数控程序的准确性和合理性要求非常高。因此,在实际加工之前,必须对现有的数控程序进行检查和仿真加工。该程序编译系统的流程图如图1所示。
系统建立了一个派生于CView类的解释类CInt-erpreterView,用于实现数控程序的读取和编译等。CInterpreterView类的主要成员变量及成员函数如下:
class CGcodeView: public CView
{ // Operations
public: //公有成员函数
void Gtreat(); //G代码处理函数
void Mtreat(); //M代码处理函数
void Streat(); //主轴转速处理函数
void Ftreat(); //进给量处理函数
void Ttreat(); //刀具选择函数
// Implementation
public: //公有成员变量
int N; //行号
int ReadCount; //文件大小
char *buff; //临时缓冲区
int Error; //错误个数
double x, y, z, i, j, k, u, v, w, r; //坐标参数
protected: //保护类成员
//{{AFX_MSG(CGcodeView)
afx_msg void OnFileRead(); //程序读入函数
afx_msg void OnTimer(UINT nIDEvent); //加工仿真函数
//}}AFX_MSG
现有的数控加工程序是以TXT格式存储的,这里利用G_Code.Open(pFileName, UINT OpenFlags)函数来打开文件,其中G_Code是CFile类的一个对象。调用G_Code.Read(Buffer, sizeof(Buffer))函数读取打开后的文件,并将文件内容存储到缓冲区buff中,然后,对缓冲区里的代码进行正确性与合理性检查,并提取机床状态与刀具坐标信息。根据提取的信息调用SetTimer(UINT iIDEvent, UINT uElapse, TIMERPROC lpTimerFunc),在默认情况下SetTimer()函数会自动调用OnTimer(UINT nIDEvent)函数。在OnTimer(UINT nIDEvent)函数中,实现加工过程的仿真。
3 插补计算分析
根据刀具坐标的变化进行直线插补和圆弧插补。现有数控插补原理可以概括为:以脉冲当量为单位,进行有限分段,以折代直,以弦代弧,以直代曲,分段逼近,相连成数控加工轨迹。所以,现有的直线插补都存在一定的误差[14],而在本系统中进行的仿真可以通过OpenGL库中的函数来实现刀具的直线移动,从而可以消除因分段逼近而带来的误差。现有系统与本研究中直线插补原理的对比如图2所示。
本研究直线插补原理的实现方法如下:根据所读取的刀具坐标,包括刀具的起点坐标(x_Start, y_Start)和终点坐标(x_End, y_End),建立刀具运动的直线方程,即:
且:x∈[x_Start,x_End],y∈[y_Start,y_End]。
然后调用glTranslated(GLdouble x, GLdouble y, GLdouble z)函数,来实现刀具的直线插补过程。
圆弧插补的原理实现方法如下:根据刀具的起点坐标(x_Start, y_Start)、终点坐标(x_End, y_End)、圆弧半径R求出圆弧所在圆的方程:
(x-m)2+(y+n)2=R2
其中:(m,n)为圆心坐标,且x∈[x_Start,x_End],y∈[y_Start,y_End]。
同样要调用glTranslated(GLdouble x, GLdouble y, GLdouble z)函数,即以弦代弧的方法来实现刀具的圆弧插补过程。现有系统与本研究中圆弧插补原理的对比如图3所示。由图3可知,本研究的插补方式极大地提高了仿真精度。
4 结束语
本研究以VC++为平台,结合OpenGL开发了光学自由曲面数控加工程序解释系统。本系统针对基于FTS的数控加工,能够对DTOFS数控加工程序进行检查,提前发现程序中的错误并及时地进行修改。通过提取刀具坐标信息,建立了刀具运动轨迹方程,来实现刀具的插补过程。本系统插补方法与传统插补方法相比,极大地提高了仿真精度。
摘要:为了解决光学自由曲面金刚石车削(DTOFS)NC代码的验证问题,保证NC代码的正确性和合理性,将计算机仿真技术应用到DTOFS加工中。利用面向对象的编程语言Visual C++为平台,结合OpenGL库函数,开发了DTOFS CNC仿真程序编译系统。根据所提取的刀具坐标信息,建立了刀具运动轨迹方程,以实现刀具的插补过程。研究结果表明,该系统能够对数控加工程序进行检查,提前发现程序中的错误并及时地进行修改。与传统插补方法相比,本系统极大地提高了仿真精度。
仿真程序 第6篇
系统总体主要包括以下几个部分:单片机部分, AT89C52单片机作为控制核心;DAC0832芯片进行D/A转换;LCD12864来显示波形的类型、幅值的大小、频率的大小;矩阵键盘来控制波形类型的选择、幅值大小的改变及频率大小的改变。
2 系统软件设计流程
系统软件设计的总体要求是能够保证满足所需要完成的任务, 在此前提下, 同时对精度控制要有一定的要求。先按照各部分所要完成的功能来设计各个模块, 保证各个模块能单独实现功能的同时, 各个模块之间同时能相互协调。根据以上要求设计的总流程图如图1所示, 各个模块分别为:初始化模块;显示模块;键盘模块;各种波形产生模块。
3 系统程序设计
3.1 显示模块和键盘模块
显示模块可以根据12864的写时序图进行编程。键盘模块的设计流程图如图2所示, 首先对P1进行行扫描, 检测是否有按键按下, 没有则返回, 有则做延时处理, 确认按键, 保持行状态;再对P1进行列扫描, 保持列状态, 下一步进行键值计算, 后执行键值函数。
3.2 各波形程序设计
本设计将各种波形的数据固定在单片机的程序存储器里, 通过改变这些数据的输出速度来改变信号的频率, 电路较为简单, 成本较低。
1) 正弦波产生程序。正弦波程序流程图如图3所示。
2) 三角波程序设计。设个自变量i让它不断地自加1, 直到加到128时, t=i, 对t进行不断地自减一直到减到t=0, 然后再不断地重复上述过程进而产生三角波。程序流程图见图4。
3) 中断服务程序设计。采用定时器T0定时中断, 根据不同的choice值, 产生不同的波形。其中方波的占空比可以通过zk变量来控制。
4 系统调试与分析
利用Proteus软件进行仿真, 它不仅能仿真单片机CPU的工作情况, 也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时, 关心的不再是某些语句执行时单片机寄存器和存储器内容的改变, 而是从工程的角度直接看程序运行和电路工作的过程和结果。
打开KEIL软件, 调出程序编译, 生成HEX文件, 并加载到单片机中, 进行仿真。图5、图6分别为正弦波、三角波的仿真图。
5 结论
本文所设计的程序进行仿真, 仿真结果能够满足本设计的功能要求。
参考文献
仿真程序 第7篇
众所周知, 发电厂是电能产生的中心, 在整个电力系统中扮演者生产者的角色, 在雷电活动较为频繁的地区, 如果对于发电厂的保护不力, 那么侵入系统的雷电过电压谐波将会在很大程度上影响电力系统的稳定运行, 甚至会造成大范围的、地区性的用电事故, 因此, 对于发电厂的电气防雷保护则显得格外重要。
发电厂面临的雷害可能来自两个方面:一是雷直击于发电厂, 所产生的直击雷过电压直接造成建筑物或户外配电装置的损毁;二是雷击输电线路后产生的雷电波侵入发电厂, 对电气设备构成威胁.对两种雷害的不同特点, 可针对性地采取措施, 能有效防止雷害[1]。采用ATPDraw进行过电压的仿真可根据线路长度等因数设置仿真步长, 有较高的精度, 针对过电压的电磁暂态程序有较好的仿真效果。本文基于电磁暂态仿真计算程序ATP-EMTP对35KV的某发电厂进行仿真分析计算, 从而为日后的发电厂防雷保护工作提供参考。
2 ATP—EMTP和ATPDraw的简介
ATPDraw是挪威电力研究院 (EFI) 于1996年开发的, 专用ATP的图形预处理器, 能够将用户设计的电路原理图编辑成ATP输入文件, 仿真分析电力系统暂态过程响应[2]。ATPDraw的核心是ATP, 不同之处是ATPDraw增加了图形化界面, 用户只需从模型库中选出所需的电路元件及绘成电路图的工程文件 (*.adp) [3]。ATP (选择性暂态程序) 可以计算以时间为函数的变量对电力系统的影响, 在现阶段, ATP通常包括线性集中参数元件、分布参数和频域参数的电力电线或电缆、非线性元件等, 还提供许多模型, 包括旋转电机、有饱和和磁滞特性的变压器、避雷器等。
3 雷电波在线路中的传播
雷电波的冲击频率很高, 一般波头为780m, 在雷电冲击电压下, 架空线、电缆线、变压器及其绕组都应按分布参数电路来分析。分布参数电路中的电磁暂态过程就是电磁波的传播过程, 简称波过程。波阻抗Z表示同一方向传播的电压波与电流波之间的比例大小。在不同波阻抗线路中波将发生折反射, 公式如下所述[4,5,6]:
其中, α为折射系数, β为反射系数。
若z1>z1>z2或者z1<z1<z3, 则有β1与β2符号相反, u2q为一震荡波;若z1>z1且z2>z1, 则β1>0, β1>0, u2q的波形为逐渐增加的阶梯波。电力系统中的线路大多为网状结构, 远比图1所述的复杂的多, 其实际中的折反射也相对更为复杂和难以控制。快速准确的计算雷电波多次折反射的过电压所出现的时间与位置是发电厂、线路以及变电站的过电压保护设计及绝缘设计的重要理论依据。
振荡周期与避雷器到变压器的电气距离l和变压器的入口电容有关。这种波形对变压器绝缘的作用接近截波。变压器承受截波的能力为多次 (一般指3次) 截波耐压值:
根据相关理论, 变压器与避雷器间允许的最大电气距离
其中Uj为多次截波冲击耐压值 (可通过查表得到) , Uc5为避雷器5千安下残压, 波速v为300000000米/秒。
4 避雷器模型
4.1 氧化锌避雷器
本文中使用了氧化锌避雷器。氧化锌避雷器 (MOA) 主要由氧化锌压敏电阻构成。氧化锌避雷器能够起到很好的防雷作用, 这种避雷器和传统的避雷器的差异是它没有放电间隙, 利用氧化锌的非线性特性起到泄流和幵断的作用, 造价低廉, 性价比高, 在电力系统中已经得到广泛应用[7]。输电线路保护用氧化锌避雷器并联在线路绝缘子的两端, 用于限制线路上的雷电过电压和 (或) 操作过电压, 提高线路耐雷水平, 降低雷击跳闸率[8]。
4.2 Pinceti模型
ATP中避雷器模型可以采用Pinceti模型, 在避雷器中电阻片非线性采用多指数函数拟和法, 其指数函数表达为[9]
式中Uref是参考电压, 通常取2倍避雷器额定电压。p、q参数由避雷器的伏安特性数据来拟和确定, q典型值是20~30, 在ATP程序中只要输入伏安特性数据, ATP会自动调用子程序生成分段的p、q参数, 从而得到分段的多指数函数[9]。
5 电压互感器模型
目前, 在我国的电力系统中, 对于电压互感器, 一般有电磁式电压互感器和电容分压式电压互感器。一般来讲, 对于高压范围内的电压互感器, 我们普遍使用电容分压式的, 但对于中、低压范围内的电压互感器, 我们依然使用的较多的是电磁式电压互感器。
5.1 电磁式电压互感器
电磁式电压互感器具有稳定性好、精确度高、事故响应迅速、绝缘不易受潮和造成本较低等优点, 在35kv及以下的电力系统中得到普遍使用[10]。电磁式电压互感器的工作原理和变压器相同, 其特点主要有两点, 一是容量很小, 类似于一台小容量变压器, 但结构上要求有较高的安全系数;二是二次侧仪表和继电器的电压线圈阻抗大, 电压互感器在近于空载状态下运行[11]。
5.2 注意事项
根据文献[11], 我们知道电磁式电压互感器的励磁特性为非线性特性。
在中性点不接地系统中, 电磁式电压互感器与母线或线路对地电容形成的回路, 在一定激发条件下, 可能发生铁磁谐振而产生过电压及过电流使电压互感器损坏, 因此应采取诸如选用三相防谐振电压互感器、增加对地电容破坏谐振条件等消谐措施。中性点直接接地系统中, 电磁式电压互感器在断路器分闸或隔离开关合闸时, 可能与断路器并联, 均压电容或杂散电容形成铁磁谐振。为抑制这种谐振现象, 不宜在零序回路包括开口三角形回路采取措施[12]。
6 某35KV发电厂防雷保护仿真计算分析
6.1 概述
该厂属于环保型地方发电厂, 共有三台装机, 每台机组容量为15MW, 6.3KV。通过三台双绕组变压器由6.3KV升压为35KV, 容量为20MVA。35KV采用单母线分段, 每段母线装设一组电磁式电压互感器和氧化锌避雷器。Ⅰ、Ⅱ组母线各接有一条35KV架空线和系统相连, 其主接线图如下图1所示。
6.2 变压器的入口电容
当冲击波刚到达绕组时, 变压器绕组等效为K0~C0组成的电容链, 对首端来说相当于一个等效集中电容, 称为入口电容。
式中, C为变压器总的对地电容, 单位为F;K为变压器总的匝间电容, 单位为F。
6.3 参数给定
(1) 过电流保护
主变压器入口电容:C=1000p F。电磁式电压互感器:C=100p F。
断路器SN-35:C=200p F。隔离开关GN-35:C=100p F。
架空输电线路波阻抗Z=500Ω, 波速相当于光速。
雷电波参数, 进线保护段1km, 。
6.4 分析与计算
假设此发电厂在任意一条35KV架空线一相遭受随机的雷击来波, 则有以下分析计算:
首先我们应考虑运行方式的选择, 由于在一线路一母线一变压器的过电压最为严重, 而且一向来波基率较两相来波的基率高, 那么综合考虑, 我们的计算采用一相来波。其次, 我们应考虑等值电路, 经过分析, 可画出等值电路如图2所示
输出数据表格如下 (t以雷电波到达1KM进线段处为零时刻)
当变电站设有1KM进线段保护和35KV母线各装有一组Y5WZ-51/134型避雷器, 站内主要设备过电压值见下表:
35KV变压器冲击绝缘水平为185KV, 。
最后, 经过上述分析计算, 我们有足够的证据说明该保护可以在一定程度上满足要求。
7 结论
(1) 经过客观分析, 基于EMTP的发电厂的防雷保护仿真可以作为发电厂实际防雷保护的参考模型, 并且, 可以在此基础上进一步的改善。
(2) 根据分析结果, 我们有足够的理由相信, 只要能选用恰当的电气设备和合理的电气布局, 那么雷电对于发电厂的冲击影响将会被控制在合理范围以内, 即电气设备因雷电引起的过电压值将不会高于其额定的耐压值。
(3) 本文是在模拟仿真的情况下得出的结果, 在实际运行和操作中, 还必须要考虑一定的经济成本和政策要求, 因此, 我们的防雷保护还需要在未来做进一步的改善。
摘要:发电厂是电能产生的中心, 对于发电厂的保护关系到整个电力系统运行的稳定。本文基于电磁暂态仿真计算程序ATP-EMTP, 选取了合适的电气设备及恰当的电气布局, 对35kv的某发电厂进行仿真分析计算, 从而对于日后的发电厂防雷保护工作提供参考。
关键词:发电厂,电磁暂态仿真计算程序,避雷器模型,电磁式电压互感器
参考文献
[1]王南兰.变电所和发电厂的防雷保护[J].邵阳高等专科学校学报, 2001, 14 (01) :19-21.
[2]李琥, 项玲.运用ATPDraw仿真分析变电所接地网雷电暂态效应[J].江苏机电工程, 2005, 24 (03) :44-45.
[3]高爱云.ATPDraw及其在输电线操作过电压中的应用研究[J].广东水利电力职业技术学院学报, 2005, 3 (02) :49-51.
[4]赵玉林.高电压技术[M].北京:中国电力出版社, 2008.
[5]林福昌.高电压工程 (第二版) [M].北京:中国电力出版社, 2011.
[6]赵智大.高电压技术 (第三版) [M].北京:中国电力出版社, 2013.
[7]亓超.基于ATP-Draw的220k V户外变电站雷电侵入波计算分析[D].山东:山东大学, 2013.
[8]李庆玲, 程济兵, 王晓燕, 梁志钰.输电线路氧化锌避雷器应用研究[J].高压电器, 2010, 46 (04) :77-80.
[9]秦家远.雷击下金属氧化物避雷器ATP仿真模型分析[J].电瓷避雷器, 2007 (06) :41-44.
[10]尧广, 曾明贵, 李盛涛, 李利红, 李学忠.35kv电磁式电压互感器连续爆炸事故探讨[J].高压电器, 2012, 48 (10) :114-119.
[11]熊信银, 朱永利, 律方成, 李永刚, 刘继春.发电厂电气部分 (第四版) [M].北京:中国电力出版社, 2009.
仿真程序 第8篇
易时代3D仿真虚拟机器人软件是由广州市教育信息中心规划设计, 广州市财政投资, 委托广东南方数码科技有限公司开发的集机器人教学、实验和竞赛管理于一体的虚拟机器人教育平台, 供广州市所有中小学校免费使用。该软件具有较强的趣味性、互动性、竞技性和娱乐性。笔者以广州市易时代3D仿真虚拟机器人软件为例, 谈谈仿真虚拟机器人软件在小学信息技术程序设计教学中的作用。
一、仿真虚拟机器人软件能提高小学生学习程序设计的兴趣
兴趣是影响教学活动的主要因素。人们一旦对某一事物产生浓厚的兴趣, 就会主动地去求知, 去探索, 去实践。一般程序设计内容比较抽象, 由于小学生的思维特点是以直观形象思维为主, 并逐步向抽象逻辑思维过渡。所以, 小学生往往在学习传统的程序设计时感到枯燥、难懂, 大大降低学习的兴趣。
仿真虚拟机器人软件采用的是图形化编程界面和直观的流程图编程 (如图1所示) , 学生不再是对着一些乏味的字母和符号。学生还可以利用仿真系统的仿真功能即时看到编程的效果 (如图2所示) 。同时, 仿真虚拟机器人软件采用了生活化的情景主题任务, 如2009年以“虚拟灭火”为主题, 2010年以“虚拟火炬传递”为主题, 2012年则以“虚拟校车”为主题, 为程序设计的学习增添了趣味性。因此, 仿真虚拟机器人软件比起传统的程序设计语言能够大大提高小学生学习程序设计的兴趣。
二、仿真虚拟机器人软件有助于结构化程序设计思想的学习
学习程序设计最重要的是学习算法和结构化程序设计的思想。尤其是小学生, 小学生学习程序设计重点应放在理解程序设计的基本概念和基本结构上, 应重算法轻语法, 注重运用算法思维和结构化程序的思想去分析问题、解决问题。在使用仿真虚拟机器人的程序设计教学中, 仿真虚拟机器人软件能够为程序设计教学营造良好的程序实践环境, 学生在设计程序后, 能从虚拟机器人的行为中得到即时反馈, 学生再根据这些反馈修改程序。这样, 学生就经历了一个“思考—实践—再思考—再实践”的反复的人机交互过程, 直到目标程序的实现。仿真虚拟机器人软件在此过程中能够帮助学生理解并形成程序设计的思想。
以机器人简单巡线为例, 在仿真虚拟环境下, 机器人需要沿着白色引导线行走。实现方式是在机器人的前方左右各放一个光电传感器, 通过判断光感的光值来决定执行相应程序, 沿着白线行走。学生需要先分析机器人巡线时会出现几种情况, 再运用算法思维解决, 最后通过编写程序实现。如图3所示, 车巡线时会出现4种情况, 如果车右边的光感器返回大于0的值, 则右边传感器检测到白线, 在这种情况下有两种可能性, 一是车子方向向左偏了, 二是车子到了十字路口, 如何区分这两种情况呢?我们可以通过第二个光电传感器的数据来判断。如果第二个传感器返回大于0的值, 说明车两边都压线, 来到十字路口了, 则可以决定车是直走还是转弯。如果第二个传感器返回的是小于0的值, 说明车左偏, 则需要对车向右偏转校正角度后再执行直走程序。
如果左边的光感器返回不大于0的值, 在这种情况下有两种可能性, 车子方向向左偏了或者在线上正常行走。如何区分这两种情况, 我们需要车右边光感器的数据, 如果右边的光感器返回大于0的值, 则是右边压线了, 也就是车子偏左, 我们需要对车向右偏转校正角度后再执行直走程序。如果左右两个光感器返回值都不大于0, 则说明车是在线上行走的, 执行直走程序。
结构化程序设计的基本结构是顺序结构、选择结构和循环结构。这个虚拟机器人简单巡线的程序主要用到的是循环结构和选择结构, 学生只有通过一步一步的逻辑分析, 才能充分考虑各种情况, 只有在理解这些程序设计的基本结构作用后, 才能通过编程实现虚拟机器人巡线程序。因此, 学生利用仿真虚拟机器人软件学习程序设计, 其图形化的编程界面能帮助学生运用逻辑思维分析问题, 其仿真虚拟的环境能形象直观地引导学生用算法思维解决问题, 从而有助于培养小学生结构化程序设计的思想。
三、仿真虚拟机器人软件有助于激发学生的创新思维
创新是一个民族进步的动力。《中小学信息技术课程指导纲要 (试行) 》明确指出:“努力创造条件, 积极利用信息技术开展各类学科教学, 注重培养学生的创新精神和实践能力。”程序设计学习就是一种培养创新思维的学习。在程序设计中, 达到目标任务的编程方法是多样的, 学生可以充分发挥创造性, 以不同的编程方法去实现。即使是一个简单程序的实现, 从分析、设计、调试到最终实现, 都是一个创造性的过程。
仿真虚拟机器人软件在创新思维培养的设计上也有所体现。它提供了地图编辑功能、虚拟机器人的编辑功能, 使整个程序设计具有开放性。这有助于培养学生的发散思维, 激发学生的创新思维。例如2012年广州市易时代3D虚拟机器人竞赛, 竞赛的主题是智能校车接送学生, 竞赛的内容是使校车 (虚拟机器人) 在指定时间内从起点行驶到指定的车站接送“学生”, 然后送往学校完成整个任务。任务包括:沿道路行驶, 躲过道路上的障碍物, 到指定 (一个或多个) 车站接“学生”, 回到学校。在教学中, 我们可以根据竞赛的内容和规则, 利用软件的地图编辑功能编辑出模拟竞赛的地图 (如图4所示) , 供学生训练。学生看到地图后, 首先需要考虑虚拟机器人行走哪条路线才能最快到达终点。
经过分析, 可以走的线路有:第一, 从第一个路口向右越过第一个路障后转到车站1, 然后经过两个路口转向到达车站2, 再经过两个路口转向到达废车, 越过废车后到达终点。第二, 从第一个路口向右越过第一个路障后转到车站1, 然后经过两个路口转向到达车站2, 再直行一个路口到达路障, 越过路障后右转到达终点。第三, 直行两个路口到车站2, 然后右转两个路口直行一个路口到达车站1, 再掉头直行两个路口到达废车, 越过废车后到达终点。
由于竞赛规则还允许校车 (虚拟机器人) 离开白色轨迹线行驶, 大大增加了程序设计的开放性, 所以在竞赛中, 有的学生使用光电传感器和超声波来完成任务, 有的学生使用指南针和GPS来完成任务, 有的学生还想出了利用倒车的功能提高效率, 充分体现了学生的创造性。因此, 具有开放性特点的仿真虚拟机器人软件在程序设计教学中能够激发学生的创新思维, 让学生创造性地运用程序设计知识去解决问题。
四、结束语
仿真虚拟机器人软件能够引起小学生兴趣, 符合小学生认知特点, 把仿真虚拟机器人软件应用到小学程序设计教学中, 能够提高学生学习程序设计的兴趣, 有助于激发学生的创新思维。因此, 仿真虚拟机器人软件可成为小学信息技术程序设计教学的新载体。
参考文献
[1]张嘉志, 王同聚.让机器人走近学生—3D仿真虚拟机器人:普及机器人教育的新途径[J].中小学信息技术教育, 2010 (6) :95-96.
[2]范利华.借助机器人教学平台培养小学生编程能力[J].研究探索, 2011 (5) :15-19.
仿真程序范文
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。