PMC位操作指令如下:
序号 |
指令名称 |
功能号 |
功能 |
1 |
DIFU |
57 |
上升沿检测 |
2 |
DIFD |
58 |
下降沿检测 |
3 |
EOR |
59 |
逻辑异或 |
4 |
AND |
60 |
逻辑与 |
5 |
OR |
61 |
逻辑或 |
6 |
NOT |
62 |
逻辑非 |
7 |
PARI |
11 |
奇偶校验 |
1DIFU(上升沿检测:SUB 57)
该指令捕捉输入信号的上升沿后,输出信号在一个扫描周期内持续为1。
指令格式:
控制条件:
(a) 输入信号(ACT)
当输入信号出现上升沿(0->1)时,输出线圈置1。
输出:
(a) 输出信号(OUT)
当捕捉到输入信号上升沿后,输出信号将在一个扫描周期内维持输出1。
参数:
上升沿号
1到5路径PMC |
双安检PMC |
||||
Memory-A |
Memory-B |
Memory-B |
Memory-C |
||
上升沿数 |
1至256 |
1至1000 |
1至2000 |
1至3000 |
1至256 |
指令示例:
当R100.0由0变成1时,R110.0=1并维持一个扫描周期后又重新变为0。
2DIFD(下降沿检测:SUB 58)
该指令检测到输入信号的下降沿后,输出信号在一个扫描周期内持续为1。
指令格式:
控制条件:
(a) 输入信号(ACT)
当输入信号出现下降沿(1->0)时,输出线圈置1。
输出:
(a) 输出信号(OUT)
当捕捉到输入信号下降沿后,输出信号将在一个扫描周期内维持输出1。
参数:
下降沿号
1到5路径PMC |
双安检PMC |
||||
Memory-A |
Memory-B |
Memory-B |
Memory-C |
||
下降沿数 |
1至256 |
1至1000 |
1至2000 |
1至3000 |
1至256 |
指令示例:
当R100.0由1变成0时,R110.0=1并维持一个扫描周期后又重新变为0。
3EOR(逻辑异或:SUB 59)
EOR功能指令对地址A中的数据和常数(或地址B的数据)进行异或操作,并将结果输出到地址C中。
当地址A和B地址中有如下数据:
结果为:
指令格式:
控制条件:
(a) 输入信号(ACT)
ACT=0:指令不执行。
ACT=1:指令执行。
参数:
(a) 格式指定
指定数据的长度(1、2、4字节)与输入数据格式(常数或者地址)
(b) 地址A
指定进行异或的第一个数据的地址。
(c) 地址B/常数
指定进行异或的第二个地址或者常数。
(d) 地址C
指定用于储存异或操作结果的地址。
指令示例:
该程序指令中参数1001表示该程序处理1字节二进制数异或运算,操作数由地址形式给出。R1000为输入数据地址,设输入数据为10110110;R1010为另一操作数的地址,设为11101110
R1020为计算结果输出地址,当R100.0为1时结果输出如下:
R1000 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
R1010 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
R1020 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
4AND(逻辑与:SUB 60)
AND功能指令对地址A中的数据和常数(或地址B的数据)进行与操作,得到的结果输出到地址C中。
当地址A和地址B保存有如下数值时:
运算结果如下:
指令格式:
控制条件:
(a) 输入信号(ACT)
ACT=0:指令不执行。
ACT=1:指令执行。
参数:
(a) 格式指定
指定数据的长度(1、2、4字节)和输入数据格式(常数或者地址)。
(b) 地址A
进行与操作的数据地址A。
(c) 地址B/常数
进行与操作的数据地址B或者常数。
(d) 地址C
该地址用于储存与操作的结果。
指令示例:
该程序指令中参数1001表示该程序处理1字节二进制数异或运算,操作数由地址形式给出。R1000为输入数据地址,设输入数据为10110111;R1010为另一操作数的地址,设为11101111,R1020为计算结果输出地址,当R100.0为1时结果输出如下:
R1000 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
R1010 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
R1020 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
5OR(逻辑或:SUB 61)
OR功能指令对地址A中的数据和常数(或地址B中的数据)进行或操作,得到的结果输出到地址C中。
当地址A和地址B保存有如下数值时:
运算结果如下:
指令格式:
控制条件:
(a) 输入信号(ACT)
ACT=0:指令不执行。
ACT=1:指令执行。
参数:
(a) 格式指定
指定数据的长度(1、2、4字节)和输入数据格式(常数或者地址)。
(b) 地址A
进行或操作的数据地址A。
(c) 常数或地址B
进行或操作的数据B地址或常数。
(d) 运算结果输出地址
该地址用于储存或操作的结果。
指令示例:
该程序指令中参数1001表示该程序处理1字节二进制数或运算,操作数由地址形式给出。R1000为输入数据地址,设输入数据为10110111;R1010为另一操作数的地址,设为11101111,
R1020为计算结果输出地址,当R100.0为1时结果输出如下:
R1000 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
R1010 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
R1020 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
6NOT(逻辑非:SUB 62)
NOT功能指令对地址A中的数据的每一位取反,并将结果输出至地址B中。
当地址A中有下列数据时:
运算结果如下:
指令格式:
控制条件:
(a) 输入信号(ACT)
ACT=0:指令不执行。
ACT=1:指令执行。
参数:
(a) 格式指定
指定数据的长度(1、2、4字节)。
(b) 地址A
被逐位取反的输入数据地址A。
(c) 地址B
该地址用于储存取反操作的结果。
指令示例:
该程序指令中参数0001表示该程序处理1字节二进制数异或运算。R1000为输入数据地址,设输入数据为10110111。R1010为计算结果输出地址,当R100.0为1时结果输出如下:
R1000 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
R1010 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
7PARI(奇偶校验:SUB 11)
PARI功能指令检测操作数,如检测出奇偶校验异常将输出错误信号,可以通过参数选择是奇校验还是偶校验并且只能提供1字节的校验能力。
指令格式:
控制条件:
(a) 指定校验的类型(O.E)
O.E=1:奇校验。
O.E=0:偶校验。
(b) 重置(RST)
RST=0:不进行重置。
RST=1:使W1输出为0,即使当奇偶校验出现错误时,W1也复位变为0。
(c) 执行指令(ACT)
ACT=0:不执行指令。
ACT=1:指令执行。
参数:
(a) 校验数据地址
被校验的数据地址。
(b) 输出(W1)
如果检测出现异常,输出W1=1。
指令示例:
该程序程序指令中R9091.0为常0信号,则该指令将进行偶校验操作,操作数的地址为R1000,设该操作数为10011101,则当R100.0为1时进行校验,操作数中为1的位数为5个,则偶校验错误输出R110.0=1。
本文转自:FANUC数控技术
相关链接:
问答社区 发起问答 报警查询 技术文章 维修服务 资料下载 加交流群 申请 VIP
本文转载来自【北京FANUC】,仅供大家学习交流,如侵权请联系站长删文。