分享

FANUC PMC设计与编程-功能指令篇及举例

 马话城 2020-04-08

1.结束指令

(1)一级程序结束

一级程序主要处理急停、跳转、超程等紧急动作;不使用一级程序时,只编写END1命令

(2)二级程序结束

编写普通的顺序程序

2.定时器指令

(1)延时定时器:SUB3/TMR

延时定时器的延时时间取决于在定时器设定画面,设定的时间和精度

说明:

a、对于1-8号定时器,设定时间的单位为48ms,少于48ms将被舍弃;

b、对于9-40号定时器,设定时间单位为8ms,余数都被忽略,如果设置38ms,余数为6,(38=8*4+6),其实设计设置的值为32ms。

c、定时器号不能重复,否则动作无法预料。

(2)固定延时定时器:SUB24/TMRB

固定延时定时器设定时间是固定的延时时间,在功能指令的参数中指定。

3.计数器指令

该计数器是进行加/减的环形计数器

CN0=0:从0开始计数;  CN0=1:从1开始计数。

UPD=0:加计数; UPD=1:减计数。

复位:加计数根据设定复位为0或1,减计数复位为预置值

4.数据传送指令

把数据从指令的传出位置的首地址传送到到传入位置的首地址。

SUB43/MOVB:1字节数据传送

SUB44/MOVW:2字节数据传送

SUB47/MOVD:4字节数据传送

SUB45/MOVN:任意字节传送

5.上升沿输出及下降沿输出:SUB57/DIFU     SUB58/DIFD

注意:前沿检测号与后沿检测号不能重复,否则无法正确检测。

6.互锁,联锁,自锁

互锁: 梯形图中,将Y0.0和Y0.1的常闭触点分别与对方的线圈串联,可以保证它们不会同时为ON,因此两个线圈不会同时通电;

按钮联锁:将反转起动按钮控制的X0.1的常闭触点与控制正转的Y0.0的线圈串联,将正转起动按钮控制的X0.0的常闭触点与控制反转的Y0.1的线圈串联。

7.逻辑与指令 SUB60/AND

该指令用于将指定的2种数据进行逻辑与运算,并输出。

R100:  1 1 1 0 0 0 1 1

           0 1 0 1 0 1 0 1     (85)

R102:  0 1 0 0 0 0 0 1

运算原则:同1则为1,其他都为0.

8.逻辑或指令  SUB61/OR

该指令用于指定的2种数据进行逻辑或运算,并输出。

R100: 1 1 1 0 0 0 1 1

          0 1 0 1 0 1 0 1     (85)

R102: 1 1 1 1 0 1 1 1

运算原则:有1则为1,同0则为0.

9.逻辑非指令 SUB62/NOT

该指令用于将指定地址中的数据进行逻辑非运算,并输出。

R100: 1 1 1 0 0 0 1 1

R102: 0 0 0 1 1 1 0 0

运算原则:对原地址取反。

10.BCD数据检索指令 SUB17/DSCH

BCD数据检索指令仅适用于PMC的数据表,用于在数据表中检索指令的数据,并输出其表内号,如未找到指定数据,则输出W1为1.

当X0.0接通时,从D100开始在长度为5个单元的数据表中依次检索F18中存储的值,并将检索到的数据的表内号写入R100中。

运算结果: F18=17时,R100=2

注解:BCD码

用4位二进制数来表示1位十进制数中的0~9这10个数码。 BCD码可分为有权码和无权码两类:有权BCD码有8421码、2421码、5421码,其中8421码是最常用的;

8421 BCD码是最基本和最常用的BCD码,它和四位自然二进制码相似,各位的权值为8、4、2、1,故称为有权BCD码。和四位自然二进制码不同的是,它只选用了四位二进制码中前10组代码,即用0000~1001分别代表它所对应的十进制数,余下的六组代码不用。

11.BCD加法运算指令  SUB19/ADD

该指令用于两位或四位BCD数据的加法运算。

BYT=0:处理数据为两位BCD数据;

BYT=1:处理数据为四位BCD数据;

加法运算格式=0:加数为常数;

加法运算格式=1:加数用地址指定;

Y0.0:在加法运算中,当运算结果超出指定的数据长度时,为1.

12.二进制加法运算  SUB36/ADDB

13.BCD减法运算指令  SUB20/SUB

该指令用于两位或四位BCD数据的减法运算

BYT=0:处理数据为两位BCD数据;

BYT=1:处理数据为四位BCD数据;

加法运算格式=0:减数为常数;

加法运算格式=1:减数用地址指定;

Y0.0:在减法运算中,当运算结果超出指定的数据长度时,为1.

14.二进制常数定义指令 SUB40/NUMEB

该指令用于1、2、4字节二进制常数的定义。

数据长度:指定二进制常数的长度(1.2.4字节)

常数:用十进制指定常数

常数输出地址:定义二进制常数输出的首地址。

R100(12)= 0 0 0 0 1 1 0 0

15.BCD常数定义指令  SUB23/NUME

该指令用于两位或四位BCD常数的定义

BYT=0:处理数据为两位BCD数据;

BYT=1:处理数据为四位BCD数据。

R100(12)= 0 0 0 1 0 0 1 0

16.调用子程序

(1) 条件调用 SUB65/CALL:条件X0.4接通时调用子程序P13

(2) 无条件调用 SUB66/CALLU

17.跳转指令  SUB68/JMPB

功能指令JMPB立即将控制转移至设置在梯形图程序中的

JMPB  12标号后的程序。

多条跳转指令可使用同一标号,

跳转指令可以嵌套                                 

LBL  12

18.简单举例应用

编一个程序实现:长按2s按键X28.0,灯Y28.0打开,再按一下关。并且用一个加法统计总共开启了多少次。

程序如下:

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多