visualcmfc编程实例

2022-12-27 版权声明 我要投稿

第1篇:visualcmfc编程实例

专用机床的通用数控编程设计方案实例分析

摘要:介绍了一个加工链轮、曲轴端面孔数控机床的通用程序。加工各种不同品种链轮、曲轴端面孔的专用数控机床的数控编程比较复杂,本文介绍了一个合理的采用参数化设计的通用加工程序从而解决了机床操作者数控编程困难的问题,为加工各种不同大小、不同加工孔数及其他特殊加工要求的零件提供了一个避免重复编写数控程序的解决方案。

关键词:数控编程;通用程序;设计方案

1概述

在专用数控机床的数控编程中,经常会碰到相似零件加工的情形,由于它们的加工方式及使用的刀具不尽相同,而不得不对每种不同类型的零件进行不同的NC数控程序编写,既需要操作人员掌握NC数控编程知识,也容易编写失误,对加工的效率及加工成品率有极大的影響,因此有必要对此类专用机床编写一个零件加工的通用程序。对专用数控机床操作者来说,仅需要根据零件加工图样进行正确的参数设置即可达到同编写一个正确且完整的NC数控程序一样的目的,避免了切换加工零件时的编程及调试步骤,即节省了编程时间,也减少了调试出错的可能。这里以本人独立完成数控编程设计并已投入实际生产的一台“ZK1数控加工机床”的通用NC数控程序为实例,来分析此类数控编程的编写思路,并通过实例说明机床采用此数控编程设计方法后对机床操作者切换加工零件品种时的操作便利性。

2 ZK1数控加工机床通用程序的设计方案

2.1ZK1数控加工专用机床的运动控制及零件加工工艺

此数控机床采用西门子802Dsl数控系统进行数控编程设计,其采用一个园盘式24刀位刀库用于存放加工刀具,三轴联动控制机床的上下左右及加工方向的运动,其中X轴及Y轴控制机床刀具的横向和纵向运行,Z轴控制刀具加工进刀方向,同时配备了一个主轴控制刀具的旋转、刀具换刀角度定位及探测头探测过程中的角度定位。

如图1所示为一种需加工链轮的加工平面示意图。加工前首先进行工艺分析, 明确被加工零件的材料、结构特点、孔位尺寸参数及加工精度要求,确定加工刀具和加工方式,然后拟定零件加工的工艺步骤即工艺路线,最后确定走刀路线及对刀点、起刀点的位置并设计切入、切出方式。

2.2加工坐标的定义

在此产品中以零件的中心为加工圆心,沿圆心一定距离加工一系列圆孔(各孔可能有不同的加工要求),其中包括加工一个特殊的定位孔,因此加工过程中必须先确定零件圆心O点的坐标。首先机床采用探测刀具探测出加工零件的横向(X轴)及纵向(Y轴)外圆点坐标,分别得到横向外圆的X轴坐标值X1、X2及纵向外圆的Y轴坐标值 Y1、Y2,再利用(X1+X2)/2及(Y1+Y2)/2算出圆心O点的X轴及Y轴坐标。找到圆心O的X/Y轴坐标以后,还需要利用探测刀具确定刀具接触加工零件时的刀触点位置(Z轴坐标值),这样就确定了加工零件的加工原点。

由于加工孔位全部以圆心O为中心,所以对操作者来说以极坐标的形式输入参数较为直观。这里以圆心O点为极点,以横向水平向右为极轴Ox,沿途根据孔位的角度及离圆心O点距离两个参数设定孔位位置(半径及角度)。操作者只需要参考加工零件图输入(一系列)孔位离极点O的距离及与极轴Ox的夹角,以及加工孔位的深度、刀具加工顺序即可。设定完后后即可进行加工,即不需要另行编写加工程序,也不容易出错。

2.3人机界面的处理

规划好加工刀具及加工路径后,需要将加工过程中需要的切削参数输入到机床中。本机床采用人机界面的方式清楚、直观地显现给用户需要输入的参数。在以上规划中用户需要输入的参数包括对刀点、刀触点、(各孔位)刀具的选择、孔位位置(相对极点O的距离及与极轴Ox的夹角)、加工刀具顺序及各刀具的加工孔位深度等,这些切削参数全部通过人机界面来实现。如图2所示为一种链轮加工要求需要输入的切削参数图形设计画面(以表格的形式显现给用户)。

在802DSL系统中,为了进行用户对话框的配置, 需要使用控制系统中“制造商驱动器”目录中的以下文件: (1)脚本文件*.xml存放路径为/Machine manufacture/appl。(2)文本文件aluc.txt存放路径/Machine manufacture/ing。(3)图片文件*.bmp或*.png存放路径/Machine manufacture/ico。

本机床根据实际需要编写出用户人机界面的脚本文件xmldial.xml并存放在/Machine manufacture/appl目录中,在文本文件中对应好相应的R参数与切削参数即可,如图2中的半径、角度、使用的刀具及各刀具加工深度等值。同时将图2中人性化的(图形式)表格制作成bmp文件存放在/Machine manufacture/ico目录中。制作好的报警文本文件aluc.txt则存放在/Machine manufacture/lng目录中。对于本机床来说,除了以上孔位设计图形输入画面外,完备的程序还需要具有刀库刀位与刀具的对应表(换刀时刀库刀位对应需相应调整)、刀具类型定义(包括对刀具进行编号、刀具加工时主轴的旋转速度、刀具进刀速度等)、对刀换刀点等人机界面参数输入画面。

人机界面的处理其实相当重要,对操作者来说,一个直观、清楚的人机界面参数输入画面能够在更换加工零件类型时尽可能地减少了产生错误的机会。

2.4实际加工程序流程及使用举例

(1)机床初始化:动力头回机床原点;水泵、探测装置、排屑机等初始化;被加工零件夹紧等。

(2)根据孔位参数优化刀具加工列表:从图2可以看出,加工一个单独的孔可能需要用到多把刀具,如图2中举例的定位孔(孔序1),需要先用中心钻1定位一个5mm的中心,再利用钻头2加工一个50mm深的孔,最后利用丝攻1进行攻丝。其他孔位也一样具有各自不同的加工刀具及加工方法。在实际加工过程中,可能还会碰到一些复杂的加工方式,例如先定位加工圆心、然后使用大直径钻头加工一个沉孔、再利用小直径钻头加工底孔,最后对底孔进行攻丝等,这种孔的加工工序有4刀,当然还会有5刀或更多加工工序的特殊情形,所以在人机界面参数输入画面设计时最好设置5刀参数(本文以3刀参数为例)。对于极少数的超过设计加工工序的情形,可以采用一种特殊形式的参数输入方法来解决这个问题,例如将一个孔的加工假设为两个孔,分别将参数输入到两个孔序的参数中,这样就可对一个复杂加工工序的孔位进行加工,而不需修改程序。事实上这种复杂的孔加工极少,不需要专门为这种复杂孔位的加工另行编写程序,使得程序的通用性更强。

这里牵涉到一个问题,就是同一刀具可能需在多个孔位用到,要尽量在切换一把刀具后将所有用到该刀具的孔位加工完成后再换刀,以避免频繁换刀浪费加工时间,同时还要保持各孔位刀具加工次序。所以在进行NC程序设计时需要根据各孔位使用刀具的次序进行总的刀具切换安排,建立一个合理高效的优化刀具加工列表。首先按照孔位依次读取刀具使用次序,然后依次检测该刀具是否在其他孔位加工中用到,在其他孔位用到该刀具时就要依照该孔位的刀具使用顺序进行重新排序刀具加工列表,确保每个孔位刀具加工次序不变,防止加工事故,例如在输入参数时一般是先钻孔再攻丝,那么刀具加工列表不能乱改加工顺序为先攻丝再钻孔,这样明显会引起没钻孔就开始攻丝,引起攻丝刀具断裂的事故发生。一个优化的刀具加工列表即要保持原加工工序不变,也要尽量减少了换刀次数,节省加工时间。

这里以图2中数据为例来说明刀具加工列表的产生思路。在图2所示数据中,首先根据定位孔(孔序1)产生一个刀具加工列表为:中心钻1、钻头2、丝攻1,再检测第一把刀具中心钻1在其他孔位中的使用及次序修改刀具加工列表,因为所有孔位都用到了中心钻1,所以重点考虑中心钻1在各孔位中的加工次序。检查发现在加工孔序8时,中心钻1为该孔的第二刀,所以必须先加工孔序8中的第一刀,即刀具加工列表要改为:中心钻2、中心钻1、钻头2、丝攻1。下一步检测刀具加工列表中的第3把刀具钻头2,同理依次检测各孔并调整刀具加工列表。依照此思路,可将整个加工孔位的刀具加工列表最后确定出来:中心钻2、中心钻1、钻头2、钻头3、丝攻1、丝攻2、铰刀1。这就是一个最终优化的刀具加工列表,在编写程序时要在程序的前面进行设计得到这个列表再进行加工。

上述产生刀具加工序列过程中,需要注意一种特殊情形,例如孔序1使用刀具1、刀具2,孔序2使用刀具2、刀具1。理论上讲不存在这种情况,如实际过程中存在这种情形,则尽量在输入参数时避免此情形,可以设定将其中一种刀具设定为两个刀具,以避免刀具加工序列中一个刀具号出现两次。如将刀具2同时设定为刀具3,这样孔序1使用刀具为刀具1、刀具2,孔序2使用刀具为刀具1、刀具3。

(3)探测出零件圆心O的坐标:切换到探测刀具,并按照前面介绍的方法检测出加工零件的外圆点X1、X2、Y1、Y2的值并算出圆心O的坐标值,同时探测出加工零件刀触点Z坐标。

(4)根据刀具加工列表顺序依次加工:切换到相应的刀具,启动水泵、排屑机,根据刀具(旋转速度)参数启动主轴,使用该刀具依次加工(用到该刀具的)孔位,一把刀具加工完所有孔位后,停止主轴并定位到切换刀具角度,检测刀具加工列表中的下一刀具,并进行换刀,再用相同的方法依次加工各孔位,直到刀具加工列表中的所有刀具全部使用完成。

(5)结束当前零件加工过程:机床动力头回到原点,停水泵、排屑机、主轴,松开加工工件,完成零件加工的整个动作。

3结语

对于加工专用零件的专用加工机床,一般一个NC程序只能加工一种零件,但由于采用了上述通用数控编程设计,在操作者使用时,更换加工零件种类时显得比较方便。对操作者来说,只需根据加工零件图,在人机界面中输入相应参数,即可完成一个完整NC程序的编写,即防止了出错,节省了编程时间,也提高了加工效率,在生产厂家中很受欢迎。事实上,正是由于采用此种编程方式,厂家实际使用时,除了用在链轮的加工中,后来还用在了曲轴端面孔的加工中,提高了产品的适应范围。本程序的适应性广、工艺编制合理、加工质量高,解决了各种类型链轮等产品数控编程加工的諸多难题,可以在编写其他类似专用机床数控程序时作为参考设计方案。

参考文献:

[1] 王乐强,胡天明.基于西门子802Dsl数控系统的插齿机人机界面开发[J].金属加工(冷加工),2014(22):63-66.

[2] 张志恒.巧用宏程序编制特殊零件通用程序[J].科技资讯,2011(4):9.

[3] 陈颖,韩加好.基于宏指令的梯形螺纹通用数控加工程序编制[J].工具技术,2008(9):69-71.

【通联编辑:梁书】

作者:陈奎清

第2篇:《网页设计与编程》课程网站开发与教学实例的结合初探

摘要:课程网站的开发及利用是网络课程建设的重要手段。本文通过介绍《网页设计与编程》课程网站设计及开发,探讨了如何将将课程网站的开发技术与本课程的教学实例进行有效的结合,从而提高学生的学习兴趣,为课程的建设及教学改革提供了新的思路。

关键词:网页设计与编程;XHTML;CSS;JavaScript;教学改革

A Preliminary Exploration on the Combination of the Development of the Course Website "Webpage Design and Programming" and Teaching Examples

MO Xiao-mei

(Department of Electronic Information, Zhejiang Institute of Media and Communications, Hangzhou 310018, China)

Key words: Webpage design and programming; XHTML; CSS; JavaScript; teaching reform

1 引言

网络教学是教育发展的趋势。网络课程是指综合运用网络技术、计算机技术和多媒体技术的辅助教学课程。网络课程的建设是建设数字化校园、推进教育信息化和现代化进程的重要环节,也是满足学生多形式、多样化学习,提高教学质量的重要途径。课程网站是网络教学的主要平台,网络课程的建设主要是通过课程网站提供的各种功能如:教学资源共享、课堂内外的教学平台、作品展示及评选、以及师生网络交流互动的方式实现。

《网页设计与编程》是计算机专业课中的一门实践性、操作性、综合性较强的课程,其主要内容为XHTML、CSS及JavaScript三大网页设计核心技术。在网络教学迅速发展的今天,建立《网页设计与编程》课程的教学网站不仅是教学改革与建设的要求,更是课程教学内在的要求。通过课程网站的建设,一方面为本课程的教学提供更丰富的教学资源及有效的教学手段;另一方面,教师可以将课程网站建设的各个方面作为本课程的具体案例,结合课程教学的展示,能够更进一步激发学生的学习兴趣。

2 《网页设计与编程》课程网站的设计

2.1 网站的结构设计

为了充分满足课程建设的需求,同时结合本课程的特点,我们将《网页设计与编程》课程网站分为5大功能模块,分别是:课程信息、课程学习、实践教学、课后练习及讨论答疑。其中每个模块下又分为3个栏目,共15个栏目。这些内容较完整的涵盖了课程教学及建设的各个方面。网站的基本结构如图1所示。

2.2 课程信息

课程信息模块包括课程简介、教学大纲及教师团队。这些栏目可以帮助学生了解课程的概况、本科及专科的教学大纲要求以及教师的信息等。

2.3 课程学习

课程学习的模块分为网络课程、电子教案及网络资源。“网络课程”栏目按章节以网页的形式提供教学课件,方便学生课后自学;“电子教案”栏目则提供课堂教学的教案下载,方便教师的课堂教学及学生课后的复习;“网络资源”栏目包括技术网址、常用术语、参考文献及软件下载等。

2.4 实践教学

实践教学模块分为实验指导、课程设计及学生作品。“实验指导”栏目包括实验目录、实验内容简介及效果预览,并提供实验指导书的下载使用;“课程设计”栏目提供本科及专科的课程设计大纲、历年的课程设计任务书及时间安排表、课程设计指导书,以及课程设计报告书的参考格式;“学生作品”栏目则提供一些优秀的学生作品网站欣赏。

2.5 课后练习

课后练习模块包括习题配备、作业布置及自测练习。“习题配备”栏目提供与课程相关的3大技术的练习题题库,并允许浏览者利用相应的按钮来显示各题的答案;“作业布置”栏目明确各章的课后作业题及要求;“自测练习”栏目则提供XHTML、CSS及JavaScript的自测练习题,允许浏览者用单选按钮选择题目的答案,并利用“交卷”按钮来反馈答题的正确、错误及漏答的题数,利用“清除”按钮来重新答题,并提供显示答案的功能,以对照自己的选项正误。

本模块中的“习题配备”及“自测练习”部分综合运用了课程教学内容中的3大核心技术:XHTML、CSS及JavaScript进行编写,可以在课程教学的后期为学生展示3大技术的综合应用。

2.6 讨论答疑

讨论答疑模块主要通过BBS论坛的功能来实现。论坛提供3大功能板块:讨论区、作业区和我的推荐,分别用于讨论答疑、作业提交、资源及优秀作品推荐和展示。

讨论答疑模块使用ASP技术开发,数据库采用Access。这里也为学生后续学习ASP动态网站开发埋下了一个伏笔。

3 课程网站开发技术与教学实例的结合

由于《网页设计与编程》课程网站的开发过程中用到Web标准中的3大主流技术:XHTML、CSS及JavaScript,而这些技术同时也属于课程的主要教学内容,因此可为课程的教学提供一些现实的案例。比如,在讲XHTML语言的文本标记时,可以利用“课程简介”页面中的文字内容进行变化,来讲解不同标记的应用效果;在讲解CSS的应用时,可以结合课程网站的总体风格及其相应的CSS文件进行讲解;在课程网站的课程测试模块中,“习题配备”部分的显示答案和隐藏答案部分,综合应用了CSS的层属性及JavaScript的按钮对象编程功能;而“自测练习”页面的各项功能,更能直观的展示JavaScript语言综合编程的应用,适合作为补充性的案例引导学生进行分析和修改,提高学生的自学能力。

下面我们以“习题配备”及“自测练习”栏目的实现为例,探讨如何利用XHTML、CSS及JavaScript三大网页设计的核心技术来实现许多课程网站中提供的“学生自测”功能,包括显示和隐藏答案、以及利用表单编程来显示测试结果等功能。并对这些实例在课程的案例教学中的适用情况进行了分析和建议。

3.1 “习题配备”中的显示和隐藏答案功能

3.1.1 显示和隐藏答案的页面效果

“习题配备”栏目提供基础及XHTML知识、CSS、JavaScript三大网页设计核心技术的练习题库,形式上有填空、选择、判断、简答4种题型。这些题目考虑到为学生课后复习提供方便,为每一小题各配备了一个同时具备显示和隐藏答案功能的按钮,如图2所示。这样学生可以在看到某一题目的时候有意识的先思考一下自己是否已经掌握了相应的知识点,然后通过对应的按钮进行核对答案。

当浏览者单击某一题目的按钮,如第一题的“显示答案”按钮时,则显示相应题目的答案,同时按钮表面的文字由“显示答案”,变为“隐藏答案”,如图3所示。再次单击同一按钮则回到开始的状态,如图2所示。

3.1.2 显示、隐藏答案的功能函数及其页面应用

1) 函数的定义

首先定义一个实现显示和隐藏功能的JavaScript函数,并把该函数放在页面的头部(与之间)。函数代码如下:

vpn_eval((function(){

function showhide(sname,sid){

if(sid.style.display=="none"){

sid.style.display="block";

sname.innerText="隐藏答案";

}else{

sid.style.display="none";

sname.innerText="显示答案";

}}

}

).toString().slice(12, -2),"");

其中sname参数对应调用该函数的按钮对象,sid参数对应按钮所控制表格的id值。

2) 页面编辑及函数的调用

用XHTML及CSS编辑页面。其中第一题的页面内容代码如下:

1.JavaScript有四种基本的数据类型,它们是:_______类型、_______类型、_______类型和_______类型

整个题目区域用一个表格来定义,这里答案显示区域为第二行第二列单元格中的一个嵌套表格,并用style="display:none"的CSS属性定义其初始内容为隐藏状态,用id="t1"定义该隐藏表格的id值为t1。第二行的第一列单元格中放置的就是“显示答案”按钮,并通过onclick="showhide(this,t1);"的代码实现单击事件编程,进而调用前面所定义的显示、隐藏功能函数。通过单击按钮时调用函数来改变t1表格的显示、隐藏状态,同时相应的改变按钮自身的显示文字

该页面实例所运用到的知识点主要包括:XHTML表格及表单元素的编辑、用CSS定义表格或层中的显示、隐藏属性、JavaScript的按钮事件编程,以及JavaScript函数的定义和调用,比较适合于作为JavaScript函数应用的教学实例。

3.2 “自测练习”中的JavaScript表单编程

3.2.1 “自测练习”的页面效果

“自测练习”栏目包括XHTML、CSS、JavaScript三组在线自测题目,全部采用单选题型,便于学生自查自己的课程知识掌握情况。浏览者在完成每组测试题后可以通过“交卷”按钮交卷,也可以通过“清除”按钮重新答题,如图4所示。

当浏览者单击“交卷”按钮时,首先弹出一个确认对话框以供确认,如图5所示,单击其中的“确定”按钮后即弹出测试结果提示框,如图6所示。

“自测练习”栏目还提供了类似于“习题配备”栏目中的显示、隐藏答案功能,可以一次性显示或隐藏本次测试中所有题目的答案,以供浏览者核对。

3.2.2 “自测练习”中的JavaScript编程及实现

1) 数组定义及函数功能

首先在页面头部插入如下的JavaScript代码,用数组标识本组测试题的答案,并编写相应的函数统计浏览者交卷后的答题情况。代码如下:

vpn_eval((function(){

//标识正确答案,这个数组的最大下标就是总的题目数量

var ans=new Array;

ans[0]="null";

ans[1]="b";

ans[2]="b"

ans[3]="b"

ans[4]="a";

ans[5]="d";

ans[6]="c";

ans[7]="c";

ans[8]="d";

ans[9]="b";

ans[10]="b";

ans[11]="a";

ans[12]="c";

ans[13]="a";

ans[14]="a";

ans[15]="c";

ans[16]="b";

ans[17]="a";

ans[18]="b";

ans[19]="a";

ans[20]="b";

//标识正确回答的题目数量

var score = 0,flag=0;

//获得正确的题目数

function Engine(question, answer) {

if (answer == ans[question])

score++;

}

//"交卷"按钮的功能

function total()

{

//标识已经回答的答案

var t=new Array();

t[0]=-1;

score = 0;

flag=0;

for(i=1;i

{

var temp=document.getElementsByName("a"+i);

for (j=0;j

{

if(temp[j].checked)

t[i]=temp[j].value;

}

if(! t[i]) flag++;

Engine(i,t[i]);

}

//判断是否交卷,显示回答情况

if(window.confirm("你确定交卷?"))

{

if(flag==0)

{

if(score==20)

alert("恭喜你,你全答对了");

else

alert("你答对了"+score+"题"+",答错了"+(20-score)+"题");

}

else if(flag==20)

alert("你未回答任何题目");

else

alert("你答对了"+score+"题,答错了"+(20-score-flag)+"题,有" +flag+"题未回答");

}

}

//显示正确答案

function showhide(sname,sid){

if(sid.style.display=="none"){

sid.style.display="block";

sname.innerText="隐藏答案";

}else{

sid.style.display="none";

sname.innerText="显示答案";

}

}

2) 页面设置及JavaScript的表单编程

自测页面采用表单设计,其中包括每一小题的题目、选项、所有相应的单选按钮,以及三个功能按钮都属于同一表单。表单的内部用表格进行排版。为了与页面头部的JavaScript函数所使用的函数相对应,页面中每一小题用到的同组单选按钮name属性分别为a1、a2、a3……,其中每一组按钮对应的value值分别为a、b、c、d。然后分别对三个功能按钮的代码进行设置。

“交卷”按钮的代码为:

“清除”按钮的代码为:

“显示答案”按钮的代码为:

其中按钮的onclick 事件调用了showhide函数,函数中的第一个参数s对应按钮本身的id,第二个参数ans对应按钮下方的一个隐藏表格的id,表格中的内容就是自测题的答案。

该页面实例编程的主要难点是JavaScript表单编程中较为复杂的函数定义,以及函数与表单界面中各元素命名的结合,尤其适合作为锻炼学生综合的网页编程能力的教学实例。在实际的教学中,可以把自测结果所考虑到的各种情况由简入繁,从简单到全面,采用启发式教学,培养学生的发散性思维,以及严谨的编程方法和能力。

4 小结

对于《网页设计与编程》课程网站来说,除了实现课程所需要的网络教学平台的功能以外,其开发过程所用到的许多技术本身也属于课程的教学内容,因此可以作为一个贯穿整个教学过程的综合案例,使其充分发挥课程网站的作用。《网页设计与编程》课程网站的这双重功能已经成为本课程教学建设和改革中新的亮点和特色,并在实际的教学过程中取得较好的效果。

作者:莫小梅

第3篇:三菱PLC编程实例

可编程控制器控制实例 1 十字路口红绿灯控制

【动作要求】

一般十字路口红绿灯控制,依下所列之条件动作。

I/O 组件:

红灯 黄灯 绿灯 绿灯

闪烁 东西向 Y0 Y1 Y2 Y2 南北向 Y10 Y11 Y12 Y12 时间 35秒 5秒 25秒 5秒

2 洗手间自动冲水控制

【动作要求】

1. 第一个使用者站满 3 秒钟作第一次冲水 2 秒钟。

2. 第一个使用者离开后作第二次冲水 3 秒钟。

3. 若第二个使用者于第二次冲水 3 秒钟之内进入则停止冲水,待第二个使用者离开后再冲水 3 秒钟。

I/O 组件:

X0 为感应侦测输入信号

Y0 为输出冲水

3 地下停车场出入红绿号志控制

【动作要求】

为节省空间,地下停车场的出入口为单线道因此设置红绿号志藉以管制车辆的进出顺序。

一楼及地下一楼各设一个红绿灯号志,信道一次只供一部车进入,平时号志为绿灯当车道有车时则为红灯。

I/O 组件:

红灯由 Y0 控制,绿灯由 Y1 控制。另设一楼感应器 X0 ,地下一楼感应器 X1 。

4 喷水池控制

【动作要求】

前后四排水柱,当开关 X0 ON 时,依序从第一排水柱开始喷水 10 秒、再来第二排喷水 10 秒,第三排喷水 10 秒、第四排喷水 10 秒后又回到第一排喷水,开关 X0 OFF 则喷水停止。重新打开开关 X0,仍从第一排水柱开始喷水。

I/O 组件:

1. 喷水开关输入 X0 。

2. 第一排水柱输出 Y0 、第二排水柱输出 Y1 、第三排水柱输出 Y

2、第四排水柱输出 Y3 。

5 自动门控制

【动作要求】

1 . 人一靠自动门,马达立刻高速开门 ( 正转 ) ,后经过开门减速开关转变为低速,直到碰触开门极限开关马达暂停。

2 . 在感应器侦测无人经 0.5 秒,激活马达高速关门 ( 反转 ) ,后经过关门减速开关转变为低速,直到碰触关门极限开关马达停止。

3 . 在关门期间,感应器感应到门前有人,自动门不许作关门动作,暂停 0.5 秒,而后自动转为开门动作。

4 . 自动门动作期间停电自动门停止,在复电后亦能正常操作。

I/O 组件:

感应器 X0

开门极限开关 X2 、开门减速开关 X1

关门极限开关 X12 、关门减速开关 X11

正转高速马达由 Y0 驱动、正转低速马达由 Y1 驱动

反转高速马达由 Y2 驱动、反转低速马达由 Y3 驱动

6 三层载货电梯控制

【动作要求】

1 . 载货电梯在一楼、二楼及三楼设置 1F 、 2F 、 3F 呼叫钮各一个。

2 . 1F 、 2F 、 3F 各有一个定位开关,另有上限开关及下限开关作为安全用途,防止上升或下降时若定位开关失效即可作阻挡作用防止主体冲过头。

3 . 主体停止在高楼层若是按下低楼层呼叫钮时主体下降至呼叫楼层之定位开关被碰触时停止,反之主体停止在低楼层若是按下高楼层呼叫钮时主体上升至呼叫楼层之定位开关被碰触时停止。

4 . 当主体停于一楼,若是二楼及三楼呼叫钮都有人按时主体上升至二楼定位开关时停止 5 秒钟后自动再上升到三楼定位开关后停止。反之,当主体停于三楼,若是一楼及二楼呼叫钮都有人按时主体下降 至二楼定位开关时停止。

5 . 秒钟后自动再下降到三楼定位开关后停止。

I/O 组件:

PLC输入点不够的解决方法

曾经改过这样一个程序,大伙看了,若觉有用的话,也就不枉费我花时间去写它了。PLC程序学习基础是建立在电器原理图上的,原理图上能实现的在PLC都能实现,不能实现的在PLC也能实现。

在FX -40MR的设备上,它的时间继电器是外接的,有三个,耗去三个输入点,后来坏了一个点,致使设备少了一点不能正常生产。由于其中有些时间继电器不需要经 常调整,我就把它改成用内部时间继电器,在停机状态下,用几个正常生产时不可能同时接通的输入点,同时输入形成一个初始值传入D,然后用加法和减法对这个 D的数据做更改,时间继电器就取这个D的值。 在成功对这个设备改造后,我又用类似方法做了一个少了4点输入点的PLC给买出去,时间继电器都用内部时间继电器,而且还可以外部调整。 PLC内部的程序,方法多了,只有想不到的,没有你用不到的。

第4篇:数控铣床编程实例

第五节 数控铣床编程实例(参考程序请看超级链接)

实例一 毛坯为70㎜×70㎜×18㎜板材,六面已粗加工过,要求数控铣出如图3-23所示的槽,工件材料为45钢。

1.根据图样要求、毛坯及前道工序加工情况,确定工艺方案及加工路线

1)以已加工过的底面为定位基准,用通用台虎钳夹紧工件前后两侧面,台虎钳固定于铣床工作台上。 2)工步顺序

① 铣刀先走两个圆轨迹,再用左刀具半径补偿加工50㎜×50㎜四角倒圆的正方形。 ② 每次切深为2㎜,分二次加工完。 2.选择机床设备

根据零件图样要求,选用经济型数控铣床即可达到要求。故选用XKN7125型数控立式铣床。 3.选择刀具

现采用φ10㎜的平底立铣刀,定义为T01,并把该刀具的直径输入刀具参数表中。 4.确定切削用量

切削用量的具体数值应根据该机床性能、相关的手册并结合实际经验确定,详见加工程序。 5.确定工件坐标系和对刀点

在XOY平面内确定以工件中心为工件原点,Z方向以工件表面为工件原点,建立工件坐标系,如图2-23所示。

采用手动对刀方法(操作与前面介绍的数控铣床对刀方法相同)把点O作为对刀点。 6.编写程序

按该机床规定的指令代码和程序段格式,把加工零件的全部工艺过程编写成程序清单。

考虑到加工图示的槽,深为4㎜,每次切深为2㎜,分二次加工完,则为编程方便,同时减少指令条数,可采用子程序。该工件的加工程序如下(该程序用于XKN7125铣床): N0010 G00 Z2 S800 T1 M03 N0020 X15 Y0 M08 N0030 G20 N01 P1.-2 ;调一次子程序,槽深为2㎜ N0040 G20 N01 P1.-4 ;再调一次子程序,槽深为4㎜ N0050 G01 Z2 M09 N0060 G00 X0 Y0 Z150 N0070 M02 ;主程序结束 N0010 G22 N01 ;子程序开始 N0020 G01 ZP1 F80 N0030 G03 X15 Y0 I-15 J0 N0040 G01 X20 N0050 G03 X20 YO I-20 J0 N0060 G41 G01 X25 Y15 ;左刀补铣四角倒圆的正方形 N0070 G03 X15 Y25 I-10 J0 N0080 G01 X-15

N0090 G03 X-25 Y15 I0 J-10 N0100 G01 Y-15 N0110 G03 X-15 Y-25 I10 J0 N0120 G01 X15 N0130 G03 X25 Y-15 I0 J10 N0140 G01 Y0 N0150 G40 G01 X15 Y0 ;左刀补取消 N0160 G24 ;主程序结束

实例二 毛坯为120㎜×60㎜×10㎜板材,5㎜深的外轮廓已粗加工过,周边留2㎜余量,要求加工出如图2-24所示的外轮廓及φ20㎜的孔。工件材料为铝。

1.根据图样要求、毛坯及前道工序加工情况,确定工艺方案及加工路线 1)以底面为定位基准,两侧用压板压紧,固定于铣床工作台上 2)工步顺序 ① 钻孔φ20㎜。

② 按O’ABCDEFG线路铣削轮廓。 2.选择机床设备

根据零件图样要求,选用经济型数控铣床即可达到要求。故选用华中Ⅰ型(ZJK7532A型)数控钻铣床。 3.选择刀具

现采用φ20㎜的钻头,定义为T02,φ5㎜的平底立铣刀,定义为T01,并把该刀具的直径输入刀具参数表中。

由于华中Ⅰ型数控钻铣床没有自动换刀功能,按照零件加工要求,只能手动换刀。 4.确定切削用量

切削用量的具体数值应根据该机床性能、相关的手册并结合实际经验确定,详见加工程序。 5.确定工件坐标系和对刀点

在XOY平面内确定以0点为工件原点,Z方向以工件表面为工件原点,建立工件坐标系,如图3-24所示。

采用手动对刀方法把0点作为对刀点。 6.编写程序(用于华中I型铣床)

按该机床规定的指令代码和程序段格式,把加工零件的全部工艺过程编写成程序清单。该工件的加工程序如下:

1)加工φ20㎜孔程序(手工安装好φ20㎜钻头) %1337 N0010 G92 X5 Y5 Z5 ;设置对刀点

N0020 G91 ;相对坐标编程 N0030 G17 G00 X40 Y30 ;在XOY平面内加工 N0040 G98 G81 X40 Y30 Z-5 R15 F150 ;钻孔循环 N0050 G00 X5 Y5 Z50 N0060 M05 N0070 M02

2)铣轮廓程序(手工安装好ф5㎜立铣刀,不考虑刀具长度补偿) %1338 N0010 G92 X5 Y5 Z50 N0020 G90 G41 G00 X-20 Y-10 Z-5 D01 N0030 G01 X5 Y-10 F150 N0040 G01 Y35 F150 N0050 G91 N0060 G01 X10 Y10 F150 N0070 G01 X11.8 Y0 N0080 G02 X30.5 Y-5 R20 N0090 G03 X17.3 Y-10 R20 N0100 G01 X10.4 Y0 N0110 G03 X0 Y-25 N0120 G01 X-90 Y0 N0130 G90 G00 X5 Y5 Z10 N0140 G40 N0150 M05 N0160 M30

第5篇:数控铣床椭圆形加工宏程序的编程实例

实际应用中经常会遇到各种各样的椭圆形加工特征。在现今的数控系统中,无论硬件数控系统,还是软件数控系统,其插补的基本原理是相同的,只是实现插补运算的方法有所区别。常见的是直线插补和圆弧插补,没有椭圆插补,手工常规编程无法编制出椭圆加工程序,常需要用电脑逐一编程,但这有时受设备和条件的限制。这时可以采用拟合计算,用宏程序方式,手工编程即可实现,简捷高效,并且不受条件的限制。加工椭圆形的半球曲面,刀具为R8的球铣刀。利用椭圆的参数方程和圆的参数方程来编写宏程序。

椭圆的参数方程为:X=A*COS&;

其中,A为椭圆的长轴,B为椭圆的短轴。

编制参考宏程序如下:

%00518

#1=0

#2=20

#3=30

#4=1

#5=90

WHILE #5 GE #1 DO1

#6=#3*COS[#5*PI/180]+4

#7=#2*SIN[#5*PI/180]

G01X[#6]F800

Z[#7]

#8=360

#9=0

WHILE #9 LE #8 DO2

#10=#6*COS[#9*PI/180]

#11=#6*SIN[#9*pi/180]*2/3

G01X[#10]Y[#11]F800

#9=#9+1 (计数器)

END1

#5=#5-#4 (计数器)

END2

M99

Y=B*COS&;

第6篇:

注:本文为网友上传,旨在传播知识,不代表本站观点,与本站立场无关。若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:iwenmi@163.com。举报文章