高速计数器控制指令

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
高速计数器控制指令
高速计数器概述 高速计数器的计数功能 高速计数器的中断功能 高速计数器控制指令
一、 高速计数器概述
CPM1A系列 系列PLC设置了高频脉冲输入点, 设置了高频脉冲输入点, 系列 设置了高频脉冲输入点 配合相关指令及必要的设定, 配合相关指令及必要的设定,可以对高频 脉冲进行处理。 脉冲进行处理。 CPM1A系列 系列PLC的高频脉冲输入点是 系列 的高频脉冲输入点是 00000~00002。 。 可以用高速计数器对高频脉冲进行计数。 可以用高速计数器对高频脉冲进行计数。 可以用高速计数器实现中断处理。 可以用高速计数器实现中断处理。
5.高速计数器的当前值存储区 .
系列PLC,高速计数器的当前值 对CPM1A系列 系列 , 存放在SR248和SR249中。 存放在 和 中 SR248存放低 位, SR249存放高 位。 存放低4位 存放高4位 存放低 存放高 在高速计数器执行高速计数操作后, 在高速计数器执行高速计数操作后,可以 利用指令从SR248和SR249中读出其当前值, 中读出其当前值, 利用指令从 和 中读出其当前值 也可以利用指令更改其当前值。 也可以利用指令更改其当前值。
( 00:不使用;01:使用 :不使用; :使用)
例如: 例如:DM6642的内容为 # 0114 的内容为
使用高速 计数器 软件复位 递增计数
Leabharlann Baidu
4. 高速计数器的溢出
当高速计数器计数时: 当高速计数器计数时: 若从上限值开始进行递增计数就会发生上溢出, 若从上限值开始进行递增计数就会发生上溢出,其当 递增计数就会发生上溢出 前值为0FFF FFFF; 前值为 ; 若从下限开始进行递减计数就会发生下溢出,其当前 若从下限开始进行递减计数就会发生下溢出, 递减计数就会发生下溢出 值为FFFF FFFF 。 值为 发生溢出时计数器停止计数。 发生溢出时计数器停止计数。 重新复位高速计数器时,将清除溢出状态。 重新复位高速计数器时,将清除溢出状态。
(2) 增减计数模式
在增减计数时可使用旋转编码器。 在增减计数时可使用旋转编码器。旋转编码器 相脉冲接00000 输入点,B 相脉冲接 输入点, 相脉冲接00001 的A 相脉冲接 输入点,复位Z信号接在 信号接在00002输入点。 输入点。 输入点,复位 信号接在 输入点 递增计数: 相超前B相 ° 递增计数:当A相超前 相90°时,在A、B相 相超前 、 相 脉冲的前沿,计数器的当前值加1。 脉冲的前沿,计数器的当前值加1。 递减计数: 相超前A相 ° 递减计数:当B相超前 相90°时,在A、B相 相超前 、 相 脉冲的前沿,计数器的当前值减1。 脉冲的前沿,计数器的当前值减 。 增减计数的最高计数频率是2.5 增减计数的最高计数频率是 KHz,计数范围 , 是-32767~+32767(F0007FFF~00007FFF,第 ~ ( ~ , 一位的F表示负数 表示负数)。 一位的 表示负数)。
旋转编码器
高频脉冲可来源于控制现场,也可由旋转编码器提供。 高频脉冲可来源于控制现场,也可由旋转编码器提供。 一种旋转编码器与PLC的连接示意图 的连接示意图 一种旋转编码器与
-DC24V +
COM
旋转编码器
A相 相 +DC24V -
CPM1A PLC
00000 00001 B相 相 00002 Z相 相
操作模式控制指令
INI (61) P C P1 @ INI (61) P C P1 INI(61) P C P1
@INI(61)
P C P1
P:端口定义(000) C:控制数据 :端口定义( ) :
P1 :设定值首通道
C的含义 的含义 000:启动CTBL定义的比较表(P1固定为 :启动 定义的比较表( 固定为 固定为000)。 定义的比较表 )。 001:停止 定义的比较表( 固定为 固定为000)。 :停止CTBL定义的比较表(P1固定为 定义的比较表 )。 002:更新高速计数器的当前值。 :更新高速计数器的当前值。 传送到IR248和249中,作 将P1+1(高4位)、 P1 (低4位)传送到 高 位、 低 位 传送到 和 中 为高速计数器的新当前值。 为高速计数器的新当前值。 003:停止脉冲输出(P1固定为 固定为000)。 :停止脉冲输出( 固定为 )。
最多放16 最多放 个目标
在高速计数器计数过程中,若其当前值与比较表中某 在高速计数器计数过程中, 个目标值相同时, 个目标值相同时,则停止执行主程序而转去执行与该 目标值对应的子程序。 目标值对应的子程序。 子程序执行完毕,返回到断点处继续执行主程序。 子程序执行完毕,返回到断点处继续执行主程序。
使用高速计数器举例
登录比较表、 登录比较表、 启动比较
25315
CTBL(63)
高速计数器目标值比较中断
比较表 首地址 软件 复位
00002 5000 0000 0010 0000 0002 0011 2个目标值 目标值1 目标值1:5000 子程序号 目标值2 目标值2:20000 子程序号
000 000 DM0000 00100 25200 SBN (92) 010 25313 @MOV #5000 HR00 RET (93)
3.使用高速计数器时的设定 .
使用高速计数器前必须进行必要的设定, 使用高速计数器前必须进行必要的设定 , 否则 使用无效。 使用无效。 系列PLC,设定值写入 对CPM1A系列 系列 ,设定值写入DM6642中。 中 用设定值确定高速计数器功能是否使用、 用设定值确定高速计数器功能是否使用 、 复位 方式、计数模式等。 方式、计数模式等。 不能用程序写入设定值(用编程工具) 不能用程序写入设定值(用编程工具)。
三、高速计数器控制指令
比较表登录指令
CTBL (63) P C TB @ CTBL (63) P C TB
CTBL (63) @CTBL(63)
P C TB
P C
TB
P:端口定义(000) C:控制数据 :端口定义( ) :
TB :比较表首通道
C的含义 的含义 000:登录一个目标值比较表,并启动比较。 :登录一个目标值比较表,并启动比较。 001:登录一个区域比较表,并启动比较。 :登录一个区域比较表,并启动比较。 002:登录一个目标值比较表,用指令 :登录一个目标值比较表,用指令INI启动比较 启动比较 003:登录一个区域比较表, 用指令 :登录一个区域比较表, 用指令INI启动比较 启动比较
COM
各种脉冲信号的波形
单相 脉冲
1 2 3 4 计数脉冲
A超前 超前B 超前
A滞后 滞后B 滞后
两相 相 脉冲 B相
A相 A相
1 2 3 4 5
6 7 8
7 6 5 4 3
2 1
0
递增计数脉冲
递减计数脉冲
有的旋转编码器可提供三相脉冲, 有的旋转编码器可提供三相脉冲,即A、B、Z相。 、 、 相
二、高速计数器的计数功能
读出当前值指令
PRV (62) P C D @ PRV (62) P C D
PRV (62) @PRV(62)
P C D
P C D
P:端口定义(000) C:控制数据(000) D: P:端口定义(000) C:控制数据(000) D:目的首通道
读出的当前值低4位放在 , 位放在D+1中。 读出的当前值低 位放在D, 高4位放在 位放在 位放在 中 配合上述各指令,可以编写使用高速计数器的程序。 配合上述各指令,可以编写使用高速计数器的程序。
高速计数器的设定
通道号 位号 00 ~ 03 DM6642 04 ~ 07 08 ~ 15 各位数字的含义 计数模式 ( 4:递增计数 0:增减计数) : :增减计数 复位方式设定
( 0:Z信号 + 软件复位; 1:软件复位) : 信号 软件复位; :软件复位
高速计数器使用/不使用 高速计数器使用/不使用
Z信号 信号 00002 25200 复位 Ts 复位
(2) 软件复位
一个扫描周期后高速计数器复位。 当25200 ON一个扫描周期后高速计数器复位。 一个扫描周期后高速计数器复位
25200 Ts 复位
另外, 断电再上电时高速计数器自动复位。 另外,当PLC断电再上电时高速计数器自动复位。 断电再上电时高速计数器自动复位
SBN(92) 011 25313 @CMP HR 00 HR10 25505 01101 RET (93) END (01)
比较表首地址DM0000 比较表首地址
中断处理子程序也要放在主程序之后、 之前。 中断处理子程序也要放在主程序之后、END之前。 之前
2.高速计数器的区域比较中断 .
采取区域比较中断时要建立一个区域比较表
区 域 比较表
TB TB+1 TB+1 TB+2 TB+2 TB+3 TB+3 TB+4 TB+4 TB+5 TB+5 TB+6 TB+6 TB+7 TB+7 TB+8 TB+8 TB+9 TB+9 …… 下限值1 下限值1低4位 下限值1 下限值1高4位 区域1 区域1 上限值1 上限值1低4位 上限值1 上限值1高4位 中断处理子程序号 下限值2 下限值2低4位 下限值2 下限值2高4位 上限值2 上限值2低4位 区域2 区域2 上限值2 上限值2高4位 中断处理子程序号 ……
比较表分8 比较表分 个区域 每个区占5 每个区占 个通道
表中数据可 预先写入
当实际使用的区域不满8个时,要把其余存放上、 当实际使用的区域不满 个时,要把其余存放上、下 个时 限值的通道都置为0, 限值的通道都置为 ,将存放子程序号的通道都置为 FFFF。 。
区域比较中断的执行过程
若高速计数器的当前值落在比较表中某个区域时 计数器PV值 上限值 上限值) (下限值 ≤计数器 值≤上限值) ,则停止执行主 计数器 程序而转去执行与该区域对应的中断子程序。 程序而转去执行与该区域对应的中断子程序。子程 序执行完毕,返回到断点处继续执行主程序。 序执行完毕,返回到断点处继续执行主程序。 执行区域比较中断时,比较结果存放在 执行区域比较中断时,比较结果存放在AR1100~ ~ AR1107中。 中 例如,当计数器的当前值落在比较表的区域 中时 中时, 例如,当计数器的当前值落在比较表的区域1中时, AR1100置为 ,当计数器的当前值落在比较表的 置为ON, 置为 区域2中时 中时, 置为ON等 区域 中时,AR1101置为 等。 置为
二、高速计数器的中断功能
高速计数器中断功能有两种模式
目标值比较中断模式 区 域比较中断模式
1.高速计数器的目标值比较中断 .
采取目标值比较中断时, 采取目标值比较中断时,要建立一个目标值比较表
目标值 比较表 表中数据可 预先写入
TB TB+1 TB+1 TB+2 TB+2 TB+3 TB+3 TB+4 TB+4 TB+5 TB+5 TB+6 TB+6 …… 目标值的个数 目标值1 目标值1低4位 目标值1高4位 目标值1 目标1 目标1 中断处理子程序号 目标值2 目标值2低4位 目标值2 目标值2高4位 目标2 目标2 中断处理子程序号 ……
高速计数器的计数模式 高速计数器的复位方式 使用高速计数器时的设定 高速计数器的溢出 计数器当前值的存储区
1. 高速计数器的计数模式
(1) 递增计数模式
高频脉冲由PLC的00000输入点输入,在输入计 的 输入点输入, 高频脉冲由 输入点输入 数脉冲的前沿,高速计数器的当前值加1。 数脉冲的前沿,高速计数器的当前值加 。 最高计数频率是5 最高计数频率是 KHz,计数范围是 ~65535 ,计数范围是0~ (00000000~0000FFFF) ~ )
2.高速计数器的复位方式 . 高速计数器复位时,其当前值为 。 高速计数器复位时,其当前值为0。 (1) Z信号 + 软件复位 信号
若高速计数器的复位标志位25200先ON时,在复位 ① 若高速计数器的复位标志位 先 时 Z信号 的前沿时刻,高速计数器复位; 信号ON的前沿时刻 高速计数器复位; 的前沿时刻, 信号 若复位Z信号先 信号先ON时 ON后一个扫描周期 ②若复位Z信号先ON时,在25200 ON后一个扫描周期 高速计数器复位。 是扫描周期 是扫描周期。 时,高速计数器复位。 Ts是扫描周期。
相关文档
最新文档