如何定义一个段内子程序,使用子程序的特点是哪些

如何定义一个段内子程序,使用子程序的特点是哪些,第1张

所谓程序是能够完成一定功能的程序模块,其自身不能自动执行,而只能靠上一级程序调用执行,在结构化程序设计中,子程序是实现整个程序功能的基础;

子程序的执行至少包含调用及返回两个步骤。通过执行子程序调用指令,CPU会自动地保存当前程序断点(程序被打断的地方),然后转向执行被调用的子程序;当子程序执行完毕后,通过执行子程序返回指令使CPU返回断点处继续执行指令。

1子程序的定义

在编制加工程序中有时会遇到一组程序段在-个程序中多次出现或者在几个程序中都要使用它。这个典型的加工程序可以做成固定程序并单独加以命名这组程序段就称为子程序。

2.使用子程序的目的和作用

使用子程序可以减少不必要的编程重复从而达到减化编程的目的。主程序可以调用子程序一个子程序也可以调用下一级的子程序。子程序必须在主程序结束指令后建立其作用相当于一个固定循环。

3子程序的调用

在主程序中调用子程序的指令是一个程序段其格式随具体的数控系统而定FANUC-6T

系统子程序调用格式为

M98 P--L--

式中 M98--子程序调用字

p--子程序号

L--子程序重复调用次数。

由此可见子程序由程序调用字、子程序号和调用次数组成。

4子程序的返回

子程序返回主程序用指令M99它表示子程序运行结束请返回到主程序。

5子程序的嵌套

子程序调用下一级子程序称为嵌套。上一级子程序与下一级于程序的关系与主程序与第一层子程序的关系相同。子程序可以嵌套多少层由具体的数控系统决定在FANUC-6T系统中只能有两次嵌套。

它这个按照协议抽象的,这取决于你的客户程序采用什么样的通信方式实现,或是说需求决定你的设计,这要从需求层面来解释。

以QQ为例子,我们主机上的QQ就相当于客户程序,那好吧,那找需求,这个QQ有2个基本的通信对象,一个是腾讯服务器申请注册联机 ,一个是QQ间互相通信,而这两种采用两种不同的协议,就是tcp和udp,那么根据用途的不同,我抽象两个通信类模块式最基本的。connectsock却是支撑着2个协议的最基本的技术元素,那么自然他做底层模块,这个是技术层面的抽象 ,你可以看看 tcp udp协议是不是有个共同的底层实现 ,你该看看sock和socket,tcp udp之间的关系

将一组大程序分解为一系列的子程序/过程的好处:

最大的好处就是能提高代码的复用性,特别是大的工程,你能少写很多代码提高效率,举个很简单的例子,比如你你个函数里面都要打印一句相同的话,那么这样的功能,可以直接写个函数去做,这样每次调用者个就可以了,没必要打那么多个字吧

其实有个概念叫原子函数,组合几个最基本的函数就能实现一个复杂的功能,这个和搭积木是一个道理,想想那么几块几个木块能拼出多少图案,要是几个积木合成了要给房子,那么剩下的积木可能拼出的图形就少的可怜了

对代码复用其实很重要,想想吧,如果你有若干个模块都有相同的功能,假如你想对这个功能进行更新,那你岂不是每个模块都要更新,这远没有将这个功能从这些模块中剥离出来,独立做成一块,让其他模块调用,那么我只要修改一个,其他都可用了

其他好处 就是容易读,结构清晰,程序调试的时候,可以减少调试的跨度,容易定位问题。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8094207.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-13
下一篇2023-04-13

发表评论

登录后才能评论

评论列表(0条)

    保存