高速计数器控制指令_第1页
高速计数器控制指令_第2页
高速计数器控制指令_第3页
高速计数器控制指令_第4页
高速计数器控制指令_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

高速计数器控制指令第一页,共二十九页,2022年,8月28日高速计数器控制指令高速计数器概述高速计数器控制指令高速计数器的计数功能高速计数器的中断功能第二页,共二十九页,2022年,8月28日CPM1A系列PLC设置了高频脉冲输入点,配合相关指令及必要的设定,可以对高频脉冲进行处理。可以用高速计数器对高频脉冲进行计数。可以用高速计数器实现中断处理。一、高速计数器概述

CPM1A系列PLC的高频脉冲输入点是00000~00002。第三页,共二十九页,2022年,8月28日高频脉冲可来源于控制现场,也可由旋转编码器提供。旋转编码器一种旋转编码器与PLC的连接示意图000000000100002CPM1APLCDC24V+-COM-DC24V+A相B相Z相COM旋转编码器第四页,共二十九页,2022年,8月28日两相脉冲单相脉冲计数脉冲

1234递增计数脉冲递减计数脉冲A相B相

1234567876543210有的旋转编码器可提供三相脉冲,即A、B、Z相。

各种脉冲信号的波形A超前BA滞后B第五页,共二十九页,2022年,8月28日二、高速计数器的计数功能高速计数器的计数模式计数器当前值的存储区高速计数器的复位方式使用高速计数器时的设定高速计数器的溢出第六页,共二十九页,2022年,8月28日

1.高速计数器的计数模式高频脉冲由PLC的00000输入点输入,在输入计数脉冲的前沿,高速计数器的当前值加1。

(1)递增计数模式最高计数频率是5KHz,计数范围是0~65535(00000000~0000FFFF)

第七页,共二十九页,2022年,8月28日增减计数的最高计数频率是2.5KHz,计数范围是-32767~+32767(F0007FFF~00007FFF,第一位的F表示负数)。

(2)增减计数模式在增减计数时可使用旋转编码器。旋转编码器的A相脉冲接00000输入点,B相脉冲接00001输入点,复位Z信号接在00002输入点。递增计数:当A相超前B相90°时,在A、B相脉冲的前沿,计数器的当前值加1。递减计数:当B相超前A相90°时,在A、B相脉冲的前沿,计数器的当前值减1。第八页,共二十九页,2022年,8月28日

2.高速计数器的复位方式高速计数器复位时,其当前值为0。①若高速计数器的复位标志位25200先ON时,在复位Z信号ON的前沿时刻,高速计数器复位;②若复位Z信号先ON时,在25200ON后一个扫描周期时,高速计数器复位。Ts是扫描周期。

25200复位Z信号00002Ts复位(1)

Z信号+软件复位第九页,共二十九页,2022年,8月28日Ts复位25200(2)

软件复位当25200ON一个扫描周期后高速计数器复位。另外,当PLC断电再上电时高速计数器自动复位。第十页,共二十九页,2022年,8月28日

3.使用高速计数器时的设定使用高速计数器前必须进行必要的设定,否则使用无效。对CPM1A系列PLC,设定值写入DM6642中。不能用程序写入设定值(用编程工具)。用设定值确定高速计数器功能是否使用、复位方式、计数模式等。第十一页,共二十九页,2022年,8月28日高速计数器的设定位号

DM664200~0304~0708~15通道号复位方式设定(0:Z信号+软件复位;1:软件复位)高速计数器使用/不使用(00:不使用;01:使用)计数模式(4:递增计数0:增减计数)各位数字的含义例如:DM6642的内容为#0114使用高速计数器软件复位递增计数第十二页,共二十九页,2022年,8月28日

4.高速计数器的溢出当高速计数器计数时:若从下限开始进行递减计数就会发生下溢出,其当前值为FFFFFFFF。重新复位高速计数器时,将清除溢出状态。若从上限值开始进行递增计数就会发生上溢出,其当前值为0FFFFFFF;发生溢出时计数器停止计数。第十三页,共二十九页,2022年,8月28日

5.高速计数器的当前值存储区对CPM1A系列PLC,高速计数器的当前值存放在SR248和SR249中。在高速计数器执行高速计数操作后,可以利用指令从SR248和SR249中读出其当前值,也可以利用指令更改其当前值。SR248存放低4位,SR249存放高4位。第十四页,共二十九页,2022年,8月28日二、高速计数器的中断功能高速计数器中断功能有两种模式区域比较中断模式目标值比较中断模式第十五页,共二十九页,2022年,8月28日

1.高速计数器的目标值比较中断最多放16个目标采取目标值比较中断时,要建立一个目标值比较表目标1TBTB+1TB+2TB+3TB+4TB+5TB+6目标值的个数目标值1低4位目标值1高4位中断处理子程序号目标值2低4位目标值2高4位中断处理子程序号目标值比较表…………目标2在高速计数器计数过程中,若其当前值与比较表中某个目标值相同时,则停止执行主程序而转去执行与该目标值对应的子程序。表中数据可预先写入子程序执行完毕,返回到断点处继续执行主程序。第十六页,共二十九页,2022年,8月28日

2.高速计数器的区域比较中断采取区域比较中断时要建立一个区域比较表TBTB+1TB+2TB+3TB+4TB+5TB+6下限值1低4位下限值1高4位上限值1低4位上限值1高4位中断处理子程序号下限值2低4位中断处理子程序号区域比较表…………下限值2高4位TB+7TB+8TB+9上限值2高4位上限值2低4位区域1区域2每个区占5个通道比较表分8个区域表中数据可预先写入当实际使用的区域不满8个时,要把其余存放上、下限值的通道都置为0,将存放子程序号的通道都置为FFFF。第十七页,共二十九页,2022年,8月28日区域比较中断的执行过程若高速计数器的当前值落在比较表中某个区域时(下限值≤计数器PV值≤上限值),则停止执行主程序而转去执行与该区域对应的中断子程序。子程序执行完毕,返回到断点处继续执行主程序。执行区域比较中断时,比较结果存放在AR1100~AR1107中。例如,当计数器的当前值落在比较表的区域1中时,AR1100置为ON,当计数器的当前值落在比较表的区域2中时,AR1101置为ON等。第十八页,共二十九页,2022年,8月28日三、高速计数器控制指令CTBL(63)PCTB@CTBL(63)PCTB

CTBL(63)

P

C

TB

@CTBL(63)

P

C

TBP:端口定义(000)C:控制数据TB:比较表首通道C的含义比较表登录指令000:登录一个目标值比较表,并启动比较。001:登录一个区域比较表,并启动比较。002:登录一个目标值比较表,用指令INI启动比较003:登录一个区域比较表,用指令INI启动比较第十九页,共二十九页,2022年,8月28日

INI(61)PCP1@INI(61)PCP1

INI(61)

P

C

P1

@INI(61)

P

C

P1P:端口定义(000)C:控制数据P1:设定值首通道C的含义操作模式控制指令000:启动CTBL定义的比较表(P1固定为000)。001:停止CTBL定义的比较表(P1固定为000)。002:更新高速计数器的当前值。将P1+1(高4位)、P1(低4位)传送到IR248和249中,作为高速计数器的新当前值。003:停止脉冲输出(P1固定为000)。第二十页,共二十九页,2022年,8月28日PRV(62)PCD@PRV(62)PCD

PRV(62)

P

C

D

@PRV(62)

P

C

DP:端口定义(000)C:控制数据(000)D:目的首通道读出当前值指令读出的当前值低4位放在D,高4位放在D+1中。配合上述各指令,可以编写使用高速计数器的程序。第二十一页,共二十九页,2022年,8月28日高速计数器目标值比较中断使用高速计数器举例@MOV#5000HR00CTBL(63)

000000DM0000

SBN(92)010

RET(93)25315253132520000100

SBN(92)011@CMPHR00HR10

RET(93)

END(01)011012531325505000025000000000100000000200112个目标值目标值1:5000子程序号目标值2:20000子程序号比较表首地址DM0000中断处理子程序也要放在主程序之后、END之前。登录比较表、启动比较比较表首地址软件复位第二十二页,共二十九页,2022年,8月28日设DM6642的内容为#0104——表示使用高速计数器、递增计数、Z信号+软复位。若高速计数器的当前值等于目标值1时,中断主程序而执行010号中断子程序:把#5000传送到HR00中。子程序执行完毕返回断点处继续执行主程序。@MOV#5000HR00CTBL(63)

000000DM0000

SBN(92)010

RET(93)25315253132520000100

SBN(92)011@CMPHR00HR10

RET(93)

END(01)011012531325505000025000000000100000000200112个目标值目标值1:5000子程序号目标值2:20000子程序号比较表首地址DM0000第二十三页,共二十九页,2022年,8月28日若高速计数器的当前值等于目标值2时,中断主程序而执行011号中断子程序:将HR00与HR10中的内容进行一次比较,若HR00的内容大于HR10时,01101为ON。子程序执行完毕返回断点处继续执行主程序。若00100ON且有Z信号时,高速计数器复位。@MOV#5000HR00CTBL(63)

000000DM0000

SBN(92)010

RET(93)25315253132520000100

SBN(92)011@CMPHR00HR10

RET(93)

END(01)011012531325505000025000000000100000000200112个目标值目标值1:5000子程序号目标值2:20000子程序号比较表首地址DM0000第二十四页,共二十九页,2022年,8月28日高速计数器区域比较中断使用高速计数器举例CTBL(61)000003DM000025315

INI(61)000002HR00@INI(61)00000000000005XFER(70)#0002248HR0025313PRV(62)000000LR0025313

SBN(92)000子程序000

REN(93)

SBN(92)001子程序001

RET(93)

END(01)25200001001500000030000000000075000000下限1:1500上限1:3000子程序号子程序号000000010001下限2:7500上限2:10000没用的区域登录比较表、用INI启动比较表首地址更新当前值启动比较将248、249内容传送到HR00、HR01。读出当前值第二十五页,共二十九页,2022年,8月28日CTBL(61)000003DM000025315

INI(61)000002HR00@INI(61)00000000000005XFER(70)#0002248HR0025313PRV(62)000000LR0025313

SBN(92)000子程序000

REN(93)

SBN(92)001子程序001

RET(93)

END(01)2520000100设DM6642的内容为0100,表示使用高速计数器、增减计数方式、复位方式是采用Z信号+软复位。执行XFER(70)指令,可将高速计数器的当前值248和249中的内容传送到HR00和HR01中。这样,一旦PLC掉电,高速计数器的当前值能被保存在HR00和HR01中。再上电时通过执行第一个INI指令,就可以把掉电前的当前值传送到高速计数器的当前值通道248、249中,作为新当前值。第二十六页,共二十九页,2022年,8月28日执行当前值读出指令PRV,将248、249中的当前值读到LR00中去。

若00100ON且有Z信号,则高速计数器复位CTBL(61)000003DM000025315

INI(61)00

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论