PMC功能-151-PMC功能讲述PMC功能和PMC程序编写的基本事项这里讲述以下内容:●PMC的基本功能●功能指令一览PMC的基本功能种类项目0i-DPMC0i-DPMC/L0iMate-DPMC/L编程语言梯形图级数33第一级执行周期4/8msec基本指令处理速度25nsec/step1μsec/stepI/OLink最大信号点数2048/20481024/10240i-D○○B0i-MateD—○T地址范围T0~T499,T9000~T9499T0~T79,T9000~T9079C地址范围C0~C399,C5000~C5199C0~C79,C5000~C5039K地址范围K0~K99,K900~K999K0~K19,K900~K999D地址范围D0~D9999D0~D2999A地址范围A0~A249,A9000~A9249A0~A249,A9000~A9249基本规格16字符符号扩展规格40字符基本规格30字符指令扩展规格255字符“○B”为软件包B包的标准配置。I/OLink第二通道功能,为选项功能,需要指定。使用符号和指令扩展规格时,需要使用FANUCLADDER-III软件。PMC功能-152-系统信号#7#6#5#4#3#2#1#0地址R9091FLFL2RUNONOFFFL:1秒周期信号(ON/OFF比1:1)FL2:0.2秒周期信号(ON/OFF比1:1)RUN:PMC运行ON:常1信号OFF:常0信号#7#6#5#4#3#2#1#0地址R9015STPRRUNRSTPR:梯形图停止信号RUNR:梯形图运行信号梯形图运行状态扫描周期梯形图运行状态R9091.2梯形图停止信号R9015.1梯形图运行开始信号R9015.0PMC功能-153-PMC的数据形式PMC的数据形式分为二进制形式、BCD码形式和位型三种。CNC和PMC间的接口信号为二进制形式。一般来说,PMC数据也采用二进制形式。带符号的二进制形式(Binary)可进行1字节,2字节,4字节的二进制处理可使用的数值范围如下数据长度数据范围(十进制换算)备注1字节-128~+1272字节-32768~+327674字节-2147483648~+2147483647采用2的补码表示在顺序程序中指令数据的长度和初始地址在诊断画面(PMCDGN)确认2字节,4字节的地址数据时,地址号大的为高位地址。由R100指定4字节长的数据时地址和位的对应关系如下:#7#6#5#4#3#2#1#0地址R1002726252423222120地址R1012152142132122112102928地址R102223222221220219218217216地址R103±230229228227226225224用2字节表示-100和+100时十进制数100-100+00110010010011100+10000000011111111+200000000111111112进制+30000000011111111最高位数为1时为负数PMC功能-154-BCD形式:BinaryCodedDecimal在十进制数的二-十进制中,用4位的二进制码表示十进数的各位。可处理2位或4位的十进制数,符号用其他信号进行处理。#7#6#5#4#3#2#1#010位个位+08040201084211000位100位+18000400020001000800400200100例:63和1234的BCD码表示。十进制数631234+00110001100110100BCD码+1—00010010BCD码和二进制数的变换通过DCNV,DCNVB指令来进行。位型:Bit处理1位信号和数据时,在地址之后指令小数点的位号#7#6#5#4#3#2#1#0地址xxxxxV例:X0001.2(地址X0001的第二位)可以以位为单位来读写数据表的部分数据部分。PMC功能-155-格雷码0~15的4位二进制表示如下。如果旋钮开关的触点信号使用二进制代码来表示,在切换触点时,存在有2位数据同时变化的情况,造成变化的不连续性。0123456789101112131415b30000000011111111b20000111100001111b10011001100110011b00101010101010101如下所示,如果采用4位格雷码表示,在旋钮开关触点进行切换时,相邻的触点只有一位数据进行变化,不存在不连续的现象。0123456789101112131415g30000000011111111g20000111111110000g10011110000111100g00110011001100110把由旋钮开关输入的格雷码信号转换为二进制数据,可成为正常处理用数值,这样程序更容易书写。|g3(Xxxx.x)b3(Rxxx.x)|*----||-------------------------------------------------------------()---*|||b3g2b2|*----||-------|/|--*------------------------------------------------()---*|||b3g2||*----|/|------||---*||||b2g1b1|*----||-------|/|--*------------------------------------------------()---*|||b2g1||*----|/|------||---*||||b1g0b0|*----||-------|/|--*------------------------------------------------()---*|||b1g0||*----|/|------||---*|||格雷码和二进制按照上述规律进行变换,使用格雷码旋钮开关,可以提高安全性。PMC功能-156-程序级别和输入输出信号处理第1级程序的开头到END1命令之间为第一级程序,系统每4/8msec执行一次。主要是处理急停、跳转、超程等信号。第1级程序中,如果没有输入信号,只需要编写END1功能指令。第2级END1命令之后,END2命令之前的顺序程序为第二级程序。第二级程序通常包括机床操作面板、ATC(自动换刀装置)程序等。sequence是“顺序”的意思。在第二级程序上因为有同步输入信号存储器,所以输入脉冲信号时,其信号宽带应大于扫描信号时间。扫描时间显示在PMC诊断画面的标题栏上。第3级END2命令和END3命令之间的程序为第三级程序。第三级程序主要处理低速响应的信号。在编写顺序程序时可选择是否使用第3级程序,本教材不使用第3级。PMC功能-157-子程序将重复执行处理和模块化的程序作为子程序登录。子程序功能指令登录在END3命令和END命令之间。子程序顺序程序,从SP命令开始到SPE命令结束,作为1组。可以登录5000或者512个子程序。不使用第3级时,子程序在END和END2之间进行编辑。顺序程序为附加选择功能,可选择将子程序用梯形图语言或顺序程序任意一种进行记述。在第2级程序中可使用条件调用命令CALL或无条件调用命令CALLU来调用子程序。第1级程序中不能调用子程序。第一级急停超程跳转END1第二级运行转备运行方式切换手动进给手轮进给自动运行MST功能CALL命令信息显示END2子程序SPSPEENDCALLCALLU命令SPP10SPEPMC功能-158-功能指令一览表功能名命令号处理内容定时器TMRSUB3延时定时器(上升沿触发)TMRBSUB24固定延时定时器(上升沿触发)TMRCSUB54延时定时器(上升沿触发)TMRBFSUB77固定延时定时器(下降沿触发)计数器CTRSUB5计数器CTRBSUB56追加计数器CTRCSUB55追加计数器数据传送MOVBSUB431字节数据传送MOVWSUB442字节数据传送MOVDSUB474字节数据传送MOVNSUB45任意字节数据传送MOVESUB8逻辑乘后数据传送MOVORSUB28逻辑加后数据传送XMOVBSUB35二进制变址修改数据传送XMOVSUB18BCD变址修改数据传送数值比较COMPBSUB32二进制数据比较COMPSUB15BCD数据比较COINSUB16BCD一致性判断EQBSUB2001字节长二进制比较(=)EQWSUB2012字节长二进制比较(=)EQDSUB2024字节长二进制比较(=)NEBSUB2031字节长二进制比较(≠)NEWSUB2042字节长二进制比较(≠)NEDSUB2054字节长二进制比较(≠)GTBSUB2061字节长二进制比较(>)GTWSUB2072字节长二进制比较(>)GTDSUB2084字节长二进制比较(>)LTBSUB2091字节长二进制比较(<)LTWSUB2102字节长二进制比较(<)LTDSUB2114字节长二进制比较(<)PMC功能-159-功能名命令号处理内容GEBSUB2121字节长二进制比较(≥)GEWSUB2132字节长二进制比较(≥)GEDSUB2144字节长二进制比较(≥)LEBSUB2151字节长二进制比较(≤)LEWSUB2162字节长二进制比较(≤)LEDSUB2174字节长二进制比较(≤)RNGBSUB2181字节长二进制比较(范围)RNGWSUB2192字节长二进制比较(范围)RNGDSUB2204字节长二进制比较(范围)数据处理DSCHBSUB34二进制数据检索DSCHSUB17BCD数据检索DIFUSUB57上升沿输出DIFDSUB58下降沿输出EORSUB59异或ANDSUB60逻辑乘ORSUB61逻辑和NOTSUB62逻辑非PARISUB11奇偶校验SFTSUB33移位寄存器CODSUB7BCD码变换CODBSUB27二进制码变换DCNVSUB14数据转换DCNVBSUB31扩展数据转换DECSUB4BCD译码DECBSUB25二进制译码演算命令ADDBSUB36二进制加法运算SUBBSUB37二进制减法运算MULBSUB38二进制乘法运算DIVBSUB39二进制除法运算ADDSUB19BCD加法运算SUBSUB20BCD减法运算MULSUB21BCD乘法运算DIVSUB22BCD除法运算NUMEBSUB40二进制常数赋值PMC功能-160-功能名命令号处理内容NUMESUB23BCD常数赋值CNC相关DISPBSUB41信息显示EXINSUB42外部数据输入WINDRSUB51CNC数据读取WINDWSUB52CNC数据写入AXCTLSUB53PMC轴控制指令PSGNLSUB50位置信号PSGN2SUB63位置信号程序控制COMSUB9公共线控制开始COMESUB29公共线控制结束JMPSUB10跳转JMPESUB30跳转结束JMPBSUB68标号跳转1JMPCSUB73标号跳转2LBLSUB69标号CALLSUB65有条件子程序调用CALLUSUB66无条件子程序调用CSSUB74选择调用开始CMSUB75选择子程序调用CESUB76选择调用结束SPSUB71子程序开始SPESUB72子程序结束END1SUB1第1级程序结束END2SUB2第2级程序结束END3SUB48第3级程序结束ENDSUB64程序结束NOPSUB无操作回转控制ROTSUB6BCD回转控制ROTBSUB26二进制回转控制上述功能指令仅为0i-D系统的部分常用功能指令,且均为0i-D系统和0i-MateD系统的标准功能,其余的功能指令详见相关说明书。PMC功能-161-定时器命令延时定时器(上升沿触发):SUB3/TMRACT为1并经过设定的时间后,输出W1为1。时间在PMC参数画面进行设定,所以顺序程序编写完成后,用户也可以变更设定时间。ACT为0后,W1马上变为0。【控制条件】ACT=0:定时器输出W1为0=1:启动定时器【定时器号