快速链接到欧姆龙其他国家/地区的网站。close

欧姆龙全球

首页  >  产品资讯  >  产品共通信息

Q:CPM2A高速计数中断功能使用

A:

       一、CPM2A高速计数DM6642的设置
 

DM6642

00~03

高速计数器输入模式设置
0:相位差输入模式   5khz
1:脉冲+方向输入模式   20khz
2:增/减脉冲输入模式    20khz
4:递增模式             20khz

04~07

高速计数器复位方式设置
0:Z相+软件复位
1:软件复位

08~15

高速计数器使用设置
00:不使用高速计数器
01:作高速计数器使用
02:作同步脉冲控制使用(10hz~500hz)
03:作同步脉冲控制使用(20hz~1khz)
04:作同步脉冲控制使用(300hz~20khz)

       DM6600~DM6614:设置断电上电生效。

       DM6615~DM6644:设置传输给PC后在下次开始时才生效。

       DM6645~DM6655:设置传入PLC后生效。
 

       二、CPM2A复位方式(软复位、Z相+软复位)
 

       1.软复位,当复位信号一直为ON时,它只复位一次之后又继续进行计数,然后程序控制一下有一个OFF信号,再有一个ON信号之后,它才再复位一次。
       2.Z相+软复位,当复位信号一直为ON时,它只复位一次之后又继续进行计数,然后程序控制一下有一个OFF信号,再有一个ON信号之后,它才再复位一次。

       三、CPM2A高速计数指令的使用
 

       注册比较表-CTBL(63)

CTBL(63) 

  P

C

TB

       P:端口,CPM2A为0

      C:控制数据,CPM2A为000~003

       TB:比较表首地址(IR、SR、AR、DM、HR、LR)
 

控制数据C

CTBL(63)的功能

000

注册一个目标值比较表并启动比较

001

注册一个范围值比较表并启动比较

002

注册一个目标值比较表,用INI(61)指令启动比较

003

注册一个范围值比较表,用INI(61)指令启动比较


       模式控制-INI(61)
 

INI(61)     

P

C

P1

        P:端口,CPM2A为000,010,100,101,102,103

       C:控制数据,CPM2A为000~005

       P1:PV当前值首地址(IR、SR、AR、DM、HR、LR或000)
 

       注意:当C为000,001,003,005时,P1必须设为000
 

控制数据C

P1

INI(61)的功能

000

000

启动CTBL(63)表格比较

001

000

中止CTBL(63)表格比较

002

新PV值

改变高速计数器的PV值或者计数模式下的中断输入

003

000

中止脉冲输出

004

新PV值

改变脉冲输出的PV值

005

000

中止同步脉冲控制输出


       读取PV值(比248、249通道读到的当前值精确)PRV指令是时时刷新的。
 

PRV(62)     

P

C

D

        P:端口,CPM2A为000,010,100,101,102,103

       C:控制数据,CPM2A为000~003

       D:目的首地址(IR、SR、AR、DM、HR、LR)
 

      注意:1.D和D1+1必须在同一个数据区内

                  2.当D使用DM区,必须是可读/写的DM区
 

P

功能

000

指定高速计数器的输入(输入000.00,000.01,000.02)。同步脉冲控制的输入频率(输入000.00,000.01,000.02),单相脉冲输出0,无加速/减速(输出01000和01001),单相脉冲输出0,梯形加速/减速(输出01000),或者同步脉冲控制输出0(输出01000/01001)。

010

指定单相脉冲输出1,无加速/减速(输出01000)或者同步脉冲控制输出1(输出01000)

100

定义中断输入0为计数模式(输入00003)

101

定义中断输入1为计数模式(输入00004)

102

定义中断输入2为计数模式(输入00005)

103

定义中断输入3为计数模式(输入00006)

 

 

C

功能

目的字

000

读取高速计数器或者中断输入(计数模式)的PV或者同步脉冲控制的输入频率

D和D+1

001

读取高速计数器或者脉冲输出的状态

D

002

读取范围对比的结果

D

003

读取脉冲输出的PV值

D和D+1


       四、CPM2A高速计数使用CTBL指令

            1)CTBL指令目标值比较最多设置16个目标值。

          248、249当前值与设置目标值相比较,当PV=SV调用子程序。

          当增值计数子程序号为0000~0049,当减值计数子程序号为F000~F0049。

            当目标值比较完成表中最后一个目标值比较,才返回执行第一个目标值。
 

           目标值比较实验1:目标值按从小到大的顺序排列
 

子程序号子     目标值      目标值地址     

1                   1000             DM100          

2                   2000             DM200          

3                   3000             DM300

       结果是当PV=SV,依次执行子程序。
 

         目标值比较实验2:目标值不按从小到大的顺序排列
 

子程序号子     目标值      目标值地址     

1                   2000             DM100          

2                   1000             DM200          

3                   3000             DM300          

       结果是当PV=1000时,不调用2号子程序,当PV=2000时,同时调用1和2号子程序,这样程序执行有误动作。
 

             2)CTBL指令范围值比较最多设置8个范围比较(如果小于8个范围比较,可以把不使用的子程序号写为FFFF)

           248、249当前值与设置范围值相比较,当PV在SV值范围里就调用子程序。

          当增值计数子程序号为0000~0049,当减值计数子程序号为F000~F0049。

          当设置范围比较,它的下限必须小于它的上限。

          子程序编号可以在比较表中多次使用。
 

       范围值比较实验1:范围值没有交叉
 

子程序号子     范围值           目标值地址     

1                   1000~2000           DM100          

2                   2001~3000            DM200     

3                   3001~4000           DM300

        结果是当PV值=SV值(范围值)就调用哪个子程序
 

         范围值比较实验2:范围值有交叉
 

子程序号子     范围值      目标值地址     

1                 60~90            DM1     

2                 150~180         DM2     

3                  0~180            DM3

         结果是上电之后首先执行3号子程序,当范围值为61的时候执行1号子程序,当范围值超过90就又调用3号子程序。当范围值有交叉的时候,编程序时,要考虑范围值地址排列前后位置。

以上回答是否解决了您的问题?

问题反馈

为了提供更优质的服务,请对我们提出意见和建议

提交

服务支持

APP下载

在线客服

邮件订阅

TOP