第四章功能指令说明及应用(doc 54)
- 格式:doc
- 大小:2.48 MB
- 文档页数:118
G、M功能指令简述为了让数控机床按要求进行切削加工,人们就要用程序形式给它输入必要的指令来加以控制。
这种程序指令的规则和格式必须严格符合相应机床(数控系统)的要求和规定,否则机床(数控系统)就无法工作。
不同机床(数控系统)的功能指令有其共性也有不尽相同的地方,这里仅就一些HELLER加工中心常用的基本功能指令进行简单说明。
准备功能和辅助功能是程序段的基本组成部分,是指定工艺过程各种运动和操作特征的核心。
一、准备功能指令准备功能指令,又称G指令、G代码,它由字母和数字组成,下面列举HELLER 加工中心常用的准备功能指令,见表模态与非模态指令编程中的指令有模态指令和非模态指令,模态指令也称续效指令,一经程序段中指定,便一直有效,与上段相同的模态指令可省略不写,直到以后程序中重新指定同组指令时才失效。
而非模态指令(非续效指令)其功能仅在本程序段中有效,与上段相同的非模态指令不能省略不写。
二、准备功能指令的应用1、G0 快速点定位编程: G0 X…Y…Z…参数说明: XYZ 直角坐标中的终点功能:快速移动使刀具快速定位,此功能不适用于工件加工。
操作顺序:利用G0编程的刀具运动以最大允许速度执行(快进),快进速度分别在机床各轴数据中确定。
如果快进运动在几个轴上同步执行,那么快进速度由要求轨迹段时间最长的轴确定。
使用G0指令时要注意刀具是否和工件及夹具发生干涉,忽略这一点,就容易发生碰撞,而在快速状态下的碰撞就更加危险。
附注: G0是模态指令编程示例: G0用于接近起始位置或换刀点,退刀等。
N10 G90 S400 M3 绝对尺寸编程,主轴顺时针转动,转速为400r/min N20 G0 X30 Y20 Z2 快进到起始位置N30 G1 Z-5 F100 D1 直线插补进刀,S=400,F=100,刀具长度补偿D1N40 X80 Y65 直线插补到终点位置N50 G0 Z100 退刀N60 M30 程序结束2、G1 直线插补编程: G1 X…Y…Z…F…参数说明: XYZ 直角坐标中的终点F 进给率,mm/min功能:利用G1,刀具可以作直线或斜线运动,这些直线和斜线运动可以是平面上的,也可以是空间上的,三轴联动就是空间上的运动。
目录第一章 FX1N PLC编程简介1.1 FX1N PLC 简介 (1)1.1.1 FX1N PLC 的提出 (1)1.1.2 FX1N PLC 的特点 (1)1.1.3 FX1N PLC 产品举例 (1)1.1.4 关于本手册 (1)1.2 编程简介 (1)1.2.1 指令集简介 (2)1.2.2 资源集简介 (7)1.2.3 编程及应用简介 (9)第二章基本逻辑指令说明及应用2.1 基本逻辑指令一览表 (10)2.1 [LD],[LDI],[LDP],[LDF],[OUT]指令 (10)2.2.1 指令解说 (10)2.2.2 编程示例 (10)2.3[AND],[ANI],[ANDP],[NDF]指令 (11)2.3.1 指令解说 (11)2.3.2 编程示例 (12)2.4 [OR],[ORI],[ORP],[ORF]指令 (13)2.4.1 指令解说 (13)2.4.2 编程示例 (13)2.5 [ANB],[ORB]指令 (14)2.5.1 指令解说 (14)2.5.2 编程示例 (14)2.6 [INV]指令 (15)2.6.1 指令解说 (15)2.6.2 编程示例 (15)2.7 [PLS],[PLF]指令 (16)2.7.1 指令解说 (16)2.7.2 编程示例 (17)2.8 [SET],[RST]指令 (17)2.8.1 指令解说 (17)2.8.2 编程示例 (18)2.9 [NOP],[END]指令 (18)2.9.1 指令解说 (18)2.9.2 编程示例 (18)2.10 [MPS],[MRD],[MPP] 指令 (18)2.10.1 指令解说 (18)2.10.2 编程示例 (19)2.11[MC],[MCR]指令 (21)2.11.1指令解说 (21)2.11.2 编程示例 (21)第三章步进顺控指令说明及应用3.1步进顺控指令说明 (22)3.1.1 指令解 (22)3.1.2 编程示例 (25)3.2 步进顺控指令应用 (25)3.2.1 单一流程示例 (25)3.2.2 选择性分支与汇合示例 (26)3.2.3 并行分支与汇合示例 (27)3.2.4 循环和跳转示例 (29)第四章功能指令说明及应用4.1 功能指令一览表 (31)4.2 程序流程 (33)4.2.1 条件跳转[CJ] (33)4.2.2 子程序调用[CALL] (35)4.2.3 子程序返回[SRET] (35)4.2.4 主程序结束[FEND] (36)4.2.5 循环范围开始[FOR] (37)4.2.6 循环范围结束「NEXT] (37)4.3 传送与比较 (38)4.3.1 比较指令[CMP] (39)4.3.2 区域比较[ZCP] (40)4.3.3 传送指令[MOV] (41)4.3.4 反向传送[CML] (43)4.3.5 BCD 转换[BCD] (44)4.3.6 BIN 转换[BIN] (45)4.4 四则逻辑运算 (46)4.4.1 BIN 加法运算[ADD] (46)4.4.2 BIN 减法运算[SUB] (47)4.4.3 BIN 乘法运算[MUL] (48)4.4.4 BIN 除法运算[DIV] (49)4.4.5 BIN 1 [INC]................................... .. (50)4.4.6 BIN 减1 [DEC] (50)4.4.7 逻辑与[W AND] (51)4.4.8 逻辑或[WOR] (51)4.4.9 逻辑异或[WXOR] (52)4.4.10 求补[NEG] (53)4.4.11 BIN 开方运算[SQR] (53)4.5 循环与移位 (54)4.5.1 循环右移[ROR] (54)4.5.2 循环左移[ROL] (55)4.5.3带进位循环右移[RCR] .............................................. (56)4.5.4 带进位循环左移[RCL] (58)4.6 浮点数运算 (59)4.6.1 二进制浮点数比较「DECMP] (59)4.6.2二进制浮点数区域比较[DEZCP] (60)4.6.3 二进制浮点数转十进制浮点数[DEBCD] (61)4.6.3 十进制浮点数转二进制浮点数[DEBIN] (62)4.6.5 二进制浮点数加法[DEADD] (62)4.6.6 二进制浮点数减法[DESUB] (63)4.6.7 二进制浮点数乘法「DEMUL] (64)4.6.8 二进制浮点数除法「DEDIV] (65)4.6.9 二进制浮点数开方「DESQR] (66)4.6.10 二进制浮点数转BIN 整数变换「INT] (67)4.6.11 BIN 整数转二进制浮点数「FLT] (68)4.7 触点比较指令 (69)4.7.1 接点比较指令「LD※] (69)4.7.2 接点比较指令「AND※] (70)4.7.3接点比较指令「OR※] (72)4.8 功能指令的基本规则 (73)4.8.1 .功能指令的表示与执行形式................................ . (73)4.8.2 功能指令内的数值处理 (75)4.8.3 利用变址寄存器的操作数修改 (77)第五章资源说明及应用5.1 变址寄存器V 、Z 说明及应用 (80)5.1.1 变址寄存器V 、Z 说明 (80)5.1.2 变址寄存器在梯形图中的应用 (80)5.1.3 使用变址功能的注意事项 (81)5.2 输入输出继电器X 、Y 说明及应用 (82)5.2.1 输入输出继电器X 、Y 说明 (82)5.2.2输入输出继电器应用 (83)5.3 辅助中间继电器M 说明及应用 (85)5.3.1 辅助中间继电器M 说明 (85)5.3.2 辅助中间继电器M 应用 (85)5.4 状杰继申器S 说明及应用 (87)5.4.1 状态继电器S 说明 (87)5.4.2 状态继电器S 应用 (88)5.5 定时器T 说明及应用 (88)5.5.1 定时器T 说明 (88)5.5.2 定时器T 应用 (90)5.6计数器C 说明及应用 (92)5.6.1 16 bit 计数器C 说明 (92)5.6.2 32 bit 计数器C 说明 (93)5.6.3 16 bit 计数器C 应用 (95)5.6.4 32 bit 计数器应用 (96)5.7数据寄存器D 说明及应用 (97)5.7.1 数据寄存器D 说明 (97)5.7.2 数据寄存器D 应用 (99)5.8程序位置指针P 说明及应用 (100)5.8.1 程序位置指针P 说明 (100)5.8.2 程序位置指针P 应用 (100)5.9常数标记K 、H 详细说明 (102)5.9.1 常数标记K (102)5.9.2 常数标记H (103)5.10 特殊软元件说明 (103)第六章 PID指令说明及应用6.1 PID 运算 (104)6.1.1 (104)6.1.2 应用示例 (110)第一章FX1N PLC 编程简介1.1 FX1N PLC 简介1.1.1 FX1N PLC 的提出基于以下观点,提出FX1N PLC 的概念:①、软件和硬件独立设计。
PLC功能指令范文PLC(可编程逻辑控制器)是一种用于自动化控制系统的电子设备,它能够根据预设的程序和输入信号,控制和监控各种工业设备和过程。
PLC的功能指令是用于编写PLC程序的基本指令集,它们包括了数字逻辑运算、数学运算、定时器、计数器、数据移位、比较和控制等多种指令,下面是一些常见的PLC功能指令。
1. LD(Load)指令:用于将信号或者寄存器中的数据加载到内部存储器中,以供后续操作使用。
2.AND、OR、XOR(逻辑运算)指令:分别用于逻辑与、逻辑或和逻辑异或运算,比较输入的信号状态并给出相应的输出信号。
3.ADD、SUB、MUL、DIV(数学运算)指令:用于执行加法、减法、乘法和除法运算,对输入信号进行数学运算并得出结果。
4.TON(定时器)指令:实现定时功能,根据设定的时间延迟后输出一个脉冲信号,可以用于控制设备的启停以及延时操作。
5.CTU(计数器)指令:用于计数一些事件的发生次数,当计数器达到指定值时输出一个脉冲信号,常用于统计数量或者控制循环操作。
6.MOV(数据移位)指令:将数据在不同的存储单元之间移动,可以用于复制、转移和交换数据。
7.CMP(比较)指令:用于比较两个数据的大小关系,根据比较结果判断是否满足一些条件,常用于控制开关状态或者判断数值范围。
8.SET、RST(控制)指令:分别用于设置和复位一些指定的位,可以用于控制开关状态或者设定标志位。
9.JMP(跳转)指令:根据条件跳转到程序中的指定位置,可以实现程序的分支和循环。
10.CALL、RET(调用和返回)指令:用于在子程序间传递控制和数据,实现模块化编程和程序的结构化设计。
11.MOV、LOAD、STORE(数据传输)指令:用于数据在不同存储单元之间的传输,比如移动数据、存储数据到寄存器或者点位状态。
12.OUT、IN(输入输出)指令:用于读取输入信号的状态(如传感器信号)或者控制输出信号的状态(如执行器驱动信号)。
第四章FANUC-Oi-MD系统数控铣床编程1.1常用编程指令一:准备功能(G功能)准备功能G代码用来规定刀具和工件的相对运动轨迹、机床坐标系、坐标平面、刀具补偿、坐标偏置等多种加工操作。
数控加工常用的G功能代码见表4-1.表4-1二:辅助功能(M代码)辅助功能代码用于指令数控机床辅助装置的接同和关断,如主轴转/停、切削液开/关,卡盘夹紧/松开、刀具更换等动作。
常用M代码见表如下:M99 子程序结束 用于子程序结束并返回主程序1.2坐标系编程指令一、有关坐标和坐标系的指令 (1)、工件坐标系设定G92 格式:G92 X_ Y_ Z_X 、Y 、Z 、为当前刀位点在工件坐标系中的坐标。
1、G92指令通过设定刀具起点相对于要建立的工件坐标原点的位置建立坐标系。
2、此坐标系一旦建立起来,后序的绝对值指令坐标位置都是此工件坐标系中的坐标值。
例:G92 X20 Y10 Z10其确立的加工原点在距离刀具起始点X=-20,Y=-10,Z=-10的位置上,如图a 所示。
(2)、绝对值编程G90与增量值编程G91格式: G90 G00/G01 X — Y — Z — G91 G00/G01 X — Y — Z —注意:铣床编程中增量编程不能用U 、W ,如果用,就表示为U 轴、W 轴. 例:刀具由原点按顺序向1、2、3点移动时用G90、G91指令编程。
注意:铣床中X 轴不再是直径. (3)、工件坐标系选择 G54-G591 23XYO20406015 25 45 %0001N1 G92 X0 Y0N2 G90G01X20 Y15 N3 X40 Y45 N4 X60 Y25 N5 X0 Y0 N6 M30G90编程 %0002N1G91G01X20 Y15 N2 X20 Y30 N3 X20 Y-20 N4 X-60 Y-25 N5 M30G91编程⎪⎪⎪⎪⎭⎪⎪⎪⎪⎬⎫⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧595857565554G G G G G G 工件零点偏置 机床原点X YZXYZG54原点 G59原点G59工件坐标系G54工件坐标系。
第四章功能指令说明及应用(doc 54)第四章功能指令说明及应用3637基本功能指令一览表(续)38394041条件跳转 [CJ]作为执行序列的一部分的指令,有CJ 、CJP 指令,可以缩短运算周期。
在上图示例中,如果X000“ON”,则从0步跳到23步(标记P0的后一步)。
X000“OFF”时,不进行跳转,顺序执行。
当X000“ON”时,进行跳转,跳转中的线圈动作如下:●Y、M、S保持以前动作;●T在跳转前若没有触发,跳转后即使触发,定时器也不动作。
若被触发,时钟继续运行,但触点不动作,当X000“OFF”时,触点立即动作;4243 ● C 在跳转前若没有触发,跳转后即使触发,计数器不动作。
若被触发,计数中断,当X000“OFF ”时继续计数;● 功能指令跳转后不动作;● 定时器及计数器的复位指令在跳转外时,计时线圈及跳转的计数线圈复位(接点复位及当前值的清除)有效;● 对END 步跳转,需标明标号(P0~P127都可以),线圈动作如上。
● 主控制指令和跳转指令的关系及动作如下,CJP0 ·从MC 外向MCM100N0M100 P0以下M100视为“ON”;P0CJ P1P1 ·从MC内向MC内跳转时,M100处于“OFF”时,不能跳转;CJ P3MCRN0 ·从MC内向MC外跳转时,M100处于“OFF”时,不能跳转,P3当M0“ON”时,可跳转,但44MCR无效子程序调用[CALL]3步CALLP (脉冲执行型)子程序返回[SRET]1步不需要触点驱动的指令●若X001“ON”,则执行调用指令跳转到标记P11步,执行完通过执行SRET指令返回原来的步,再往下执行;●在FEND指令后对标记(子程序)编程;●CJ指令的标记和子程序的标记不能重复编号;●在子程序内最多可以允许有四层嵌套,如上例,还可增加2层,整体而言可做5层;●指针编号可作变址修改,如P0Z(0+12=12),如果变址得出的编号没有,嵌入式PLC停止工作。
主程序结束[FEND]1步不需要触点驱动的指令当程序使用多个FEND指令时,子程序请在最后的FEND指令与END指令之间编写。
4.2.5 循环范围开始 [FOR]FOR3步循环范围结束 [NEXT]只在FOR~NEXT指令之间的处理(利用源数据指定的次数),执行完后,才处理NEXT指令以后的程序。
●上图是通电时对保持用辅助继电器复位的程序;●从4步至25步之间的程序执行了16次,执行完后Z的值为512;●FOR ~NEXT嵌套最多5层;●循环次数多时扫描周期会延长,请务必注意;●NEXT指令在FOR指令之前,或无NEXT指令,或在FEND、END指令以后有NEXT指令,或FOR指令与NEXT指令个数不相等,都会出错;●若不想执行FOR~NEXT之间的程序时,利用CJ 指令,使之跳转。
如在上图所例,在25步前插入 LDI M0 CJ P50 则Z的值为32,即只执行了一次。
比较指令 [CMP]32位指令 DCMP (连续执行型) 7步 CMPP (脉冲执行型) 13步 DCMPP (脉冲执行型)元件功能和动作●上图示例是D0的内容与常数100进行比较,大小比较是按代数形式进行的(-8<0);●所有数据都以2进制值处理;●当D0>100,M0“ON”,当D0=100,M1“ON”,当D0<100,M2“ON”;●目标地址指定M0,则M1、M2被自动占用;●当X001“OFF”时,M0、M1、M2仍保持以前状态。
如当D0的内容为50,则50<100,M2“ON”,M0、M1都“OFF”,X001“OFF”时,M2仍“ON”。
指令不执行时,想要清除比较结果,可使用复位指令。
区域比较 [ZCP]7步 ZCPP (脉冲执行型) 13步 DZCPP (脉冲执行型)●如上例,D3的内容与D1、D2的内容进行比较;●D1的内容应小于等于D2 的内容,若D1=100,D2=80,比较时D2的内容为100;●按代数形式进行比较(-8<0);●当D1>D3,则M3“ON”;当D1≦D3≦D2,则M4“ON”,当D2<D3,则M5“ON”。
传送指令 [MOV]32位指令 DMOV (连续执行型) 7步 MOVP (脉冲执行型) 13步 DMOVP (脉冲执行型)功能和动作使数据原样传送的指令。
●将源(S·)的内容向目标(D·)传送,X003“OFF”时,目标(D·)的内容不变化;●常数K100被自动转换成BIN码。
《定时、计数器的当前值读出示例》●将T0当前值传送给D20。
《定时、计数器设定值的间接指定示例》●T20定时时间为5秒。
《位软元件的传送》●上图示例可用下面的MOV指令来实现,《32位数据的传送》运算结果是32位的应用指令(MUL等)、32位数值、32位软元件或32位计数器等32位数据的传送,必须使用DMOV指令。
●上例将(D11、D10)的内容传送给(D21、D20),(C235的当前值)传送给(D31、D30)。
反向传送 [CML]32位指令 DCML (连续执行型) 5步 CMLP (脉冲执行型) 13步 DCMLP (脉冲执行型)将数据反向传送的指令将D0的内容每位取反(0取反为1,1取反为0)后,传送到目标地址,常数K被自动转换成2进制。
如:D101 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0符号位(0=正数, 1=负数)0 1 0 1 0 1 0 1无变化反向数据被传送上例可用CML指令来实现。
4.3.5 BCD转换 [BCD]BCDD P16位指令BCD (连续执行型)32位指令DBCD (连续执行型)5步BCDP (脉冲执行型)9步DBCDP (脉冲执行型)适用软元件·字软元件(S·) KnY、KnM、KnS、T、C、D、V,Z ·字软元件(D·) KnY、KnM、KnS、T、C、D、V,Z将源(BIN)转换为目标(BCD)的指令。
●使用BCD、BCDP指令,转换结果不能超出0~9999,使用DBCD、DBCDP指令,转换结果不能超出0~99999999;●将PLC内的2进制数变为七段显示等的BCD码向外部输出时使用。
BIN 转换 [BIN]32位指令 DBIN (连续执行型) 5步 BINP (脉冲执行型) 9步 DBINP (脉冲执行型)功能和动作将源(BCD)转换为目标(BIN)的指令。
●使用BIN、BINP指令,源数据(S·)不能超出0~9999,使用DIND、DBINP指令,源数据(S·)不能超出0~99999999;●常数K能自动转成2进制。
BIN 加法运算 [ADD ]) 32位指令 DADD (连续执行型) 7步 ADDP (脉冲执行型) 13步 DADDP (脉冲执行型)标志位零M8020 借位M8021进位M8022功能和动作●两个源数据进行加法后传送到目标处,各数据的最高位是符号位(正数为0,负数为1),数据以代数形式进行加法运算(8+(-8)=0)。
●运算结果为0时,0标志位M8020动作;运算结果超出32767(16位运算)或2147483647(32位运算)时,进位标志位M8022动作;运算结果小于-32768(16位运算)或-2147483648(32位运算)时,借位标志位M8021动作;●进行32位运算时,字软元件的低16位侧的软元件被指定,紧接着上述软元件编号后的软元件作为高位,为了防止编号重复,建议将软元件指定为偶数编号。
●对于脉冲型指令,每出现一次OFF到ON的变化,操作数做一次运算。
●可以将源(S·)和目标(D·)指定为相同的软元件编号。
这种情况下,如使用连续执行型指令(ADD、DADD),则每个扫描周期加一次,请务必注意。
BIN减法运算 [SUB]32位指令DSUB (连续执行型)7步SUBP (脉冲执行型)13步DSUBP (脉冲执行型)●(S1·)指定的内容和(S2·)指定的内容相减,结果存入(D·)指定的软元件中。
(8-(-8)=16)。
●各种标志位的动作,32位运算软元件的指定方法,连续型和脉冲型的差异等都跟ADD指令相同。
4.4.3 BIN乘法运算 [MUL]MULD P32位指令 DMUL (连续执行型) 7步 MULP (脉冲执行型) 13步 DMULP (脉冲执行型)《16位运算》BIN BIN BIN(D0)×(D2)(D5,D4)16位16位32位●各源指定的软元件内容的乘积,以32位数据形式存入目标地址指定的软元件(低位)和紧接其后的软元件(高位)中,如(D0)=125,(D2)=8,则(D5,D4)=1000;●结果的最高位是符号位,0为正,1为负;●(D·)是位元件时,可以进行K1∽K8的位指定。
指定为K4时,只能求得乘积运算的低16位。
《32位运算》BIN BIN BIN(D1,D0)×(D3,D2)(D7,D6,D5,D4)32位32位64位●在32位运算中,目标地址使用位软元件,只能得到低32位的结果,最好先向字元件传送一次后再进行运算;●即使使用字元件,也不能一下子监视64位数据的运算结果,此种情况下建议进行浮点数运算;●不能指定Z作为(D·)。
BIN除法运算[DIV]32位指令DDIV (连续执行型)7步DIVP (脉冲执行型)13步DDIVP (脉冲执行型)适用软元件·字软元件(S1·、S2·) K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z(V,Z仅限16位计算)·字软元件(D·) KnY、KnM、KnS、T、C、D、V,Z功能和动作《16位运算》被除数除数商余数BIN BIN BIN BIN(D0)÷(D2)(D4)···(D5)16位16位16位16位《32位运算》被除数除数商余数BIN BIN BIN BIN(D1,D0)÷(D3,D2)(D5,D4)···(D7,D6)32位32位32位32位●32位运算不能指定Z作为(D·);●除数为0时,如果被除数为正数,商为32767(16位)或2147483647(32位);如果被除数为0,商为0;如果被除数为负数,商为-32768(16位)或-2147483648(32位);商和余数的最高位为符号位,0为正,1为负,当被除数或除数中的一方为负数时,商为负,当被除数为负时,余数则为负。