程序编程

2024-05-17

程序编程(共12篇)

篇1:程序编程

浅谈如何学好计算机编程程序语言-Visual Basic程序编程的学习

作为职业学校的大专生,要成为一名合格的.毕业生,就必须学好至少一门编程语言,而在此学习过程中,很多学生都感到十分头疼.我们职业学校通常会选择Visual Basic这几门视化稿程语言来作为学生的程序设计课,本文我们就以Visual Basic这门课程的学习来谈论一下如何学好编程程序语言.

作 者:何小进 作者单位:盐城市高级职业学校,江苏盐城,224003刊 名:科技资讯英文刊名:SCIENCE & TECHNOLOGY INFORMATION年,卷(期):“”(35)分类号:G433关键词:Visual Basic 方法 目标

篇2:程序编程

首先:C语言入门相对比较简单,但如果想成为一个优秀的C程序员,需要很艰苦的训练,多读代码,多练习,多上机操作,多思考,学习是一件辛苦的事情,要放弃很多东西,要坚持下来才可以,可以说C语言是基础,将来想学其他的C++,JAVA等,如果有C的基础,还是比较好入门的.C语言的用处比较广泛,可以说任何精通计算机的人都掌握C语言了,我是本科计算机专业的,C被作为许多课程的先行课,没有了C语言基础,就不能学习数据结构,操作系统,编译原理,计算机网络等核心课程,所以说,想学习计算机的话无论想在哪个方向发展(软件,硬件,网络,应用,开发,设计等方向)都必须掌握C语言.关于C语言的教材:我向你推荐几本:

最经典的:《C程序设计语言》第2版,机械工业出版社

这个是C语言的设计者和UNIX系统的设计者合作编写的最经典的C语言教材,原书名叫《The C Programming Language》当然,这本书不太适合0起点的人,看这本书之前最好把《C程序设计》(谭浩强,清华大学)看了,老谭的书销量突破700万册了,虽然比较旧了,也不太符合新标准(现在出第3版了,也还是)但是,入门还是不错的选择。

另外还有必看的是《C Primer Plus》这个是一个美国人写的,人民邮电出版社出了中文版了,第5版,比较厚,砖头书,60元。但是非常适合初学的人,非常详细。

还有《从问题到程序——程序设计与C语言引论》机械工业出版社,这本书也很不错。

看完这些,就可以看算法的书了,比如数据结构什么的,这方面的书很多。如果想在程序界发展,那么有部重量级的著作不得不看《The Art of computer programming》一共三卷,有翻译版《计算机程序设计的艺术》这三卷书非常深,比较难,盖茨说,谁如果把这上面的习题都做对了,直接可以到微软上班了。

另外学习C语言要养成良好的程序风格,这点一定要注意练习!

篇3:应用宏程序编程的数控程序实例

当用数控设备加工一批相同形状,但尺寸不同的工件时,通常采用更换程序的方式,当遇到加工一批产品种类多,数量少,转产频繁的工件时,采用频繁更换程序方式时效率低下。

如图1所示加工一些管子的焊接坡口,结构形状相同,但管子外径、内径和镗孔值不同时,必须使用不同的数控程序。由于管子来料时,每批管子的内径值并不是定值,如果镗孔刀的吃刀量大,必须采用分多次走刀加工,因此,需要实测管子内径尺寸后重新编程。涉及一些三角函数计算的数控编程,如果由操作工手工编程,效率低并很容易出错。如由数控编程工程师用Master CAM软件编制,效率较高,但平均每套程序需用30分钟(包括程序传输),并且每天不断重复类似的工作。为了解决这一问题,笔者利用宏程序,针对同形状不同参数的工件,编写了一套程序,对同形状尺寸不同的工件,在转产前,操作工只需实测管子内径尺寸后,在程序中输入工件参数,仅需1分钟即可完成程序转换工作,就可生产,大大提高了车间的生产效率和减少编程工时和减少错误。

2 宏程序的编制思路

加工模型图如图2和图3所示,图2简单描述外圆车刀的加工路线及关键尺寸的位置关系式。图3简单描述镗刀的加工路线及关键尺寸的位置关系式。为了说明问题,本模型暂不涉及分刀路加工方式,外圆车刀刀路简化为:

换镗孔刀后,镗孔刀刀路简化为:

将三个变量在程序中输入,#1代表管子外径,#2代表管子实测内径,#3代表镗孔值。其他关键的位置以变量定义,并代入关系式,关系式与#1,#2,#3变量关联。

下面以实例方式讲解。

3 加工实例

程序如下,先用外圆车刀车平端面,后加工外坡口,换镗孔刀后镗孔:

此程序在沈阳机床上的FANUC Series Oi mate-Tc系统上稳定运行。

4 注意问题

(1)对于切削加工量大的部位,如果超出刀具可承受的吃刀量,可以由程序自行判断是否采用分刀加工,这个数值可在程序中定义。如图4所示,如果管子壁厚超过6mm,需要分刀加工,第1刀为粗加工,剩余2mm加工余量由第2刀加工。只需在程序中加一条件语句即可,本实例加在N180语句后,判断管子壁厚范围,如果管子壁小于6mm,只执行一刀加工,否则分两刀加工。镗孔程序也可用此方式实行由程序自行判断是否采用分刀加工。程序如下:

(2)由于某些数控编程系统中,可用的变量代码并不多(#1~#33),当变量较多时,可调用子程序,注意如果子程序中的变量代码与主程序中的变量代码相同时,若主程序还需使用原变量的数值,那么在退出子程序后,在主程序上重新为这些变量代码输入原数值,否则该变量代码将用回子程序的数值,而造成程序出错。

(3)在编程时,注意刀具的行走路线,避开干涉点,可用数控软件模拟功能走刀,这些需要在实际编程时掌握。

(4)如果数控加工设备配备自动进料、自动装夹及自动退料功能,可以在设备运行的主界面设置一下,在主界面输入参数,而调用的零件程序读取主界面参数,可实现大批量自动化流水线生产。

5 结论

篇4:只要会打字就能编程序

软件小档案:易语言

文件大小:74314KB

软件性质:共享软件

运行环境:Windows 9X/NT/2000/XP/2003

下载地址:http://www.newhua.com/soft/5597.htm

我们需要用到的软件是易语言4.04版,下载完毕,安装好后,启动易语言。这时会弹出新建对话框,我们不选其他的,直接点“确定”,中间就会出现一个启动窗口。把鼠标对准到窗口的边缘把它拉升大一些,以便我们后面操作。

给它个名字吧

我们再点左边的工作夹。选择标题栏,在里面输入你想给这个软件取的名字,这里我们输“我的搜索软件”,控制按钮中的最小化按钮选择成“真”。

软件框架一步完成

完成了大体框架,我们再来设计里面的框架。

第1步 点右面基本组件里的“分组框”在启动窗口里拉伸至合适的大小(见图1)。

图1

第2步 再点“标签”按钮,把标签放在刚才画好的分组框的左侧,再把标签的标题改为“请输入关键字:”。

第3步 把标签大小拉伸到刚好比字体长度长一点,做好了这步后,再点右侧基本组件里的“编辑框”,“编辑框”其实就是我们输入关键字的地方,所以我们拖动它到标签后面(见图2)。

图2

進阶,设计搜索栏

下面设计搜索的功能:

第1步 点“分组框”,再在左边标题里输入“搜索类型”。

第2步 点右面的“按钮”在搜索类型里做两个按钮。再分别改名为“百度”、“谷歌”(见图3)。

图3

第3步 我们再在这个“搜索类型”的右面建一个分组框。这个分组框不需要太大,主要是来写入软件制作者信息的,建好后改名为“作者信息”。

第4步 再点基本组件里的“超级链接框”在标题里输入“作者博客【点击进入】”,类型选择为“INTERNET地址”在里面输入你的博客或网站。

小提示

记住网站前一定要输入“HTTP://”,边框里我们可以选择一个你喜欢的边框。这里就选择为“浅凹入式”。当然只有一个作者的博客有时不够,我们还可以新建一个标签,在标签里输入自己的QQ号(见图4)。

图4

接近完工,设计浏览框

第1步 点“分组框”新建一个分组框改名为“浏览框”。

这个浏览框可以做大点,把剩余的页面一起用了吧!

第2步 再点“扩展组件1”里的超文本浏览框。新建的超文本浏览框应在浏览框内。大小仅次于浏览框为最好。你可以用键盘上的光标键进行微距调节。

好了,当你做好这一步,软件的框架建设工作已经完成。现在我们一起来做最后几步吧!

定制搜索引擎,搞定

第1步 双击我们刚才建好的“百度”按钮。这是会新建一个名为“窗口程序集1”的窗口。

第2步 在光标提留的地方输入“超文本浏览框1”,再在后面输入“.”,接下来就会出现下拉选项菜单。

第3步 选择“地址”在地址后面再输入“=”和中文的双引号““””。在中文的双引号中输入“http://www.baidu.com/s?tn=sitehao123&cl=3&rn=10&ct=0&lm=0&word=”然后再接着输入“+编辑框1.内容”。

这时第一个按钮就做好了,再来做谷歌的。方法和做百度的一样,只是把地址链接改为“http://www.google.cn/search?hl=zh-CN&q=”即可。

好了,做到这一步,我们的软件就算做好了,我们来试用下。点工具栏中的侧三角。看,我们的软件已经可以运行了(见图5)。

图5

优化,软件再完善一点

这时我们还可以来优化一下软件。点击启动窗口,选择左面的工作夹中的“图标”,给我们的软件加个漂亮的图标。到此全部都做好了,不过你先别急,保存软件不是工具栏里程序中的保存,而是编译。点“编译”选择“独立编译”后点“保存”(见图6)。

图6

好了,我们的软件已经做好了,现在我们就可以拿到MM面前炫耀了(见图7)!

图7

小提示

注意,如果你用的是易语言的未注册版,你就没法编译软件。如果你有一定的经济基础的话,还是建议你购买正版的,这个软件还真是不错。

小提示

篇5:数控编程--宏程序教案

教案

一、组织教学

检查学生出勤情况

二、复习提问

1、画图,椭圆怎么加工

2、举例,一个任意形状的工件,如何在边上倒圆角

三、相关专业理论基础

1、看、画图零件

2、加工工艺分析与编写数控加工工艺卡

3、装夹方法与定位方法的分析

4、华中系统编程规则

5、刀具的选择

6、检验方法与检测技巧

三、课题训练思路

采用综合例题方式,按上述要求逐一分组进行,加工前教师进行加工讲评,对程序验证后进行加工,加工完教师进行总结讲评,指出加工过程中的错误和不合格项。

四、课题内容 用数控加工中心铣床加工出如下图所示零件,材料为铝,毛坯为75*75mm,按图样要求完成零件的加工。

五、新授课

如何使加工中心这种高效自动化机床更好地发挥效益,其关键之一,就是开发和提高数控系统的使用性能。宏程序的应用,是提高数控系统使用性能的有效途径。下面就宏程序的应用。

(一)什么是宏程序?

什么是数控加工宏程序?简单地说,宏程序是一种具有计算能力和决策能力的数控程序。宏程序具有如下些特点: 1.使用了变量或表达式(计算能力),例如:(1)G01X[#3+#5];有表达式#3+#5(2)G00X4F[#1];有变量#1(3)G01Y[50*SIN[#3]];有函数运算

2.使用了程序流程控制(决策能力),例如:(1)WHILE有条件循环命令

(二)用宏程编程有什么好处?

1.宏程序引入了变量和表达式,还有函数功能,具有实时动态计算能力,可以加工非圆曲线,如抛物线、椭圆、双曲线、三角函数曲线等; 2.宏程序可以完成图形一样,尺寸不同的系列零件加工; 3.宏程序可以完成工艺路径一样,位置不同的系列零件加工; 4.宏程序具有一定决策能力,能根据条件选择性地执行某些部分; 5.使用宏程序能极大地简化编程,精简程序。适合于复杂零件加工的编程。

(三)宏变量及宏常量 1.宏变量

先看一段简单的程序: G00X25.0 上面的程序在X轴作一个快速定位。其中数据25.0是固定的,引入变量后可以写成: #1=25.0;#1是一个变量 G00X[#1];#1就是一个变量 宏程序中,用“#”号后面紧跟1~4位数字表示一个变量,如#1,#50,#101,变量有什么用呢?变量可以用来代替程序中的数据,如尺寸、刀补号、G指令编号变量的使用,给程序的设计带来了极大的灵活性。

使用变量前,变量必需带有正确的值。如 #1=25 G01X[#1];表示G01X25 #1=-10;运行过程中可以随时改变#1的值 G01X[#1];表示G01X-10 用变量不仅可以表示坐标,还可以表示G、M、F、D、H、M、X、Y、??等各种代码后的数字。如: #2=3 G[#2]X30;表示G03X30 例1使用了变量的宏子程序。%1000#50=20;先给变量赋值 M98P1001;然后调用子程序 #50=350;重新赋值 M98P1001;再调用子程序 M30 %1001 G91G01X[#50];同样一段程序,#50的值不同,X移动的距离就不同 M99 2.局部变量

编号#0~#49的变量是局部变量。局部变量的作用范围是当前程序(在同一个程序号内)。如果在主程序或不同子程序里,出现了相同名称(编号)的变量,它们不会相互干扰,值也可以不同。例 %100 N10#3=30;主程序中#3为30 M98P101;进入子程序后#3不受影响 #4=#3;#3仍为30,所以#4=30 M30 %101 #4=#3;这里的#3不是主程序中的#3,所以#3=0(没定义),则:#4=0 #3=18;这里使#3的值为18,不会影响主程序中的#3 M993.全局变量

编号#50~#199的变量是全局变量(注:其中#100~#199也是刀补变量)。全局变量的作用范围是整个零件程序。不管是主程序还是子程序,只要名称(编号)相同就是同一个变量,带有相同的值,在某个地方修改它的值,所有其它地方都受影响。例 %100 N10#50=30;先使#50为30 M98P101;进入子程序

#4=#50;#50变为18,所以#4=18 M30 %101 #4=#50;#50的值在子程序里也有效,所以#4=30 #50=18;这里使#50=18,然后返回 M99 为什么要把变量分为局部变量和全局变量?如果只有全局变量,由变量名不能重复,就可能造成变量名不够用;全局变量在任何地方都可以改变它的值,这是它的优点,也是它的缺点。说是优点,是因为参数传递很方便;说是缺点,是因为当一个程序较复杂的时候,一不小心就可能在某个地用了相同的变量名或者改变了它的值,造成程序混乱。局部变量的使用,解决了同名变量冲突的问题,编写子程序时,不需要考虑其它地方是否用过某个变量名。什么时候用全局变量?什么时候用局部变量?在一般情况下,你应优先考虑选用局部变量。局部变量在不同的子程序里,可以重复使用,不会互相干扰。如果一个数据在主程序和

子程序里都要用到,就要考虑用全局变量。用全局变量来保存数据,可以在不同子程序间传递、共享、以及反复利用。

(四)常量 PI:圆周率π

角度用弧度表示:1°对应 PI/180弧度

(五)运算符

1、算数运算符 +-* /

2、条件运算符

EQ(=)NE(≠)GT(>)GE(≥)LT(<)LE(≦)

3、逻辑运算符

AND(与)OR(或)NOT(异或)

(六)函数

SIN[正弦] COS[余弦] TAN[正切] EXP[指数] ATAN[反正切] ABS[绝对值] INT[取整] FIX[上取整] FUP[下取整] SQRT[开方]

(六)循环语句(WHILE语句)(七)宏指令编程

%O0001 #1=20(定义a值)#2=10(定义b值)

#4=5(定义刀具补偿半径R值)#5=0(定义步距角初始值)

G90G54G0X0Y0S1500M3 G43X#1Y#2D01 G01Z-5F30 G01Y0F100 WHILE[#5LE360] G01X[#1*COS[#5*PI/180]]Y-[#2*SIN[#5*PI/180]] #5=#5+2 ENDW GOG40Z100 M30 %

六、结束语

篇6:如何正确有效的学习程序编程

大多数程序员,当他们想学习编程的时候,往往是从一本书开始。

虽然有一些优秀的书籍会手把手地教你编程,但我认为最佳的开始是查看一个能实际工作的应用程序的源代码,然后试着尽可能多地找出正在发生的事情。这很难。

它会让人觉得不舒服,但是不要畏惧。要习惯这种不舒服的感觉。这是让人成长的唯一路径。

我想要你做的是选择一个开源应用程序——最好是流行的,才有可能被精心设计——然后浏览它的源代码。你可以在GitHub上找到大量项目,因此我建议你去那里寻找。

并且,你最好可以下载这些代码,自己构建并运行这个应用程序——虽然这样说的话超出了这本书的范围。如果你有一个朋友可以帮助你做这些事情,那就更棒了。当然没有,也没有关系。

重要的是,你要去探索代码,从而了解编程语言的语法看起来是什么感觉,并试着阅读代码看看你能否理解或弄清楚意思。

使用应用程序本身,如果可能的话,这样你才能够感觉到代码和代码作用之间的关系。

就像我说的,这让人感到很不舒服。你可能会觉得你看不懂任何东西。

再说一遍,那没关系。你只需要竭尽全力看看你能够搞清楚一两件事是如何工作的,或在代码中你可以做哪些变动以便于用某种方式改变功能。

此外,大致了解代码如何命名以及如何被组织的。就像你是一个考古学家试图了解一些古文明的著作一样。这样的开始可以让你比大多数不知道将要学习的编程语言是什么样的程序员要更有目的性。

篇7:如何正确有效的学习程序编程

好的,关于这一点你依然不用“阅读”或上手编程。

以后会让你做到想吐的——如果你想的话。(不遵循这些步骤,实际上你也能学习编程语言。)

此时你要做的是尽可能地创建最基本的程序,无论你学习的是什么编程语言。

还记得我们谈到过的“如何开发技术技能”吗?这正是此处的目标。你想要尽快开始,这样你就有足够的信心和知识学以致用。

你所要开始的一个非常基本的程序叫“Hello World”。大多数编程书籍一开始都会让你去创建一个“Hello World”程序,这通常指的是输出“Hello World”到屏幕上。

这可能并不需要太多关于编程语言的知识,但是需要熟悉并测试用来构建和运行程序所需的基本工具链。

如果你正在阅读有关编程语言的书,那么书中应该包含一个“Hello World”程序便于你创建。

篇8:宏程序编程方法初探

1 宏程序编程的原理

宏程序的种类很多,目前广泛使用的是C类宏程序,其结构类似于计算机高级语言,我们利用宏程序完成非圆曲线、曲面的编程工作,就是利用其计算的能力,根据曲线、曲面的数学轨迹方程,设置一个步距,让数控系统按照该步距间隔自动取出无数点或线,然后通过直线、圆弧将这些点连接起来或将这些线叠加在一起的方式近似形成要求的曲线或曲面。从这个意义上分析,宏程序编程的关键在于找出要加工曲线、曲面的数学模型,选择合适的方式自动取点,选择合适的方式去联线。

2 典型车削类零件宏程序的编制

2.1 车削加工抛物线的宏程序编制

抛物线是机械零件中常见的一种截面形状,如枪弹的弹头等,下图是一个枪弹弹头的零件图形,我们就以这个抛物线的加工程序说明一下车削类宏程序编制的方法和特点。

零件图形如图1。

首先根据零件尺寸关系写出该抛物线的轨迹方程,注意数控车的坐标轴和数学上的坐标系统不同,建立轨迹方程时要按数控车的坐标轴方向去建立,建立方程如下:

加工抛物线的基本思路是在抛物线上取出多个点,然后用直线将这些点首尾相连,形成一个近似的抛物线,为了提高加工精度取点的间隔越小,点越多越好,但编程的量就会越来越大,为了减少计算的量我采用循环语句,让机床每格一个间隔自动取一个点。本实例中每隔0.1mm取一个点。取出点后,通过G01指令连线即可,当取点到抛物线的终点位置时则通过条件判断语句停止取点,结束加

2.2 车削椭圆的宏程序编制

椭圆也车削类零件中的常见结构,如一些手柄,或零件上的椭圆弧,现在我们介绍一下椭圆宏程序的编制方法,根据零件图按照数控车床的坐标系统上写出该零件的轨迹方程,也要注意坐标轴的方向:

加工思路和抛物线的加工相同,在椭圆弧上取无数个均布的点,然后用无数段直线将这些点连接起来,构成一个椭圆。现在设定椭圆弧上任意一个点坐标为(z,x)则他们之间的关系是:

通过这个关系式可以按设定的增量取出Z坐标,然后计算出X坐标,得到一个新点,再用G01指令连线即可形成椭圆了。

具体程序略。

3 典型铣削类零件宏程序的编制

用宏指令编制一个铣削半径为40mm的半球形凹坑,基本加工设想,在球面的截面圆弧上取无数个点,然后以该点到球面轴线(Z轴)的距离为半径做圆,用铣刀按这个圆进行铣削,最后将这些圆叠加在一起,就形成了一个球面。

该球面的零件图及加工原理图如图2。

具体程序略。

通过以上三个实例可以看出,编制宏程序的关键在于如何找出加工轮廓的规律,取点的方式。如何利用条件判断语句自动进行取点,另外变量的数量应合理设置,尽量把一些主要加工参数设置成变量,使程序具有通用性,加工不同尺寸的零件时,只要给变量赋予不同的数值即可。

摘要:数控程序是控制机床加工的主要指令,合理的编制加工程序是提高数控机床利用率,保证加工精度基本条件,对于基本指令编程,操作者掌握的都比较好,但对于一些非圆曲线和曲面的编程,通用的编程指令就很难完成了,一个比较方便的解决办法就是利用宏程序进行编程。通过四个实例就宏程序编程的指令、原理、方法做了详细的介绍,对实际编程与加工具有很好的借鉴意义。

篇9:Java编程语言程序的认识误区

软件的生命性

软件是有生命的,这可能是老调重弹了,但是因为它事关分层架构,反复强调都不过分。

一个有生命的软件首先必须有一个灵活可扩展的基础架构,其次才是完整的功能。

目前,很多人对软件的思想焦点还是落在后者:完整的功能,觉得一个软件功能越完整越好,其实关键还是架构的灵活性,就是前者,基础架构好,功能添加只是时间和工作量问题,但是如果架构不好,功能再完整,也不可能包括未来所有功能,软件是有生命的,在未来成长时,更多功能需要加入,但是因为基础架构不灵活不能方便加入,死路一条。

正因为普通人对软件存在短视误区,对功能追求高于基础架构,很多吃了亏的老程序员就此离开软件行业,带走宝贵的失败经验,新的盲目的年轻程序员还是使用老的思维往前冲。其实很多国外免费开源框架如ofbiz compiere和slide也存在这方面陷阱,貌似非常符合胃口,其实类似国内那些几百元的盗版软件,扩展性以及持续发展性严重不足。

那么选择现在一些流行的框架如Hibernate、Spring/Jdonframework是否就表示基础架构打好了呢?其实还不尽然,关键还是取决于你如何使用这些框架来搭建你的业务系统。

存储过程和复杂SQL语句的陷阱

首先谈谈存储过程使用的误区,使用存储过程架构的人以为可以解决性能问题,其实它正是导致性能问题的罪魁祸首之一,打个比喻:如果一个人频临死亡,打一针可以让其延长半年,但是打了这针,其他所有医疗方案就全部失效,请问你会使用这种短视方案吗?

为什么这样说呢?如果存储过程都封装了业务过程,那么运行负载都集中在数据库端,要中间J2EE应用服务器干什么?要中间服务器的分布式计算和集群能力做什么?只能回到过去集中式数据库主机时代。现在软件都是面向互联网的,不象过去那样局限在一个小局域网,多用户并发访问量都是无法确定和衡量,依靠一台数据库主机显然是不能够承受这样恶劣的用户访问环境的。

从分层角度来看,现在三层架构:表现层、业务层和持久层,三个层次应该分割明显,职责分明,持久层职责持久化保存业务模型对象,业务层对持久层的调用只是帮助我们激活曾经委托其保管的对象。所以,不能因为持久层是保管者,我们就以其为核心围绕其编程,除了要求其归还模型对象外,还要求其做其复杂的业务组合。打个比喻:你在火车站将水果和盘子两个对象委托保管处保管,过了两天来取时,你还要求保管处将水果去皮切成块,放在盘子里,做成水果盘给你,合理吗?

上面是谈过分依赖持久层的一个现象,还有一个正好相反现象,持久层散发出来,开始挤占业务层,腐蚀业务层,整个业务层到处看见的是数据表的影子(包括数据表的字段),而不是业务对象。

当然适量使用存储过程,使用数据库优点也是允许的。按照Evans DDD理论,可以将SQL语句和存储过程作为规则Specification一部分。

Hibernate等ORM问题

现在使用Hibernate人也不少,但是他们发现Hibernate性能缓慢,所以寻求解决方案,其实并不是 Hibernate性能缓慢,而是我们使用方式发生错误:

“最近本人正搞一个项目,项目中我们用到了struts1.2+hibernate3,由于关系复杂表和表之间的关系很多,在很多地方把lazy都设置false,所以导致数据一加载很慢,而且查询一条数据更是非常的慢。”

Hibernate是一个基于对象模型持久化的技术,因此,关键是我们需要设计出高质量的对象模型,遵循DDD领域建模原则,减少降低关联,通过分层等有效办法处理关联。如果采取围绕数据表进行设计编程,加上表之间关系复杂(没有科学方法处理、侦察或减少这些关系),必然导致系统运行缓慢,其实同样问题也适用于当初对EJB的实体Bean的CMP抱怨上,实体Bean是Domain Model持久化,如果不首先设计Domain Model,而是设计数据表,和持久化工具设计目标背道而驰,能不出问题吗?关于这个问题N多年前就争论过。

这里同样延伸出另外一个问题:数据库设计问题,数据库是否需要在项目开始设计?

如果我们进行数据库设计,那么就产生了一系列问题:当我们使用Hibernate实现持久保存时,必须考虑事先设计好的数据库表结构以及他们的关系如何和业务对象实现映射,这实际上是非常难实现的,这也是很多人觉得使用ORM框架棘手根本原因所在。

当然,也有脑力相当发达的人可以实现,但是这种围绕数据库实现映射的结果必然扭曲业务对象,这类似于两个板块(数据表和业务对象)相撞,必然产生地震,地震的结果是两败俱伤,软的一方吃亏,业务对象是代码,相当于数据表结构,属于软的一方,最后导致业务对象变成数据传输对象DTO,DTO满天飞,性能和维护问题随之而来。

领域建模解决了上述众多不协调问题,特别是ORM痛苦使用问题,关于 ORM/Hibernate使用还是那句老话:如果你不掌握领域建模方法,那么就不要用Hibernate,对于这个层次的你:也许No ORM 更是一个简单之道。

Spring分层矛盾问题

Spring是以挑战EJB面貌出现,其本身拥有的强大组件定制功能是优点,但是存在实战的一些问题,Spring作为业务层框架,不支持业务层Session 功能。

具体举例如下:当我们实现购物车之类业务功能时,需要将购物场合保存到 Session中,由于业务层没有方便的Session支持,我们只得将购物车保存到 HttpSession,而HttpSession只有通过HttpRequest才能获得,再因为在Spring业务层容器中是无法访问到 HttpRequest这个对象的,所以,最后我们只能将“购物车保存到HttpSession”这个功能放在表现层中实现,而这个功能明显应该属于业务层功能,这就导致我们的Java项目层次混乱,维护性差。 违背了使用Spring和分层架构最初目的。

领域驱动设计DDD

现在回到我们讨论的重点上来,分层架构是我们使用Java的根本原因之一,域建模专家Eric Evans在他的“Domain Model Design”一书中开篇首先强调的是分层架构,整个DDD理论实际是告诉我们如何使用模型对象oo技术和分层架构来设计实现一个Java项目。

我们现在很多人知道Java项目基本有三层:表现层、业务层和持久层,当我们执着于讨论各层框架如何选择之时,实际上我们真正的项目开发工作还没有开始,就是我们选定了某种框架的组合(如Struts+Spring+Hibernate或Struts+EJB或Struts+ JdonFramework),我们还没有意识到业务层工作还需要大量工作,DDD提供了在业务层中再划分新的层次思想,如领域层和服务层,甚至再细分为作业层、能力层、策略层等等。通过层次细化方式达到复杂软件的松耦合。DDD提供了如何细分层次的方式

当我们将精力花费在架构技术层面的讨论和研究上时,我们可能忘记以何种依据选择这些架构技术?选择标准是什么?领域驱动设计DDD 回答了这样的问题,DDD会告诉你如果一个框架不能协助你实现分层架构,那就抛弃它,同时,DDD也指出选择框架的考虑目的,使得你不会人云亦云,陷入复杂的技术细节迷雾中,迷失了架构选择的根本方向。

现在也有些人误以为DDD是一种新的理论,其实DDD和设计模式一样,不是一种新的理论,而是实战经验的总结,它将前人使用面向模型设计的方法经验提炼出来,供后来者学习,以便迅速找到驾驭我们软件项目的根本之道。

篇10:自动备份web程序的编程代码

1.cd /home/back

2.rm -f *.tar

3.today=`date +“%Y-%m-%d”`

4.file=webappsback$today

5.tar -cvf $file.tar/home/httpd

6.ftp -n<

7.open 218.56.78.90

8.user ftpuser ftppass

9.binary

10.prompt off

11.cd yourdir

12.hash

13.lcd /home/back

14.mput *

15.bye

篇11:程序编程

PLC参考程序四

程序一 交流电机Y/△形起动的控制

深圳稻草人自动化培训

程序二 驱动步进电动机的控制

深圳稻草人自动化培训

深圳稻草人自动化培训

程序三

篇12:数控机床宏程序编程的技巧和实例

数控机床宏程序编程的技巧和实例

2011年8月11日

前言

随着工业技术的飞速发展,产品形状越来越复杂,精度要求越来越高,产品更新换代越来越快,传统的设备已不能适应新要求。现在我国的制造业中已广泛地应用了数控车床、数控铣床、加工中心机床、数控磨床等数控机床。这些先进设备的加工过程都需要由程序来控制,需要由拥有高技能的人来操作。要发挥数控机床的高精度、高效率和高柔性,就要求操作人员具有优秀的编程能力。

常用的编程方法有手工编程和计算机编程。计算机编程的应用已非常广泛。与手工编程比较,在复杂曲面和型腔零件编程时效率高、质量好。因此,许多人认为手工编程已不再重要,特别是比较难的宏程序编程也不再需要。只须了解一些基本的编程规则就可以了。这样的想法并不能全面。因为,计算机编程也有许多不足:

1、程序数据量大,传输费时。

2、修改或调整刀具补偿需要重新后置输出。

3、打刀或其他原因造成的断点时,很难及时复位。

手工编程是基础能力,是数控机床操作编程人员必须掌握的一种编程方法。手工编程能力是计算机编程的基础,是刀具轨迹设计,轨迹修改,以及进行后置处理设计的依据。实践证明,手工编程能力强的人在计算机编程中才能速度快,程序质量高。

在程序中使用变量,通过对变量进行赋值及处理使程序具有特殊功能,这种有变量的程序叫宏程序。宏程序是数控系统厂家面向客户提供的的二次开发工具,是数控机床编程的最高级手工方式。合理有效的利用这个工具将极大地提升机床的加工能力。

作为一名从事数控车床、数控铣床、加工中心机床操作编程二十多年的技师,在平时的工作中,常常用宏程序来解决生产中的难题,因此对宏程序的编程使用积累了一些经验。在传授指导徒弟和与同事探讨中,总结了许多学习编制宏程序应注意的要点。有关宏编程的基础知识在许多书籍中讲过,我们在这里主要通过实例从编制技巧、要点上和大家讨论。

一、非圆曲面类的宏程序的编程技巧

1、非圆曲面可以分为两类;

(1)、方程曲面,是可以用方程描述其零件轮廓的曲面的。如 抛物线、椭圆、双曲线、渐开线、摆线等。这种曲线可以用先求节点,再用线段或圆弧逼近的方式。以足够的轮廓精度加工出零件。选取的节点数目越多,轮廓的精度越高。然而节点的增多,用普通手工编程则计算量就会增加的非常大,数控程序也非常大,程序复杂也容易出错。不易调试。即使用计算机辅助编程,其数据传输量也非常大。而且调整尺寸补偿也很不方便。这时就显出宏程序的优势了,常常只须二、三十句就可以编好程序。而且理论上还可以根据机床系统的运算速度无限地缩小节点的间距,提高逼近精度。

(2)、列表曲面,其轮廓外形由实验方法得来。如飞机机翼、汽车的外形由风洞实验得来。是用一系列空间离散点表示曲线或曲面。这些离散点没有严格一定的连接规律。而在加工中则要求曲线能平滑的通过各坐标点,并规定了加工精度。加工列表曲线的方法很多,可以采

用计算机辅助编程,利用离散点形成曲面模型,再生成加工轨迹和加工程序。对于一些老机床或无法传送数据的机床,我们也可以将轮廓曲线按曲率变化分成几段,每段分别求出插值方程。采用宏程序加密逼近曲线的方法。

2、非圆曲面类的宏程序的编程的要点有:建立数学模型和循环体(1)、数学模型是产生刀具轨迹节点的一组运算赋值语句。它可以计算出曲面上每一点的坐标。它主要从描述其零件轮廓的曲面的方程转化而来。

(2)、循环体是由一组或几组循环指令和对应的加法器组成。它的作用是将一组节点顺序连接成刀具轨迹,再依次加工成曲面。

3、下面根据两个实例,按宏程序的编制过程将各步骤的要点和技巧进行详细说明。

图1—

1、椭圆曲面零件

实例

1、如图1-1数控车加工一个椭圆面。椭圆的长轴60,短轴40.步骤1:根据加工轨迹确定椭圆曲线的起始点A和终点B坐标。这里的要点是分清编程坐标系和椭圆坐标系、A点在编程坐标系中的坐标为X=113.742、Z=27.252 这里为适应数控车床的编程习惯x采用直径坐标,A点以椭圆的中心为原点的坐标为X=113.742

Z=40—27.252

B点的编程坐标是X=37.907

椭圆坐标为X=37.907

步骤2:确定在曲线方程中的主变量和从变量。这要根据实际情况来选择。有以下几点原则:①变量的起点、终点已知的。②变量在坐标中的变化方向一致。③变量的变化对曲线的精度影响较大。根据以上原则我选X坐标为主变量、Z是从变量。

步骤3:将标准方程化为从变量赋值的形式。如图1-1以其中心为原点,椭圆方程为 X²/a² +Z²/b²=1化为Z= SQRT[(1-X *X/a*a)*b*b 这一步很关键。由于曲线只在椭圆坐标系的第一象限 Z为正值。

以上三步就是建立数学模型。在这个模型里X的一个坐标值,可以计算出它对应的Z坐标值。要注意,这两个坐标是以椭圆中心为原点的,要特别注意。也就是说,如果和这个零件一样,椭圆中心和你设定的编程坐标系原点不重合,进入数学模型和从数学模型输出的数值,都是以椭圆中心为原点的。刀具运动指令的坐标值是以编程坐标系为原点。因此,需要设计计算方法将数学模型的输出数据转化成编程坐标系的数值。许多多年从事数控机床操作的人一直不能用宏程

序,就是在这里犯了糊涂。

步骤4:画流程图确定宏程序的过程 图1-2 流程图是建立和检查循环体的最好工具。这一步的关键点是:分清计算过程、运动指令、加法器的排列顺序;循环体中条件转移语句和加法器的配合,产生正确的循环控制,而不是死循环。

;赋初始值(注意是椭圆坐标系);循环体开始,判断是否结束。

;计算、运动指令

;加法器,改变动参数

图1—2 步骤5:根据流程图编写程序 程序如下O1001 应注意的要点有:(1)、当采用刀尖圆弧补偿方式编程时,循环体的轨迹第一点不能和起始点重合,否则系统会显示出错。(2)要注意循环体内计算语句、运动语句和加法器语句的顺序不能错。

该零件如图右端内部椭圆面的数控车精车程序如下: O1001;重点说明 T0101;G90G40G0X200.0Z200.0M03;G41G00X135.0Z5.0M08;G01Z-25.0F0.1;G03X#1Z-27.252;#1=113.742-0.1;将循环开始点错开 #2=40-27.252;Z值从编程坐标系转变到椭圆坐标系 WHIFL[#1GT37.907] DO 1;循环体开始,X轴坐标逐渐减小 #1=#1/2; 将直径值转化成半径值 #2=SQRT[[1-#1*#1/[60*60]]*40*40];#2=#2-40 Z值从椭圆坐标系转变到编程坐标系 #1=#1*2 将半径值转化成直径值 G01X#1Z#2F0.08;运动指令 #1=#1-0.1;递减加法器 END 1;循环体结束 G01X37.907Z-2.048;G01X35.0;G00Z200.0;G00X260.0M09;M30;

图1--3 实例

2、在加工中心上加工抛物线球面。

比较加工中心或数控铣床上铣削曲面和数控车床车削曲面,有许多差别:(1)、加工方式不同。(2)、车削曲面需要计算沿一条轮廓素线的若干个节点;铣削曲面需要计算整个曲面上若干个轮廓素线的若干节点。计算量大,宏程序非常复杂。

编制铣削曲面宏程序确实非常难,然而只要我们抓住几个关键要点,做好流程图和数学模型,勤于实践,也是一定能够掌握这个技能的。下面把编制铣削曲面宏程序的过程分成几步:

步骤

1、分析曲面的构成特点确定加工路线

如图1-

3、这个曲面是由一条抛物线以与它共面水平直线为轴线旋转切成的。加工轨迹可以有两种,一种是水平层切、一种是垂直层切。我们用垂直层切的方式。其轨迹如图1-4,每个层切面上的刀具轨迹都是一个YZ平面的圆弧。

图1--4 步骤

2、选择合适的编程坐标系,确定主、从变量。如图1-3把坐标系原点设置形腔上表面的中心,可以简化计算。Z为主变量。取Z=0 为起点,Z=20为终点。

步骤

3、抛物线方程X²=36(Z-20)转化为X=SQRT[36*[Z-20]]

和X=-SQRT[36*[Z-20]]、这里需要注意两个象限的变化,要设计两个循环体,用控制指令“换向”。

步骤

4、设计流程图,试验循环体程序框架。

步骤

5、根据流程图编制程序。注意程序的加工平面为y-z(G18)平面。流程图和程序如下图1—5,O1002 O1002;

G0X0Y0M8;G54G18G90G40;

G43G0Z100H1M3S3000 T1M6;

Z5;

图1—5

M30

#1=0;

WHILE[#1GT-20] DO 1 #2=SQRT[36*[#1-20]];G1X#2F500;G41G1Y#1D1 G1Z0 G2Y-#1J-#1 G40G1Y0;#1=#1-0.1 END 1;#1=-20

WHILE[#1LT0] DO 2 #2=-SQRT[36*[#1-20]] G01X#2F500 G41G1Y#1D1 G2Y-#1J-#1 G40G1Y0 #1=#1+0.1

END 2;G00Z200M9

二、用宏程序开发对零件自动找正功能

图2---1

1、开发过程

某零件如图2-1。工艺安排卧式加工中心上一次装夹将四个Φ 8孔加工完成,保证其位置精度。但是工件在夹具中定位后,B向旋转无法用夹具精确定位。当时的方法是:①每个零件装夹后单独用百分表找平。或者用自动测量触头取值,手工计算偏转角。②修改程序中新的B向坐标基准值。

整个过程用时较长须用时长,对操作工的技能要求也较高。这种零件数量多,工期紧,要想办法节约时间。我就想利用宏程序计算功能和机床具备的自动测量触头功能可以实现自动找正。

2、自动找正零件功能的工作原理

(1)、零件夹具中设计一个粗定位圆柱销,使零件粗定位,保证测量精度和测量工具的安全。.(2)、选择零件基准面上较远的两个点采值,如图a、b两点。分别放入#1和#2参数在。(3)、计算差值及偏转角。(4)、输入编程坐标系G54的B轴。

另一台四轴加工中心没有自动测量功能,我们用采用百分表触测零件基准面,目测记录差值,手工输入参数表中。宏程序自动计算并找正。速度和准确率提高了很多,保证了生产任务按时完成。

3、编制宏程序

自动找正功能的开发并不复杂,使用的是宏程序对内部系统变量读取和赋值功能。程序如下:

O2001 T3M6;G54G90G0X40Y300B0;G43G0Z200H3;G0Y15Z60;

运动到预备测量a位置 G31G91Z-52F500;

执行G31测量a点坐标存入#5000 G90G0Y100Z200;#1=#5000;

#5000系统参数记录a点的坐标值,赋给#1 G0X-40;G0Y15Z60;G31G91Z-52F500;

执行G31测量b点 G0G90Y200Z200;#2=#5000;

#3=ATAN[[#1-#2]/80];

计算偏转角

#5204=#5204-#3;

给过G54中B轴赋新值 G54G0B0;

执行G54,B轴归零

M99;

三、宏程序开发加工中心工作台任意旋转

后,坐标系自动转换的功能、五轴加工中心工作台旋转对坐标系的影响

五轴加工中心工作台可以在一个或两个方向旋转,可以加工工件的多个表面。当工件安装在工作台任一位置处上,我们找正工件基准,确定工件坐标系。当需要加工另一个表面时,工作台需要旋转一个角度,这时工件上的基准原点与工件坐标系分离。需要再次找正工件基准重新建立坐标系。如图3-1如果工件有五个表面,那么就需要建立五个坐标系。力,对于加工工件还可以接这样的基准点是空间斜角相次找正来保证全不可能了。

图3--1

这样的方法费时费形状较简单的单个受。图中C点、D点就不容易找正。型腔交的零件用基准多空间位置精度就完我们可以用计算的方式,以工作台的回转中心为基准,计算出每次旋转工作台,工件基准相对于工作台回转中心的偏移量。用基准转移的方式建立新的工件坐标系。把这个过程用宏程序来实现,使坐标自动转换,方便准确。

2、工作台旋转后坐标系转换的数学模型

图3—2a 图3—2b 五轴加工中心绕X轴旋转的是A轴,如图3-2a中O是机床坐标系原点,O1是工件坐标系原点,O2是工作台A轴旋转中心。图3-2b为A轴旋转&角后与原来旋转前的比较图。建立LZ和LY数学模型

LZ=(L3-L1)COS&+(L2+L4)SIN&-(L3-L1)=(L3-L1)(COS&-1)+(L2+L4)SIN& LY=(L2=L4)-[(L2+L4)COS&-(L3-L1)SIN&]=(L2+L4)(1-COS&)+(L3-L1)SIN& 要点说明:1.L1L2是工件坐标系原点到机床坐标系原点的距离,也就是G54中Z、Y的值

2.L3L4是工作台旋转中心到机床坐标系原点的值。由

机床厂家测量出存放于一般机床参数中。3.LZLY将用于对工作台的修改

4.设置工件坐标系时要便于坐标转换的计算。

这种问题的难点就是建立数学模型,有了数学模型,我们可以很方便的完成坐标转换宏程序。

四、用参数简化程序提高编程效率

实例、采用参数控制循环的方式时深型腔的粗精铣加工

如图4-1零件型腔深度65mm材料硬度较高,由于内角R的要求,粗精采用的刀具为直径16mm和 10mm的加长铣刀。刚性差因此采用层铣方式,每层铣10mm 水平粗铣环切路径如图4-2。编制这种宏程序的特点是使用循环功能。

采用参数宏程序层切循环和环切循环与普通 方式编程的比较。

图4--1

(1)程序方便的比较进给量调整宏程

序方便只须修改一个参数。而普通程序需要修改整个粗铣程序;(2)宏程序的程序句子较少粗铣留量越大,宏程序的优势越明显;(3)宏程序结构清楚比较容易检验程序的正确性;(4)通用性强,只需

图4—2 对参数赋上合适的值,就可以用于精铣轮廓

和精铣底面及侧面。只需走完一次循环即可,而不必将整个程序走完。

五、用宏程序对数控机床的功能进行二次开发

宏程序像许多计算机软件一样是数控系统厂家提供给我们的一种二次开发工具。用好它对我们的工作帮助非常大。我们可以把一些重复性强,编程有规律的工作。编制成宏程序像数控系统中的其他固定循环一样调用。编制时应注意:(1)运动轨迹尽可能多的受参数控制,才能方便灵活。(2)主要功能应针对性强,才能实用。(3)要注意快速运动轨迹的安全性、通用性。(4)输入参数不要太多,一般固定参数可放在宏程序内修改。下面我简要介绍开发的几个小宏程序: 1.数控车床加工不锈钢材料的深孔的宏程序

解决问题:不锈钢材料加工深孔时排屑困难钻头易磨损,铁屑不易折断,容易绕到工件和钻头上,使钻头易损坏,也会拉毛已加工表面。增大发生折断的意外。采取的方法:增长每次进给的退刀长度,方便排屑降温。增加M00方式暂停,用M05方式主轴暂停,方便检查保护刀具,不用时打开“/”跳过。2.数控车床盲孔深槽的加工宏程序;

设计思路:盲孔内深槽粗车有两个难点1)排屑困难。2)刀头伸出刀杆较长,进退刀困难,空程较长。

在设计工艺路线时我们采取的措施有:1)切屑进给路线上增加若干断点,造成断屑、可以防止切屑缠绕刀杆,也方便排屑。2)分层进给,每层结束,刀具退出工件较长距离,主轴进给都暂停,排出孔内

切屑并检查刀具。3)刀具每次返回切屑面时空行程采用较快进给速度。

实践以上的措施,如应用普通方式编程是非常困难的,即使编出来也是语句庞大,检查修改也非常麻烦。使用宏程序的计算语句和循环控制语句就可以解决这些问题。

结束语

前面介绍了几种编制宏程序的方法和重点技巧。我们在平时的工作中经常会用到,为生产活动带来了很大的便利,提高了生产效率,改善了加工质量,完善了机床的功能。应该说宏程序编制就像一个魔方,随着你对它的使用。它会变幻出越来越多的美丽图案。

上一篇:感谢学法网,司考之路不艰辛(一点辅导班录音经验)下一篇:时尚粤曲汇演主持稿礼仪主持