高速计数及脉冲输出指令
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SM37.2 SM37.3 SM37.4 SM37.5 SM37.6 SM37.7
HSC1 SM47.0
SM47.1 SM47.2 SM47.3 SM47.4 SM47.5 SM47.6 SM47.7
HSC2 SM57.0
SM57.1 SM57.2 SM57.3 SM57.4 SM57.5 SM57.6 SM57.7
HSC3 SM136.0 SM136.1 SM136.2 SM136.3 SM136.4
SM36.5 SM46.5 SM56.5 SM136.5
SM36.6 SM46.6 SM56.6 SM136.6
SM36.7 SM46.7 SM56.7 SM136.7
HSC4 SM146.0 SM146.1 SM146.2 SM146.3 SM146.4 SM146.5
二、 高速计数器应用举例
1. 带有内部方向控制的单相计数器 计数方向采用控制位设定,如使用HSC0时,计数方向控制位 SM37.3,当该位设定为0时为减计数器,设定为1时为增计数器。
【例题8.2】使用高速计数器HSC0和中断指令对输入端I0.0脉 冲信号计数,当计数值大于50时输出端Q0.0接通。
更新预置 值
更新计数 方向
增计数器
0
4×计数 率计数
0
0
启动高电 复位高电 平有效 平有效
然后用HDEF指令定义高速计数器HSC1的工作模式为模式11。 将A相信号输入接I0.6,B相信号输入接I0.7,外部复位端接 I1.0,外部启动端接I1.1。
(3)设置初始值和预置值
每个高速计数器都有一个32位的初始值和一个32位的预置值, 均为带符号整数。为了向高速计数器装入新的初始值和预置值, 必须先设置控制字节,并且把初始值和预置值存入特殊存储器 中,然后执行HSC指令,即可完成高速计数器初始值的设定 及更新。
(2)高速计数器指令(HSC)中参数N用来设置高速计数器 的编号。
2. 高速计数器编程
1) 定义计数器模式和输入
类型: 1.带有内部方向控制的单相计数器 2.带有外部方向控制的单相计数器 3.带有两个时钟输入的双相计数器 4.A/B相正交计数器。 模式:模式0~模式11
在使用高速计数器时,除了要定义它的工作模式外,还必须正 确地使用它的输入点。同一个输入点不能同时用于两个不同的 功能,但是任何一个没有被高速计数器的当前模式使用的输入 点,可以被用作其它用途。例如,如果HSC0正被用于模式1, 它占用I0.0和I0.2,则I0.1可以被HSC3占用。
SM146.6
SM146.7
HSC5 SM156.0 SM156.1 SM156.2 SM156.3 SM156.4 SM156.5
SM156.6
SM156.7
描述
不用
不用
不用
不用
不用
当前计数方向状态位: 0=减计数;1=增计数 当前值等于预置值状态位:
0=不等;1=相等 当前值大于预置值状态位:
0=小于等于;1=大于
计数器标号及各种工作模 式对应的输入点
带有内部方向控制的单相 计数器
带有外部方向控制的单相 计数器
带有增减计数时钟的双相 计数器
A/B相正交计数器
高速计数器的工作模式和输入点
HSC0
I0.0
I0.1
HSC1
I0.6
I0.7
HSC2
I1.2
I1.3
HSC3
I0.1
HSC4
I0.3
I0.4
HSC5 模式0 模式1 模式2 模式3 模式4 模式5 模式6 模式7 模式8 模式9 模式10 模式11
6个30kHz 4个20kHz
1. 高速计数器指令
项目
定义高速计数器
高速计数器
LAD
STL 操作数的含义及范围
HDEF HSC,MODE
HSC N
HSC:(BYTE)常数;MODE:(BYTE)常数;N: (WORD)常数
(1)高速计数器定义指令(HDEF)为指定的高速计数器 (HSCx)设置一种工作模式,工作模式决定了高速计数器的 时钟、方向、启动和复位功能。每个高速计数器只能用一条 HDEF指令。
源自文库
HSC3
SM137.3 SM137.4 SM137.5 SM137.6 SM137.7
HSC4 SM147.0
SM147.2 SM147.3 SM147.4 SM147.5 SM147.6 SM147.7
HSC5
SM157.3 SM157.4 SM157.5 SM157.6 SM157.7
描述
0=复位高电平有效; 1=复位低电平有 效
0=启动高电平有效; 1=启动低电平有 效
0=4×计数率; 1=1×计数率 0=减计数; 1=增计数 写入计数方向:0=不更新; 1=更新 写入预置值:0=不更新; 1=更新 写入初始值:0=不更新; 1=更新 HSC允许:0=禁止HSC;1=允许 HSC
控制位 位描述
1
1
1
1
1
允许HSC
更新初始 值
I0.4 时钟 时钟 时钟 时钟 时钟 时钟 增时钟 增时钟 增时钟 时钟A 时钟A 时钟A
方向 方向 方向 减时钟 减时钟 减时钟 时钟B 时钟B 时钟B
I0.2 I1.0 I1.4
I0.5
复位 复位
复位 复位
复位 复位
复位 复位
I1.1 I1.5
启动 启动 启动 启动
(2)设置控制字节
HSC0 SM37.0
第十章 高速计数及脉冲输出指 令
第一节 高速计数器
一、 高速计数器
6个高速计数器(HSC0~HSC5),如表所示。这6个高速 计数器均为32位双向计数器
CPU型号
支持HSC号
最高工作频 单相
率
双相
CPU221和CPU222 HSC0、HSC3、HSC4、HSC5
4个30kHz 2个20kHz
CPU224、CPU226 HSC0~HSC5全部6种
所有计数器模式都支持在HSC的当前值等于预置值时产生 一个中断事件。
(5)高速计数器的状态位
HSC0 SM36.0 SM36.1 SM36.2 SM36.3 SM36.4
HSC1 SM46.0 SM46.1 SM46.2 SM46.3 SM46.4
HSC2 SM56.0 SM56.1 SM56.2 SM56.3 SM56.4
要装入的值
HSC0 HSC1 HSC2 HSC3 HSC4 HSC5
初始值
SMD38 SMD48 SMD58 SMD138 SMD148 SMD158
预置值
SMD42 SMD52 SMD62 SMD142 SMD152 SMD162
当前值
HC0
HC1
HC2
HC3
HC4
HC5
(4)指定并使能中断服务程序
HSC1 SM47.0
SM47.1 SM47.2 SM47.3 SM47.4 SM47.5 SM47.6 SM47.7
HSC2 SM57.0
SM57.1 SM57.2 SM57.3 SM57.4 SM57.5 SM57.6 SM57.7
HSC3 SM136.0 SM136.1 SM136.2 SM136.3 SM136.4
SM36.5 SM46.5 SM56.5 SM136.5
SM36.6 SM46.6 SM56.6 SM136.6
SM36.7 SM46.7 SM56.7 SM136.7
HSC4 SM146.0 SM146.1 SM146.2 SM146.3 SM146.4 SM146.5
二、 高速计数器应用举例
1. 带有内部方向控制的单相计数器 计数方向采用控制位设定,如使用HSC0时,计数方向控制位 SM37.3,当该位设定为0时为减计数器,设定为1时为增计数器。
【例题8.2】使用高速计数器HSC0和中断指令对输入端I0.0脉 冲信号计数,当计数值大于50时输出端Q0.0接通。
更新预置 值
更新计数 方向
增计数器
0
4×计数 率计数
0
0
启动高电 复位高电 平有效 平有效
然后用HDEF指令定义高速计数器HSC1的工作模式为模式11。 将A相信号输入接I0.6,B相信号输入接I0.7,外部复位端接 I1.0,外部启动端接I1.1。
(3)设置初始值和预置值
每个高速计数器都有一个32位的初始值和一个32位的预置值, 均为带符号整数。为了向高速计数器装入新的初始值和预置值, 必须先设置控制字节,并且把初始值和预置值存入特殊存储器 中,然后执行HSC指令,即可完成高速计数器初始值的设定 及更新。
(2)高速计数器指令(HSC)中参数N用来设置高速计数器 的编号。
2. 高速计数器编程
1) 定义计数器模式和输入
类型: 1.带有内部方向控制的单相计数器 2.带有外部方向控制的单相计数器 3.带有两个时钟输入的双相计数器 4.A/B相正交计数器。 模式:模式0~模式11
在使用高速计数器时,除了要定义它的工作模式外,还必须正 确地使用它的输入点。同一个输入点不能同时用于两个不同的 功能,但是任何一个没有被高速计数器的当前模式使用的输入 点,可以被用作其它用途。例如,如果HSC0正被用于模式1, 它占用I0.0和I0.2,则I0.1可以被HSC3占用。
SM146.6
SM146.7
HSC5 SM156.0 SM156.1 SM156.2 SM156.3 SM156.4 SM156.5
SM156.6
SM156.7
描述
不用
不用
不用
不用
不用
当前计数方向状态位: 0=减计数;1=增计数 当前值等于预置值状态位:
0=不等;1=相等 当前值大于预置值状态位:
0=小于等于;1=大于
计数器标号及各种工作模 式对应的输入点
带有内部方向控制的单相 计数器
带有外部方向控制的单相 计数器
带有增减计数时钟的双相 计数器
A/B相正交计数器
高速计数器的工作模式和输入点
HSC0
I0.0
I0.1
HSC1
I0.6
I0.7
HSC2
I1.2
I1.3
HSC3
I0.1
HSC4
I0.3
I0.4
HSC5 模式0 模式1 模式2 模式3 模式4 模式5 模式6 模式7 模式8 模式9 模式10 模式11
6个30kHz 4个20kHz
1. 高速计数器指令
项目
定义高速计数器
高速计数器
LAD
STL 操作数的含义及范围
HDEF HSC,MODE
HSC N
HSC:(BYTE)常数;MODE:(BYTE)常数;N: (WORD)常数
(1)高速计数器定义指令(HDEF)为指定的高速计数器 (HSCx)设置一种工作模式,工作模式决定了高速计数器的 时钟、方向、启动和复位功能。每个高速计数器只能用一条 HDEF指令。
源自文库
HSC3
SM137.3 SM137.4 SM137.5 SM137.6 SM137.7
HSC4 SM147.0
SM147.2 SM147.3 SM147.4 SM147.5 SM147.6 SM147.7
HSC5
SM157.3 SM157.4 SM157.5 SM157.6 SM157.7
描述
0=复位高电平有效; 1=复位低电平有 效
0=启动高电平有效; 1=启动低电平有 效
0=4×计数率; 1=1×计数率 0=减计数; 1=增计数 写入计数方向:0=不更新; 1=更新 写入预置值:0=不更新; 1=更新 写入初始值:0=不更新; 1=更新 HSC允许:0=禁止HSC;1=允许 HSC
控制位 位描述
1
1
1
1
1
允许HSC
更新初始 值
I0.4 时钟 时钟 时钟 时钟 时钟 时钟 增时钟 增时钟 增时钟 时钟A 时钟A 时钟A
方向 方向 方向 减时钟 减时钟 减时钟 时钟B 时钟B 时钟B
I0.2 I1.0 I1.4
I0.5
复位 复位
复位 复位
复位 复位
复位 复位
I1.1 I1.5
启动 启动 启动 启动
(2)设置控制字节
HSC0 SM37.0
第十章 高速计数及脉冲输出指 令
第一节 高速计数器
一、 高速计数器
6个高速计数器(HSC0~HSC5),如表所示。这6个高速 计数器均为32位双向计数器
CPU型号
支持HSC号
最高工作频 单相
率
双相
CPU221和CPU222 HSC0、HSC3、HSC4、HSC5
4个30kHz 2个20kHz
CPU224、CPU226 HSC0~HSC5全部6种
所有计数器模式都支持在HSC的当前值等于预置值时产生 一个中断事件。
(5)高速计数器的状态位
HSC0 SM36.0 SM36.1 SM36.2 SM36.3 SM36.4
HSC1 SM46.0 SM46.1 SM46.2 SM46.3 SM46.4
HSC2 SM56.0 SM56.1 SM56.2 SM56.3 SM56.4
要装入的值
HSC0 HSC1 HSC2 HSC3 HSC4 HSC5
初始值
SMD38 SMD48 SMD58 SMD138 SMD148 SMD158
预置值
SMD42 SMD52 SMD62 SMD142 SMD152 SMD162
当前值
HC0
HC1
HC2
HC3
HC4
HC5
(4)指定并使能中断服务程序