CPM2A高速计数中断功能
一、CPM2A高速计数DM62的设置
高速计数器输入模式设置 DM62 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~DM:设置传输给PC后在下次开始时才生效。 DM65~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 000 001 002 003
模式控制-INI(61) INI(61) P C CTBL(63)的功能 注册一个目标值比较表并启动比较 注册一个范围值比较表并启动比较 注册一个目标值比较表,用INI(61)指令启动比较 注册一个范围值比较表,用INI(61)指令启动比较 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 000 001 002 003 004 P1 000 000 新PV值 000 新PV值 INI(61)的功能 启动CTBL(63)表格比较 中止CTBL(63)表格比较 改变高速计数器的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 100 101 指定单相脉冲输出1,无加速/减速(输出01000)或者同步脉冲控制输出1(输出01000) 定义中断输入0为计数模式(输入00003) 定义中断输入1为计数模式(输入00004) 102 103 C 000 001 002 定义中断输入2为计数模式(输入00005) 定义中断输入3为计数模式(输入00006) 功能 读取高速计数器或者中断输入(计数模式)的PV或者同步脉冲控制的输入频率 读取高速计数器或者脉冲输出的状态 读取范围对比的结果 目的字 D和D+1 D D D和D+1 读取脉冲输出的PV值 003
四、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 2 150~180 3 0~180
目标值地址 DM1 DM2 DM3
结果是上电之后首先执行3号子程序,当范围值为61的时候执行1号子程序,当范围值超过90就又调用3号子程序。当范围值有交叉的时候,编程序时,要考虑范围值地址排列前后位置。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- sceh.cn 版权所有 湘ICP备2023017654号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务