序号 |
指令名称 |
功能号 |
功能 |
1 |
CTR |
5 |
计数器 |
2 |
CTRB |
56 |
固定计数器 |
3 |
CTRC |
55 |
计数器 |
1CTR(计数器:SUB 5)
CTR指令实现计数逻辑。预设值和计数值的数据类型既可以是十进制类型,也可以是二进制类型,这个可以通过PMC的系统参数进行设定。
警告:当BCD计数类型的技术器设定的BCD值不正确时,无法保证计数器的移动。
如果改变计数器类型,一定要重新配置预设值和计数值。
该计数器主要的特性如下:
(a) 预设值
当达到预设值(计数最大值)时输出一个信号。能够通过计数器界面或者在梯图中设置预设值。
(b) 环形计数器
达到预设值后,通过再次输入计数信号回到初始值。
(c) 加/减计数器
可以通过参数选择加1计数还是减1计数。
(d) 选择计数初始值
计数初始值可以指定为0或者1。
结合该功能指令可以实现如下图的环形计数器:
此计数器可用于存储转台的位置。
指令格式:
控制条件:
(a) 初始值(CNO)
CNO=0:从0开始进行计数。
CNO=1:从1开始进行计数。
(b) 计数方向(UPDOWN)
UPD=0:加计数器(计数从CNO指定的初始值开始)。
UPD=1:减计数器(计数从预设值开始)。
(c) 重置(RST)
RST=0:非重置状态。
RST=1:重置状态,计数器重置到初始值;W1变为0;累计计数值复位为初始值。
注意:只有当需要复位时才将RST设为1。
(d) 启动条件(ACT)
ACT输入上升沿触发计数器+1。
参数:
(a) 计数器号
计数器号在功能指令中设定,相应的预设值和编码形式则在计数器界面中设定,可以使用的计数器号如下:
1至5路径PMC |
双安检PMC |
||||
Memory-A |
Memory-B |
Memory-B |
Memory-B |
||
计数器号 |
1 至20 |
1至100 |
1至200 |
1至300 |
1至20 |
预设值和累计值得范围如下:
二进制计数器:0~32,767
BCD计数器:0~9,999
警告:如果计数器号有冲突或者超出范围,则操作不可预期。
另外,计数器也可以在PMC参数N610000~N610xxx和参数N615000~N615nnn中进行设定。
输出(W1):
W1=1:加计数(UPD=0)时,计数达到预设值;减计数(UPD=1)时,计数器达到0(CNO=0) 或达到1(CNO=1)。
指令示例:
在计数器界面中设定定时器0001预设值为5,R9091.0为常0信号这样计数的起始值为0,增量计数,当R100.0接收到一个上升沿的时候技术值加1,直到接收到5个上升沿后输出R100.1=1。
2CTRB(固定计数器:SUB 56)
CTRB固定地址定时器与CTR的计数逻辑类似,但CTRB只支持二进制编码形式,该计数器主要特点如下:
(a) 预设值
设定预设值(计数最大值),使计数值达到预设值的时候返回初值并输出信号。
(b) 环形计数器
计数值在初始值和最大值之间环状循环。
(c) 加/减计数器
计数器可以选择时加1计数还是减1计数。
(d) 选择计数初始值
计数初始值可以选着0或者1。
指令格式:
控制条件:
(a) 初始值设定(CNO)
CNO=0:从0开始进行计数。
CNO=1:从1开始进行计数。
(b) 设定计数方向(UPDOWN)
UPD=0:加1计数器(计数初始值由CNO指定)。
UPD=1:减1计数器,从预设值开始进行减计数。
(c) 重置(RST)
RST=0:非重置状态。
RST=1:重置状态,W1重置为0,累计值重置为初始值。
(d) 计数信号(ACT)
ACT=0:计数器不工作,W1不改变。
ACT=1:该信号上升沿计数器工作。
参数:
(a) 计数器号
计数器号在功能指令中设定,相应的预设值在计数器界面中设定,可以使用的计数器号如下:
1至5路径PMC |
双安检PMC |
||||
Memory-A |
Memory-B |
Memory-B |
Memory-B |
||
计数器号 |
1 至20 |
1至100 |
1至200 |
1至300 |
1至20 |
注意:固定地址计数器和C计数器设定的计数器号可以相同,固定地址计数器默认使用地址从C5000号开始。
(b) 预设值
CTRB始终是二进制计数器。系统参数无效。
二进制计数器:0~32,767。
输出(W1):
W1=1:加计数器时,计数达到预设值;减计时器时,计数达到0(CNO=0)或者计数达到1(CNO=1)。
计数范围:
二进制形式:0 至32767。
指令示例:
在PMC梯形图中的计数器参数中写入固定定时器号0001且预设值为5,R9091.0为常0信号这样计数的起始值为0,增量计数,当R100.0接收到一个上升沿的时候计数值加1,直到接收到5个上升沿后输出R100.1=1。
3CTRC(计数器:SUB 55)
该定时器的计数值为二进制编码,其计数逻辑与CTR一样,主要区别在于其使用的预设值和运行寄存器不使用C地址,故在存储空间允许范围内不受计数器总数限制。其主要特点:
(a) 预设值
设定预设值(计数最大值),使计数值达到预设值的时候返回初值并输出信号。
(b) 环形计数器
计数值在初始值和最大值之间环状循环。
(c) 加/减计数器
计数器可以选择加1计数还是减1计数。
(d) 选择计数初始值
计数初始值可以选着0或者1。
指令格式:
控制条件:
(a) 初始值设定(CNO)
CNO=0:从0开始进行计数。
CNO=1:从1开始进行计数。
(b) 设定计数方向(UPDOWN)
UPD=0:加计数器(计数初始值由CNO指定)。
UPD=1:减计数器,从预设值开始进行减计数。
(c) 重置(RST)
RST=0:非重置状态。
RST=1:重置状态,W1重置为0,累计值重置为初始值。
(d) 计数信号(ACT)
ACT=0:计数器不工作,W1不改变。
ACT=1:在该信号上升沿计数器工作。
参数:
(a) 计数器预设值地址
计数器的预设值地址占用连续的2个字节,通常使用D地址。
(b) 计数器运行寄存器地址
该地址在计数器运行的时候占用连续的4个字节,其中前2字节是计数当前值,后两个为工作区,运行时用户不要使用或者访问。
注意:当把R地址指定为计数器寄存器地址时,在上电时计数器的计数值从0开始。
输出(W1):
W1=1:加计数器时,计数达到预设值;减计数器时,计数达到0(CNO=0)或者计数达到1(CNO=1)。
计数范围:
二进制形式:0至32767。
指令示例:
该程序指令预设计值在R1000中设定(此处设定预设值为5),同时制定计数器的工作寄存器为R1002~R1005(其中R1002~1003为当前计数值的地址),R9091.0为常0地址则该指令从0开始增量计数,当R100.0达到5个计数上升沿的时候输出R100.0。
本文转自:FANUC数控技术
相关链接:
问答社区 发起问答 报警查询 技术文章 维修服务 资料下载 加交流群 申请 VIP
本文转载来自【北京FANUC】,仅供大家学习交流,如侵权请联系站长删文。