随着现代制造业的不断发展,数控机床的应用已普及。我国由于受到经济及其它因素的制约,数控机床轴的联动功能一般均为二轴和三轴方式为多,通常只有直线和圆弧两种插补功能,即使配备数控旋转轴,也是做些简单的联动,谈不上能精确加工复杂的空间曲线宏程序的概述
根据笔者多年对数控机床技术教学和实践经验得到体会,运用宏程序开发数控机床功能是值得可取的方案。宏程序可以使用变量,并对变量赋值、变量之间可进行算术运算、逻辑运算和函数混合运算,程序运行时可以跳转。此外,还提供多种调用宏程序语句方法和子程序调用等形式,有利于编制复杂曲面轨迹零件的加工程序,减少繁琐数值计算。
用户宏程序的开发与应用基本方法应遵循图1结构框图。基本方法如下:①变量初始化,即给变量赋初始值;②编制加工程序,如变量较多、程序较复杂,可另写子程序,便于主程序简单易懂;③修改变量值;④判断是否符合条件,若否,返回执行加工程序。若是,程序完毕。
2.1 数控车床固定循环指令的开发以循环指令G94为例,采用G代码调用宏程序功能来完成指令的开发。G94是单一固定循环指令,它将切入―切削―退刀―返回4个动作、4个程序段简化为一个程序段。需要时,用G指令调用出即可实现加工。在二次开发中首先应设置参数号与程序号的对应关系;如表1所示,其次选择参数#6050,对应设置为G94,第三步设定参量指令如表2,参量指令中对于G、L、O、N、P之外的英文字母只能用一次。完成相应参数设置需编制变量程序。
O9010是G94固定循环的子程序。由于编制并存储了宏程序,在Fanuc Power Mare 0系统数控车床中,就可顺利运用G94执行车削端面,其功能如同Fanuc 0系统中G94指令。如要切削图2所示的端面零件,可以正常使用格式:G94 X(U)_Z(W)_F_。式中:X-、Z- 端面切削的终点坐标值;U-、W-端面切削的终点相对于循环起点的坐标。切削过程如图2所示。图中,R表示快速移动,F表示进给运动,加工顺序按1、2、3、4进行。这样就完成G94固定循环功能的开发与应用。
同样单一形状固定循环指令G90的功能开发方法也如同G94方式。设定程序O9013和参数#6053相对应,并对应设置为G90,根据外圆车削循环指令的特点编制相应的变量宏程序O9013如下:
将子程序O9013(宏程序)存储在子程序存储器中,当应用到G90循环指令时就可调用,完成其外圆的车削要求。应用以上开发功能就可以完成图3零件的编程。但在这里G90、G94、F不是模态指令,编程时每一句都要写。
用同样的方法可以完成设置、开发并应用其它固定循环指令和复合形状固定循环指令,从而完善Fanuc Power Mare 0系统数控车床中无常用固定循环指令的缺憾。
2.2 变量在空间曲面中的应用在设计与制造中经常会碰到三维图形,处理这类问题通常采取二种方法,即CAD/CAM和宏程序。前者应用CAM软件进行曲面造型、立体建模、后置处理生成加工程序,然后运用RS232接口通过DNC方式或CF卡将相关程序输送到数控机床中进行零件加工。一般而言这类程序冗长,若出现问题,纠正起来比较困难。而FANUC、SIEMENS等数控系统提供的宏程序不仅能提供自动点位计算方式,还包含有CAD/CAM 3D中的螺纹曲面、扫描曲面、投影曲面,以及空间函数曲线等均能在宏指令中体现出来。试举方圆渐变三维立体图形说明其优越性。
图4为方圆渐变三维立体图形。顶面为边长24毫米正方形,底面圆半径20毫米,高35毫米。实现一个棱长35毫米的正方形的4条棱边进行线性变半径倒圆角。图中可看出,用G指令来完成此零件的程序编制,将无法操作。用UG、Pro/E、Cimatron、CATIA或Master cam等软件进行曲面造型还是有点小题大做,浪费资源。正确简捷的方法还是采用变量宏程序编程方法来完成此作品。
图4中有四个变量即Δx、Δy、Δz和Δr,Δx和Δy是相同变量,计算和编程,关键是建立起三个变量相互关系。
我们应用相似三角形性质来确定Δx、Δz和Δr之间的算术关系,从图4-1中可得出变量Δx和Δz之间相互关系:Δx /8=Δz /35;图4-2中可看出变量Δz和Δr之间相互关系:Δr /20=Δz /35,如果取Δz为自变量,那么可以求出Δx、和Δr相应的数值。根据工件尺寸精度要求的高低区分,我们可先取不同的自变量Δz的数值,若零件精度要求高,Δz数值可取小。反之取大。现设定#3为Δz,编制方圆渐变三维图形O1237宏程序如下:
以上可以看出天方地圆工件的变量程序简捷易懂,实用性较强。与CAD/CAM软件编程有天壤之别。为满足不同技术要求的结果可改变相应参数变量,此法是工程技术人员首选的最佳方案。
本文通过实例,说明宏程序的开发与应用可以提高编程的效率,并能扩展数控机床的使用范围,优化加工工艺过程程序开发。宏程序的编制并不是一门孤立的学科,它与计算机程序设计、机械设计与制造、现代制造加工工艺、数控机床技术和高等数学等学科都有着密切联系,所以有关变量编程的开发与运用,还有待于我们共同努力,进一步探索与研究。
系统需求是软件开发的基础,软件产品能否成功的重要标志就是这款软件产品能否满足用户的需求,因此首先就需要挖掘在线学习系统的用户需求。这需要软件开发人员通过对用户以及用户专业代表进行大量讨论,将软件的需求注意细节化,并形成文档经过双方确认。在需求分析这个阶段里最为关键的就是获得基于RUP的用例,当然要确保这些用例的正确性,否则基于这些用例构建的架构和迭代都会导致严重的后果。比如在线学习系统的需求主要就是制定教学任务、而且这个任务是实时且动态的,且要满足个性化和多元化的需求,因为在线学习的学生计算机能力相差巨大,因为需要利用在线学习系统促进学生的学习自主性,因此这套在线学习系统还需要具备自主定制学习任务和选择教学任务。系统数据安全性要高,且具备通用性和易扩展性。基于RUP的用例驱动,通过针对上面的在线学习系统需求的分析,可以构建用例,比如在线学习系统中必须要有学生、教师和管理员这三个重要角色,因此系统用例就要包括软件注册、登陆、学习素材的下载、作业上传、在线辅导、在线视频点播以及用户管理等诸多用例。而这些用例正是和在线学习系统是息息相关的。
在这个环节,主要从系统架构和系统结构两个模块分析,系统体系架构是RUP最为强调的核心之一,构建架构就是为了让整个网络程序系统的框架更为清晰明确,目前主要的体系架构主要分为C/S和B/S两种,前者是客户机服务器架构,后者是浏览器服务器架构。这两种架构各有优缺点,其中B/S架构更加合适网络程序,在线学习系统就可以采用B/S架构来实施,因为在线学习系统的学生分布范围广、易扩展、非常合适网络信息。而系统结构功能则主要分成在线学习子系统、教师管理子系统和系统管理子系统,这是分别为学生、教师以及管理员三个角色设置的系统管理,并通过赋予这三种角色的不同权限,来实现针对角色的管理。在线学习子系统主要服务的对象是学生,主要功能包括边学边练、作业上传、学习资料下载、在线互动等功能。而教师管理子系统的主要服务对象作为老师,主要功能包括对学生学习过程的考核、作业审批、学习课程公告,教学资料上传、老师和学生的互动交流等。而系统管理子系统的服务对象就是在线学习系统的管理员,这是为了针对整个系统的维护和管理,避免系统在使用过程中被黑客入侵,并通过设置不同的权限来控制和管理学生和老师对系统的使用。
这个阶段就是将原先的用例、架构转化成二进制代码,成为能够计算机执行的程序。这个阶段最大的成果就是模型,通过一个个模型的建立和实现,最终构建成完整的软件。在实现整个模型过程中,需要通过配置图和组件图来描述系统之间的关系,配置图反映的是计算机系统的物理结构。而组件图则通过基于RUP的迭代和增量来实现,每个系统实现阶段都需要通过将业务需求分解成一次或者多次迭代能够完善的用例,在线学习系统就很好的遵循了这样的生命周期,很好的解决了项目存在的潜在风险,按时保证质量的完成了网络程序的开发。
所谓“校本”就是以校为本,基于学校,立足学校,校本课程开发就是以学校为基地,在充分、合理利用本校优势资源的基础上进行的课程开发。校本课程的开发是是区别于国家和地方课程,彰显学校办学特色,以学校教师为主体,通过对本校学生的需求进行科学评估,充分利用地方、行业和学校的课程资源,根据学校的办学思想而开发的多样的、可供学生选择的课程。在职业教育迅猛发展的今天,校本课程的开发成为技工院校增强办学实力,彰显学校办学特色,培养具有竞争优势的学生,适应经济社会快速发展,促进学校发展和壮大的有效途径。在此,本文试结合学生特点和学校特色对技工院校校本课程的开发程序及方法谈以下几点粗浅认识。
面对激烈的人才市场竞争和学生生源大战,瞄准目标,抓住优势专业,进行校本课程开发,突显学校办学特色,增强办学实力,已成为发展壮大学校的利器。校本课程开发不仅仅是一种方法或技巧,更是一种理念,关涉一种教育哲学。
技工院校的校本课程开发与国家、地方课程开发有着截然不同的理念,它在培养目标、课程结构、教学方法等方面都有自己独特的思想。技工院校进行校本课程开发,首先要评估学校的发展需要,评价学校及周边地区经济发展的需求,根据学生实际确定课程的总体目标,并设计专业课程结构。
技工院校的培养目标是培养技师或高级、中级技术工人,根据国家职业资格标准的要求,技师学院教学行为上应以岗位(工种)为本位,特别注重学生技能培养。技工院校进行校本课程开发,首先必须明确其指导思想,受到正确理念的支配。即专业课程体系应改变传统的“学科本位”课程观,向“能力本位”方向发展,形成一种技能型的课程观。根据企业需要培养高技能人才,引导“企业文化”早期进入校园,突出学生综合职业能力的培养。突出专业课程的职业定向性,强化学生职业能力训练,注重人文与技能的结合,增强课程的灵活性,形成模块化、弹性化的课程体系,适应行业和社会对应用人才规格多变的需求。
在明确理念的前提下,学校自主决策,教师参与课程设计,在集体合作、探究与共享中酝酿校本课程开发的土壤。
校本课程的开发方案包括两种:一种是学校成立校本课程开发指导委员会,由教学院长、教师代表、学生代表、企业代表、家长代表构成,负责审定学校校本课程开发的专业目标,形成开发指南或方案。同时,指导委员会负责校本课程开发的管理、督促、指导学习和分析、评估等事项;另一种是由教师组成的课程开发小组,主要负责制定具体某一门类的课程方案(课程标准)及方案实施,其主要包括:课程目标、课程内容、参考资料、教学组织方式、课程实施说明、考核评价说明等。
对教师进行适时理论培训。前人成功的校本课程开发理论已有很多,但不同学校实际情况不同,教师学习理论也可以从中得到启示,少走弯路,同时,也能在学习过程中提升自己的专业素养。
技工院校培养的学生是以就业为主导的,培养的是直接面向企业的技术工人。因此,技工院校校本课程开发绝不是简单地教材开发,而应是从市场调研开始,确定市场需要什么样的人才,然后确定培养目标,再到课程目标、课程标准、教学内容再到教学模式、教学方法乃至教学手段等一系列教学过程的变革。它是一个环环相扣、教学环节全方位的开发过程。
(1)市场调研。通过问卷、观察、访谈等方式,针对不同的目标和对象进行调查,获取资料,在此基础上,进行系统分析,形成调研报告。学生学习内容的改革需要与社会、与企事业单位对接,与学校对接。职业教育就是就业教育,以就业为导向,提高就业率,是职业教育的核心目标。因此,市场调研要充分论证周边、社会目前乃至未来几年需要什么样的技术人才,既包括专业知识,也包括人文综合素质。依据需求,确定人才培养目标。
(2)确定具体课程目标,制定课程标准。在调研的基础上,各专业小组根据学生的实际情况和国家职业资格标准需求,确立课程目标,然后,从人才培养目标、教学内容、教学计划、课时安排、教学评价等方面制定课程标准。
(3)校本教材的开发。教材开发一般要邀请企业专家或技术人员参与,以职业实践活动为主线,突破学科界限,组织教学内容。制定教材编写计划,确立相关教材的编写方向,设计教材内容,各专业小组可根据自己的专长负责编制教材里的某个模块。企业技术人员的参与对于职业实践活动的步骤及细节注意事项更熟悉,更有发言权。
(4)教学验证。以职业活动为主线的教学内容怎样传授给学生呢?我国教育家陶行知提出的“做中学、学中做”教学理念应是最好的教学模式。目前技工院校正在探索的工学结合一体化教学模式就是根据工作过程安排教学内容的。各专业小组根据学生特点和教材内容设计教学方案,引入新的教学方法,如:任务驱动、项目式教学法、案例式等。在这些教学方法的实施过程中,要注意模拟真实工作情境,做到理论与实践一体,教学做一体。同时要注意学生综合职业能力的培养,比如:职业道德、职业习惯、安全卫生等方面。
对校本课程的检验要从三个时间段进行,一是学生校内生活时期,看学生的学习热情与学习效果及职业资格证的成绩;二是学生走上工作岗位接受市场的检验,看学生能否适应社会市场需求,各专业课程开发小组要到企事业用人单位进行回访调研;三是跟踪调查,看企事业单位对学生的综合素质评价及学生的发展潜力。
校本课程开发不是一蹴而就的,它应是一个逐步完善、成熟的过程。一个较为成熟的校本课程,至少需要2~3年一个学生学习周期。它要求各开发小组建立学生学习发展档案,从设计评价方案、观察、追踪实施效果、收集反馈意见,到分析研究开发策略,最后进行课程与课程开发方案的修订。一个轮回下来,如果不理想,还要在原因分析、调研,征求意见等基础上,再次论证修改,直至完善成熟。
校本课程开发的最终目标要发挥作用,让更多的学生能从中受益,提升学生的培养质量,那么,最终,学校将推广教材的使用,并进一步开发更多的校本课程。
[1] 石伟平,徐国庆.职业教育课程开发技术[M].上海教育出版社,2006.
[2] 崔允郭.校本课程开发:理论与实践[M].北京:教育科学出版社,2000.
数据库由于能方便地对数据进行存储、分类、查询等操作,因而在现实中得到了较为广泛的应用,数据库技术也成为广大学生的必学课程,Visual Foxpro由于本身小巧、易用、功能全面的特点被很多学校作为教学内容,但在教学过程中学生一方面要识记数据库自身支持的命令、语句,另一方面在进行应用程序开发时又要面临对程序所涉及的各功能模块的整合,尤其是要采用面向对象的设计思想,常常会陷入困境,为此本文对面向对象的课程设计的设计思路、设计要点等内容进行了阐述。
在应用程序开发过程中,主要涉及两部分内容:(1)数据部分:包括各种关系表、数据库,主要是为数据处理提供数据准备;(2)应用程序界面部分:此部分主要用来实现程序的相关功能,包括数据的添加、删除、修改、查询、统计,其中查询是数据处理中应用较多的部分。开发的步骤需要完成五方面内容:(1)需求分析;(2)数据分析与数据库设计;(3)应用程序设计;(4)软件测试;(5)应用程序。应用程序的开发流程和步骤如图1和2所示。不论应用程序的题目有何不同,都可以遵循这个框架流程进行。
在进行应用程序开发前,首先要分析题目,确定系统的需求,并按据“自顶向下,逐步细化”的原则,对系统所应达到的功能按层次模块进行合理的划分和设计。 这样才能下一步的程序开发有的放矢。如要要完成 “学生信息管理系统”,经分析此系统要完成以下的功能。
(1)各种信息的输入,主要包括几部分:学生信息;成绩信息;开设课程科目。
在对应用程序的功能确定分析之后,接下来则需要对数据进行组织,包括创建数据库及关系表、完成数据库设计,数据设计需遵循几个原则:(1)相同主题设计在一个表中;(2)避免数据冗余;(3)表中字段设置合理;(4)功能相似表合为一个表;(5)确定表间的合理关系。
根据设定的系统功能,可利用表单设计器方便快速的完成界面设置,通常应用程序中均会包含数据添加、数据定位、数据删除、数据查询、数据统计等操作,学生可根据对控件的掌握情况采用简单控件,如图5采用文本框、标签、按钮;或是稍复杂控件,如图6列表框、表格、选项卡等完成。对完成的各功能表单还需要通过在表单上加载菜单统一调用,来实现对各功能的调用,如图6所示。
在窗体界面设计过程中的两个难点分别是:数据操作语句的选用和面向对象的事件编程。针对第一个难点,整理了如表1中常用功能语句,可在应用程序开发过程中根据情况进行选用。
对于第二个难点,即面向对象编程,需要掌握”面向对象,事件驱动的编程思想”,将表单中控件的值通过变量和数组做好数据传递,再结合数据库语句便能较为容易的实现应用程序。如在图6中,若将文本框中对应学号,科目代码等内容添加到数据表“学生信息中”,可先将文本框中的内容赋值给变量,然后通过insert语句完成向数据表中添加数据的操作,操作代码如图7所示。
在将各个功能模块开发完毕后,即可通过项目管理器对整个应用程序进行项目连编,使得整个应用程序能以exe或app的形式。在项目连编时需要设定主程序,同时还要注意应用程序所需要的图片、音乐等资源的保存位置,对于程序所需的相关数据最好分门别类加以保存,形成清晰的文件夹层次结构,如图8所示。
虽然数据库的应用范围多种多样,数据库中对于数据的使用也各有侧重,但只要了解了应用程序的开发步骤,在开发过程中做好需求分析、合理设计数据库、有效进行任务分解、掌握面向对象的编程思想,做好界面数据和数据库中数据的映射,是能够实现轻松应对应用程序的开发任务的。
嵌入式Linux由于代码开放性以及强大的网络功能,在中低端的嵌入式网络设备中应用起来,比起PSOS+,VxWorks等专用系统有许多优势,Linux甚至还支持蓝牙技术,这使得越来越多的企业和科研机构已经把目光转向了嵌入式Linux的开发和应用上。以下通过实例来介绍基于嵌入式Linux的应用软件的开发过程:
绝大多数的linux软件开发都是以native方式进行的,即本机(Host)开发、调试、本机运行的方式。这种方式通常不适合嵌入式系统软件开发。通常的嵌入式系统的软件开发采用采用主一从模式。交叉编译调试环境建立在宿主机上,对应的开发板叫做目标板,通过串行口或以太网口,使目标板和宿主机相连。宿主机是INTEL处理器,而目标板上,则是ARM、Motorola PowerPC、ColdFire等等,GNU编译器能提供这样的功能,在编译编译器时可以选择开发所需的宿主机和目标机从而建立开发环境,所以宿主机是必不可少的。
笔者建议宿主机采用REDHAT9.0,当然REDHAT7.2/7.3的系统也都是可以用的,但鉴于市面上目前能买到的都是REDHAT9.0,所以建议采用REDHAT9.0,安装过程可查阅相关手册。
宿主机配置中一个常见的问题就是NFS的配置,这里介绍一种较为直接简单的方法:首先在REDHAT LINUX PC机上执行setup,弹出菜单界面后,选中:System services,回车进入系统服务选项菜单,在其中选中[*],然后退出setup界面返回到命令提示符下。
注意,这种方法有个弊端,就是NFS不是每次都自动启动的,即无法像linuxconf命令那样设置成Automatic启动方式,所以每次重启都要执行一下:
配置完成后,可用如下办法简单测试一下NFS是否配置好了,在宿主机上自己mount自己,看是否成功就可以判断NFS是否配好了。例如在宿主机/目录下执行:
然后到/mnt/目录下看是否可以列出/目录下的所有文件和目录,可以则说明mount成功,NFS配置生效。
(1)先在宿主机上调试通过后,再移植到目标板上。这种方法需要跨越嵌入式系统开发中的仿真工具(ICE)的障碍,移植工作相对较复杂,在此不作阐述,请查相关书籍。
(2)直接在目标板上开发,这是一种通用的开发模式。采用这种方式时将宿主机与目标板通过串口或以太网口连接,在宿主机上运行minicom作为目标板的显示终端,mount上宿主机硬盘直接在目标板上调试应用程序。目标板上程序的调试有两种方法。一种是程序的执行信息通过minicom来进行显示。这是最常用的一种调试手段。另一种是通过log记录文件。例如使用syslog将应用程序运行过程中间信息全部记录 /var/log/sys.1og下。
这里用一个简单的程序来说明如何进行应用程序的编写和调试。首先宿主机上编写应用程序(这里选用hello.c程序)并且编译通过,makefile文件的编写如下:
按照上面提到的第二种模式的开发流程,启动minicom作为目标板的仿真终端,在minicom下运行如下命令:
运行结果显示“Hello,World”,如果有问题可以切换去编辑编译,再重新执行重新修改后的新程序。这样反复调试、更改、编译再调试,而不再烧写板子,直到应用程序达到要求为止。最后是调用烧写程序,将最终确定的image.bin烧写到板子上,则应用程序就出现在板子上了。
本文对如何进行基于嵌入式Linux系统应用程序的开发做了详细的说明,使读者通过简单的学习就能迅速掌握软件开发模式,以便今后进一步深入应用程序的开发,也希望本文能激起您在嵌入式Linux系统上开发应用程序的兴趣。
[2]王学龙:嵌入式Linux系统设计与应用[M].北京:清华大学出版社,2001
*请认真填写需求信息,我们会在24小时内与您取得联系。