文档库 最新最全的文档下载
当前位置:文档库 › 数控车床编程与仿真操作实验报告答案

数控车床编程与仿真操作实验报告答案

数控车床编程与仿真操作实验报告答案
数控车床编程与仿真操作实验报告答案

机床数控技术实验报告

实验二数控车床编程与仿真操作

1.数控车床由哪几部分组成?

答:数控车床由数控装置、床身、主轴箱、刀架进给系统、尾座、液压系统、冷却系统、润滑系统、排屑器等部分组成。

数控车床分为立式数控车床和卧式数控车床两种类型。

2.为什么每次启动系统后要进行“回零”操作?

答:机床断电后,就不知道机床坐标的位置,所以进行回零,进行位置确定每次开机启动数控系统的机械零点和实际的机械零点可能有误差,回零操作是对机械零点的校正。

4.简述对刀过程?

答:(1)一般对刀,一般对刀是指在机床上使用相对位置检测手动对刀。下面以Z向对刀为例说明对刀方法:刀具安装后,先移动刀具手动切削工件右端面,再沿X向退刀,将右端面与加工原点距离N 输入数控系统,即完成这把刀具Z向对刀过程。

(2)机外对刀仪对刀,机外对刀的本质是测量出刀具假想刀尖点到刀具台基准之间X及Z方向的距离。利用机外对刀仪可将刀具预先在机床外校对好,以便装上机床后将对刀长度输入相应刀具补偿号即可以使用。

(3)自动对刀,自动对刀是通过刀尖检测系统实现的,刀尖以设定的速度向接触式传感器接近,当刀尖与传感器接触并发出信号,数控系统立即记下该瞬间的坐标值,并自动修正刀具补偿值。

5.G00与G01指令有何不同?

答:G00指令表示刀具以机床给定的快速进给速度移动到目标点,又称为点定位指令,G01指令使刀具以设定的进给速度从所在点出发,直线插补至目标点。

6.简述用MDI方式换2号刀的操作过程。

答:按下程序建按下MDI建输入一段换刀程序T0101的刀具指令按循环启动

实验三数控铣床编程与仿真操作

1.数控铣床由哪几部分组成?

答:(1)主轴箱包括主轴箱体和主轴传动系统。

(2)进给伺服系统由进给电动机和进给执行机构组成。

(3)控制系统是数控铣床运动控制的中心,执行数控加工程序控制机床进行加工。

(4)辅助装置如液压、气动、润滑、冷却系统和排屑、防护等装置。(5)机床基础件指底座、立柱、横梁等,是整个机床的基础和框架。(6)工作台

2.为什么每次启动系统后要进行“回零”操作?

答:机床断电后,就不知道机床坐标的位置,所以进行回零,进行位置确定每次开机启动数控系统的机械零点和实际的机械零点可能有误差,回零操作是对机械零点的校正。

3.“超程”是什么意思?出现超程后应如何处理?为什么加工前要进行程序校验或空运行?

答:超程就是机床各个轴向的限位开关。绝大多数机床都设置有“超程解除”触点,一旦出现“硬限位”报警,在确认限位被压和后,使该触点闭合并在手动方式下向相反方向移出限位位置。也有一些机床没有设置按钮,此时应在相应的点上采取短接措施,即强制满足条件,然后将机床移出限位位置。看看程序有没有编错,如果错的话可能会撞刀,这是很危险的,会带来很大的损失。所以加工前要进行程序校验或空运行。

实验四加工中心编程与仿真操作

1.加工中心由哪几部分组成?

答:加工中心具有数控系统、检测装置、驱动装置、机床传动链、伺服电动机五大要素,带有刀库和自动换刀装置,它将数控铣床、数控镗床、数控钻床的功能组合在一起,功能强大,近几年又出现了许多车削加工中心,几乎可完成回转体零件的所有加工工序。

2.为什么每次启动系统后要进行回零操作?

答:机床断电后,就不知道机床坐标的位置,所以进行回零,进行位置确定每次开机启动数控系统的机械零点和实际的机械零点可能有误差,回零操作是对机械零点的校正。

实验五:数控车床结构与传动认识实验

1.数控机床与普通机床在性能上有什么不同?

答:数控机床对零件的加工过程,是严格按照加工程序所规定的参数及动作执行的。它是一种高效能自动或半自动机床,与普通机床相比,具有以下明显特点:

(1)适合于复杂异形零件的加工:数控机床可以完成普通机床难以完成或根本不能加工的复杂零件的加工,因此在宇航、造船、模具等加工业中得到广泛应用

(2)加工精度高

(3)加工稳定可靠

(4)高柔性

(5)高生产率

(6)劳动条件好

(7)有利于管理现代化

(8)投资大,使用费用高

(9)生产准备工作复杂

(10)维修困难

2.数控机床为了保证达到高性能在结构上采用了那些特点?

答:高刚度低惯量。

3.与普通车床比较,数控机床在结构上有那些特点?

答:(1)采用了全封闭或半封闭防护装置数控车床采用封闭防护装置可防止切屑或切削液飞出,给操作者带来意外伤害。

(2)采用自动排屑装置数控车床大都采用斜床身结构布局,排屑方便,便于采用自动排屑机。

(3)主轴转速高,工件装夹安全可靠。数控车床

大都采用了液压卡盘,夹紧力调整方便可靠,同时也降低了操作工人的劳动强度。

(3)可自动换刀数控车床都采用了自动回转刀架,在加工过程中可自动换刀,连续完成多道工序的加工。

(5)主、进给传动分离数控车床的主传动与进给传动采用了各自独立的伺服电机,使传动链变得简单、可靠,同时,各电机既可单独运动,也可实现多轴联动。

4.分析数控车床刀架换刀的工作原理。

答:四方刀架:

(1)松开:刀架电动机与刀架一蜗杆相连,刀架电动机转动时与蜗杆配套的涡轮转动,此涡轮与一条丝杠为一体的(称为“涡轮丝杠”)当丝杠转动时会上升(与丝杠旋合的螺母与刀架是一体的,当松开时刀架不动作,所以丝杠会上升),丝杠上升后使位于丝杠上端的压板上升即松开刀架。

(2 )换刀:刀架松开后,丝杠继续转动刀架在摩擦力的作用下与丝杠一起转动即换刀。

(3)定位:在刀架的每一个刀位上有一个用永磁铁做的感应器,当转到系统所需的刀位时,磁感应器发出信号,刀架电动机开始反转。(4)锁紧:刀架是用类似于棘轮的机构装的只能沿一个方向旋转,当丝杠反转时刀架不能动作,丝杠就带着压板向下运动将刀架锁紧,换刀完成。

5.数控车床日常使用维护项目。

答:数控车床具有机、电、液集于一身的,技术密集和知识密集的特点,是一种自动化程度高、结构复杂且又昂贵的先进加工设备。为了

充分发挥其效益,减少故障的发生,必须做好日常维护工作,所以要求数控车床维护人员不仅要有机械、加工工艺以及液压气动方面的知识,也要具备电子计算机、自动控制、驱动及测量技术等知识,这样才能全面了解、掌握数控车床,及时搞好维护工作。

实验六:数控铣床结构与传动认识实验

1.与普通铣床相比较,数控铣床在结构上有那些特点?

答:数控铣床引是在一般铣床的基础上发展起来的,两者的加工工艺基本相同,结构也有些相似,但数控铣床是靠程序控制的自动加工机床,所以其结构也与普通铣床有很大区别.数控铣床是在普通铣床上集成了数字控制系统,可以在程序代码的控制下较精确地进行铣削加工的机床。如图所示,数控铣床一般由数控系统、主传动系统、进给伺服系统、冷却润滑系统等几大部分组成:主轴箱,包括主轴箱体和主轴传动系统,用于装夹刀具并带动刀具旋转,主轴转速围和输出扭矩对加工有直接的影响。进给伺服系统由进给电机和进给执行机构组成,按照程序设定的进给速度实现刀具和工件之间的相对运动,包括直线进给运动和旋转运动。控制系统数控铣床运动控制的中心,执行数控加工程序控制机床进行加工。辅助装置如液压、气动、润滑、冷却系统和排屑、防护等装置。机床基础件通常是指底座、立柱、横梁等,它是整个机床的基础和框架

2.分析数控铣床刀具(包括刀柄结构,常用刀具类型,刀具安装拆卸等)。答:通用的主轴都是莫氏锥孔,锥孔定心好、有自锁功能、装

拆刀具方便等特点,常用刀柄锥度截面直径大小为BT40、BT50的等等

(1)盘铣刀一般采用在盘状刀体上机夹刀片或刀头组成,常用于端铣较大的平面。

(2)端铣刀端铣刀是数控铣加工中最常用的一种铣刀,广泛用于加工平面类零件。端铣刀除用其端刃铣削外,也常用其侧刃铣削,有时端刃、侧刃同时进行铣削,端铣刀也可称为圆柱铣刀。(3)成型铣刀成型铣刀一般都是为特定的工件或加工容专门设计制造的,适用于加工平面类零件的特定形状(如角度面、凹槽面等),也适用于特形孔或台。(4)球头铣刀。适用于加工空间曲面零件,有时也用于平面类零件较大的转接凹圆弧的补加工。(5)鼓形铣刀。主要用于对变斜角类零件的变斜角面的近似加工。除上述几种类型的铣刀外,数控铣床也可使用各种通用铣刀

3.数控铣床日常使用维护项目。

答:

(1)每天做好各导轨面的清洁润滑,有自动润滑系统的机床要定期检查、清洗自动润滑系统,检查油量,及时添加润滑油,检查油泵是否定时启动打油及停止。

(2)每天检查主轴箱自动润滑系统工作是否正常,定期更换主轴箱润滑油。

(3)注意检查电器柜中冷却风扇是否工作正常,风道过滤网有无堵塞,清洗沾附的尘土。

(4)注意检查冷却系统,检查液面高度,及时添加油或水,油、水脏时要更换清洗。

(5)注意检查主轴驱动皮带,调整松紧程度。

(6)注意检查导轨镶条松紧程度,调节间隙。

(7)注意检查机床液压系统油箱油泵

(8)有无异常噪声,工作油面高度是否合适,压力表指示是否正常,管路及各接头有无泄露。

注意检查导轨、机床防护罩是否齐全有效。

(9)注意检查各运动部件的机械精度,减少形状和位置偏差。

(10)每天下班做好机床清扫卫生,清扫铁屑,擦静导轨部位的冷却液,防止导轨生锈.

程序设计课程设计实验报告

《程序设计》课程设计姓名: 学号: 班级:软件工程14班 指导教师: 成绩:

1.消除类游戏 【问题描述】 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。当有多处可以被消除时,这些地方的棋子将同时被消除。 【基本要求】 现在给你一个n行m列的棋盘(1≤n,m≤30),棋盘中的每一个方格上有一个棋子,请给出经过一次消除后的棋盘。 请注意:一个棋子可能在某一行和某一列同时被消除。 输入数据格式: 输入的第一行包含两个整数n,m,用空格分隔,分别表示棋盘的行数和列数。接下来n行,每行m 个整数,用空格分隔,分别表示每一个方格中的棋子的颜色。颜色使用1至9编号。 输出数据格式: 输出n行,每行m个整数,相邻的整数之间使用一个空格分隔,表示经过一次消除后的棋盘。如果一个方格中的棋子被消除,则对应的方格输出0,否则输出棋子的颜色编号。 【测试数据】 为方便调试程序,可将输入数据先写入一个文本文件,然后从文件读取数据处理,这样可避免每次运行程序时都要从键盘输入数据。 测试数据一 输出说明: 棋盘中第4列的1和第4行的2可以被消除,其他的方格中的棋子均保留。 测试数据二 输出说明: 棋盘中所有的1以及最后一行的3可以被同时消除,其他的方格中的棋子均保留。 【功能实现】 #include #include<> usingnamespacestd;

{ intm,n,i,j; inttemp; cin>>n>>m; temp=m; m=n; n=temp; int*map=newint[m*n]; int*mark=newint[m*n]; int*tmap=map; int*tmark=mark; intdif=0; ount=0; } p rintf("请输入要输入数的个数\n"); s canf("%d",&n);/*输入要输入数的个数*/ f or(i=0;idata1[j+1].number)

程序设计基础实验报告

《程序设计基础》 实验报告 专业班级: 姓名: 学号:

实验一 面向过程的简单程序设计 1.实验目的要求 (1) 使用C++语言编写简单的计算机程序,掌握C++程序从编辑、编译到运行的全过程, 初步了解C++程序的特点。 (2) 掌握C++语言的数据类型(包括对各种数据类型变量的定义、初始化、赋值等)、运 算符和表达式的使用。 (3) 掌握赋值语句的使用。 (4) 掌握数据的输入输出方法。 2.实验内容 (1)设计简单程序,分别计算下列表达式,式中变量由键盘输入,输出表达式的值。 <1> d c b a x -++ <2> 11 11+++x x <3> sinX+cosX+tan -1 X <4> e x+y +e x-y <5> log 10(1+21x +) <6> 22b a -+??b a - (其中??a 表示取不大于a 的最大整数)。 <1> #include using namespace std; int main() { float x,a,b,c,d,e; cin>>x>>a>>b>>c>>d; e=x+(a+b)/(c-d); cout< #include #include using namespace std; int main() { double x,y; cin>>x; y=sqrt(1+1/(x+1/(x+1)));

cout< #include #include using namespace std; int main() { double x,y; cin>>x; y=sin(x)+cos(x)+1/tan(x); cout< #include #include using namespace std; int main() { double x,y,z; cin>>x>>y; z=exp(x+y)+exp(x-y); cout< #include #include using namespace std; int main() { double x,y; cin>>x; y=log(1+sqrt(1+x*x)); cout< #include #include using namespace std; int main()

数控机床仿真实验报告

数控机床仿真实验报告 班级: 姓名: 学号: 指导老师: 实验日期:

实验一数控车床操作加工仿真实验 一、实验目的 (1)掌握手工编程的步骤; (2)掌握数控加工仿真系统的操作流程。 二、实验内容 (1)了解数控仿真软件的应用背景; (2)掌握手工编程的步骤; (3)掌握SEMENS 802seT数控加工仿真操作流程。 三、实验设备 (1)图形工作站; (2)南京宇航数控加工仿真软件 四、实验操作步骤 1、实验试件 试件的形状、尺寸如图1-1所示。 2、工序卡片根据零件材料、加工精度、工艺路线、刀具参数表和切削用量等内容,确定加 工工序卡,如表1-2所列。

3程序如下: ZKHX.MPF M3 S1000 T01 D01 Z120. X120. _CNAME="L05" R105=1. R106=1.2 R108=5. R109=7. R110=1.5 R111=0.3 R112=0.1 LCYC95 R105=5. R106=0. LCYC95 G0 X40.Z-35. G05 Z-75. X40. IX=26.53 KZ=-55. G0 G90 X120. Z120. T02 D01 G0 X45.Z-35. G01 X30.F0.2 G0 X100. Z100. T03D01 R100=40 R101=0 R102=40 R103=-30 R104=2 R105=1 R106=0.5 R109=1 R110=5 R111=3 R112=0 R113=3 R114=1 LCYC97 M05 M2 4子程序: L05.SPF G90 G0 X40. Z0. G01 Z-85. X60. Z-105. X100.Z-165. M02 4 数控加工仿真系统中的操作步骤 5 打开操作界面,返回机床坐标原点,选择合适尺寸的工件,选择刀具并添加到相应的刀具号,然后对刀,添加程序,最后开始仿真加工。 6加工窗口

贪吃蛇游戏程序设计实验报告

Windows编程大作业贪吃蛇设计与实现 学校:武汉轻工大学 院系: 班级: 姓名: 学号: 2015年12月16日

目录 一、题目介绍 二、设计目的 三、详细设计 3.1贪吃蛇本体设计 3.2贪吃蛇食物设计 3.3游戏界面设计 3.3.1游戏初始化 3.3.2游戏开始 3.3.3游戏暂停 3.3.4游戏退出 3.3.5游戏总界面 3.3.6游戏区域与背景 3.3.7关于SNAKE 3.4玩法规则设计 3.5核心设计 四、功能测试 五、总结 六、参考文献

一、题目介绍: 编写一个基于MFC的小游戏。 基本要求: 1、实现一个小游戏 2、实现基本游戏控制功能 3、具有游戏数据保存功能 4、界面布局合理、美观; 二、设计目的: 通过使用vc++6.0实现一个小游戏的课程设计,进一步掌握MFC的高级使用方法和锻炼自己动手写程序的能力。了解游戏设计的整个过程,通过熟练使用MFC来设计游戏。程序主要包括:游戏界面设计,游戏菜单栏设计,游戏初始化,游戏控制等。培养和锻炼开发游戏的能力。 三、详细设计 3.1贪吃蛇的本体设计 贪吃蛇的头部拥有一个坐标(x,y),蛇体有一个长度len,蛇有一个运动方向direct,故定义一个结构体如下: struct Snake { int x,y; int len; int direct; }Snake[50]; 3.2贪吃蛇食物设计 贪吃蛇的食物有一个坐标(x,y),此食物有一个标志isfood,当isfood为0时,表示食物还没被吃,为1时,表示被吃。 struct Food { int x; int y; int isfood; }Food; 3.3游戏界面设计 3.3.1游戏初始化 游戏初始蛇体长度为3,颜色为灰色,食物标志为1,因为此时没有显示出食物,需要随机生成后,才置为0;

网络程序设计实验报告-Winsock编程接口实验

网络程序设计 实验报告 实验名称: Winsock编程接口实验 实验类型:____验证型实验_____ __ 指导教师:______________________ 专业班级:_____________________ 姓名:_______________________ 学号:_____________________ 电子邮件:____________ 实验地点:______ _______ 实验日期2013 年 3 月29 日 实验成绩:__________________________

一、实验目的 ●掌握Winsock的启动和初始化; ●掌握gethostname(),gethostbyname(),GetAdaptersInfo()等信息查询函数的使用。 二、实验设计 由实验内容可以知道: 1、编写程序能同时实现对多个域名的解析。比如在控制台输入:getip https://www.wendangku.net/doc/6d15445782.html, https://www.wendangku.net/doc/6d15445782.html,,能输出https://www.wendangku.net/doc/6d15445782.html,和https://www.wendangku.net/doc/6d15445782.html,对应的IP地址列表。 2、编写程序获取并输出本地主机的所有适配器的IP地址,子网掩码,默认网关,MAC 地址。 首先要了解一些基本的知识gethostname(),gethostbyname(),GetAdaptersInfo()等信息查询函数的基本知识gethostbyname()返回对应于给定主机名的包含主机名字和地址信息的hostent结构指针。结构的声明与gethostaddr()中一致。 之后要根据内容画出函数流程图

三、实验过程(包含实验结果) 1.在实验过程中调用GetAdaptersInfo()时,出现了undeclared identifier的报错,原因是没有包含其头文件,之后进行一些修改解决了问题. 2.实验结果 3.选择查看本机信息 四、讨论与分析 1.Winsock初始化的作用是什么? 答:使用winsock初始化可加载winsock编程的动态链接库。

大学程序设计基础实验报告 (2)

**大学程序设计基础实验报告 实验名称:实验三分支结构 实验目的: 1、掌握IF-ELSE语句使用。 2、掌握ELSE-IF语句使用。 3、熟悉SWITCH语句使用。 实验内容: 在本地电脑中新建一个文件夹,用于存放C程序,文件夹的名字要求是“学号姓名-实验序号”,如E:\ 1920115555张三-03。启动C-Free,完成如下各题。 1、编程题:输入参数a,b,c,求一元二次方程ax2+bx+c=0的根(①a、b、c都为0,②a 和b为0,c不为0,③a为0,b不为0,c任意,④a不为0,且a、b、c满足b2-4ac ≥0,⑤a不为0,且a、b、c满足b2-4ac<0)。 2、编程题:输入职工的月薪salary,计算并输出应缴纳的个人所得税tax。tax=rate * (salary –850),rate的计算方式如下: 当salary <= 850,则rate = 0; 当850 < salary <= 1350,则rate = 5%; 当1350 < salary <= 2850,则rate = 10%; 当2850 < salary <= 5850,则rate = 15%; 当salary > 5850,则rate = 20%;。 3、编程题:根据输入的3个边长a、b、c,判断它们是否能构成三角形,若能构成三 角形,则进一步判断此三角形是哪种类型的三角形(等边三角形、等腰三角形、直角三角形和一般三角形。等腰直角算作等腰)。 4、编程题:输入一个形式如“操作数运算符操作数”的表达式,对2个整数进行乘、 除或求余运算。【请分别用if语句和switch语句实现此题功能】 上交作业的方法: 1.将程序代码及注释和运行程序的窗口复制到实验结果下方对应的题号上,并把这 次实验上机操作中遇到的问题及解决方法、心得等填好完成实验报告。 2.保存以上所有按要求已调试通过,并形成.c(或.cpp)和.exe文件到以自己的“学 号姓名-03”命名的文件夹中,并将以自己的“学号姓名”命名的文件夹压缩后上 交到ftp://10.172.250.252:1161中的“作业上传”文件夹下的“报告上交02”文件 夹下的子文件夹“源文件压缩上交”中,同时把以“学号姓名-03”命名的word 文档上交到“报告上交03”文件夹下的另一子文件夹“word文件上交”中。 特别提醒:每次上传的文件名一定要是“学号姓名-实验序号. doc”(如1720115555张

数控机床-实验报告模板

成绩: 数控机床与编程实验报告 课程数控机床与编程 专业机械设计制造及其自动化 学号2500100408 姓名何益群 指导教师曾文健 机械与电子信息工程学部 2013年11月21日

一、实验目的 1、熟悉数控机床的典型结构组成和工作原理。掌握手工编程的步骤; 2、掌握数控加工仿真系统的操作流程。 二、实验内容 1、观看机械零件的数控加工生产现场; 2、演示手工编程的操作步骤; 3、演示FANUC系统的数控加工操作流程。 三、实验设备 在工厂员工的带领下,我们观看的数控设备有: 华中数控系统的数控车床; 30系统的数控铣床; FUNAC系统的数控床; 华中数控的镗床: 沈阳机床厂的数控加工中心; 各种普通的车床、铣床,龙门刨床。 四、数控工艺分析 1、零件工艺分析 (1)零件图上尺寸数据的给出,应符合程序编制方便的原则。 1)、零件图上尺寸标注方法应适应数控加工的特点在数控加工零件图上,应以同一基准引注尺寸或直接给出坐标尺寸。 2)、构成零件轮廓的几何元素的条件应充分,便于在手工编程时计算基点或节点坐标。(2)零件各加工部位的结构工艺性应符合数控加工的特点。 1)、零件的内腔和外形最好采用统一的几何类型和尺寸。这样可以减少刀具规格和换刀次数,使编程方便,生产效益提高。 2)、内槽圆角的大小决定着刀具直径的大小,因而内槽圆角半径不应过小。零件工艺性的好坏与被加工轮廓的高低、转接圆弧半径的大小等有关。 3)、零件铣削底平面时,槽底圆角半径r不应过大。 4)、应采用统一的基准定位。在数控加工中,若没有统一基准定位,会因工件的重新安装而导致加工后的两个面上轮廓位置及尺寸不协调现象。因此要避免上述问题的产生,保

游戏C语言实验报告

嘉应学院计算机学院 实验报告 课程名称: C程序设计 开课学期: 2015—2016学年第1学期 班级:计算机1505 指导老师:陈广明 设计题目:游戏2048 学生姓名(学号):第3组:钟瞻宇

目录 一、实验目的和要求 .................................................................................................................................................... 二、实验环境、内容和方法 ........................................................................................................................................ 三、程序设计 ................................................................................................................................................................ 四、源代码 .................................................................................................................................................................... 五、调试与运行结果.................................................................................................................................................... 六、总结........................................................................................................................................................................

网络编程实验报告

实验一TCP Socket API程序设计 一、预备知识 1.网络编程基本概念 网络上的计算机间的通讯,实质上是网络中不同主机上的程序之间的通讯。在互联网中使用IP地址来标识不同的主机,在网络协议中使用端口号来标识主机上不同进程,即使用(IP地址,端口号)二元组。 套接字(Socket)用于描述IP地址和端口,是一个通信链的句柄,通信时一个网络程序将要传输的一段信息写入它所在主机的Socket中,该Socket通过与网络接口卡相连的传输介质将这段信息发送到另一台主机的Socket中,以供其他程序使用。 图1-1 TCP通信流程 2.TCP通信流程 TCP程序是面向连接的,程序运行后,服务器一直处于监听状态,客户端与

服务器通信之前必须首先发起连接请求,由服务器接收请求并在双方之间建立连接后才可以互相通信。 二、实验目的 1.了解Winsock API编程原理; 2.掌握TCP Socket程序的编写; 3.了解C/S模式的特点; 4.学会解决实验中遇到的问题。 三、实验任务 使用Winsock API相关类实现TCP Socket通信程序,并能成功运行。 四、实验环境及工具 1. Windows2000/XP/7 2. Visual C++开发平台 3. Visual Studio2010 五、实验内容和步骤 参照《Visual C++网络编程教程》书中81页,TCP Socket API程序设计。 连接: void CChatClientDlg::OnConnect() { WSADATA wsd; //WSADATA结构 WSAStartup(MAKEWORD(2,2),&wsd); //加载协议,使用Winsock 2.2版 m_client = socket(AF_INET,SOCK_STREAM,0); //创建流式套接字 //服务器地址 sockaddr_in serveraddr; UpdateData(); if(ServerIP.IsBlank()) { AfxMessageBox("请指定服务器IP!"); return; } if(sPort.IsEmpty()) { AfxMessageBox("请指定端口!"); return; }

数控机床原理与结构实验报告答案

数控机床原理与结构实验报告答案 篇一:数控机床实验报告 数 实 控验报班级姓名:学号: 机告床书《》 实验一:《宇航数控加工仿真系统》功能熟悉实验二:数控车床编程与仿真操作 1.数控车床由哪几部分组成? 答:数控车床由数控装置、床身、主轴箱、刀架进给系统、尾座、液压系统、冷却系统、润滑系统、排屑器等部分组成。 数控车床分为立式数控车床和卧式数控车床两种类型。 2.为什么每次启动系统后要进行“回零”操作? 答:机床断电后,就不知道机床坐标的位置,所以进行回零,进行位置确定每次开机启动数控系统的机械零点和实际的机械零点可能有误差,回零操作是对机械零点的校正。 3.绘出运行程序的仿真轨迹,并标出轨迹各段所对应的程序段号。 答:略 4.简述对刀过程? 答:(1)一般对刀,一般对刀是指在机床上使用相对位

置检测手动对刀。下面以Z向对刀为例说明对刀方法:刀具安装后,先移动刀具手动切削工件右端面,再沿X向退刀,将右端面与加工原点距离N输入数控系统,即完成这把刀具Z向对刀过程。 (2)机外对刀仪对刀,机外对刀的本质是测量出刀具假想刀尖点到刀具台基准之间X及Z方向的距离。利用机外对刀仪可将刀具预先在机床外校对好,以便装上机床后将对刀长度输入相应刀具补偿号即可以使用。 (3)自动对刀,自动对刀是通过刀尖检测系统实现的,刀尖以设定的速度向接触式传感器接近,当刀尖与传感器接触并发出信号,数控系统立即记下该瞬间的坐标值,并自动修正刀具补偿值。 5.G00与G01指令有何不同?答: G00指令表示刀具以机床给定的快速进给速度移动到目标点,又称为点定位指令,G01指令使刀具以设定的进给速度从所在点出发,直线插补至目标点。 6.简述用MDI方式换2号刀的操作过程。答:按下程序建按下MDI建输入一段换刀程序T0101的刀具指令按循环启动 实验三:数控铣床编程与仿真操作 1.数控铣床由哪几部分组成? 答:(1)、主轴箱包括主轴箱体和主轴传动系统。

Java程序设计实验报告2(弹球游戏)[1]1

《Java语言程序设计》课程设计 实习报告 题目: 班级: 学号: 姓名: 同组人员: 指导老师:张彬

一、实验目的 1、掌握Swing图形用户界面编程以及事件处理等,掌握java绘图技术。 2、掌握多线程编程的基本原理,能使用Runnable、ExecutorService等接口进行 线程的创建、启动等工作。 3、培养独立查找资料,并解决问题的能力。 二、实验任务 1、设计并编程实现弹球游戏: 用户能通过GUI组件指定生成小球的数量,每个小球将从随机的位置出现,并具有随机颜色,随机速度以及随机的运动方向,小球沿初始方向匀速运动,当碰到窗口边缘时,小球将依据受力原理改变运动方向(可简化考虑,受力只改变小球的运动方向,小球仍按照初始速度匀速运动,且不考虑小球之间的碰撞)。 鼠标在界面中显示为方块状,玩家需按住鼠标来回移动以避开运动的小球及屏幕四周,如果鼠标碰到任一小球或者窗口四周,则游戏结束。 程序需提供计时功能,并最终显示玩家能坚持多少秒。 2、程序要求: (1)具备相应界面,并通过事件编程,实现相应的GUI组件功能。 (2)使用多线程技术,在程序窗口区域绘制小球,并以线程控制小球的移动,实现动画效果。 (3)实现鼠标与屏幕四周,以及与小球的碰撞检测。 三、开发工具与平台 1.开发工具:Eclipse默认是一个和Jbuilder类似的Java开发工具,但它不仅仅只

是Java开发工具,只要装上相应的插件,eclipse也可作为其它语言的开发工具。如C/C++插件(CDT)。 2.开发平台:JDK1.5 四、设计思路 1.界面设计 (1)制作一个简单的面板JFrame,文件保存为bollFrame.java 其中为一public的类bollFrame,其构造方法为: bollFrame(int n){ super(); setTitle("我的弹球小游戏"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();//得到电脑屏幕大小 setSize(450,450); setLocation((dimension.width-game.getWidth())/2-250, (dimension.height-game.getHeight())/2-250);//设置面板显示基中; this.n = n; myBollPanel = new bollPanel(n);//构造一个画板; add(myBollPanel);//将画板放入JFrame createMenu();//创建菜单; setJMenuBar(bar); } (2)构造画板类,文件保存为bollPanel.java 其构造函数如下: bollPanel(int n){ this.n = n; // executorThread = Executors.newCachedThreadPool();//创建线程池; mouse = new mouseThread(mxNow,myNow,groupThread,this);//启动鼠标线程; this.setIsOver(false);//游戏开始线程条件的判断; for(int i =0 ;i

C语言程序设计基础实验报告6【VIP专享】

实验6 数组 一、实验目的 1、掌握一维数组和二维数组的定义、赋值和输入输出的方法; 2、掌握字符数组和字符串函数的使用; 3、掌握与数组有关的算法(特别是排序算法)。 二、实验内容和步骤 编程序并上机调试运行。 1、以下给定程序MODI1.C的功能是: 求一维数组a中所有元素的平均值, 结果保留两位小数。例如,当一维数组a中的元素为:10, 4, 2, 7, 3, 12, 5, 34, 5, 9时,程序的输出应为:The aver is: 9.10 程序中有两处错误,错误都在提示行:/***********found***********/的下面一行。请改正程序中的错误, 使它能得出正确的结果。 注意:程序中的其它地方请不要随意改动,不得增行或删行,也不得更改程序的结构! #include #include void main() { int a[10]={10,4,2,7,3,12,5,34,5,9}, i; /************found************/ /************found************/ s = a[0]; for ( i=1; i<10; i++) s += a[i]; aver = s / i; printf("The aver is: %.2f\n", aver); } 2、以下给定程序MODI1.C的功能是:求二维数组a中的最小值。 例如,当二维数组a中的元素为: 4 2 34 7 3 12 5 6 5 程序的输出应为:The min is: 2 。 程序中有两处错误,错误都在提示行:/***********found***********/的下面一行。请改正程序中的错误, 使它能得出正确的结果。 注意:程序中的其它地方请不要随意改动,不得增行或删行,也不得更改程序的结构! #include #include void main() { int a[3][3]={4,2,34,7,3,12,5,6,5}, i, j, min; clrscr();

工作报告之数控铣床实验报告

数控铣床实验报告 【篇一:数控铣床实验报告】 数控铣床实训报告 一、实训目的: 1、熟悉数控实训车间安全管理规定; 2、了解数控铣床的基本结构、工作原理及其工作方法,学会正确的操作铣床; 3、熟练掌握系统面板及操作界面的使用; 、 4、掌握数控机床编程方法。 二、实训设备与材料: 铣床:大连xd-40a 刀具:平底铣刀 测量工具:游标卡尺 刀具:平口虎钳 材料:石蜡、木板 绘图工具:autocad绘图软件 ~ 三、实训内容: 1、在实训老师的指导下,了解数控铣床的结构特点,铣床的工作原理及其工作方法。 2、学会编辑并运行程序,最后加工成品。

四、操作步骤: 1、用autocad绘图软件绘出工件模型,并标出各点坐标。 2、对刀,并设定工作坐标系。 3、编写程序,在程序编辑模式下输入程序 4、用计算机仿真,若仿真结果出现错误,则需要再次修改程序,直至结果正确。此时需重新启动数控面板,接着重复步骤2。若仿真结果与所期望的图形一致,则新启动数控面板,接着重复步骤2。 ) 5、切削加工。 6、工件完成后将x、y、z轴复位。接着关闭数控面板电源,再关闭铣床电源。 五、操作注意事项: 1、在对刀过程中xyz轴向一定要清楚,头晕或状态不好时不要去操作操作机床,以免发生意外。在对刀过程中手摇器倍率要调节好,靠近工件的时候一定要把倍率调小,这样可以保证安全和确保更高的对到精确度。 2、操作时要注意刀具有半径补偿,故设计零件时要注意临界值,并注意刀补的方向。 3、铣床操作过程中出现警报时,要及时查找出错原因,切忌不可重启机子解决此问题,否则将出现同样情况。 4、编辑完程序后需要在模拟后保证安全的情况下才能进行加工,在模拟完后要进行加工时务必要先清零,而且要保证回零完全。 六、附录 * 哑铃程序:

《程序设计课程设计》实验报告材料

《程序设计》课程设计 姓名: 学号: 班级:软件工程14 班 指导教师: 成绩:

1.消除类游戏 1.1【问题描述】 消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。当有多处可以被消除时,这些地方的棋子将同时被消除。 1.2【基本要求】 现在给你一个n行m列的棋盘(1≤n,m≤30),棋盘中的每一个方格上有一个棋子,请给出经过一次消除后的棋盘。 请注意:一个棋子可能在某一行和某一列同时被消除。 输入数据格式: 输入的第一行包含两个整数n, m,用空格分隔,分别表示棋盘的行数和列数。接下来n行,每行m个整数,用空格分隔,分别表示每一个方格中的棋子的颜色。颜色使用1至9编号。 输出数据格式: 输出n行,每行m个整数,相邻的整数之间使用一个空格分隔,表示经过一次消除后的棋盘。如果一个方格中的棋子被消除,则对应的方格输出0,否则输出棋子的颜色编号。 1.3【测试数据】 为方便调试程序,可将输入数据先写入一个文本文件,然后从文件读取数据处理,这样可避免每次运行程序时都要从键盘输入数据。 测试数据一 输出说明: 棋盘中第4列的1和第4行的2可以被消除,其他的方格中的棋子均保留。 棋盘中所有的1以及最后一行的3可以被同时消除,其他的方格中的棋子均保留。 1.4【功能实现】 #include #include using namespace std;

int main() { int m, n, i ,j; int temp; cin >> n >> m; temp = m; m = n; n = temp; int * map = new int[m * n]; int * mark = new int[m * n]; int * tmap = map; int * tmark = mark; int dif = 0; //输入 for ( i = 0 ; i < m ; i++ ) for (j = 0; j < n; j++) cin >> *(tmap + i * n + j); for (i = 0; i < m; i++) for (j = 0; j < n; j++) { //横行 if ((tmap + 2 - map) % n != 0 || (tmap + 1 - map) % n != 0) if (*(tmap) == *(tmap + 1) && * (tmap + 1) == *(tmap + 2)) { dif = tmap - map; *(tmark + dif) = 0; *(tmark + dif + 1) = 0; *(tmark + dif + 2) = 0; } //竖列 if (tmap + 2 * n - map < m * n || tmap + n - map < m * n) if (*(tmap) == *(tmap + n) && * (tmap + n) == *(tmap + 2 * n)) { dif = tmap - map; *(tmark + dif) = 0; *(tmark + dif + n) = 0; *(tmark + dif + 2 * n) = 0; } tmap = map + (j+1) + i * n; } //输出 cout << endl; tmap = map; for (i = 0; i < m; i++)

算法程序设计实验报告

程序设计》课程设计 姓名:王 学号:20100034 班级:软件工程00 班 指导教师:王会青 成绩: 2010年 6 月 实验一.构造可以使n 个城市连接的最小生成树 专业:__软件工程___ 班级:__软件姓名:_王___ 学号:_20100034 完成日期:_2010/6/26 ________ 一、【问题描述】给定一个地区的n 个城市间的距离网,用Prim 算法或Kruskal 算法建立最小生成树,并计算得到的最小生成树的代价。 1 城市间的道路网采用邻接矩阵表示,邻接矩阵的存储结构定义采用课本中给出的定义,若两个城市之间不存在道

路,则将相应边的权值设为自己定义的无穷大值。 2 显示出城市间道路网的邻接矩阵。 3 最小生成树中包括的边及其权值,并显示得到的最小生成树的总代价。 4 输入城市数、道路数→输入城市名→输入道路信息→执行Kruskal 算法→执行Prim 算法→输出最小生成树 二、【问题分析】 1. 抽象数据类型结构体数组的定义: #ifnd ef ADJACENCYMATRIXED// 防止该头文件被重复引用 #define ADJACENCYMATRIXED // 而引起的数据重复定义 #define INFINITY 32767 // 最大值∞ #define MAX_VERTEX_NUM 20 // 最大顶点个数 typedef int VRType; // 权值,即边的值 typedef char InfoType; // 附加信息的类型,后面使用时会定义成一个指针 typedef char VertexType[MAX_VERTEX_NUM]; // 顶点类型 typedef enum {DG=1, DN, UDG, UDN} GraphKind; //{ 有向图,有向网,无向图,无向网} typedef struct ArcCell { VRType adj; //VRType 是顶点关系类型。对无权图,用1 或0 表示相邻否;对带权图,则为权值类型。 InfoType*info; // 该弧关系信息的指针

C++程序设计实验报告5

《程序设计基础》 实验报告 学号:2016211990 姓名:王贯东 班级:16-计算机科学与技术-1班

学院:计算机与信息学院 实验五指针 1.实验目的要求 (1)掌握指针的概念,学会定义和使用指针变量。 (2)学会使用数组指针和指向数组的指针变量。 (3)学会使用字符串指针和指向字符串的指针变量。 (4)了解指向指针的指针的概念以及其使用方法。 (5)掌握指针、引用、数组做函数参数的传递机制。 (6)*学会使用指向函数的指针变量。 2.实验设备 Visual C++ 6.0 3.实验内容 (1)阅读下面程序,写出其运行结果。

<1> #include sub ( int x , int y , int *z ) { *z = y – x ; } void main( ) { int a,b,c; sub( 10 , 5 , &a ) ; sub( 7, a, &b ) ; sub( a, b, &c ) ; cout << a <<‘,’<< b <<‘,’<< c << endl ; } 解:输出-5,-12,-7 <2> #include #include void main()

{ int stre ( char[ ] ) ; char str [ 10 ] , *p = str ; gets ( p ) ; cout << stre ( p ) << endl ; } int stre ( char str[ ] ) { int num = 0 ; while( * ( str + num ) != ’\0’ ) num ++ ; return ( num ) ; } 解:题目库函数少了 。该正后,输入1234,输出4 (2)编写程序实现下列问题的求解。 (1)输入三个整数,按由小到大的顺序输出,然后将程序改为:输入三个字符串,按由小到大的顺序输出。 #include using namespace std; int turn (int *p1,int *p2)

数控机床仿真实验报告模板参考

本科生实验报告

填写说明 1、适用于本科生所有的实验报告(印制实验报告册除外); 2、专业填写为专业全称,有专业方向的用小括号标明; 3、格式要求: ①用A4纸双面打印(封面双面打印)或在A4大小纸上用蓝黑色水笔书写。 ②打印排版:正文用宋体小四号,1.5倍行距,页边距采取默认形式(上下2.54cm,左 右2.54cm,页眉1.5cm,页脚1.75cm)。字符间距为默认值(缩放100%,间距:标准); 页码用小五号字底端居中。 ③具体要求: 题目(二号黑体居中); 。

实验一数控车床操作加工仿真实验 一、实验目的 1、掌握手工编程的步骤。 2、掌握数控加工仿真系统的操作流程。 二、实验内容 1、了解数控仿真软件的应用背景。 2、掌握手工编程的步骤。 3、掌握SEMENS 802Se T 数控加工仿真操作流程。 三、实验设备 1、AUTO CAD 2014。 2、南京宇航数控加工仿真软件。 四、实验操作步骤 1、实验试件 试件的形状、尺寸如图1-1所示 2、加工采用的刀具参数 刀具及相关参数如表1-1所示 3、工序卡片根据零件材料、加工精度、加工路线、刀具参数表和切削用量等内容,确定加 工工序卡,如表1-2所示。 4、程序 5、加工仿真操作步骤

五、加工视窗 Yhcnc 输出信息 消息模式 欢迎使用YHCNC, 更多资料请登录https://www.wendangku.net/doc/6d15445782.html, 2017-03-29 15:20 。。。 评分模式 欢迎使用YHCNC, 更多资料请登录https://www.wendangku.net/doc/6d15445782.html, 2017-03-29 15:20 。。。 六、思考题 1、数控加工中的误差来源有哪些? 答:

《程序设计实训》实验报告

计算机程序设计实训报告 [“拍飞虫”实验] 专业班级:装控1405,装控1406 实习时间:2015年7月11日至7月15日 实习地点:文理楼124 成员 1: 成员 2:

一、作品概述 本作品运用funcode平台所给模板,在所给源代码的基础上进行编写,对整个游戏进行美化,更换了背景,优化了空格开始键,并且添加了拍蚊子时的音效,以及开始时的欢迎界面,每次游戏结束会对积分进行排序,如果最终得分为满分,则会显示“游戏成功”。 二、功能设计 1.游戏运行,初试界面出现‘空格开始’的提示。 2.玩家按空格开始游戏,界面上出现25只小蚊子和15只大蚊子。 3.游戏开始后,用户每拍一个小蚊子,加两分 4.被淘汰的猴子会出局,加入屏幕下方的淘汰者猴子队列中。 5.站在被淘汰猴子后方的选手依次往前移,填补空白 6.用户继续按空格淘汰猴子,值到剩下唯一的猴子,就是大王!这样,一局游戏完成。 7.一局游戏完成后,屏幕重新出现“空格开始”的标志,用户按空格可以继续游戏,如此往复。 三、功能实现 含每个功能的具体实现,可以用流程图(不要贴代码)等描述。 (说明:主要写用到的各类型的全局变量、含义) 1.g_iMonkeys[6] 用一个int类型的数组来保存猴子精灵编号 2.g_flocation[6] 用一个浮点型数组存储猴子位置(因为6只猴子站成一排,y坐标值是相同的,因此该数组保存6只猴子的x坐标值)。其中g_Monkeys[i] 对应的位置 g_fLocation 3.g_iNumMokeys 当前备选猴子数量,即截图中上层队列的猴子数。 4.g_iNumLoseMonkeys 淘汰的猴子数量,即下层队列中的猴子数。 5.g_iChooseMonkey 本轮淘汰的猴子编号。 6.g_iMoveMonkey 淘汰猴子后,后面需要移动的猴子数。

网络编程实验报告

网络编程技术实验报告 一实验目的: 网络编程技术是计算机科学与技术专业、网络工程专业、软件工程专业的一门专业基础课程。本课程以Java技术为主讲授,Java语言是当前最流行的网络编程语言。本课程是一门实用性和综合运用性都很强的课程,实践教学环节是教学过程中必不可少的重要内容。通过实验,让学生熟悉JDK中的主要内容,掌握用JDK调试和运行程序的方法,掌握网络编程的基本思想和开发方法、面向对象编程的思想,JA V A中的基本方法和技术,能够熟练使用JA V A设计、编写程序,特别是基于TCP/IP的Socket 编程,并能运用这些知识方法完成C/S和B/S结构程序的设计工作。通过实验,提高学生使用Java语言程序设计开发的能力,提高应用面向对象技术分析和解决实际问题的能力,并在此基础上强化学生的实践意识、提高其分析问题、解决问题的能力以及动手能力和创新能力。 二实验要求 要求学生熟悉JDK中的主要内容,掌握用JDK调试和运行程序的方法,掌握网络编程的基本思想和开发方法、面向对象编程的思想,JAVA中的基本方法和技术,能够熟练使用JAVA设计、编写程序,特别是基于TCP/IP的Socket编程,并能运用这些知识方法完成C/S和B/S结构程序的设计工作。要注意培养学生良好的编程习惯,自始至终贯彻课程中所介绍的程序设计风格。为保证尽量在统一安排的上机时间内完成程序设计任务,学生应事先做问题分析,并做静态检查。学生应记录实验中所遇到的问题,并写出详细的实验报告。课前准备上机程序,上机认真调试,课后撰写实验报告,实验报告包括实验目的、实验内容、源程序、实验结果及分析。

. 实验一java基本语法 实验目的: 了解Java的数据类型,掌握各种变量的声明方式,理解运算符的优先级,掌握Java基本数据类型、运算符与表达式,掌握顺序结构、选择结构和循环结构语法的程序设计方法。 实验要求: 1、编写一个声明Java不同数据类型变量的程序。 2、编写使用不同选择结构的程序。 3、编写使用不同循环结构结构的程序。 实验内容: 1、编写一个声明Java不同数据类型变量的程序。 public class DataTypes { public static void main(String args[]) { byte b=127; short s=32767; int i=2147483647; long l=9223372036l;//为什么long表示的数比Int还小? char c='c'; float f=1.23F; double d=0.9E-3; boolean bool=true; System.out.println(" b="+b); System.out.println(" s="+s); System.out.println(" i="+i); System.out.println(" l="+l); System.out.println(" c="+c); System.out.println(" f="+f); System.out.println(" d="+d); System.out.println(" bool="+bool); }

相关文档
相关文档 最新文档