编程探讨

2024-05-26

编程探讨(精选十篇)

编程探讨 篇1

大学是引领社会发展的灯塔, 它应该站在时代科技发展的前沿。对于数控这个专业来说, 教师在教学中仅仅只是依照书本引导学生对数控专业进行编程的教学或者教会学生对G, M, S, T, F的各功能指令的应用, 而对于切削三要素的各项功能不去引导学生加以掌握, 对零件的各种加工工艺不去熟悉, 哪也只是编程上的专精, 还不足成为一个真正的得到社会认可的自动数控编程工程师。要想成为一个真正的自动数控编程工程师就需要具备综合实力即我们所说的“博通”。学习方法的先进与否其衡量标准就是否可以达到事半功倍的效果。掌握好的学习方法可以用最短的时间达到最好的效果, 而目前教师所采用的基于工作过程的教学是一种寓做于学的方式。在掌握理论的基础上再趁热打铁经过实践教学的摸爬滚打, 从中体会理论上的真正含义, 提升理论学习的理解能力。以求达到动作记忆的目的。

2数控教学中应专精的问题

数控教学过程中, 专精编程是前提, 在这个前提下, 要想真正成为一个好的数控工程师还必须对加工工艺了解, 因为数控加工过程不仅仅是要个编程的过程, 而是包含了设计和制造的全部工艺流程。要想达到预期的加工效果, 制造工艺是非常关键的一个因素。在制造工艺当中, 软件参数设置、切削要素、工艺过程是应该好好琢磨的。

2.1 切削三要素

主轴转速S、进给速度F、以及背吃刀量X是零件切削加工中的三个关键要素, 当然刀具对材料的特性、发热、过载、转速、每次切削下刀深度等需要掌握, 另外金属材料, 刀具材料和种类, 刀具对金属的切削能力以及受力分析, 诸如这把刀切削这块金属材料应该给什么样的转速?每分种可以加工多少毫米?每次背吃刀量多深等等均需一一掌握。对刀具要多参考刀具材料的书。合金刀具, 高速钢刀具, 进口的, 国产的, 各种刀具的切削能力, 多收集一些。多看普通车、铣床的加工。数控车、铣床和普通车、铣床基本一样, 只是X、Y、Z三轴能同时联动, 切削方法上有所不同。

2.2 软件参数设置部分

软件是在自动编程中经常使用的, 在教学中我们要求学生掌握几种程序的应用如Master CAM、Pro/Engineer、UG等, 至于如何切削, 则需要学生在掌握以上知识前提下迁移到这儿再用软件去控制, 输入自己考虑好切削方式。针对不同的实体材料, 应该对软件做不同的参数设置, 针对深度控制, 从Z轴零点到加工位, 每次进刀加工多深, 层与层之间如何提起刀具, 加工范围如何控制, 换刀指令如何编排等这些问题需要做详细的分解, 一步错, 步步错, 要谨而慎之。软件参数设置部分即包含的一个工程师对软件的熟悉程度, 也能体现对整个数控加工过程的整体把握, 是一个数控技术员智慧与经验的完美结合。

2.3 加工工艺部分

工艺即切削加工的艺术。对于一个产品的加工用什么样的方式切削, 以怎样的基准面装夹, 使更换工装的次数最少, 加工的时间最短, 而且要保证加工出来的产品精度和产品粗糙度Ra满足图纸的要求。通俗的说就是如何加工, 怎么加工的问题, 当熟悉了刀具对材料的切削能力, 了解了软件的控制方法, 接下来就是如何切削才是最好的问题。比如想切削一个模具的一个平面或者一个角落, 怎么走刀才能使切削的粗糙度更高?会不会碰到底部的圆角?加工出来的零件漂亮不漂亮?会不会有余量切削不到?切削不到的地方应该怎么做铜极模, 再通过电火花放电去完成等等。加工工艺确定了最后加工出来的产品是否合格, 这个部分相当重要, 在这里出错, 前面都会前功尽弃, 而对这种分析要有具备实际加工经验的师傅, 凭工作经验对各个形状各异的零件逐个分析再确定加工方法。

3数控专业学科间的博通

众所周知, 数控技术是制造业的重要基础而装备工业的技术水平和现代化程度决定着整个国民经济的水平和现代化程度, 数控技术及装备是发展新兴高新技术产业和尖端工业的使能技术和最基本的装备。马克思曾经说过“各种经济时代的区别, 不在于生产什么, 而在于怎样生产, 用什么劳动资料生产”。制造技术和装备就是人类生产活动的最基本的生产资料, 而数控技术又是当今先进制造技术和装备最核心的技术。因此, 机械制造的竞争, 其实质是数控技术的竞争。而掌握数控技术不能只满足数控加工技术上的专精。由于装备工业与数控设备息息相关, 因此掌握数控设备的构造与维修技术的重要性又日益凸现出来。

作为职业院校既然是坚持以就业为导向, 以高技能人才培养为目标, 注重职业道德和服务生产一线的思想定位教育, 职校教育就需要面向市场把握机遇, 本着这一想法, 在教学中不仅要求学生专精数控加工技术, 又要对学生提出掌握数控维修技术, 并且应该向学生讲述了社会上数控维修人才急剧短缺的情景, 激发他们的学习动机, 培养他们的学习兴趣和需要;又通过数控机床的故障维修, 让他们在自己排除故障中体验成功感和自我价值感。当然要想掌握数控维修技术就需要博通其它与之相关联的知识。

一个合格的数控维修人才, 他们必须博通许多专业知识如强、弱电、模拟与数字电路、单片机的储存与控制、PLC编程、计算机的工作原理以及机械运动原理等等。这就需要各种学科的交叉学习。通过交叉学习逐步引导学生弄懂各种数控机床的构造以及与之相关的控制方法。使学生对数控机床了解更清晰, 充分发挥了学生的主动性, 达到了培养他们多方面的素质和创新能力的目的。

目前以数控技术为核心的先进制造技术已成为世界各发达国家加速经济发展、提高综合国力和国家地位的重要途径。此外世界上各工业发达国家还将数控技术及数控装备列为国家的战略物资, 不仅采取重大措施来发展自己的数控技术及其产业, 而且在“高精尖”数控关键技术和装备方面对我国实行封锁和限制政策。

4结语

中国不缺人才, 缺的是高技术人才, 所以学校培养出专精人才以及博通的有综合素质的人才以适应国民经济发展和国家重点建设工程的具体需求, 将来“高、精、尖”重大数控装备还要大家共同创造, 一举打破国外封锁, 掌握数控装备关键技术, 创出中国数控机床品牌。

摘要:本文提出了职校教学及数控教学过程中, 如何平衡数控技术学习的专精与博通, 老师要帮助学生不仅在自动数控编程上掌握切削三要素、在软件、工艺上的专精, 并且全面深度了解数控机床维修与其它学科之间的深入联系, 这样才能培养出受企业欢迎的数控博通人才, 老师更好的教学, 学生有针对性的学习, 对教与学都有着很大益处。

VB与MATLAB混合编程探讨 篇2

摘要:介绍了VB与MATLAB混合编程的方法,二者结合可以充分利用VB的方便快捷和MATLAB软件工具箱的强大功能。

关键词:VB VC++ MATLAB DLL 编译 MATLAB Add-in

MATLAB是MathWorks公司开发的科学计算环境,具有强大的计算绘图能力,提供大量的函数库、工具箱,几乎涵盖了所有的工程计算领域,被誉为“演算纸”式的工程计算工具。但是MATLAB语言是一种解释执行的脚本语言,运算速度较慢是一个比较突出的`问题。

Visual Basic作为一门易学易用的编程语言,受到很多工程技术人员的青睐,其执行速度相对较快,界面友好。因此实现VB与MATLAB混合编程,可以为科研工作和工程应用提供有力的技术支持。

1 基本思路及实现方法

MATLAB提供了与C++、Fortran的程序接口,并没有提供直接与VB的接口。目前VB与MATLAB混合编程方面主要使用以下一些方法:

(1)在VB中通过调用MATLAB的引擎(Engine)接口,使用Windows的OLE或ActiveX通道与MATLAB通信。(本网网收集整理)通过Object.Execute?MATLAB语句?在程序中直接使用MATLAB提供的函数库和图形库。这种方法可以较快地编写出程序;但在调用引擎时,会在后台启动一个MATLAB进程,影响程序运行速度,占用内存。

(2)通过使用嵌入VB的矩阵函数库MatrixVB的方法。MatrixVB是由原MathTools公司开发的第三方插件,利用与MATLAB相似的函数、语法嵌入到VB中,可以象使用VB的函数、命令一样使用MATLAB函数。这种方法语法和函数使用比较简单,编程效率很高,几乎完全融入VB语言,特别对图形的处理非常方便,弥补了其他方法在图形处理上的弱点。安装后,只需在打开的工程中添加MatrixVB库即可(在工程->引用对话框中选中MMatrix)。但由于其仍然采用解释执行,执行效率较低,实时运算难以实现。

(3)借助Visual C++与MATLAB的接口,将MATLAB的程序文件(.M)编译为动态链接库(.DLL),VB在代码中调用生成的.DLL中的函数,实现算法,便于用户脱离MATLAB环境使用。由于算法部分采用C++语句,运行速度较快,可应用于实时运算。这种方法对开发者在设置和编程上有一定要求,本文将详细阐述具体实现步骤。其基本思路如图1所示。

第一步,编写M文件。在MATLAB中打开Editor,按照MATLAB程序格式输入代码,实现算法,调试成功。注意:M文件必须以Function开始,避免在VC++中出现转换错误。

第二步,使用MATLAB6.0新提供的编译插件MATLAB Add-in在VC++中转换为C文件。在转换前做好MATLAB与VC++的接口连接。步骤如下:

・在MATLAB中运行“mex -setup”,选择Microsoft Visual C/C++ version 6.0选项,安装MATLAB Add-in文件到VC++目录,确认;接着运行“mbuild -setup”,选择Microsoft Visual C/C++ version 6.0作为本地默认编译器;然后在MATLAB下运行“cd?prefdir?”和“mccsavepath”命令,MATLAB Add-in可以脱离MATLAB环境找到MATLAB路径。

・在VC++中选择“工具?tools?->定制(customize)->附加项和宏文件?Add-ins and Macro Files?页”,选中“MATLAB Add-in”。这样,在VC++工具栏出现MATLAB Add-in图标,在VC++新建工程对话框中会出现“MATLAB Project Wizard”。至此连接工作完成。

・打开VC++,在新建工程中选择“MATLAB Project Wizard”,按照提示,选择“Shalled M-dll”,输入M文件位置,VC++开始转换。如果M文件没有错误,在工程文件夹中会生成一系列.C文件。其中与M文件同名的.C文件即为转换的C代码。

第三步,编译DLL文件(强烈建议不要对刚刚生成的C代码作任何修改)。选择“编译”菜单,构建.DLL文件,在文件夹中会生成与工程名相同的DLL文件。

第四步,在VB中调用DLL文件。在第二步生成的C代码中找到所要的接口函数,注意大小写,记下函数名。在VB中使用Declare语句声明这个函数。在窗体的“通用-声明”输入如下语法:

Declare Function /Sub <函

数名> Lib “”Alias “<函数名>” ?<参数表>? as (具体语法可参看VB使用手册)。

在程序代码中直接调用声明的函数即可。需要注意的是函数调用过程中的参数传递问题。由于VB和C的数据类型以及参数传递形式不太一样,传递不当,可能会造成调试困难。特别是MATLAB中用到的大量矩阵(数组)参数,调用需十分当心。本文在下面例子中采用文件方式传递参数,利用VB和MATLAB的文件读写功能传递数组参数,对于实时性要求不高的应用,可以方便稳妥地实现数据传递。

2 应用举例

在VB中利用随机数生成16个10以内的整数,作为一个信号序列,利用MATLAB的快速傅立叶变换函数(FFT)对序列进行变换,再将变换结果传递回VB,并显示在窗体上。

在MATLAB中编辑好M文件(test.m),实现读取序列文件及FFT并写回序列文件,调试成功。代码如下:

function t

fid=fopen?'t.txt'?'rt+'?? %以读写文本方式打开

文件

?a?count?=fscanf?fid?'%d'?? %文件以整数格式读入

矩阵a

m=fft?a?count?? %FFT运算

frewind?fid?? %文件指针指向文件头

fprintf?fid?'%f'?m?? %向文件写入矩阵m

fclose?fid??

按照前述步骤在VC++中转换为test.c文件,找到接口函数,本例为mlfTest()。

void mlfTest(void){? ?

mlfEnterNewContext(0,0);??

Mtest;

mlfRestorePreviousContext(0,0);?

}

编译生成test.dll文件。

在VB中生成随机序列并写入文件:

Private Sub Command1_Click()

Randomize

Dim i As Integer

Dim a As Integer

Dim b As String

Text1.Text = ″″

Open App.Path & ″ .txt ″ For Output As #1

For i = 1 To 16

a = Int(10 * Rnd)

Print #1, LTrim(a)

b = b & Str(a) & Chr(13) & Chr(10)

Next i

Text1.Text = b

Close #1

End Sub

声明mlfTest()函数:

Private Declare Sub mlfTest Lib ″G? estdlldll.dll″ ??

调用该函数的事件代码:

Private Sub Command2_Click()

MlfTest '调用函数

End Sub

本例中未向函数传递参数,也无需函数返回运算结果,故采用调用子程序过程(Sub)方式直接调用。结果由VB读取文件获得:

Private Sub Command3_Click()

Dim str1 As String

Dim str2 As String

Text2.Text =

″″

Open App.Path & ″ .txt″ For Input As #1

Do While Not EOF?1?

Line Input #1? str1

str2 = str2 & str1 & Chr(13) & Chr(10)

Loop

Text2.Text = str2

Close #1

End Sub

优化数控编程教学的探讨 篇3

1、激发学生的学习兴趣

要让学生能主动地去学习,第一步就是要激发学生学习的兴趣。浓厚的兴趣能激励学生积极地探索、敏锐地观察、牢固地记忆。也能促使学生积极地提出问题、研究问题、解决问题。

(1)在引入新课上下功夫。每节课一开始,应该用新颖而富于思考性的问题或富有魅力的谈话引入新课,吸引学生的注意力,激发学生的情趣和学习的内驱力。

(2)带领学生参观数控实训车间,观赏往届学生留下的数控实训作品,增强学生对自己将来学习的信心和学习成果的期待。

(3)利用多媒体播放一些企业中有关数控生产的影像资料,使学生对课程感觉学有所用,对将来的就业前景和工作环境充满期待和向往,使学生坚定学好课程的决心。

2、优化教学方法

在教学过程中必须遵循“教为主导,学为主体”的原则,根据教学内容的特点与学生可接受程度,灵活变换教学方法,充分调动并激发学生的学习动机与学习兴趣,使他们自觉、主动、积极地学习,才能提高教学质量。

(1)注意新旧知识的联系与结合。

学生在学习数控编程课程前应已学习过工艺、刀具、材料、制图等方面的基础知识,教师在授课时应注意带领学生温故知新,以免学生遗忘旧知识影响新知识的接受,因为一个完整、实用的数控加工程序实际上就是加工零件的尺寸、工艺、刀具、切削用量等数字化的信息。

(2)充分利用多媒体和数控仿真系统教学。

利用仿真系统进行模拟加工演示,学生可以从任意角度观察数控机床加工过程,对毛坯变成为成品的过程历历在目,直观形象,便于学习与掌握。充分利用仿真教学,重要的一点是要使学生积极参与。仿真加工有助于学生对指令的格式、刀具轨迹的理解的记忆,加快提高学生的编程应用能力。同时,通过仿真加工,可使学生在安全的环境中熟悉机床操作面板和对刀等基本操作,为后面的机床实际操作作准备。

(3)安排适当的机床实际操作。

在计算机上仿真加工和机床上实际操作还是有不小的差别,因此在数控编程课中适当安排一些实操加工是有必要的,初步、简单的实操加工有助于培养学生对数控机床和数控加工的真实感觉,可以在不同程度上帮助学生克服对机床的恐惧心理。贪图安全和“省事”,以仿真加工完全代替实操加工的做法是不可取的。考虑到安全和课时原因,可以安排学生在教师“手把手”地教授下跟进操作,运行教师编写的程序进行加工。学生在教师的指导下加工出工件,会进一步增加成就感,增强学习信心,鼓足学习干劲,也有助于学生对编程理论知识的理解,同时也为后面的数控加工实训作心理、知识及技能上准备。

(4)在实践操作中采用学生互助的教学模式

中职学校在教学中不仅要注重培养学生的操作技能,还应加强培养学生的情感能力。现在企业对员工的情感要求越来越高,需要在工作中学会怎样与人合作、与人沟通。根据社会的需求我校在教学中采用分组互助的方式来进行,选取由一名学习较好的同学和一名学习较困难的同学为一组,将加工课题布置给他们,由他们组成一个项目组,共同协作完成任务。当遇到难题时相互研究并提出解决方案,当遇到不能解决的问题是由老师给出正确的解决办法。

这样教学模式不仅能培养学生的相互探讨和解决问题的能力,更重要的是可以学会如何关怀和帮助别人,提高处理人际关系的办法,使学生学会和不同性别、不同背景、不同能力的人在一起和合作。增强了人际沟通能力,形成团队意识,为今后走上工作岗位打下良好基础。并充分挖掘了学生的学习潜力, 培养了学生独立解决问题的能力, 发挥了学生学习的主观能动性, 增强了学生学习的自信心, 激发了学生的学习热情。

(5)考核评价方式改革

职业院校的人才培养目标是具有较高岗位职业能力的高素质,高技能应用型人才。因此我们将过去单一的理论测试改为理论知识考核与操作技能考核相结合的模式,采用职业技能鉴定的方式对学生的核心职业能力进行综合评价,形成了层次化的以职业核心能力培养为目标的评价体系,即“课题技能考核—项目过程考核—综合技能考核—课程最终考核(评价)—职业资格鉴定”。在项目考核中,每个项目都基于工作过程设计了项目考核评价表,内容包括工件加工,基本操控,安全文明生产,工艺合理,程序编制,完成时间,合作性及其他安全文明生产项目。综合任务的测试具有岗位工作任务的针对性,紧紧围绕国家职业资格标准,突出项目考核与综合考核相结合,理论与实践考核相结合,教师评价与企业评价和学生自评,互评相结合。充分调动了学生的学习积极性,最终培养出适应能力强、技术水平高、素质良好的技能人才。

3.建议与设想

目前各地各校教学条件参差不齐,对具备条件的学校,数控编程课的教学建议。首先,数控编程理论课、数控仿真加工、数控实操加工执行一体化、模块式教学,数控编程课的数控实操加工定位为基础实训,在整个专业的教学活动中再另外一次数控加工综合实训,定位为加强、提高实训。其次,引入和推进任务教学法、项目教学法。

4.结语

总之,在《数控编程》课程教学中,不断提高自己的专业知识水平和专业技能,积极探索教学新方法,教学过程中把相关知识融合好,充分调动学生的学习积极性,才能收到良好的教学效果。

参考文献:

[1]潘平盛.数控编程教学方式的探讨[J].安徽电子信息职业技术学院学报,2011年04期

《数控车床编程》教学探讨 篇4

《数控车床编程》这门课程的内容主要包括以下几方面:

(一) 基础理论知识:

主要介绍数控及数控机床的基本概念, 数控机床的分类及特点;数控插补概念及原理;伺服系统的概念、类型及特点。

(二) 编程知识:

主要包括程序结构、编程指令、数控加工工艺及编程知识、编程综合应用等知识。

二、教学方法探讨

(一) 模块式教学。

可以把《数控车床编程》课程内容分为五大模块。1、基础理论知识部分主要介绍数控机床概念、基本构成、应用特点、数控机床分类, 数控机床坐标系的作用及建立方法, 数控基本原理和数控伺服系统知识。2、程序结构部分主要介绍数控车床加工程序的基本结构和程序的完整结构, 编程时常用符号的含义、用途及注意事项等知识。3、编程指令部分主要介绍广州GSK928TC系统常用编程指令 (包括简单指令和循环指令两部分) 的功能、编程格式、参数含义和计算方法、指令控制的走刀轨迹、编程应用举例, 进而引伸至其它数控机床的编程格式及说明。4、数控加工工艺部分主要介绍数控加工过程中对刀的目的、常用对刀方法及实际加工的对刀技巧, 数控加工工艺编制的原则及处理方法, 加工参数的选择方法、加工精度的控制方法等知识。5、综合应用部分主要介绍典型零件如简单阶梯轴、锥体类零件、带圆弧面类零件、带槽类零件、带螺纹类零件的编程点坐标计算方法、数控加工工艺分析、编程技巧及注意事项等内容。

(二) 电教化教学。

对于程序结构及符号含义模块、常用编程指令功能及编程格式模块和综合应用模块三部分内容的教学, 采用多媒体、幻灯片、数控仿真软件操作等电教化手段进行教学要比传统教学方式的效果理想得多。以综合应用模块中的编程教学为例, 首先, 将所要加工的零件图样及相应毛坯尺寸、加工条件及参数等投影到屏幕上:如图所示零件毛坯棒料为Φ30×42, 每次进刀2mm, 退刀1mm, 切削速度为60mm/min。

其次, 引导学生进行工艺比较, 从而得出较为理想的加工工艺:1、此零件用外圆粗车循环指令G71进行编程较为方便。2、从工件右端到Φ24的左端面可用外园刀进行切削, 左端则需用切槽刀来加工倒角和切断。3、粗车循环时切至Φ24的最左端。4、粗车循环的起点设定在Φ31×45处。5、T11为外园刀, T22为刀。6、切断前先在左端切一浅槽至Φ18, 然后仍用此刀倒左端角并切断。

再进行编程计算, 将所需点的坐标利用数学知识计算出来。

Rt△ABC中, ∠B=30, AB=30mm, 则BC=AB×cos30, AC=AB×sin30, CD=30-BC。Rt△AEF中, ∠F=30, AB=30mm, AE=AH-14= (BD-CD-10) -14=6-CD, EF=AE/tan30。

可编程计算器测绘程序设计探讨论文 篇5

3.1教材的选择

很多学校都开设了计算器编程课程,但是一直没有适合的教材作为参考,上课非常不方便。虽然计算器编程相关书籍非常多,但作为教材还不够系统,难易程度也不合适。

3.2可编程计算器机型选择

市面上的计算器品牌很多,如CASIO(卡西欧)、得力DELI、TI(德州仪器)、SHARP(夏普)、Canon(佳能)、COMIX(齐心)等。各种品牌、型号的计算器,它们各有特点,且操作不完全相同,计算器的按键对于不同的品牌、不同的型号,区别也比较大。编程计算器的程序语言也不完全相同,计算器的计算功能的多少、在工程上的使用程度等都影响计算器的选择,同时还要兼顾学生本身的经济条件。因此,选择哪一种机型的计算器用在教学中是一个要解决的问题。3.3教学内容的选择因课程开设时间的不同,对教学内容的要求也不一样。如果开设时间过早,相关的基础课程还没有学习,学生学习起来困难较大。将课程安排在大部分专业课程之后,基本原理部分的讲授就会变得相对简单,但编程内容要如何选择,怎样安排整个教学内容才能达到比较好的效果呢?这是我们要解决的.又一个问题。

4课程建设

4.1教学时段安排

因计算器编程课程与很多专业课程密切相关,如果大部分专业课程没有学过,在讲程序设计时,势必要把所有没学过的数学模型及原理从头讲一遍,这样就会与其他专业课程重复。根据多年对本课程的教学和研究,将课程安排在完成大部分专业课程之后,将会事半功倍。此外,计算器程序设计课程同一些专业课程会同时开课,将计算器程序用于这些专业课程中的相应计算中,这样的学习效果会更佳。例如在开设工程测量课程时,将曲线放样元素的计算用计算器程序来完成,计算更快,学生也更有学习兴趣。

4.2教学时间安排

4.2.1一周安排几节,用一个学期的时间完成课程教学这样安排,学生有时间学习和消化讲过的内容,但时间过长,可能在下次上课的时候就将上节的内容忘记了。4.2.2集中排课,一周时间完成课程教学用一周或两周的时间,集中学习。天天都在接触计算器及相关编程内容,记忆深刻。但集中学习,一次接受的知识太多,学生理解起来有困难。在学过一个知识点后,学生没有更多的时间去消化吸收。这两种安排各有利弊,但将其综合起来,将课程安排半个学期的时间,教学的进度与学生的接受能力都可以得到满足,教学效果更佳。

4.3总学时的确定

课程的安排要满足学生学会计算器的基本功能、基本编程功能、专业计算程序的编写、在工程应用中使用到的一些常用计算器程序等。由易到难,学生从计算器的基本功能开始学起,通过学习习近平时熟悉的数学模型,学习兴趣会更浓。通过这样的循序渐进的过程,逐渐掌握程序编写的要点与技巧,从而学会编程。要达到这样的教学目标,总学时安排大概30学时即可。

4.4计算器机型的选择

根据卡西欧(中国)贸易有限公司市场部相关人员的市场调查,及测绘相关专业已经毕业的学生反馈的信息,在工程中使用较多的机型为CASIOfx-5800P计算器。因此,为了适应市场及学生就业岗位的需求,课程选用CASIOfx-5800P计算器作为主要机型,有针对性地讲授其编程方法,同时附带市场上用的相对较多的其他机型作为比较。

5教材建设

针对各高职院校计算器编程课程的困扰及课程特点,经过全国测绘地理信息职业教育教学指导委员会认真研究,组织编写了《Casiofx-5800P测绘程序设计与应用》教材,该教材从测绘及相关专业出发,内容涵盖计算器的基本计算操作、编程基础、点位坐标计算、参考椭球与坐标转换、高程测量计算、导线测量计算、曲线测设和面积计算等程序的编写与使用,与测绘专业紧密结合,难易程度相当。学生学习了相关测绘基础知识,如测绘基础、测量平差、控制测量、工程测量等学科之后,再来学习计算器程序设计,在数学模型的学习上不用花费过多的时间,重点放在程序设计与使用上,效果会更好。在信息化比较发达的今天,除了纸质的教材外,学生可以借助各种媒体进行学习。同时考虑到课程的学习时间不是很长,需要在短时间内掌握编程技巧与方法,所以在教材出版的同时,还配套有课程相关的学习视频、课件、教案等供老师和学生参考。学生除了在课堂上学习外,还可以自由安排时间进行自学。老师上课更轻松,学生也可以更好地学习。

6结语

课程建设方案及教材内容的设计,在由全国测绘地理信息职业教育教学指导委员会组织的“工程计算器与测量教学整合”课题研讨会上,得到了与会专家、老师、工程师等的一致好评。同时为了使学生更爱计算器程序设计,使计算器程序设计课程达到开设的目的,卡西欧(中国)贸易有限公司联合多所高校、企业组织了工程计算器程序设计大赛,使专业人士和学生积极参与,促进了计算器程序的发展和改进,做到以教促学、以赛促学,最终达到以学促用的目的。但是,这其中也存在一定的不足之处,我们会在以后的实践中不断改进,以适应发展的需要。

参考文献

[1]周拥军.CASIO可编程计算器在土木工程教学中的应用实践[J].昆明冶金高等专科学校学报.,19(04):51-52.

[2]王中伟.卡西欧fx-5800P可编程与道路施工放样程序[M].广州:华南理工大学出版社,.

有关时序循环问题的编程方法探讨 篇6

关键词可编程逻辑控制器编程方法时序循环

中图分类号:G712文献标识码:A文章编号:1002-7661(2011)08-0012-02

可编程逻辑控制器(Programmable Logic Controller简称PLC)被广泛应用于工业控制领域,目前,PLC在国内外已广泛应用于钢铁、石油、化工、电力、建材、机械制造、汽车、轻纺、交通运输、环保及文化娱乐等各个行业,使用情况大致可归纳为如下几类。

一、开关量的逻辑控制

这是PLC最基本、最广泛的应用领域,它取代传统的继电器电路,实现逻辑控制、顺序控制,既可用于单台设备的控制,也可用于多机群控及自动化流水线。如注塑机、印刷机、订书机械、组合机床、磨床、包装生产线、电镀流水线等。

二、模拟量控制

在工业生产过程当中,有许多连续变化的量,如温度、压力、流量、液位和速度等都是模拟量。为了使可编程控制器处理模拟量,必须实现模拟量(Analog)和数字量(Digital)之间的A/D转换及D/A转换。PLC厂家都生产配套的A/D和D/A转换模块,使可编程控制器用于模拟量控制。

三、运动控制

PLC可以用于圆周运动或直线运动的控制。从控制机构配置来说,早期直接用于开关量I/O模块连接位置传感器和执行机构,现在一般使用专用的运动控制模块。如可驱动步进电机或伺服电机的单轴或多轴位置控制模块。世界上各主要PLC厂家的产品几乎都有运动控制功能,广泛用于各种机械、机床、机器人、电梯等场合。

四、过程控制

过程控制是指对温度、压力、流量等模拟量的闭环控制。作为工业控制计算机,PLC能编制各种各样的控制算法程序,完成闭环控制。PID调节是一般闭环控制系统中用得较多的调节方法。大中型PLC都有PID模块,目前许多小型PLC也具有此功能模块。PID处理一般是运行专用的PID子程序。过程控制在冶金、化工、热处理、锅炉控制等场合有非常广泛的应用。

五、数据处理

现代PLC具有数学运算(含矩阵运算、函数运算、逻辑运算)、数据传送、数据转换、排序、查表位、操作等功能,可以完成数据的采集、分析及处理。这些数据可以与存储在存储器中的参考值比较,完成一定的控制操作,也可以利用通信功能传送到别的智能装置,或将它们打印制表。数据处理一般用于大型控制系统,如无人控制的柔性制造系统;也可用于过程控制系统,如造纸、冶金、食品工业中的一些大型控制系统。

六、通信及联网

PLC通信含PLC间的通信及PLC与其它智能设备间的通信。随着计算机控制的发展,工厂自动化网络发展得很快,各PLC厂商都十分重视PLC的通信功能,纷纷推出各自的网络系统。新近生产的PLC都具有通信接口,通信非常方便。

PLC的应用领域仍在扩展,在日本,PLC的应用范围已从传统的产业设备和机械的自动控制,扩展到以下应用领域:中小型过程控制系统、远程维护服务系统、节能监视控制系统,以及与生活关连的机器、与环境关连的机器,而且均有急速的上升趋势。值得注意的是,随着PLC、DCS相互渗透,二者的界线日趋模糊的时候,PLC从传统的应用于离散的制造业向应用到连续的流程工业扩展。

PLC具有通用性强、使用方便、适应面广、可靠性高、抗干扰能力强、编程简单等特点。PLC在工业自动化控制特别是顺序控制中的地位,在可预见的将来,是无法取代的。正是基于这样的发展状况,我院多个专业都开设了PLC课程以满足学生将来工作、就业的需求。在PLC的教学中编程方法是重点同时也是难点,常用的PLC编程方法有经验法、解析法、图解法。

所谓经验法,即是运用自己的或别人的经验进行设计,设计前选择与设计要求相类似的成功的例子,并进行修改,增删部分功能或运用其中部分程序,直至适合自己的情况。在学习过程中,可收集与积累这样成功的例子,从而可不断丰富自己的经验。经验设计法对于一些比较简单的程序设计是比较奏效的,可以收到快速、简单的效果。但是,由于这种方法主要是依靠设计人员的经验进行设计,所以对设计人员的要求也就比较高,特别是要求设计者有一定的实践经验,对工业控制系统和工业上常用的各种典型环节比较熟悉。经验设计法没有规律可遵循,具有很大的试探性和随意性,往往需经多次反复修改和完善才能符合设计要求,所以设计的结果往往不很规范,因人而异。

而解析法,则是利用组合逻辑或时序逻辑的理论,并运用相应的解析方法,对其进行逻辑关系的求解,然后再根据求解的结果,画成梯形图或直接写出程序。解析法比较严密,可以运用一定的标准,使程序优化,可避免编程的盲目性,是较有效的方法。

图解法是靠画图进行设计。常用的方法有梯形图法、波形图法及流程法。梯形图法是基本方法,无论是经验法还是解析法,若将PLC程序转化成梯形图后,就要用到梯形图法。波形图法适合于时间控制电路,将对应信号的波形画出后,再依时间逻辑关系去组合,就可很容易把电路设计出。流程法是用框图表示PLC程序执行过程及输入条件与输出关系,在使用步进指令的情况下,用它设计是很方便的。

在学习和实践我们经常会遇到有关时间循环的控制问题,其编程是有一定规律的,掌握了这个规律,编程就会容易,并且有条理,结构也很清晰完整。下面笔者就波形图法重点探讨这类问题的设计步骤,与各位同行商榷,不当之处欢迎指正。

首先,在正确理解控制要求的基础上画出时序图,根据时序图中各负载发生的变化,定下要用定时器的编号和各定时器所延续的时间。

第二步,由于各定时器是按照先后顺序循环接通的,所以要用前一个定时器的常开触点接通后一个定时器的线圈,再用最后一个定时器的常闭触点去断开(一个扫描周期后又自动接通)第一个定时器的线圈,这样就完成了定时器的一个循环周期,如果控制要求中有循环次数要求,那么就用最后一个定时器的常开触点启动计数器,达到计数器预定值后,用计数器的常闭触点断开启动程序,从而实现控制次数的目的。

最后写驱动负载的程序,根据时序图中各负载上升沿和下降沿的变化,上升沿表示是负载要接通,用相应的常开触点,下降沿表示的是负载断开,应用相应的常闭触点,在一个周期内负载有多次接通时要用多条支路触点并联实现。

十字路口交通灯、全自动洗衣机等的控制都是非常典型的时序问题,如果也采用上面的规律进行编程,相信大家一定会感觉非常轻松而且充满乐趣。当然这类问题还可以采用其他的编程方法实现,无论采用何种方法,只要我们掌握了其中的规律都能应付自如。

《数控编程与操作》课程教学探讨 篇7

关键词:数控编程,教学方法,数控加工仿真系统

1 课程简介

《数控编程与操作》是数控、机电专业重要的专业课之一, 它主要介绍了数控车床、数控铣床、加工中心等相关数控机床的编程和操作。

当前, 数控编程是数控加工技术应用中关键环节之一, 也是目前CAD/CAM系统中最能明显发挥效率、效益的环节之一, 它在实现设计加工自动化、提高加工精度和加工质量、缩短产品研制周期等方面发挥着重要作用。迫于实际生产的紧迫需要, 国内外对数控编程技术进行了广泛的研究, 取得了丰硕的成果, 并在机械制造工业、航空工业、汽车工业等领域发挥着广泛而重要的作用。因此, 培养既懂理论又会操作的技能型数控操作人员是当前职业学校的紧迫任务。单纯的理论教学, 学生难以理解。教学方法的多样化, 能够提高教学质量、激发学生学习兴趣。在《数控编程与操作》的教学过程中, 我注意从书本知识到实际应用能力的转化入手, 在教学数控编程知识的同时, 着重注意提高学生实际应用能力的培养, 摸索出一套适合学生能力发展的教学方法。

2 在教学过程中应用适当的“比喻”

数控设备的种类比较繁多, 数控的发展也很快, 我国这类人才相对紧缺。我很荣幸能够担任有关数控知识方面的教学。在这几年的教学过程中, 也有了很多的体会。《数控编程与操作》是一门新兴学科, 在社会上能够熟练掌握与运用的人较少, 教材也多种多样, 数控系统也比较多, 常见的有FANUC系统、西门子系统、华中系统等。不同的系统编程和操作就有所不同, 知识比较灵活, 但对于程序设计并不熟悉的学生而言, 这门课比较抽象复杂, 不易理解。为了克服学生们不易理解的问题, 我想了很多解决的办法, 还向相关专业的老师请教和学习他们的教学方法, 有些方法还是挺有效的。比如说在学习的过程中做一些适当的比喻。

一是在理论教学方面:对于在学习编程中用到的指令, 学生不易理解写的是什么, 为何这样写?就把它们比喻成人与机器在交流, 机器“听不懂”我们人类的语言, 因此要用这些指令来代替人类的话, 简而言之, 就是在做“翻译工作”。比如:“G00 XO ZO”, 它可以这样理解:把“刀具快速移动到坐标值 (0, 0) 的位置”翻译成数控系统能理解的话。这样的比喻, 学生就比较容易理解为何要学相关的指令了。

二是在学习操作时:操作的步骤很多、很散、很麻烦, 有些学生不一定感兴趣、也很难记住。在这里也可以做个比喻, 学生们比较喜欢玩电脑、打游戏, 就把在数控机床上的操作比喻成在用键盘“玩游戏”, 什么“键”控制什么样操作, 这样的比喻比较接近学生, 学生就比较容易接受这门比较抽象的课程了。

总之, 我认为在课堂上作一些适当的、贴近学生生活的比喻既可调节课堂气氛又能让学生们接受抽象复杂的专业课程, 真可谓“一举两得”。当然在平时我也会多阅读一些相关的书籍, 来充实自己的专业知识, 在课堂上能给学生们讲一些生活中常见到的例子与实践事例, 来拓宽学生们专业的知识面, 这样以来既充实了我自身, 也让学生们学到了很多知识, 老师和学生之间共同学习共同进步。

3 应用“数控加工仿真系统”教学

数控加工仿真系统是结合机床、厂家实际加工制造经验与学校教学训练一体所开发的一种机床控制虚拟仿真系统软件, 可以满足大批量学生教学需求。数控加工设备价格昂贵、占地大, 而数控仿真系统软件可以在微机平台上运行, 解决了培训时学员多机床设备少的问题、并为学校节省了大量设备购置经费。它可以对数控装置进行仿真操作, 实践课程教学的目的主要是对原理的验证。学生可利用此软件进行仿真操作, 同样会起到了真实设备的教学效果。与真实机床相比, 仿真系统具有以下的优点:

首先, 由于计算机辅助控制系统是以计算机为媒体开发的, 所以它的通用性较强。其次, 数控仿真系统依据计算机强大的显示功能和全中文的结构设计, 并配以丰富多彩、自然友好界面显示, 使学生一进入本系统就被深深的吸引, 从而能够激发学生学习兴趣和动力。模拟演示功能更为真实可靠, 图形大小、颜色、观察视角以及刀具的形状等都可由操作者自行设计以满足不同监控要求。当程序执行时, 程序段、坐标值、出错信息以及工件与刀具的相对移动的切削过程, 同时显示在同一窗口内, 使操作者能够一目了然, 随时监控机床运行的状态, 体验真实的加工过程。该系统具有机床规格大小设置, 可定义刀具形状、切削用量, 如数控铣床上钻头、镗刀、球头刀、平底刀, 数控车床上的外圆刀、镗刀、切刀、螺纹刀, 可以实时监控刀具加工轨迹及图形缩放控制。机床外形也可显示并具有关门保护、零件加工后的测量和保存视窗作业的功能。再次, 在操作方面, 由于数控加工仿真系统采用了与数控机床操作系统相同的面板和按键功能, 并且使用数控加工仿真系统在操作中即使出现人为的编程或操作失误也不会危及机床和人身安全, 反而学生还可以从中吸取大量的经验和教训。所以说它是初学者理想的实验、实践工具, 只要经过短期的专门训练, 学生很快就能够适应数控系统的实际操作方法, 从而为以后的技能的进一步深造打下了坚实的基础。

数控加工仿真系统具有FANUC、SIEMENS、华中等众多数控系统功能, 学生通过在PC机上操作该软件, 能在很短时间内就能掌握数控车、数控铣及加工中心的操作。可手动或CAD/CAM编程和加工, 教师通过网络教学, 监看窗口滚动控制, 可随时获得学生信息。在教学中还具有多媒体教学的特点。

数控仿真系统还可以使学生在学习数控编程理论时, 课堂的教学变得更加生动、更加具体, 提高了学生的学习兴趣, 教学效果明显得到提高。在学习实际操作时, 由于仿真软件不存在安全问题, 这使得学生可以大胆地、独立地进行学习和练习, 并能自我检测加工零件几何形状的精度, 对学生机床操作能力的培养, 起到了极大的加强作用。

基于Flash的交互动画编程探讨 篇8

Flash动画的制作非常简单, 一个开发者只要掌握一定的软件知识, 通过Flash软件就可以很容易地制作出Flash动画。Flash动画被广泛使用还有一个原因是它是由矢量图组成的, 矢量图的主要优点是容量小, 且在伸缩时不会失真, 动画制作完成后, 在导出Flash动画的过程中程序还会压缩优化动画的组成元素, 进一步减少了动画占用的存储空间, 且在缩放播放窗口时, 也不会影响到画面的清晰程度。

1.1 Flash的Action Script

Flash是Macromedia (现已被Adobe收购) 公司开发的一款网页动画开发软件, 从简单的动画到复杂的交互式Web应用程序, 它使用户可以创建任何作品。通过添加图片、声音和视频, 可以使Flash应用程序媒体丰富多彩。Action Script是为Flash产品开发的一种简单的脚本语言, 是属于面向对象的编程语言, 功能强大, 类库丰富, 语法类似Java Script, 多用于Flash娱乐性、互动性、实用性开发、RIA应用程序和网页制作的开发。

1.2 Flash交互动画设计案例

为了介绍Action Script在动画编程中的使用方法, 以“天上掉金币”的游戏为例, 简单介绍一下Flash动画编程的设计方法及程序的应用。

1.2.1 概要设计说明

游戏基本规则为:游戏开始后, 会从天上掉下钱币, 分为:金币、银币、铜币和钻石。其中金币的分值为3分, 银币的分值为2分, 铜币的分值为1分, 钻石的分值为5分。游戏时间为1分钟, 系统会统计接到金币的分值数。游戏结束后会累计计算出本次游戏获得的分值。

1.2.2 详细设计流程

第一步:创建文档。

新建一个空白Action Script文档, 将其工作区设置文档大小为600像素*400像素。

第二步:创建影片剪辑。

(1) 新建一个影片剪辑元件, 命名为“我的金币”。

创建两个图层, 分别将其命名为“脚本层”和“图像层”。在“图像”的图层上输入信息, “我的金币”, 将其【属性】中的【文本类型】设置为“静态文本”。在“图像”的图层的第1帧上拖曳出一个文本框, 将其【属性】中的【文本类型】设置为“动态文本”, 【变量】设置为“gold”, 在该图层的第2帧处插入帧。得到结果如图1所示。

在“脚本层”的第1帧上输入gold=_root.score的动作语句。

(2) 新建一个影片剪辑元件, 命名为“计时器”。

创建两个图层, 分别将其命名为“脚本层”和“图像层”。在“图像”的图层上输入显示信息“剩余时间”, 将其【属性】中的【文本类型】设置为“静态文本”。在“图像”的图层的第1帧上拖曳出一个文本框, 将其【属性】中的【文本类型】设置为“动态文本”, 【变量】设置为“lefttime”, 在该图层的第2帧处插入帧。得到结果如图2所示。

并将“图像层”层延长至第3帧。

在“脚本层”上进行操作, 在1, 2, 3帧上插入空白关键帧, 并输入脚本代码:

第1帧初始时间, 代码如下:

now=new Date () ;

start Time=now.get Time () ;

total Time=60;

lefttime=total Time;

第2帧计算剩余时间, 时间用完, 则返回到结束事件, 代码如下:

now=new Date () ;

temp Time=now.get Time () ;

lefttime=total Time-Math.round ( ( (temp Time-start Time) /1000) ) ;

if (lefttime==0) {

_root.goto And Stop ("end") ;

this.stop () ;

}

第3帧代码如下:

goto Andplay (_currentframe-1) ;

if (_currentframe==0)

goto Andplay (2) ;

(3) 新建一个影片剪辑元件, 命名为“掉金币”。

创建图形元件“gold”、“silver Coin”、“Copper”、“jewel”。创建名为“gold剪辑”的影片剪辑, 在编辑状态下, 将图形元件“gold”从【库】中拖到时间轴的第1帧, 在第1帧上创建补间动画。第20帧插入关键帧, 在第20帧的关键帧上添加动作代码“goto Andplay;”。用相同操作方法制作名为“silver Coin”、“Copper”、“jewel”3个影片剪辑。将这4个影片剪辑设置为不同的时间轴长度。创建名为“下落的金币”的影片剪辑, 在其编辑状态下制作逐帧动画, 第1-4帧分别为“gold”、“silver Coin”、“Copper”、“jewel”的实例。

(4) 新建一个影片剪辑元件, 命名为“下落”。

创建两个图层, 分别将其命名为“脚本层”和“图像层”。在“图像层”上将影片剪辑“掉金币”拖曳到“下落”第1帧的舞台上, 并在该图层的第3帧插入帧。选中“掉金币”对象, 在【属性】-【实例名称】命名为“allgolds”。

在“脚本层”的前3帧, 插入空白关键帧, 分别输入处理事件的代码:

第1帧根据随机数判定掉下来的是哪种金币, 代码显示如下:

第2帧控制金币掉下来的速度, 代码如下:

第3帧代码如下:

goto And Play (_currentframe-1) ;

对名为“下落”的影片剪辑执行【链接】命令, 在【链接属性】输入标识符“xialuo”。

(5) 新建两个影片剪辑元件, 命名为“接金币”和“聚宝盆”。

在“接金币”剪辑中设置文字“接金币”;在“接金币”剪辑中导入“聚宝盆”图像。

(6) 为按钮编写触发事件

分别创建名为“开始”、“退出”的按钮。以“开始”按钮为例, 在“弹起”帧插入关键帧, 绘制按钮图形, 在“点击”帧上插入关键帧。

第三步:主场景的制作。

在主时间轴上设置5个图层, 分别命名为脚本层、计时计分层、聚宝盆层、按钮控制层和背景层。

(1) 时间轴第1帧上的操作

在背景层上绘制背景, 将“金币”、“银币”、“铜币”、“钻石”、“接金币”几个影片剪辑分别放到舞台合适的位置上;

按钮控制层上设置“开始”按钮, 代码如下::

(2) 时间轴第2帧上的操作

在背景层上保持原有背景, 将其余对象去掉, 且延续至第5帧;

在聚宝盆层上添加“聚宝盆”的影片剪辑, 命名为“jubaopen”;

在计时计分层上添加“我的金币”和“计时器”两个元件。

(3) 时间轴第3, 4帧上的操作

第3帧和第4帧在舞台对象上均与第2帧相同。

(4) 时间轴第5帧上的操作

在按钮控制层上添加“继续”和“退出”两个按钮, 并分别添加动作代码:

继续操作按钮代码如下:

(5) 脚本层上各帧操作

第1-5帧分别插入空白关键帧。

在第1帧上插入“stop () ;”代码。

在第2帧上插入如下代码:

start Drag ("jubaopen", true, 50, 350, 550, 350) ;

mc Depth=0;

score=0;

在第3帧上插入如下代码:

if (Math.random () <0.2) {

_root.attach Movie ("xialuo", "s"+mc Depth, mc Depth) ;

mc Depth++;

}

在第4帧上插入如下代码:

goto Andplay (_currentframe-1) ;

选中脚本层的第5帧上配置属性栏, 在帧标签上添加“end”。

第四步:测试执行结果

将影片导出测试实现结果。

2 结语

主要以“天上掉金币”的小游戏为例, 简单介绍了通过Flash的Action Script实现交互动画的方法和思路。通过动画元件的不同组合, 创造出各种效果;通过Action Script给动画添加一些交互性。

参考文献

[1]孙坤.Flash 8动画设计教程[M].北京:中国铁道出版社, 2008, (23) .

[2]龙晓苑.Flash AS 3.0动画编程[M].北京:北京交通大学出版社, 2010, (13) .

[3]安东品.Flash动画师编程之路ActionScript 3.0完全精通[M].北京:化学工业出版社, 2011, (61) .

数控车削加工的参数化编程探讨 篇9

数控机床在金属加工领域的主导地位正逐步凸现出来, 数控技术是机电一体化技术发展的结晶, 数控机床的使用使得金属加工质量对操作者技能的依赖性大为降低, 使得以前不可能的复杂高精度加工变为可能。普通数控系统一般只提供直线插补 (G01) 、圆弧插补 (G02、G03) , 而在现实数控车削中经常需要加工一定精度的非圆曲线, 如抛物线等, 这时就无法直接采用此类数控系统内部的插补指令。为加工此类特定曲线, 可考虑用微细小直线段拟合非圆曲线的方法来达到精度要求。首先针对非圆曲线建立笛卡尔坐标系, 车削加工中常以工件右端面中心点为工件坐标系原点, X轴、Z轴平行于机床坐标系;再从坐标系原点出发建立一系列非圆曲线的割线, 可由曲线方程计算出割线族与非圆曲线的交点坐标;最终用直线插补指令 (G01) 连续插补出各微细小直线段。

各条割线间的间隔角度随精度要求的不同进行调整, 故精度要求越高, 要求割线间的间隔角度越小, 计算量也随之增加, 程序也变得更复杂。FANUC-0T系统提供了A、B两种用户宏指令, 对特定非圆曲线采用宏指令编程可将程序参数化, 使程序精简易懂, 能有效解决计算量增加带来的程序庞大等问题。

1典型非圆曲线方程分析

本文以抛物线为例, 对抛物线曲线方程作出分析。在xoz平面内建立笛卡尔坐标系, 如图1所示, 抛物线的标准方程为:

x2=-2pz p>0 。 (1)

其中:p为抛物线的焦准距。

数控系统在进行插补时, 要实时计算出下一步的抛物线坐标点的坐标值。可根据z=f (x) 的函数关系, 给定一个x值 (此处采用半径值) 可计算出相应的z值:

undefined。 (2)

此外, 还可以根据抛物线的参数方程求解曲线上各点的坐标值, 参数方程如下:

undefined

。 (3)

其中:α为斜率角度变量;c为抛物线动径横坐标。

运用式 (2) 和式 (3) 两种方程计算插补点的过程中, 要注意到不同计算方式带来的精度问题, 我们可以在数控机床粗车、半精车加工阶段采用公式 (2) 、精车加工阶段采用公式 (3) 来计算数控系统要求的各插补点坐标值。

2加工编程举例

2.1 编程实例

已知待加工榔头手柄尾部为一抛物线, 材料为45圆钢, 毛坯直径为Φ16 mm, 加工尺寸如图2所示。建立该工件右端抛物线函数与参数方程如下:

2.2 加工工艺路线分析

圆钢毛坯直径为Φ16 mm, 由图2可以看出工件各段的加工余量较大且不相同, 故宜采用先分段走直线粗车, 粗车用量取0.5 mm, 留出精加工余量0.2 mm, 然后精车出图纸要求尺寸。图2中与本文无关处之加工工艺, 如螺纹、退刀槽、滚花等在此不予讨论。

2.3 程序实现

2.3.1 程序变量设置

工件坐标系以工件右端面回转中心点为原点, 以便于编程;抛物线段的切削可以由端面车刀完成粗、精加工, 不需要设置刀偏补偿, 以该端面车刀作为标准刀;本文为便于说明修改系统参数, 将FANUC系统默认的直径编程模式改为半径编程模式。FANUC系统提供了两种不同功能范围的宏指令, 分为“用户宏程序A”、“用户宏程序B”, 这里采用用户宏程序B编写程序;参数化编写程序需要用变量对加工参数作出定义, FANUC-0T系统提供了#100~#149、#500~#531两类公共变量, #100~#149为断电清零型变量, #500~#531为断电保持型变量。准备段程序编写如下:

O2010;

N10 G54 G40 G49 T0100 M06 M03 S600 F0.1;确定坐标系, 初始化系统

N20 G00 X 2*#105 Z10; 确定起刀点

N30 #100=0.5; x方向粗车背吃刀量

N40 #101=0.2; x方向精车背吃刀量

N50 #105=8; 抛物线开口8 mm (半径值)

N60 #106=16; 抛物线z向长度

N70 #107=0.5; 精加工余量

N80 #110=#105-#100; 粗车段x向坐标值

N90 #120=0; 精加工初始角度

2.3.2 粗车路线

粗车路线示意图如图3所示, 刀具从起刀点向x轴负方向按粗车背吃刀量#100进给, 沿z轴负向直线切削毛坯。

每一次直线进给需确定相应的z坐标值, 其算法思路如下:

当x坐标值大于抛物线开口值时, z=-16+精加工余量;

当x坐标值小于或等于抛物线开口值时, undefined精加工余量;

当x坐标值等于零时, z=0。

用绝对跳转指令结合条件跳转指令语句可实现上述的粗加工过程, 选择FANUC-0T系统“用户宏程序B”编写程序如下:

O0100;

N100 G00 Z=1; 粗车z轴起点

N110 WHILE [#110 GE 0] DO 1;x坐标大于等于0, 开始循环

N120 IF X GT 8 GOTO N130; 如x坐标超出抛物线开口宽度8

N130 G01 Z=-16+#101 F1.5; 车削到z=-16+精车余量为止

N140 IF X LE 8 GOTO N140; 如x坐标在抛物线开口宽度以内, 开始循环车削

N150 G01 Z=-X*X/4 +#101 F1.5;用抛物线方程计算x坐标并保留精加工余量

N160 X=X - #100; x自减, 准备下一次循环

N170 IF X=0 GOTO N190 ; 如x=0 加工结束

N180 END 1;

N190 G00 X200 Z100; 返回换刀点

2.3.3 精车路线

在给定精车背吃刀量的情况下, α角度的细微变化能精确反映加工点坐标值的变化, 因此可以采用α角度变化量近似拟合抛物线曲线, 完成抛物线精加工。程序如下:

N200 G00 Z1.0 X0.0; 精加工起点 (0.0, 1.0)

N210 G96 G64 S1000 F1.0; 恒定圆周速度控制, 连续路径加工

N220 G01 Z0; 直线插补, 切入工件

N230 WHILE[#120 LT 90] D0 2;角度小于等于90o准许循环

N240 #120=#120+1; 角度从0开始自加, 每次增加1o

N250 G01 X=-4*TAN[#120] Z=-4*TAN[#120]*TAN[#120];

计算角度对应坐标点 (x, z)

N260 END 2;

N270 G00 X200 Z100; 返回换刀点, 曲线加工完成

3总结

数控编程是目前CAM系统中能明显提高效益的主要环节之一, 本文采用FANUC-0T数控系统提供的宏指令编程模式, 运用参数化编程模式来探讨解决一般中低档经济型数控系统不能直接加工非圆曲线的问题。在数控机床的应用日益普遍的情况下, 通过调整编程模式, 充分挖掘数控系统的潜力, 拓展数控机床的使用范围, 以提高数控机床的加工能力, 对工厂的实际生产具有一定的借鉴价值。

参考文献

[1]郭培全.数控机床编程与应用[M].北京:机械工业出版社, 2000.

Vb编程中数据类型的探讨 篇10

Vb中的数据就是通过Vb编写的程序, 在运行过程中能够处理文字、数值、声音及多媒体等相关信息。

Vb中的数据类型是根据Vb中数据描述信息的含义不同进行区分的。Vb中数据类型的不同, 则程序运行时数据在内存中的存储结构、占用空间均不相同。

任何一个程序员在使用Vb进行编程时都必须认真考虑Vb中的数据类型。在Vb编程中数据类型通常被分为两大类:基本数据类型和自定义数据类型。在此主要探讨Vb中基本的数据类型。

VB的基本数据类型:数值型数据 (主要数据类型) 、日期型、字节型、货币型、逻辑型、字符串型、对象型及变体型。

VB的用户自定义类型:如果基本数据类型不能提供Vb工作所要完成的内容, 用户可以自己定义数据类型。如要记录一个学生基本信息 (学号、姓名、性别、总分等) 。

2 实例探讨Vb程序中的基本数据类型

Vb程序员在编写Vb程序时, 不管他使用的是基本数据类型还是自定义数据类型, 一定要考虑自己的需要及计算机所处理每种数据类型时所用的空间不同。下面以实例来说明。

初始界面如图1所示。

图1中, 在文本框中可以输入18位身份证号, 如果身份证号中的年月日与系统判断的当前日期是否一致, 一致时, 窗体放大, 否则不变。因为18位身份证号的长度值是固定的, 所以设置文本框的maxlength属性值为固定值18。具体实现如图2所示。

图2, 程序中要设置变量来接受文本框的输入, 变量的类型应设置为字符串 (string) , 因为文本框的text属性值的类型为字符串 (string) 。另外设置两个变量d (d存储的是身份证中的日期, 范围1~31) 和m (m存储身份证中的月份, 范围1~12) , 但它们类型为整型 (integer) 。这是因为判断系统日期时要调用Month (Now) 和Day (Now) 函数。而他们的返回值都是数值型。身份证中的月份及日期是通过调用mid () 函数实现, 然后用val () 函数将所返回的数据进行类型转换, 将其由字符串转换成数值, 以实现数据类型间的匹配。

3 结语

在Vb编程中, 程序员要根据如何处理数据及数据占用空间的大小来设置数据类型。在数据类型不匹配时, 要通过函数进行数据类型的强制转换。

参考文献

[1]崔武子.界面设计与visual basic[M].北京:清华出版社, 2004.

上一篇:空域管理下一篇:高中语文阶梯性教学