❶ 數控子程序如何編
樓上說的完全正確。
今晚上我失眠了,睡不著,也來補充兩句,有不懂的再問!
(以法蘭克面銑程序作講解)
子程序及調用指令:(格式見後邊例子)
子程序調用格式: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.如有大神路過,求指點,畢竟我也才學不久
❷ 高級數控編程:子程序調用及編程舉例
高級數控編程:子程序調用及編程舉例
一次裝夾加工多個形狀相同或刀具運動軌跡相同的零件,即一個零件有重復加工部分的情況下,為了簡化加工程序,把重復軌跡的程序段獨立編成一程序進行反復調用, 這重復軌跡的程序稱為子程序,而調用子程序的程序稱主程序。
子程序的調用
子程序的`調用方法如圖1-2所示。需要注意的是,子程序還可以調用另外的子程序。從主程序中被調用出的子程序稱一重子程序,共可調用四重子程序,如圖1-3所示。
在子程序中調用子程序與在主程序中調用子程序方法一致。
格式:M98 P L ;
說明:P:子程序名;
L:重復調用次數,省略重復次數,則認為重復調用次數為1次;
例:M98 P123 L3;
表示程序號為123的子程序被連續調用3次,如圖1-4所示。
子程序中必須用M99指令結束子程序並返回主程序。
應用舉例:
加工如圖1-5所示輪廓,以知刀具起始位置為(0,0,100),切深為10mm,試編製程序。
圖1-6
相關知識點:
●在使用子程序編程時,應注意主、子程序使用不同的編程方式。一般主程序中使用G90指令,而子程序使用G91指令,避免刀具在同一位置加工。
●當子程序中使用M99指令指定順序號時,子程序結束時並不返回到調用子程序程序段的下一程序段,而是返回到M99指令指定的順序號的程序段,並執行該程序段。
編程舉例:如圖1-6所示。
子程序執行完以後,執行主程序順序號為18的程序段。
;❸ 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() 以前,就不要 函數原型聲明 那行
❹ 西門子如何編寫子程序 步驟如下
1、打開NETR,NETR是通過指定埠從網路讀取信息(最多16個位元組){結合你的情況就是從PC向PLC讀取信息}。
2、具體方法:選擇菜單命令工具(T) > 指令向導NETR/NETW。
3、指定您需要的網路操作數目。
4、指定埠號和子程序名稱。
5、指定網路操作。
6、分配 V 存儲區。
7、生成代碼。
8、為了便於進行連接在網路中的 PLC 之間的數據交換,S7-200支持網路讀(NETR)和網路寫(NETW)指令。
9、NETR 指令從遠程 PLC中的指定地址讀取配置好的一定數量的數據。
10、NETW 指令操作由數據表中的前七個位元組控制。
11、表中的一個數值是讀取/寫入數據長度,可以規定 1 至 16 個位元組。因此數據表最大可達 23 個位元組。
❺ 什麼是子程序,如何使用子程序呢
子程序(subroutine)是一個概括性的術語,任何高級程序所調用的程序,都被稱為子程序。它經常被使用在匯編語言層級上。子程序的主體(body)是一個代碼區塊,當它被調用時就會進入運行。
一般程序設計語言包含兩種基本的抽象:過程抽象和數據抽象。過程抽象有時也稱控制抽象。子程序是最主要過程抽象機制。面向對象語言中的方法與子程序的概念十分相似,不同在於它們的調用以及它們與類或對象關聯的方式。每個子程序只有一個入口。在執行期間,調用程序單位被停止執行,即任意時刻只有一個子程序在執行子程序執行完畢後,總是將控制返回給調用程序
(5)編寫子程序如何編擴展閱讀:
子程序的應用
1、零件上若干處具有相同的輪廓形狀,在這種情況下,只要編寫一個加工該輪廓形狀的子程序,然後用主程序多次調用該子程序的方法完成對工件的加工。
2、加工中反復出現具有相同軌跡的走刀路線,如果相同軌跡的走刀路線出現在某個加工區域或在這個區域的各個層面上,採用子程序編寫加工程序比較方便,在程序中常用增量值確定切入深度。
3、在加工較復雜的零件時,往往包含許多獨立的工序,有時工序之間需要適當的調整,為了優化加工程序,把每一個獨立的工序編成一個子程序,這樣形成了模塊式的程序結構,便於對加工順序的調整,主程序中只有換刀和調用子程序等指令。