高速计数器模式定义与控制字节
[整理]s7-200高速计数器详细解说
![[整理]s7-200高速计数器详细解说](https://img.taocdn.com/s3/m/087bfb7ab14e852459fb575d.png)
[整理]s7-200高速计数器详细解说s7-200高速计数器详细解说1.高速计数器指令普通计数器受CPU扫描速度的影响,是按照顺序扫描的方式进行工作。
在没个扫描周期中,对计数脉冲只能进行一次累加;对于脉冲信号的频率比PLC的扫描频率高时,如果仍采用普通计数器进行累加,必然会丢失很对输入脉冲信号。
在PLC 中,对比扫描频率高的输入信号的计数可也使用高速计数器指令来实现。
在S7-200的CPU22X中,高速计数器数量及其地址编号表如下CPU类型 CPU221 CPU222 CPU224 CPU226 高速计数器数量 4 6 高速计数器编号 HC0,HC3~HC5 HC0~HC51(高速计数器指令高速计数器的指令包括:定义高速计数器指令HDEF 和执行高速计数指令HSC,如表HDEF HSC(1) 定义高速计数器指令HDEFHDE指令功能是为某个要使用的高速计数器选定一种工作模式。
每个高速计数器在使用前,都要用HDEF指令来定义工作模式,并且只能用一次。
它有两个输入端:HSC为要使用的高速计数器编号,数据类型为字节型,数据范围为0~5的常数,分别对应HC0~HC5;MOCE为高速计数的工作模式,数据类型为字节型,数据范围为0~11的常数,分别对应12种工作模式。
当准许输入使能EN有效时,为指定的高速计数器HSC 定义工作模式MODE。
(2)执行高速计数指令HSCHSC指令功能功能是根据与高速计数器相关的特殊继电器确定在控制方式和工作状态,使高速计数器的设置生效,按照指令的工作模式的工作模式执行计数操作。
它有一个数据输入端N:N为高速计数器的编号,数据类型的字型,数据范围为0~5的常数,分别对应高速计数器HC0~HC5.当准许输入EN使能有效时,启动N号高速计数器工作。
2(高速计数器的输入端高速计数器的输入端不像普通输入端那样有用户定义,而是由系统指定的输入点输入信号,每个高速计数器对它所支持的脉冲输入端,方向控制,复位和启动都有专用的输入点,通过比较或中断完成预定的操作。
高速计数器

前面我们学习了子程序和中断,那么今天我们就转而学习高速计数器的内容,高速计数器经常被用于距离检测,用于电机转数检测,高速计数器也是一个比较重要的内容,也是比较常会用到的,我们要掌握一下的,那么今天就先对高速计数器的基本内容做个了解。
高速计数器可以对CPU扫描速度无法控制的高速事件进行计数,简单的说就是对高速输入输出信号进行计数。
S7-200 CPU内置最多只有6个高速计数器HSC0~HSC5,其中PLC221及PLC222不支持HSC1及HSC2,这里我们要注意一下。
高速计数器是有专用输入的,具体的可以参考下表。
我们要注意的是同一个输入是不能用于不同的功能的,比如说I0.0,它既可以是普通输入,也可以是中断输入,也可以是高速输入,这三个功能只能选择其中一个,也就是说要是I0.0作为了高速输入用,就不能作为普通输入或中断输入用。
高速计数器大体可以分为四种,第一种是带内部方向控制的单相计数器,这种计数器只有一个计数输入端,其控制计数方向由内部继电器控制,工作模式为模式0、1、2。
第二种是带外部方向控制的单相计数器,这种计数器也是只有一个计数输入端,但是是由外部输入控制其计数方向的,工作模式为模式3、4、5。
第三种计数器是具有两个时钟输入的双向计数器,这种计数器有两个计数输入端,一个增计数输入端,一个减计数输入端,工作模式为模式6、7、8。
第四种计数器是A/B相正交计数器。
这种计数器有两个时钟脉冲输入端,一个输入端叫A相,一个输端叫B相。
当A相时钟脉冲超前B相时钟脉冲时,计数器进行增计数。
当A相时钟脉冲滞后B相时钟脉冲时,计数器进行减计数。
这种计数器的工作模式为模式9、10、11。
我们可以看到下表,里面的的HSC 模式有0,-12,其中模式0-11是用于接收外部输入信号的,模式12是用于Q0.0、Q0.1输出计数的。
下面我们再看一这个表格应该怎么去看,这里的HSC0的专用输入为I0.0、 I0.1、I0.2,假如我们就用HSC0,并且选择的是模式3,那么I0.0就是脉冲输入端,I0.1就是方向控制端。
第14讲_高速计数器

双相正交计数4x模式
三、高速计数器的控制字和状态字
1.控制字节
定义了计数器和工作模式之后,还要设置高速计数器的有关控制
字节。每个高速计数器均有一个控制字节,它决定了计数器的计数允 许或禁用,方向控制(仅限模式0、1和2)或对所有其他模式的初始化
计数方向,装入初始值和预置值。
2.状态字节
四、高速计数器指令及使用
(9)执行全局中断允许指令(ENI)允许HSC中断。
(10)执行HSC指令使S7-200对高速计数器进行编程。 (11)编写中断程序。
例: 采用测频方法测量电动机的转速。 分析:用测频法测量电动机的转速是指在单位时间内采集编码器脉
冲的个数,因此可以选用高速计数器对转速脉冲信号进行计数,同时用
时基来完成定时。知道了单位时间内的脉冲个数,再经过一系列的计算 就可得到电动机的转速。下面的程序只是有关HSC的部分。
主程序
中断程序
1.高速计数器指令
高速计数器指令有两条:高速计数器定义指令HDEF和高速计数器
指令HSC。
2.高速计数器指令的使用 (1)每个高速计数器都有一个32位初始值和一个32位预置值,初
始值和预设值均为带符号的整数值。
除控制字节以及预设值和初始值外,还可以使用数据类型HC(高
速计数器当前值)加计数器号码(0、1、2、3、4或5)读取每台高速
二、高速计数器的工作模式
1.高速计数器的计数方式 (1)单路脉冲输入的内部方向控制加/减计数:即只有一个脉冲输入端, 通过高速计数器的控制字节的第3位来控制做加计数或者减计数。该位为 1,加计数;该位为0,减计数。
(2)单路脉冲输入的外部方向控制加/减计数:即有一个脉冲输 入端,有一个方向控制端,方向输入信号等于1时,加计数;方向输入
高速计数器

5.3 高速计数器前面讲的计数器指令的计数速度受扫描周期的影响,对比CPU扫描频率高的脉冲输入,就不能满足控制要求了。
高速计数器HSC用来累计比PLC扫描频率高得多的脉冲输入,利用产生的中断事件完成预定的操作。
一、高速计数器介绍S7-200系列PLC设计了高速计数功能(HSC),其计数自动进行不受扫描周期的影响,最高计数频率取决于CPU的类型,CPU22x系列最高计数频率为30KHz。
高速计数器在程序中使用时的地址编号用HC n来表示(在非正式程序中有时用HSC n),HC (HSC)表示编程元件名称为高速计数器,n为编号。
表5-3 高速计数器的数量与编号表1.高速计数器输入端的连接每个高速计数器对它所支持的时钟、方向控制、复位和启动都有专用的输入点,通过中断控制完成预定的操作。
每个高速计数器专用输入点如表5-4所示。
注意:同一个输入端不能用于两种不同的功能。
但是高速计数器当前模式未使用的输入端均可用于其他用途,如作为中断输入端或作为数字量输入端。
每个高速计数器的3种中断的优先级由高到低,各个高速计数器引起的中断事件如表5-5所示。
S7-200系列PLC高速计数器HSC0~HSC5可以分别定义为四种工作类型:带有内部方向控制的单相计数器;带有外部方向控制的单相计数器;带有增/减计数脉冲输入的双相计数器;A/B相正交计数器。
根据有无复位输入和启动输入,每种高速计数器类型可以设定为三种工作状态:无复位且无启动输入;有复位但无启动输入;有复位且有启动输入。
HSC0~HSC5可以根据外部输入端的不同配置12种模式(模式0~模式11),高速计数器的工作模式见表6-4。
表6-5 高速计数器的控制字节(位)号计数,当计数值等于大于50时输出端Q0.0通电,当外部复位时Q0.0断电。
接线图如图6-3所示,系统自动分配I0.0为HSC0的计数脉冲信号输入端,I0.2为HSC0的外部复位端。
822. 高速计数器的工作模式高速计数器有12种工作模式,模式0~模式2采用单路脉冲输入的内部方向控制加/减计数;模式3~模式5采用单路脉冲输入的外部方向控制加/减计数;模式6~模式8采用两路脉冲输入的加/减计数;模式9~模式11采用两路脉冲输入的双相正交计数。
西门子PLC高速计数器使用方法

高速计数器对CPU扫描速率无法控制的高速事件进行计数,最多可配置12种不同的操作模式。
高速计数器的最高计数频率取决于您的CPU类型。
每台计数器对支持此类功能的时钟、方向控制、复原和起始均有专用输入。
对于二相计数器,两个时钟均可以最高速率运行。
在正交模式中,可选择1乘以(1x)或4乘以(4x)最高计数速率。
所有计数器均以最高速率运行,互不干扰。
本标题讨论下列主题:使用高速计数器识别高速计数器的详细计时功能为高速计数器连接输入线高速计数器编址(HC)识别不同的高速计数器选择现用状态和1x/4x模式高速计数器初始化顺序控制字节HSC模式设置当前值和预设值状态字节为中断赋值使用高速计数器返回顶端通常高速计数器被用作鼓式计数器驱动器,以恒速旋转的转轴配有增量轴式编码器。
轴式编码器提供每次旋转的指定计数以及每次旋转一个复原脉冲。
轴式编码器的时钟和复原脉冲为高速计数器提供输入。
用最先的几个预设值载入高速计数器,并在当前计数小于当前预设值的期间内激活所需输出。
当前计数等于预设值或复原时,计数器设置提供中断。
每次发生当前计数值等于预设值中断事件时,载入新预设值,并设置下一个输出状态。
发生复原中断事件时,设置第一个预设值和第一个输出状态,并重复该循环。
因为中断的发生速率远远低于高速计数器的计数速率,可对高速操作执行精确的控制,并对整体PLC扫描循环产生相对较小的影响。
中断附加方法允许在独立中断例行程序中执行每个载入的新预设值,以便进行状态控制。
(另一种方法是在单个中断例行程序中处理所有的中断事件。
)识别高速计数器的详细计时功能返回顶端下列时序图显示根据模式分类的每台计数器的功能。
在另一个时序图中显示复原和起始输入操作,并应用于所有使用复原和起始输入的模式。
在复原和起始输入图中,复原和起始的现用状态均被编程为高级。
有复原、无起始的操作举例有复原和起始的操作举例模式0、1和2操作举例模式3、4和5操作举例使用计数模式6、7和8时,上下时钟输入的上升沿间隔0.3微秒,高速计数器可能认为这些事件同时发生。
5-3 S7-1200 PLC的高速计数器介绍

使用CPU上集成I/O或者信 I1.0
号板或者PTO0
I4.0
I1.1 I4.1
I1.2
HSC6 使用CPU上集成I/O
I1.3 I1.4
I1.5
单相计数,内部方向控制 单相计数,外部方向控制。 模式 双向计数,两路时钟脉冲输入 A/B相正交计数 监控PTO输出
时钟
时钟 方向
加时钟 减时钟
A相 时钟
S7-1200 PLC的高速计数器介绍
1.高速计数器的工作模式
高速计数器的工作模式
高速计数器有5种工作模式,每个计数器都有时钟、方向控制、复位启动等特定输入。对 于双向计数器,两个时钟都可以运行在最高频率,高速计数器的最高计数频率取决于CPU的 类型和信号板的类型。
1.单相计数,内
时钟
部方向控制
方向
高速计数器编号 HSC4 HSC5 HSC6
默认地址 ID1012 ID1016 ID1020
3
4个字节,即 ID1000,可修改
1
4.高速计数器指令
LAD
输入/输出 HSC DIR CV RV PERIOD NEW_DIR NEW_CV NEW_RV
NEW_PERIOD
BUSY STATUS
参数说明 HSC标识符 1:请求新方向 1:请求设置新的计数器值 1:请求设置新的参考值 1:请求设置新的周期值(仅限频率测量模式) 新方向,1:向上,-1:向下 新计数器值 新参考值
OB100中的梯形图
5.高速计数器指令介绍与应用
OB1中的梯形图
感谢您的聆听
THANK YOU!
2.单相计数,外 部方向控制
4
3
3
2
2
当前
高速计数及脉冲输出指令

I0.4 时钟 时钟
模式2
时钟
模式3 模式4
时钟 时钟
方向 方向
模式5
时钟
方向
模式6 模式7
增时钟 增时钟
减时钟 减时钟
I0.2
I1.0
I1.1
I1.4
I1.5
I0.5
复位
复位
•开 启
复位
复位
•开 启
复位
(2)设置控制字节
HSC0 HSC1 HSC2 SM37.0 SM47.0 SM57.0
HSC3
PTO/PWM旳多段管线功能在许多应用中非常有用,尤其在 步进电机控制中。
例如利用带有脉冲包络旳PTO控制步进电机,实现加速、匀 速和减速。包络表值包括三段:加速(1)、匀速(2)、减 速(3)。
假定需要4000个脉冲到达要求旳电机转动数,开启和结束 频率是2kHz,最大脉冲频率是10kHz。因为包络表中旳值 是用周期表达旳,而不是用频率,需要把给定旳频率值转 换成周期值。所以,开启和结束旳脉冲周期为500 μs,最 高频率旳相应周期为100μs。在输出包络旳加速部分,要 求在200个脉冲左右到达最大脉冲频率。也假定包络旳减速 部分,在400个脉冲完毕。
第十章 高速计数及脉冲输出指 令
第一节 高速计数器
一、 高速计数器
6个高速计数器(HSC0~HSC5),如表所示。这6个高速 计数器均为32位双向计数器
CPU型号
支持HSC号
最高工作频 单相
率
双相
CPU221和CPU222 HSC0、HSC3、HSC4、HSC5
4个30kHz 2个20kHz
CPU224、CPU226 HSC0~HSC5全部6种
• 要装入旳 值
高速计数使用说明

【S7-1200】高速计数功能简介(2013-10-29 11:45:41)转载▼分类:S7-1200/15001高速计数器S7-1200 CPU提供了最多6个(1214C)高速计数器,其独立于CPU的扫描周期进行计数。
可测量的单相脉冲频率最高为100KHz,双相或A/B相最高为30KHz,除用来计数外还可用来进行频率测量,高速计数器可用于连接增量型旋转编码器,用户通过对硬件组态和调用相关指令块来使用此功能。
2高速计数器工作模式高速计数器定义为5种工作模式∙计数器,外部方向控制。
∙单相计数器,内部方向控制。
∙双相增/减计数器,双脉冲输入。
∙A/B相正交脉冲输入。
∙监控PTO输出。
每种高速计数器有两种工作状态。
∙外部复位,无启动输入。
∙内部复位,无启动输入。
所有的计数器无需启动条件设置,在硬件向导中设置完成后下载到CPU中即可启动高速计数器,在A/B相正交模式下可选择1X(1倍) 和4X(4倍)模式,高速计数功能所能支持的输入电压为24V DC,目前不支持5V DC的脉冲输入,表1列出了高速计数器的硬件输入定义和工作模式表1 高速计数器硬件输入定义与工作模式并非所有的CPU都可以使用6个高速计数器,如1211C只有6个集成输入点,所以最多只能支持4个(使用信号板的情况下)高速计数器。
由于不同计数器在不同的模式下,同一个物理点会有不同的定义,在使用多个计数器时需要注意不是所有计数器可以同时定义为任意工作模式。
高速计数器的输入使用与普通数字量输入相同的地址,当某个输入点已定义为高速计数器的输入点时,就不能再应用于其它功能,但在某个模式下,没有用到的输入点还可以用于其它功能的输入监控PTO的模式只有HSC1和HSC2支持,使用此模式时,不需要外部接线,CPU在内部已作了硬件连接,可直接检测通过PTO功能所发脉冲。
3高速计数器寻址CPU将每个高速计数器的测量值,存储在输入过程映像区内,数据类型为32位双整型有符号数,用户可以在设备组态中修改这些存储地址,在程序中可直接访问这些地址,但由于过程映像区受扫描周期影响,在一个扫描周期内,此数值不会发生变化,但高速计数器中的实际值有可能会在一个周期内变化,用户可通过读取外设地址的方式,读取到当前时刻的实际值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A-1)高速计数器模式
A-2)高速计数器控制字节
SM157SM147.SM137.SM57.SM47SM37.SM157SM147.SM137.SM57.SM47SM37.SM157SM147.SM137.SM57.SM47SM37.SM157SM147.SM137.SM57.SM47SM37.SM157SM147.SM137.SM57.SM47SM37.正交计数器的计数速率选项:SM147.
SM57.SM47SM37.起始现用水平控制位:SM57.SM47复原现用水平控制位:SM147.SM57.SM47SM37.启用HSC :0 = 禁用HSC1 = 启用HSC
.7
7
7
7
.7
7
向HSC 写入新当前值:0 = 无更新1 = 更新当前值.6666.66向HSC 写入新预设值:0 = 无更新1 = 更新预设值.5555.55向HSC 写入计数方向:0 = 无更新1 = 更新方向.4444.44计数方向控制位:0 = 向下计数1 = 向上计数.3333.330=4x 计数速率1=1x 计数速率
22.220=起始现用水平高1=起始现用水平低
1.1
0=复原现用水平高1=复原现用水平低
0.00
说明
HSC5
HSC4HSC3
HSC2HSC1HSC0
A-3)高速计数器的当前值和预设值的地址
52SMD12SMD5SMD4新预48SMD18SMD4SMD3新当载入SMD162
SMD142SMD622设值
SMD158SMD138SMD588前值HSC5
HSC4HSC3HSC2HSC1HSC0数值
A-4)高速计数器的状态位
当前值大于预设值状态位:SM156.SM146.SM136.当前值等于预设值状态位:SM156.SM146.SM136.当前计数方向状态位:SM156.SM146.SM136.SM156.SM146.SM136.SM156.SM146.SM136.SM156.SM146.SM136.SM156.SM146.SM136.SM156.SM146.SM136.0 = 小于或等于;1 = 大于
7
7
7
SM56.7
SM46.7
SM36.7
0 = 不相等;1 = 等于
666SM56.6SM46.6SM36.60 = 向下计数;1 = 向上计数
555SM56.5SM46.5SM36.5未使用
444SM56.4SM46.4SM36.4未使用333SM56.3SM46.3SM36.3未使用222SM56.2SM46.2SM36.2未使用111SM56.1SM46.1SM36.1未使用000SM56.0SM46.0SM36.0说明HSC5HSC4HSC3HSC2HSC1HSC0
B-1)高速脉冲输出的对应特殊寄存器
手动模式频率寄存器
SMB182
SMB172
线性轮廓结果寄存器SMB181SMB171线性轮廓状态字节SMB180SMB170轮廓表起始位置,用距离V0的字节偏移量表示(仅用于多段PTO 操作)SMW178SMW168进行中的段数(仅用于多段PTO 操作)
SMB176SMB166PTO 脉冲计值(范围:1至4294967295)SMD82SMD72PWM 脉宽值(范围:0至65535)SMW80SMW70PTO/PWM 周期值(范围:2至65535)SMW78SMW68其他PTO/PWM 寄存器
Q0.1Q0.0
B-2)高速脉冲控制字节
1 = 启用PTO/PWM
0 = 禁用PTO/PWM ;
PTO/PWM 启用
SM77.7
SM67.7
1 = 选择PWM 0= 选择PTO;PTO/PWM 模式选择SM77.6SM67.6 1 = 多段操作0 = 单段操作;PTO 操作:SM77.5SM67.5 1 = 同步更新0 = 异步更新;PWM 更新方法:SM77.4SM67.4 1 = 1ms/tick 0 = 1 μS /tick ;PTO/PWM 选择SM77.3SM67.3 1 = 更新脉冲计数0 = 无更新;PTO 更新脉冲计值SM77.2SM67.
2 1 = 更新脉宽0 = 无更新;PWM 更新脉宽时间值SM77.1SM67.1 1 = 更新周期0 = 无更新;PTO/PWM 更新周期值SM77.0SM67.0控制位Q0.1Q0.0
B-3)高速脉冲控制字节状态所对应的功能
脉冲计
SMB67/
载入
载入
1 μS/循环
同步
PWM
是
16#DB
载入1 μS/循环同步PWM 是16#DA 载入1 μS/循环同步PWM 是16#D9载入载入
1 μS/循环同步PWM 是16#D3载入1 μS/循环同步PWM 是16#D2载入
1 μS/循环同步PWM 是16#D1 1 μS/循环
多段
PTO 是16#A8 1 μS/循环多段PTO 是16#A0载入
载入
1 ms/循环单段PTO 是16#8D 载入1 ms/循环单段PTO 是16#8C 载入
1 μS/循环单段PTO 是16#89载入载入
1 μS/循环单段PTO 是16#85载入1 μS/循环单段PTO 是16#84载入
1 μS/循环单段PTO 是16#81周期
脉宽数
PWM 更
新方法
PTO 段操作选择模式启用77
E )步进电机驱动器细分表
F-2)EM231RTC温控模块拨码开关设定表
G-1)特殊内存位
H-1)PID 回路表。