第四章功能指令说明及应用
- 格式:doc
- 大小:2.50 MB
- 文档页数:51
第4章数控编程常用指令【教学目标】通过本章节的教学:使学生掌握数控编程常用指令准备功能G代码,辅助功能M代码及主轴功能S、进给功能F、刀具功能T代码的使用格式,各代码所表述的意义以及在编程的过程中要注意的事项。
【教学重点】 G代码、M代码、F、S、T功能代码的使用格式【教学难点】 G代码的使用格式及意义【教学时数】理论10学时【课程类型】理论课程【教学方法】理论联系实际,讲、例、练三结合【教学内容】4.1 概述1、数控编程常用的指令代码主要有准备功能G代码,辅助功能M代码及主轴功能S、进给功能F、刀具功能T代码。
2、G代码分为模态代码和非模态代码。
模态代码除了在本程序段有效外,在后续程序段也起作用,直到出现同组的另一个代码时才失效。
非模态代码只在本程序段有效,如G04,其功能仅在所出现的程序段内才有作用。
3、M功能也有模态和非模态两种形式。
另外,M功能还可以分为前作用M功能和后作用M功能。
前作用M功能是在程序段中编制的轴运动之前执行,后作用M功能是在程序段中编制的轴运动之后执行。
表4.1为我国JB3208-1983准备功能G代码。
表4.2为我国JB3208-1983辅助功能M代码。
4.2 与坐标和坐标系有关的指令4.2.1 工件坐标系设定指令G92指令用来设定刀具在工件坐标系中的坐标值,属于模态指令,其设定值在重新设定之前一致有效。
程序段格式为:G92 X Y ZX、Y、Z为刀位点在工件坐标系中的初始位置。
例如:G92 X25.0 Z350.0;设定工件坐标系为X1O1Z1;G92 X25.0 Z10.0;设定工件坐标系为X2O2Z2。
以上两程序段所设定的工件坐标系如图4.1所示。
工件坐标系建立以后,程序内所有用绝对值指定的坐标值,均为这个坐标系中的坐标值。
必须注意的是,数控机床在执行G92指令时并不动作,只是显示器上的坐标值发生了变化。
图4.1 工件坐标系设定4.2.2 工件坐标系选择指令工件坐标系选择指令有G54、G55、G56、G57、G58、G59。
第四章ControlLogix 控制器指令介绍和编程应用第四章controllogix控制器指令介绍和编程应用第四章controllogix控制器指令介绍和编程应用本章内容:controllogix控制器指令分类了解。
本章目的:掌握编写程序的基本要求,通过指令的分类学习了解各类指令的特点,正确理解指令参数的输出,尤其就是数据类型的运用,着重于通讯指令的自学。
应该说,controllogix控制器与传统的可编程序控制器plc-5/slc500最大的区别是硬件结构的变化、数据结构的变化和通讯系统的变化,但它仍然保留或沿用了传统的可编程序控制器的指令系统,指令功能的差异不大,所以,关于编程,还有许多经验可以借鉴。
一.控制器编程基础必须获得一个简约、准确、严格的逻辑控制程序,除了对生产过程工艺的介绍和分析,对整个控制系统恰当的规划和设计,还要对程序的逻辑结构(即为指令继续执行顺序)、数据的创下过程、指令的详细功能有著深刻的介绍,就可以正确地回去撰写或修正程序。
关于编程的基础知识存有如下三个方面须要介绍。
1.梯形图程序的逻辑结构controllogix控制器的控制程序编写方式有梯形图程序、顺序功能流程图程序和语句程序。
语句编程的程序可编译成梯形图程序相似的执行顺序,是适合计算机程序开发人员使用的方式;顺序功能流程图程序实质上是一个结构程序,它的结构元素还是梯形图程序或语句程序。
所以,控制器的编程,通常是基于梯形图程序的编程。
梯形图程序由指令形成的逻辑梯级子集而变成,逻辑梯级的结构则由输出指令和输入指令两部分共同组成:输入指令决定梯级条件的指令,通常是以下三类指令:位指令的逻辑运算结果在梯形图中用得最少的形式,根据生产过程的与或非逻辑关系编制出来的结构,其结果必为逻辑结果。
?比较指令的比较结果用大小相等关系进行比较和数值范围进行判定而产生的逻辑结果。
检测或诊断的结果两条特殊的指令sqi和dtr可对操作对象进行检测和确诊,得出结论逻辑结果。
第四章Linux系统概念和指令应用不管是在X视窗下登录还是在文字界面下登录,都不影响本章介绍的有关Linux指令的操作。
在X视窗下可以选择“应用程序 通用中文终端”,或者使用<Alt+F2>打开运行命令对话框,在命令输入框中输入:rxvt 就可以进行传统的字符界面操作。
4.1系统指令介绍Linux的指令很多,分别在目录/bin、/sbin、/usr/bin、/usr/sbin 下能找到绝大多数系统指令,在/bin和/usr/bin目录下的指令是一般可执行指令,系统的所有用户都可以使用。
而/sbin和/usr/sbin目录下存放的是系统管理指令,需要root的权限才能执行。
以下介绍最常用的指令。
指令的一般格式为:指令名称-选项参数在Linux操作系统中,文件名的最大长度为256个字符,“/”表示根目录,“.”代表当前目录,“..”代表上级目录,“*”匹配0个或多个字符,“?”匹配任一个字符。
注意:在Linux 系统,命令中的字符是区分大小写的4.1.1文件处理指令1.显示目录文件命令格式:ls [-alfr] [文件或目录]所在路径:/bin/ls执行权限:所有用户说明:各选项含义如下-a 显示所有文件,包括隐藏文件。
-l 使用长格式显示-f 附加文件类别、符号在文件名最后-r 陆续显示目录例:显示当前目录下的所有文件$ls –a ($为提示符)例:以长格式显示文件$ls –l显示时各列的意义如下第一栏说明文件的权限,文件的权限有三种,即可读(r)、可写(w)、可执行(x),在这里有10个位置,第一位代表文件类型,表示是目录或是文件或是连结文件,其中d表示目录,-表示文件,(字母)l表示连结文件;以后每三位分别代表用户自己(Owner)、同一群组(group)、其他人(other)对文件的使用权限,如例中用户自己对文件拥有可读可写可执行的全部权限,同一群组或其他用户对该文件只有可读和可执行的权限。
第四章功能指令说明及应用基本功能指令一览表(续)条件跳转 [CJ]CJP16位指令CJ(连续执行型)3步CJP (脉冲执行型)适用软元件指针(P)可以指定下列编号·P0~P127·指针编号可作变址修改功能和动作作为执行序列的一部分的指令,有CJ、CJP指令,可以缩短运算周期。
在上图示例中,如果X000“ON”,则从0步跳到23步(标记P0的后一步)。
X000“OFF”时,不进行跳转,顺序执行。
当X000“ON”时,进行跳转,跳转中的线圈动作如下:●Y、M、S保持以前动作;●T在跳转前若没有触发,跳转后即使触发,定时器也不动作。
若被触发,时钟继续运行,但触点不动作,当X000“OFF”时,触点立即动作;●C在跳转前若没有触发,跳转后即使触发,计数器不动作。
若被触发,计数中断,当X000“OFF”时继续计数;●功能指令跳转后不动作;●定时器及计数器的复位指令在跳转外时,计时线圈及跳转的计数线圈复位(接点复位及当前值的清除)有效;●对END步跳转,需标明标号(P0~P127都可以),线圈动作如上。
●主控制指令和跳转指令的关系及动作如下,·从MC外向MC内跳转时,与MC的动作无关,即使M100处于“OFF”状态下,P0以下M100视为“ON”;·从MC内向MC内跳转时,M100处于“OFF”时,不能跳转;·从MC内向MC外跳转时,M100处于“OFF”时,不能跳转,当M0“ON”时,可跳转,但MCR无效子程序调用[CALL]子程序返回[SRET]●若X001“ON”,则执行调用指令跳转到标记P11步,执行完通过执行SRET指令返回原来的步,再往下执行;●在FEND指令后对标记(子程序)编程;●CJ指令的标记和子程序的标记不能重复编号;●在子程序内最多可以允许有四层嵌套,如上例,还可增加2层,整体而言可做5层;●指针编号可作变址修改,如P0Z(0+12=12),如果变址得出的编号没有,嵌入式PLC停止工作。
第四章功能指令说明及应用基本功能指令一览表(续)条件跳转 [CJ]CJP16位指令CJ(连续执行型)3步CJP (脉冲执行型)适用软元件指针(P)可以指定下列编号·P0~P127·指针编号可作变址修改功能和动作作为执行序列的一部分的指令,有CJ、CJP指令,可以缩短运算周期。
在上图示例中,如果X000“ON”,则从0步跳到23步(标记P0的后一步)。
X000“OFF”时,不进行跳转,顺序执行。
当X000“ON”时,进行跳转,跳转中的线圈动作如下:●Y、M、S保持以前动作;●T在跳转前若没有触发,跳转后即使触发,定时器也不动作。
若被触发,时钟继续运行,但触点不动作,当X000“OFF”时,触点立即动作;●C在跳转前若没有触发,跳转后即使触发,计数器不动作。
若被触发,计数中断,当X000“OFF”时继续计数;●功能指令跳转后不动作;●定时器及计数器的复位指令在跳转外时,计时线圈及跳转的计数线圈复位(接点复位及当前值的清除)有效;●对END步跳转,需标明标号(P0~P127都可以),线圈动作如上。
●主控制指令和跳转指令的关系及动作如下,·从MC外向MC内跳转时,与MC的动作无关,即使M100处于“OFF”状态下,P0以下M100视为“ON”;·从MC内向MC内跳转时,M100处于“OFF”时,不能跳转;·从MC内向MC外跳转时,M100处于“OFF”时,不能跳转,当M0“ON”时,可跳转,但MCR无效子程序调用[CALL]子程序返回[SRET]●若X001“ON”,则执行调用指令跳转到标记P11步,执行完通过执行SRET指令返回原来的步,再往下执行;●在FEND指令后对标记(子程序)编程;●CJ指令的标记和子程序的标记不能重复编号;●在子程序内最多可以允许有四层嵌套,如上例,还可增加2层,整体而言可做5层;●指针编号可作变址修改,如P0Z(0+12=12),如果变址得出的编号没有,嵌入式PLC停止工作。
4.2.4 主程序结束[FEND]FEND单独指令FEND1步不需要触点驱动的指令功能和动作当程序使用多个FEND指令时,子程序请在最后的FEND指令与END指令之间编写。
4.2.5 循环范围开始 [FOR]FOR16位指令FOR (连续执行型)3步适用软元件·字软元件 K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z,·可作变址修改。
4.2.6 循环范围结束[NEXT]NEXT单一指令NEXT1步不需要触点驱动的指令。
功能和动作只在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,即只执行了一次。
4. 3 传送与比较4.3.1 比较指令[CMP]CMPD P16位指令CMP (连续执行型)32位指令DCMP (连续执行型)7步CMPP (脉冲执行型)13步DCMPP (脉冲执行型)适用软元件·字软元件(S1·、S2·) K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z ·位软元件(D·) Y、M、S功能和动作●上图示例是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”。
指令不执行时,想要清除比较结果,可使用复位指令。
4.3.2 区域比较 [ZCP]ZCPD P16位指令ZCP (连续执行型)32位指令DZCP (连续执行型)7步ZCPP (脉冲执行型)13步DZCPP (脉冲执行型)适用软元件·字软元件(S1·、S2·、S·) K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z ·位软元件(D·) Y、M、S功能和动作●如上例,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”。
4.3.3 传送指令 [MOV]MOVD P16位指令MOV (连续执行型)32位指令DMOV (连续执行型)7步MOVP (脉冲执行型)13步DMOVP (脉冲执行型)适用软元件·字软元件(S·) K、H、KnY、KnM、KnS、T、C、D、V,Z ·字软元件(D·) KnY、KnM、KnS、T、C、D、V,Z功能和动作使数据原样传送的指令。
●将源(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)。
4.3.4反向传送[CML]CMLD P16位指令CML (连续执行型)32位指令DCML (连续执行型)5步CMLP (脉冲执行型)13步DCMLP (脉冲执行型)适用软元件·字软元件(S·) K、H 、KnX、KnY、KnM、KnS、T、C、D、V,Z ·字软元件(D·) KnY、KnM、KnS、T、C、D、V,Z功能和动作将数据反向传送的指令●将D0的内容每位取反(0取反为1,1取反为0)后,传送到目标地址,常数K被自动转换成2进制。
如:D10符号位(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,Z1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 00 1 0 1 0 1 0 1功能和动作将源(BIN)转换为目标(BCD)的指令。
●使用BCD、BCDP指令,转换结果不能超出0~9999,使用DBCD、DBCDP指令,转换结果不能超出0~99999999;●将PLC内的2进制数变为七段显示等的BCD码向外部输出时使用。
4.3.6 BIN转换 [BIN]BIND P16位指令BIN (连续执行型)32位指令DBIN (连续执行型)5步BINP (脉冲执行型)9步DBINP (脉冲执行型)适用软元件·字软元件(S·) KnX、KnY、KnM、KnS、T、C、D、V,Z ·字软元件(D·) KnY、KnM、KnS、T、C、D、V,Z功能和动作将源(BCD)转换为目标(BIN)的指令。
●使用BIN、BINP指令,源数据(S·)不能超出0~9999,使用DIND、DBINP指令,源数据(S·)不能超出0~99999999;●常数K能自动转成2进制。
4.4 四则逻辑运算4.4.1BIN加法运算 [ADD]ADDD P16位指令ADD (连续执行型)32位指令DADD (连续执行型)7步ADDP (脉冲执行型)13步DADDP (脉冲执行型)适用软元件·字软元件(S1·、S2·) K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z ·字软元件(D·) KnY、KnM、KnS、T、C、D、V,Z标志位零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),则每个扫描周期加一次,请务必注意。
4.4.2BIN减法运算 [SUB]SUBD P16位指令SUB (连续执行型)32位指令DSUB (连续执行型)7步SUBP (脉冲执行型)13步DSUBP (脉冲执行型)适用软元件·字软元件(S1·、S2·) K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z ·字软元件(D·) KnY、KnM、KnS、T、C、D、V,Z标志位零M8020 借位M8021 进位M8022功能和动作●(S1·)指定的内容和(S2·)指定的内容相减,结果存入(D·)指定的软元件中。