当前位置: 首页 > 资讯

高效操作 | PMC功能指令详解(二)计数器篇

FANUC数控技术       2017-06-09

计数器指令能够对输入的某种状态变化(一般是上升沿)进行计数,并在达到计数预设值时输出相应的信号, PMC中包含的计数器指令如下表。

高效操作 | PMC功能指令详解(二)计数器篇

1.CTR(计数器:SUB 5)

CTR指令实现计数逻辑。预设值和计数值的数据类型既可以是十进制类型,也可以是二进制类型,这个可以通过PMC的系统参数进行设定。

警告:

当BCD计数类型的技术器设定的BCD值不正确时,无法保证计数器的移动。

如果改变计数器类型,一定要重新配置预设值和计数值。

该计数器主要的特性如下:

(a) 预设值

当达到预设值(计数最大值)时输出一个信号。能够通过计数器界面或者在梯图中设置预设值。

(b) 环形计数器

达到预设值后,通过再次输入计数信号回到初始值。

(c) 加/减计数器

可以通过参数选择加1计数还是减1计数。

(d) 选择计数初始值

计数初始值可以指定为0或者1。

结合该功能指令可以实现如下图的环形计数器:

高效操作 | PMC功能指令详解(二)计数器篇

此计数器可用于存储转台的位置。

指令格式:

高效操作 | PMC功能指令详解(二)计数器篇

控制条件:

(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。

高效操作 | PMC功能指令详解(二)计数器篇

参数:

(a) 计数器号

计数器号在功能指令中设定,相应的预设值和编码形式则在计数器界面中设定,可以使用的计数器号如下:

高效操作 | PMC功能指令详解(二)计数器篇

预设值和累计值得范围如下:

二进制计数器: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)。

指令示例:

高效操作 | PMC功能指令详解(二)计数器篇

在计数器界面中设定定时器0001预设值为5,R9091.0为常0信号这样计数的起始值为0,增量计数,当R100.0接收到一个上升沿的时候技术值加1,直到接收到5个上升沿后输出R100.1=1。

2.CTRB(固定计数器:SUB 56)

CTRB固定地址定时器与CTR的计数逻辑类似,但CTRB只支持二进制编码形式,该计数器主要特点如下:

(a) 预设值

设定预设值(计数最大值),使计数值达到预设值的时候返回初值并输出信号。

(b) 环形计数器

计数值在初始值和最大值之间环状循环。

(c) 加/减计数器

计数器可以选择时加1计数还是减1计数。

(d) 选择计数初始值

计数初始值可以选着0或者1。

指令格式:

高效操作 | PMC功能指令详解(二)计数器篇

控制条件:

(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:该信号上升沿计数器工作。

高效操作 | PMC功能指令详解(二)计数器篇

参数:

(a) 计数器号

计数器号在功能指令中设定,相应的预设值在计数器界面中设定,可以使用的计数器号如下:

高效操作 | PMC功能指令详解(二)计数器篇


注意:固定地址计数器和C计数器设定的计数器号可以相同,固定地址计数器默认使用地址从C5000号开始。

(b) 预设值

CTRB始终是二进制计数器。系统参数无效。

二进制计数器:0~32,767。

输出(W1):

W1=1:加计数器时,计数达到预设值;减计时器时,计数达到0(CNO=0)或者计数达到1(CNO=1)。

计数范围:

二进制形式:0 至32767。

指令示例:

高效操作 | PMC功能指令详解(二)计数器篇

在PMC梯形图中的计数器参数中写入固定定时器号0001且预设值为5,R9091.0为常0信号这样计数的起始值为0,增量计数,当R100.0接收到一个上升沿的时候计数值加1,直到接收到5个上升沿后输出R100.1=1。

3.CTRC(计数器:SUB 55)

该定时器的计数值为二进制编码,其计数逻辑与CTR一样,主要区别在于其使用的预设值和运行寄存器不使用C地址,故在存储空间允许范围内不受计数器总数限制。其主要特点:

(a) 预设值

设定预设值(计数最大值),使计数值达到预设值的时候返回初值并输出信号。

(b) 环形计数器

计数值在初始值和最大值之间环状循环。

(c) 加/减计数器

计数器可以选择加1计数还是减1计数。

(d) 选择计数初始值

计数初始值可以选着0或者1。

指令格式:

高效操作 | PMC功能指令详解(二)计数器篇

控制条件:

(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:在该信号上升沿计数器工作。

高效操作 | PMC功能指令详解(二)计数器篇

参数:

(a) 计数器预设值地址

计数器的预设值地址占用连续的2个字节,通常使用D地址。

(b) 计数器运行寄存器地址

该地址在计数器运行的时候占用连续的4个字节,其中前2字节是计数当前值,后两个为工作区,运行时用户不要使用或者访问。

高效操作 | PMC功能指令详解(二)计数器篇


注意:当把R地址指定为计数器寄存器地址时,在上电时计数器的计数值从0开始。

输出(W1):

W1=1:加计数器时,计数达到预设值;减计数器时,计数达到0(CNO=0)或者计数达到1(CNO=1)。

计数范围:

二进制形式:0至32767。

指令示例:

高效操作 | PMC功能指令详解(二)计数器篇

该程序指令预设计值在R1000中设定(此处设定预设值为5),同时制定计数器的工作寄存器为R1002~R1005(其中R1002~1003为当前计数值的地址),R9091.0为常0地址则该指令从0开始增量计数,当R100.0达到5个计数上升沿的时候输出R100.0。