㈠ 主程序调用子程序编程指令是什么
主程序调用子程序编程指令是:右击——插入——OB,然后填上OB100,OB由系统调用,并非由用户调用。
一般会有输入参数并有返回值,提供对过程的封装和细节的隐藏。这些代码通常被集成为软件库。函数在面向过程的语言中已经出现。是结构和类的前身。本身就是对具有相关性语句的归类和对某过程的抽象。
转子指令和返回指令:
在子程序的调用与返回过程中,子程序的入口地址是指子程序第一条指令的地址。用于调用子程序、控制程序的执行从主程序转向子程序的指令称为专注指令(子程序调用指令、过程调用指令)。为了正确调用子程序,必须在转子指令中给出子程序的入口地址。
主程序中转子指令的下一条指令的地址称为断点,断点是子程序返回主程序的返回地址,从子程序返回主程序的指令称为返回指令。为了在执行返回指令时能够正确地返回主程序,转子指令应具有保护断点的功能。
执行转子指令时保护断点的方式有多种,常用的有:将断点保存到子程序第一条指令的前一个字单元;将断点保存到某一约定的寄存器中;将断点压入堆栈。
㈡ c语言怎么编写子程序
C语言 把别的计算机语言中称“函数”或称“子程序”的程序块 统称为 “函数”,没有术语“子程序”。别的计算机语言中称为“子程序”的程序块,C语言叫 void 型 函数。
C语言 函数定义 出现在 main() 函数 以后的,则要在 main() 函数 以前 加写 函数原型声明。
例如:计算10个数的平均值,最大值,最小值子程序:
#include<stdio.h>
#include<stdlib.h>
void f(int n, int *a, int *a_max, int *a_min, float *a_mean);// 函数原型声明
void main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
int a_max,a_min;
float av;
f(10,a,&a_max,&a_min,&av); // 函数调用
printf("max=%d min=%d mean=%f\n",a_max,a_min,av);
}
//函数定义
void f(int n, int *a, int *a_max, int *a_min, float *a_mean){
int i,b,s;
float m=0.0;
b = a[0]; s=a[0];
for (i=0;i<n;i++){
if (a[i] > b) b = a[i];
if (a[i] < s) s = a[i];
m = m + a[i];
}
*a_mean = m / n;
*a_max = b;
*a_min = s;
}
如果把 函数定义 写到 main() 以前,就不要 函数原型声明 那行
㈢ matlab主程序和子程序怎么写到一块
写在一起,必须都是function,
如果你的主程序是普通的m程序,不是function,而子程序是function,这两个程序是不能写在一起的
举个例子:
%主程序
a=1;
b=2;
c=addfun(a,b)
% 子程序
function c=addfun(a,b)
c=a+b;
return
以上是不能写在一个m文件里的。
但是
function mainfun()
clc
a=1;
b=2;
c=addfun(a,b)
% 子程序
function c=addfun(a,b)
c=a+b;
return
这样子时可以的,可以直接运行。不过当程序运行结束后,你将无法查看主程序和子程序的变量的值。
㈣ 数控子程序如何编
楼上说的完全正确。
今晚上我失眠了,睡不着,也来补充两句,有不懂的再问!
(以法兰克面铣程序作讲解)
子程序及调用指令:(格式见后边例子)
子程序调用格式:M98P四位数的子程序号+L调用次数(整数)。子程序以M99 结束:
如图,设G57坐标系在如图位置,不使用G43,使用D12R0铣刀切下如图90*90*51.4的铝块,要求主轴转速2000给进速度1000一次降刀0.5.底部留0.15不要铣断,提示工装压板螺帽处高度有80!
程序如下:
O1234;
(qiekuaizhuchengxu-chenxing2019-08-12)
G40G49G69G80;
G0G90G57Z300.;
X0.Y0.;
M3S2000;
Z100.;
M08;
G01Z52.F500;
M01;
M98P8888L103F1000;
G01G91Z0.15;
M98P8888L1F1000;
G0G90Z200.;
M09;
M05;
G91G30Z0.;
G91G28Y0.;
M30;
O8888;
G01G91Z-0.5;
Y114.02;
X102.02;
Y-114.02;
G0Z150.;
X-102.02;
Z-150.;
M01;
M99;
(讲解:1.G0降刀过快,我把图片中G57坐标系的Y0.应向y负方向偏18。
2.为防止尺寸铣小了走刀我走的90.02
3.主程序为O1234,子程序O8888使用G91增量编程。
4.子程序调用一次自动降0.5。高52调用103次后剩0.5,见主程序中M98P8888L103F1000;)
5.最后留0.15,可抬刀0.15后再调一次子程序。
另外补充两句:1.纯手打,望采纳。这例子我已回答过别人,再用来回答你,不算盗版吧。哈哈
2.如有大神路过,求指点,毕竟我也才学不久
㈤ cNC倒C5怎么编子程序
cNC倒C5编子程序
数控车床子程序M98、M99编程。把程序中某些固定顺序和重复出现的程序单独抽出来,按一定格式编成一个程序供调用,这个程序就是常说的子程序,这样可以简化主程序的编制。子程序可以被主程序调用,同时子程序也可以调用另一个子程序。这样可以简化程序的编制和节省CNC系统的内存空间。 子程序必须有一程序号码,且以M99作为子程序的结束指令。主过程调用子程序的指令格式如下: M98 P___L___; 其中P为被调用的子程序号 L为重复调用的次数 例如:M98 P1234L4 主程序调用同一子程序执行加工,最多可执行999次,且子程序亦可再调用另一子程序执行加工,最多可调用4层子程序(不同的系统其执行的次数及层次可能不同)。
㈥ 数控程序子程序是怎么编的 如果有会的 可以举个例子
数控铣?
M98
调用子程序,
M99
返回主程序。调用子程序格式为M98Pxxxxxxx(七位,前面重复次数三位可以省略),前三位为重复次数,后四位为子程序程序号。举个例子,子程序号为O0051,那么主程序要调用子程序的话就M98P0051,重复3次的话就M98P30051,重复次数为1次的话可以省略,直接在P后面接程序号就行,子程序就正常编就行,跟正常程序一样的,结尾加M99就行。
㈦ 什么是子程序,如何使用子程序呢
子程序(subroutine)是一个概括性的术语,任何高级程序所调用的程序,都被称为子程序。它经常被使用在汇编语言层级上。子程序的主体(body)是一个代码区块,当它被调用时就会进入运行。
一般程序设计语言包含两种基本的抽象:过程抽象和数据抽象。过程抽象有时也称控制抽象。子程序是最主要过程抽象机制。面向对象语言中的方法与子程序的概念十分相似,不同在于它们的调用以及它们与类或对象关联的方式。每个子程序只有一个入口。在执行期间,调用程序单位被停止执行,即任意时刻只有一个子程序在执行子程序执行完毕后,总是将控制返回给调用程序
(7)子程序和主程序怎么编扩展阅读:
子程序的应用
1、零件上若干处具有相同的轮廓形状,在这种情况下,只要编写一个加工该轮廓形状的子程序,然后用主程序多次调用该子程序的方法完成对工件的加工。
2、加工中反复出现具有相同轨迹的走刀路线,如果相同轨迹的走刀路线出现在某个加工区域或在这个区域的各个层面上,采用子程序编写加工程序比较方便,在程序中常用增量值确定切入深度。
3、在加工较复杂的零件时,往往包含许多独立的工序,有时工序之间需要适当的调整,为了优化加工程序,把每一个独立的工序编成一个子程序,这样形成了模块式的程序结构,便于对加工顺序的调整,主程序中只有换刀和调用子程序等指令。