模块化程序设计.pptx

上传人:夺命阿水 文档编号:363002 上传时间:2023-04-27 格式:PPTX 页数:36 大小:992.03KB
返回 下载 相关 举报
模块化程序设计.pptx_第1页
第1页 / 共36页
模块化程序设计.pptx_第2页
第2页 / 共36页
模块化程序设计.pptx_第3页
第3页 / 共36页
模块化程序设计.pptx_第4页
第4页 / 共36页
模块化程序设计.pptx_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《模块化程序设计.pptx》由会员分享,可在线阅读,更多相关《模块化程序设计.pptx(36页珍藏版)》请在课桌文档上搜索。

1、模块化程序设计,一、模块化程序设计的概念二、模块化程序设计的思想三、模块化程序的设计方法四、带参数例行程序的设计与应用,1/30,目录,一,模块化程序设计的概念,将程序分解为独立的、可替换的、具有预定功能的模块,每个模块实现一个功能,各模块组合到一起形成最终程序。,什么叫模块化程序设计?,为什么需要模块化程序设计?,2/37,一,模块化程序设计的概念,编程更容易把握:大程序分解成小的功能部件代码重用:避免重复相同/相似程序代码:提高运行效率,更易维护程序更可读,更易理解代码更简介美观,3/37,一,模块化程序设计的概念,复杂问题的求解:怎么样来分析完成“高校信息管理系统”?一个大系统(或子系统

2、)不可能用一个主函数来完成,必须将大问题分解成小问题,再由若干人、若干函数(模块)来完成。,高校信息管理系统,4/37,模块化程序设计的概念,一,5/37,模块化程序设计的思想,自顶向下、逐步细化,二,6/37,模块化程序设计的思想,什么时候需要模块化?,二,7/37,模块分解的原则:保证模块的相对独立性 高聚合、低耦合模块的实现细节对外不可见 外部:关心做什么 内部:关心怎么做设计好模块接口:接口是指罗列出一个模块的所有的与外部打交道的变量等 定义好后不要轻易改动在模块开头(文件的开头)进行函数声明,三,模块化程序的设计方法,8/37,模块化程序的设计方法,Rapid语言的一般结构:,三,9

3、/37,模块化程序的设计方法,模块化程序中子程序的设计原则:,子程序的功能要单一,不要设计多用途的子程序 子程序的规模要小参数和返回值的规则 参数要书写完整,不要省略 对子程序的入口参数进行有效性检查 每个子程序只有一个入口和一个出口,尽量不使用全局变量,三,10/37,模块化程序的设计方法,形象解释模块化程序示例:,以与Rapid语言相似的C语言做一个画一棵树的示例:,写成子程序,重复,调用两次,三,11/37,模块化程序简单示例:,模块化程序的设计方法,调用,写成子程序,三,12/37,模块化程序简单示例:,模块化程序的设计方法,写成子程序,最终主程序,模块化设计效果:将繁琐的程序分解为较

4、小的相对独立的子程序,可使程序结构更清晰,容易理解,三,13/37,模块化程序的设计方法,计数与循环:,要实现编写模块化的程序,许多功能需要辅助实现,例如:计数功能,循环功能,数组矩阵等,计数是对一个数字量一个重复加(或减)的数学行为,通常用于算出对象有多少个或放置想要之数目个对象;或用于想对某些特定标号的对象进行单独处理等。,三,14/37,三,模块化程序的设计方法,在Rapid语言中,假设定义的计数变量为N,若实现每次数量加一个,可以写成:N:=N+1;或者:N:=N+2;N:=N+3;等,Rapid中4种常用计数函数,AddClearIncrDecr,15/37,模块化程序的设计方法,计

5、数功能:,Add指令:应用:在一个数字数据上增加相应的值,可用赋值指令替代:示例:Add N,3;N:=N+3;Add N,-n;N:=N-n;,Clear 指令:应用:将一个数字数据的值归零,可以替代赋值指令。示例:Clear N;N:=0;,三,16/37,模块化程序的设计方法,计数功能:,Incr 指令:应用:在一个数字数据上增加1,可用赋值指令替代。示例:Incr N;N:=N+1;,Decr 指令:应用:在一个数字数据上减1,可用赋值指令替代。示例:Decr N;N:=N-1;,三,17/37,循环与计数共同使用:,模块化程序的设计方法,在这里使用for循环做示例:假设变量N1初始值

6、为0,每次加1加5次是多少?,结果,小练习:假设变量N1初始值为0,第一次加1,第二次加3,第三次加5,第四加7。以此类推,请问加完第100次之后N1值为多少?,三,18/37,循环与计数共同使用:,小练习答案:N1=10000,模块化程序的设计方法,三,19/37,模块化程序的设计方法,循环与计数共同使用(实操练习):,抓取盖板练习:将印有华航唯实四个字的盖板从左侧(点对点模式)放置区域抓取至右侧(补偿模式)放置区域。要求:不需要编写抓取工具程序,直接将工具安装至法兰盘即可。在取盖板区域只允许设置一个抓取点进行抓取。已知盖板厚度14mm,使用计数循环功能来实现抓取。不允许重复写抓取运动指令,

7、程序中只能存在一个盖板的运动抓取指令,其余盖板使用循环计数完成。,三,20/37,模块化程序的设计方法,数组编写和调用:,在设计模块化程序时,数组的巧妙编写和运用也是常用方法之一。,什么是数组?所谓数组,是相同数据类型的元素按一定顺序排列的集合。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。数组是在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。,三,21/37,模块化程序的设计方法,数组编写和调用:,一维数组(5*1):,二维数组(5*3):,三维数组:,三,22/37,模块化程序的设计方法,数组编写和调

8、用:,使用数组的顺序:,1.确认是否使用数组(当一个程序需要很多类型一样的变量的时候,用数组),3.确认数组的尺寸:(维度,每行每列的元素个数),2.确认把哪些数据加到数组:(长宽高?偏移长度?点位信息?等),3.建立数组,填入数据,编程时调用,三,23/37,模块化程序的设计方法,数组码垛简单练习:,完成从取垛架上取垛然后码垛到码垛区的三花垛码垛编程练习:要求:1.将取垛处的示教点和码垛处的示教点以及中间过渡点都保存在数组中。2.通过数组的调用来实现编程,编程中不允许出现除home点之外的点位名称直接显示。3.码3块垛即可,可以通过循环计数等功能协助精简程序。,三,24/37,带参数例行程序

9、的设计与应用,在Rapid语言中,程序分为三种:Procedures,Functions 和TrapsProcedure没有返回值,可用指令直接调用:Proc()Function有特定类型的返回值,必须通过表达式调用:Func()Trap例行程序提供处理中断的方法。Trap例行 程序和某个特定中断连接,一旦中断条件满足,将被自动执行。Trap例行程序不能在程序中直接调用。,例行程序的种类:,四,25/37,什么是带参数的例行程序?,带参数例行程序的设计与应用,在之前的学习中,用到的例行程序多为不带参数的且没有返回值的例行程序Procedure:Proc()此类例行程序可直接被当作功能调用,例:

10、DS01设备的已有程序,定义抓取吸盘工具的子程序,直接调用,四,26/37,什么是带参数的例行程序?,带参数例行程序的设计与应用,像上面的子程序GET_GUN2(),这种不传递参数,仅仅被直接调用的为不带参数的例行程序。如果一个例行程序能够传递或者引用某种参数的话,那么就为带参数的例行程序。格式为:GET_GUN2(N)其中N为某种参数,可以是数字量num,位置数据量Pos,点位数据量Robtarget,TCP数据量tooldata等等,也可以为常量或变量或可变量。,四,27/37,什么是带参数的例行程序?,带参数例行程序的设计与应用,参数N在接下来的GET_GUN2例行程序中可以作为参数在G

11、ET_GUN2本地内的每一条程序中进行调用。,参数point在该程序中的程序指令中被调用。,四,28/37,带参数例行程序的设计与应用,带参数例行程序应用实例:,利用带参数例行程序精简DS-01芯片分拣程序:,机器人抓取吸盘工具,机器人抓取螺丝机工具,格式相似,仅有2个点不同,四,29/37,带参数例行程序的设计与应用,带参数例行程序应用实例:,利用带参数例行程序精简DS-01芯片分拣程序:,因为两个程序格式相同,只是点位不同,所以可以合并两个程序为一个带变量参数的例行程序。首先可以将所出现的点位全部保存至数组points4中(一共4个点位)。,因为每一个程序中都会出现两个点,所以需要定义两个

12、变量参数,m和n,用来记作选择数组中点的数字序号。,令m表示过渡点序号,令n表示抓取点的序号,四,30/37,带参数例行程序的设计与应用,带参数例行程序应用实例:,利用带参数例行程序精简DS-01芯片分拣程序:,建立带两个参数的例行程序。将GET_GUN2程序中的Home点和工具点换成数组的表达形式,四,31/37,带参数例行程序的设计与应用,带参数例行程序应用实例:,利用带参数例行程序精简DS-01芯片分拣程序:,同理,将GET_GUN1程序中的Ready点和工具点换成数组的表达形式,四,32/37,带参数例行程序的设计与应用,带参数例行程序应用实例:,利用带参数例行程序精简DS-01芯片分拣程序:,比较更改后的两个程序,发现程序基本一样,故可以合并为一个程序。,四,33/37,带参数例行程序的设计与应用,带参数例行程序应用实例:,利用带参数例行程序精简DS-01芯片分拣程序:,合并之后的程序:,使用时,若调用吸取吸盘工具程序,则赋值m:=1;n:=2;然后调用程序:GET_GUN m,n;若调用吸取螺丝枪工具时,则赋值m:=3;n:=4;然后调用程序:GET_GUN m,n;,四,34/37,带参数例行程序的设计与应用,练习:继续精简所提供的DS-01设备程序。,四,35/37,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号