一、 高速计数器的介绍
0 1高速计数器功能的概要
高速计数器是使用CPU模块的通用输入端子及高速脉冲输入输出模块,对普通计数器无法计测的高速脉冲的输入数进行计数的功能。
根据所用输入(模块),高速计数器的各功能有以下限制。
0 2高速计数器功能的动作模式
1)普通模式
作为一般的高速计数器使用。
2)脉冲密度测定模式
测定从输入脉冲数开始到指定时间内的脉冲数。
3)转速测定模式
测定从输入脉冲数开始到指定时间内的转速。
0 3高速计数器的专用指令
高速计数器的计测使用高速计数器用的HIOEN/DHIOEN指令进行计数的开始、停止指示等。
0 4其它高速计数器的用指令
还有DHSCS指令、DHSCR指令、DHSZ指令(以下称高速比较指令)等高速计数器用指令。
0 5高速计数器功能的执行步骤
1)确认高速计数器的规格
确认高速计数器的类型、最高频率等规格。
2)与外部设备连接
关于与外部设备的配线的详细内容,参照MELSEC iQ-F FX5U用户手册(硬件篇)。
3)设置参数
进行高速计数器的通道设置等参数设置。
4)创建程序
创建使用高速计数器所需的程序。
5)执行并调试程序
二、 高速计数器的规格
0 1高速计数器的类型
1)1相1输入计数器(S/W)--受扫描周期影响 1相1输入计数器(S/W)的计数方法如下所示。
2)1相1输入计数器(H/W)--受硬件输入影响 1相1输入计数器(H/W)的计数方法如下所示。
3)1相2输入计数器 1相2输入计数器的计数方法如下所示。
4)2相2输入计数器[1倍频] 2相2输入计数器[1倍频]的计数方法如下所示。
5)2相2输入计数器[2倍频] 2相2输入计数器[2倍频]的计数方法如下所示。
6)2相2输入计数器[4倍频] 2相2输入计数器[4倍频]的计数方法如下所示。
7)内部时钟 内部时钟的计数方法如下所示。
内部时钟始终以1Mhz的时钟进行计数递增/递减。不使用来自外部的输入。
1Hz,即在单位时间内完成振动的次数,单位为赫兹(1赫兹=1次/秒)。
1MHz=1000kHz(1百万赫兹,即每秒振动1百万次)。
0 2高速计数器的形式与计数范围
根据环长设置,高速计数器的形式为环形计数器。
1)设置了链接长度时
2)未设置链接长度时(环形计数器)
0 3高速计数器的最高频率
各类高速计数器的可计数最高频率如下所示。
关于各输入分配的最高频率,参照【高速计数器的各输入分配的最高频率】。
注意:最高频率会受到输入电路的限制。
04高速计数器的一致输出性能
1)CPU模块
使用高速比较指令(DHSCS、DHSCR、DHSZ指令)、高速比较表、多点输出高速比较表输出到Y0~Y17时,脉冲的输入→计数值的比较(一致)→输出至Y为止的时间为5μs+输入响应时间。
输出到Y20以后时,从脉冲的输入到输出为止的时间将受到通信及用户中断的影响。
2)高速脉冲输入输出模块
高速比较表的一致输出只能是自身模块内的输出。
输入脉冲→比较计数值(一致)→输出至Y所花费的时间是5μs+输入响应时间。
3)动作图
动作图如下所示。(比较值:5)
三、 高速计数器的分配
0 1高速计数器的输入分配
高速计数器的输入软元件的分配通过参数进行设置。通过参数对各通道设置各自的功能时,即确定与之对应的分配。使用内部时钟时,为与1相1输入(S/W)相同的分配,不使用A相。高速计数器的输入分配如下所示。
A:A相输入 P:外部预置输入 E:外部使能输入
B:B相输入(但是,1相1输入(H/W)时,变为方向切换输入。)
02高速脉冲输入输出模块
各输入的□是各高速脉冲输入输出模块的起始输入编号。
要点
高速脉冲输入输出模块的通道编号分配如下。按距离CPU模块的顺序排列,从近到远分别为第1台、第2台……。
1)高速脉冲输入输出模块 第1台:通道9、通道10
2)高速脉冲输入输出模块 第2台:通道11、通道12
3)高速脉冲输入输出模块 第3台:通道13、通道14
4)高速脉冲输入输出模块 第4台:通道15、通道16
0 3高速计数器的各输入分配的最高频率
高速计数器的各输入分配的最高频率如下所示。
1)FX5U-32M□ 、FX5UC-32M□ X6~X17为止的输入频率与最高频率的值无关,最高为10kHz。预置输入、使能输入的输入频率与最高频率的值无关,最高为10kHz。A:A相输入、B:B相输入、P:外部预置输入、E:外部使能输入
2)FX5U-64M□、FX5U-80M□、FX5UC-64M□、FX5UC-96M□X10~X17为止的输入频率与最高频率的值无关,最高为10kHz。预置输入、使能输入的输入频率与最高频率的值无关,最高为10kHz。
3)高速脉冲输入输出模块
X□+6、X□+7为止的输入频率与最高频率的值无关,最高为10kHz。预置输入、使能输入的输入频率与最高频率的值无关,最高为10kHz。各输入的□是各高速脉冲输入输出模块的起始输入编号。A:A相输入、B:B相输入、P:外部预置输入、E:外部使能输入
四、高速计数器的参数
0 1参数的概要
高速计数器的设置、高速比较表、多点输出高速比较表、输入响应时间的设置通过参数进行。
可通过参数设置的主要项目如下所示。
1)基本设置
2)高速比较表的设置
3)多点输出高速表的设置
4)输入响应时间的设置
0 2参数设置详细
1)高速计数器(普通模式)。
2)高速计数器(脉冲密度测定模式)。
3)高速计数器(转速测定模式)。
4)高速比较表。
5)多点输出高速比较表。
6)输入响应时间的设置。
要点:
参数在CPU模块的电源ON时或复位时变为有效。此外,也将同时向特殊继电器、特殊寄存器传送值,通过用程序更改该值,可执行与参数设置不同的动作。
关于高速计数器的特殊继电器、特殊寄存器,参照【特殊继电器一览】、【特殊寄存器一览】。
1)高速计数器(普通模式)
作为一般的高速计数器使用时使用普通模式。
1)参数设置
通过高速计数器的参数,将动作模式设置为普通模式。
进行要使用的通道的详细设置。
CPU模块的参数设置位置:导航窗口[参数]→[FX5UCPU]→[模块参数]→[高速I/O]→“输入功能” →“高速计数器”→“详细设置”→“基本设置”
2)设置步骤:
① 通道启用:可选择[使用]或者[不使用];
② 设置[运行模式];
③ 设置[脉冲输入模式];
④ 设置[预置输入]和[预置值];
⑤ 设置[使能输入];
对应高速计数器的 E:外部使能输入;
设定禁用,E信号对应的硬件信号无效,不需使能输入;
设定启动,需要E信号输入才可使用高速计数器。
⑥ 设置[链接长度];
3)开始/停止高速计数器的计测:
高速计数器仅通过设置参数无法进行计数。
要开始/停止计数,需要通过HIOEN/DHIOEN指令执行开始/停止。
4)读取/写入高速计数器的当前值
高速计数器的当前值按每个通道存储在特殊寄存器中,通过监视该值可确认当前值。但是,特殊寄存器会因END处理而被更新,因此有可能与实际的值不同。
希望读取最新的值时,可使用HCMOV/DHCMOV指令读取最新的值。
五、高速计数器的专用指令
0 116位数据高速输入输出功能的开始/停止:
1)HIOEN(P)指令:控制高速输入输出功能的开始/停止。
2)指令格式
3)功能编号S1的值
*1:动作中使高速计数器(功能编号: K0)停止时,虽然功能仍处于工作状态,但因计数器停止,因此将变为无处理。
*2:使多点输出高速比较表(功能编号: K30)停止时,相同通道的高速计数器也将同时停止。
4)S2和S3的值
① 功能编号S1为K0的情况
可对每个高速计数器的通道,分别控制计数器的开始、停止。
通道1~通道8变为CPU模块,通道9~通道16变为高速脉冲输入输出模块。
例如:
要启用通道3时,应在(s2)中设置04H。要停止时,在(s3)中设置04H。
要启用通道1、通道4、通道5时,应在(s2)中设置19H。要停止时,在(s3)中设置19H。
要启用通道1、通道4、停止通道5时,应在(s2)中设置09H、在(s3)中设置10H。
② 功能编号S1为K10的情况
可对每个高速计数器的通道,分别控制脉冲密度测定(转速测定)的开始、停止。
③ 功能编号S1为K20~K24的情况
设置将启用、停止的高速比较表编号位设为ON的值。
CPU模块(K20)时,可以使用b0~b15。
高速脉冲输入输出模块(K21~K24)时,可以使用b0~b14。
④ 功能编号S1为K30的情况
在多点输出高速比较表的情况下,无需指定通道。
启用时,在(s2)中设置01H。停止时,在(s3)中设置01H。
⑤ 功能编号S1为K40、K50的情况
可对每个通道,分别控制脉冲宽度测定及PWM的开始、停止。
通道1~通道4变为CPU模块,通道5~通道12变为高速脉冲输入输出模块。
5)HIOEN(P)指令编程示例
使用高速计数器[普通模式]时,则(s1)设为K0;
设定CH1、CH3通道开启计数时,则(s2)设为H5;
设定CH4、CH6通道关闭计数时,则(s3)设为H28。
0232位数据高速输入输出功能的开始/停止:
1)DHIOEN(P)指令:控制高速输入输出功能的开始/停止。
2)指令格式
3)与16位指令HIOEN不同的地方在于当s1为K20时,s2、s3需使用32位的数据。
03读取/写入高速计数器的当前值:
高速计数器的当前值按每个通道存储在特殊寄存器中,通过监视该值可确认当前值。但是,特殊寄存器会因END处理而被更新,因此有可能与实际的值不同。
希望读取最新的值时,可使用HCMOV/DHCMOV指令读取最新的值。
1)32位数据高速当前值传送
DHCMOV(P)指令:以高速计数器/脉冲宽度测定/PWM/定位用特殊寄存器为对象,进行读取或写入(更新)操作时使用该指令。
2)指令格式
3)功能
将(s)中指定的软元件值传送至(d)中指定的软元件。此时,
如果(n)的值为K0,则保留(s)的值。
如果(n)的值为K1,传送后将(s)的值清零。仅在高速计数器的当前值SD软元件或作为高速计数器使用FX3兼容高速计数器时的LC软元件时执行清除。
4)要点
① (s)为支持高速传送的软元件时
执行DHCMOV指令时,获取高速计数器当前值等的最新值后,传送至(d)。
② (d)为支持高速传送的软元件时
执行DHCMOV指令时,可以更改高速计数器当前值等值。
4)高速计数器对应的特殊存储器编号
R/W表示可读可写。
六、应用实例
1、使用FX-5U的高速计数器功能,对增量式编码器进行计数,读取计数值。
2、编码器的介绍
1)选用的编码器规格:
① 4线的增量式编码器:A相、B相、24V、0V;
② 每转脉冲数:400P/R,即编码器旋转一圈发出400个脉冲;
③ 编码器输出类型:NPN,即A/B相输出的电压为0V。
2)编码器的接线
3、FX-5U的高速计数器参数设置
1)[CH1]使用高速计数器;
2)运行模式设置为[普通模式];
3)脉冲数入模式设置为[2相1倍频];
4)预置输入设置为[禁用],则预置值无效;
5)使能输入设置为[禁用];
6)链接长度设置为[禁用],则对应计数范围为-2147483648~+2147483747;
7)运行模式为[普通模式],[测定的单位时间]和[每转的脉冲数]无效。
4、程序编程
1)启用/停止高速计数器计数功能,指令HIOEN
① 高速计数器的普通模式,则S1为K0;
② 启用CH1,则S2为2#0000 0000 0000 0001,即H0001;
③ 未使用CH16~CH2,停止功能无需设置,则S3为2#0000 0000 0000 0000,即H0000。
2)读取高速计数器的当前值,指令DHCMOV
① 将CH1的当前值SD4501、SD4500传送给D1001、D1000
② n的值设为为K0,则传送完成后保留s的值。
3)设置输入响应时间
将X0和X1的输入响应时间由10ms修改为10μs,保证能够获取全部的高速脉冲输入信号
4)查看SD4500、SD4501的值,D1001、D1000的值
① 打开监视功能,在程序中查看SD4500、SD4501的值,D1001、D1000的值
② 打开【监看窗口】,查看SD4500、SD4501的值,D1001、D1000的值
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删