西门子S s 高速计数器详细解说
[整理]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(高速计数器的输入端高速计数器的输入端不像普通输入端那样有用户定义,而是由系统指定的输入点输入信号,每个高速计数器对它所支持的脉冲输入端,方向控制,复位和启动都有专用的输入点,通过比较或中断完成预定的操作。
西门子S7-200系列PLC高速计数器的应用步骤有哪些

1、建一个初始化程序,用SM0.1控制;
2、在初始化程序中,初始化高速计数器
2.1 设置控制寄存器(HSC0为SMB37),不同的计数器对应不同的DI点,HSC0为I0.0,HSC3为I0.1,HSC4为I0.2,HSC5为I0.3(222不支持HSC1和HSC2)
2.2 执行HDEF指令,你可以用模式0
2.3 置计数器初始值(HSC0为SMD38),如果从零启动就置零
2.4 置预置值(HSC0为SMD42),计数器计到这个值可以产生一个中断,一般利用这个中断调用相应的中断程序把当前值(SMD38)复零,否则计数器到头就不再计数了,当然你也可以置一个大点的值,在其他程序中清除当前值(SMD38),确保永远到不了头就可以了。
2.5 指定中断程序(ATCH),中断事件是12,程序号看你程序了
2.6 打开中断(ENI),这条指令没有的话,2.5是不起作用的
2.7 启动高速计数器(HSC),按前面的初始化,你就要启动HSC0,即N 为0
3、程序中读取高速计数器的值,对于HSC0,HC0单元中的内容就是当前的计数值,这个单元只读不能写,你可以通过修改SMD38的内容改变当前的计数值。
艾驰商城是国内最专业的MRO工业品网购平台,正品现货、优势价格、迅捷配送,是一站式采购的工业品商城!具有10年工业用品电子商务领域研究,以强大的信息通道建设的优势,以及依托线下贸易交易市场在工业用品行业上游供应链的整合能力,为广大的用户提供了传感器、图尔克传感器、变频器、断路器、继电器、PLC、工控机、仪器仪表、气缸、五金工具、伺服电机、劳保用品等一系列自动化的工控产品。
如需进一步了解台达PLC、西门子PLC、施耐德plc、欧姆龙PLC的选型,报价,采购,参数,图片,批发等信息,请关注艾驰商城/。
S7-1200高速计数功能简介

每种高速计数器有两种工作状态。
∙外部复位,无启动输入。
∙内部复位,无启动输入。
表1 高速计数器寻址4频率测量S7-1200 CPU除了提供计数功能外,还提供了频率测量功能,有3种不同的频率测量周期:1.0秒,0.1秒和0.01秒,频率测量周期是这样定义的:计算并返回新的频率值的时间间隔。
返回的频率值为上一个测量周期中所有测量值的平均,无论测量周期如何选择,测量出的频率值总是以Hz(每秒脉冲数)为单位。
5高速计数器指令块表1 高速计数器指令块参数6应用举例为了便于理解如何使用高速计数功能,通过一个例子来学习组态及应用。
假设在旋转机械上有单相增量编码器作为反馈,接入到S7-1200 CPU,要求在计数25个脉冲时,计数器复位,并重新开始计数,周而复始执行此功能。
针对此应用,选择CPU 1214C,高速计数器为:HSC1。
模式为:单相计数,内部方向控制,无外部复位。
据此,脉冲输入应接入I0.0,使用HSC1的预置值中断(CV=RV)功能实现此应用。
组态步骤:∙先在设备与组态中,选择CPU,单击属性,激活高速计数器,并设置相关参数。
此步骤必须实现执行,1200的高速计数器功能必须要先在硬件组态中激活,才能进行下面的步骤∙添加硬件中断块,关联相对应的高速计数器所产生的预置值中断∙在中断块中添加高速计数器指令块,编写修改预置值程序,设置复位计数器等参数∙将程序下载,执行功能1硬件组态选中CPU如图2图2选中CPU图3所示为选择属性打开组态界面图3 选择属性打开组态界面激活高速计数功能如图4图4 激活高速计数功能计数类型,计数方向组态如图5所示图5 计数类型,计数方向1 此处计数类型分为3种,Axis of motion(运动轴),Frequency(频率测量),Counting(计数)。
这里选择Counting2 模式分为4种:Single phase(单相), Two phase(双相), AB Quadrature 1X (A/B相正交1倍速), AB Quadrature 4X(A/B相正交4倍速)。
西门子PLCS高速计数器指令用法

高速计数器计数器输入/输出操作数数据类型N常数(0,1,2,3,4或5)字内存范围错误S7-200 CPU指令支持SIMATIC/国际助记符数据范围CPU内存中的指令大小编址内存高速计数器(HSC)指令根据HSC特殊内存位的状态配置和控制高速计数器。
参数N指定高速计数器的号码。
高速计数器最多可配置为十二种不同的操作模式。
每台计数器在功能受支持的位置有专用时钟、方向控制、复原和起始输入。
对于双相计数器,两个时钟均可按最高速度运行。
在正交模式中,您可以选择一倍\(1x)或四倍(4x)的最高计数速率。
所有的计数器按最高速率运行,而不会相互干扰。
注释:CPU 221和CPU 222支持4台高速计数器 (HSC0、HSC3、HSC4、HSC5)CPU 221和CPU 222不支持HSC1和HSC2CPU 224、CPU224XP、CPU 226支持6台高速计数器 (HSC0至HSC5)您可以为每台高速计数器使用一条"高速计数器定义"指令。
文档光盘中"提示与技巧"中的第4条提示和第29条提示提供使用高速计数器的程序。
设置ENO = 0的错误条件:0001 HSC在HDEF之前0005 HSC/PLS同步程序举例LAD FBDSTL NETWORK 1 // 主程序// 首次扫描时,调用SBR_0LD SM0.1CALL SBR_0NETWORK 1 // 子程序0开始// 配置HSC1LD SM0.1 // 首次扫描时MOVB 16#F8 SMB47 // 配置HSC1:// - 启用计数器// - 写入新当前值// - 写入新预设值// - 将初始方向设为向上计数// - 选择现用水平高的起始和复原输入// - 选择4x模式HDEF 1 11 // 将HSC1配置为正交模式,// 具有复原和起始输入功能MOVD +0 SMD48 // 清除HSC1的当前值MOVD +50 SMD52 // 将HSC1预设值设为50ATCH INT_0 13 // HSC1当前值 = 预设值(事件13)// 附加在中断例行程序INT_0上ENI// 全局中断启用HSC 1 // 程序HSC1NETWORK 1 // 中断0开始LD SM0.0MOVD +0 SMD48 // 清除HSC1的当前值MOVB 16#C0 SMB47 // 选择仅写入一个新当前值,// 使HSC1保持启用状态HSC 1 // 程序HSC1另请参阅:识别高速计数器指令HSC向导HDEF指令。
(2条消息)西门子S7

(2条消息)西门子S7目录一、高速计数器的简介1、高速计数器的工作模式和输入2、高速计数器的控制字和初始值、预置值二、高速输入降噪三、高速计数器指令向导一、高速计数器的简介对超出CPU普通计数器能力的脉冲信号进行测量。
S7-200 SMART CPU提供了多个高速计数器(HSCO~HSC6,具体请参考表1和表2)以响应快速脉冲输入信号。
高速计数器的计数速度比PLC的扫描速度要快得多,因此高速计数器可独立于用户程序工作,不受扫描时间的限制。
用户通过相关指令,设置相应的特殊存储器控制计数器的工作。
高速计数器的一个典型的应用是利用光电编码器测量转速和位移。
表1 标准型CPU高速计数器表2 经济型CPU参数1、高速计数器的工作模式和输入高速计数器有8种工作模式,每个计数器都有时钟、方向控制、复位启动等特定输入。
对于双向计数器,两个时钟都可以运行在最高频率上,高速计数器的最高计数频率取决于CPU的类型。
在正交模式下,可选择1× (1倍速)或者4× (4倍速)输入脉冲频率的内部计数频率。
高速计数器有8种4类工作模式:(1)无外部方向输入信号的单/减计数器(模式0和模式1)用高数计数器的控制字的第3位控制加减计数,该位为1时为加计数,为0时为减计数。
(2)有外部方向输入信号的单/减计数器(模式3和模式4)方向信号为1时,为加计数,方向信号为0时,为减计数。
(3)有加计数时钟脉冲和减计数时钟脉冲输入的双相计数器(模式6和模式7)若加计数脉冲和减计数脉冲的上升沿出现的时间间隔短,高速计数器认为这两个事件同时发生,当前值不变,也不会有计数方向的变化的指示。
否则高速计数器能捕捉到每个独立的信号。
(4)A/B相正交计数器(模式9和模式10)它的两路计数脉冲的相位相差90。
,正转时A相时钟脉冲比B相时钟脉冲超前90。
反转时, A相时钟脉冲比B相时钟脉冲滞后90%。
利用这一特点,正转时加计数,反转时减计数。
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相 时钟
以秒为单位的新周期值(仅限频率测量模 式): 1000:1s 100:0.1s 10:0.01s
功能忙 状态代码
5.高速计数器指令介绍与应用
高速计数器指令介绍与应用
【例5】用高速计数器HSC1计数,当计数值达到50~100之间时报警,达到100时重新计 数,报警灯Q0.0灭。
5.高速计数器指令介绍与应用
高速计数器编号 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:向下 新计数器值 新参考值
I0.0 I4.0 PTO 0
I0.1
I4.1
I0.3
PTO 0方向
HSC2
使用CPU上集成I/O或者信 号板或者PTO1
I0.2 PTO 1
I0.3 PTO 1方向
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.高速计数器的输入端高速计数器的输入端不像普通输入端那样有用户定义,而是由系统指定的输入点输入信号,每个高速计数器对它所支持的脉冲输入端,方向控制,复位和启动都有专用的输入点,通过比较或中断完成预定的操作。
S7-1200 高速计数功能简介[优质文档]
![S7-1200 高速计数功能简介[优质文档]](https://img.taocdn.com/s3/m/b2e5202a7e21af45b307a8e1.png)
每种高速计数器有两种工作状态。
∙外部复位,无启动输入。
∙内部复位,无启动输入。
表1 高速计数器寻址4频率测量S7-1200 CPU除了提供计数功能外,还提供了频率测量功能,有3种不同的频率测量周期:1.0秒,0.1秒和0.01秒,频率测量周期是这样定义的:计算并返回新的频率值的时间间隔。
返回的频率值为上一个测量周期中所有测量值的平均,无论测量周期如何选择,测量出的频率值总是以Hz(每秒脉冲数)为单位。
表1 高速计数器指令块参数6应用举例为了便于理解如何使用高速计数功能,通过一个例子来学习组态及应用。
假设在旋转机械上有单相增量编码器作为反馈,接入到S7-1200 CPU,要求在计数25个脉冲时,计数器复位,并重新开始计数,周而复始执行此功能。
针对此应用,选择CPU 1214C,高速计数器为:HSC1。
模式为:单相计数,内部方向控制,无外部复位。
据此,脉冲输入应接入I0.0,使用HSC1的预置值中断(CV=RV)功能实现此应用。
组态步骤:∙先在设备与组态中,选择CPU,单击属性,激活高速计数器,并设置相关参数。
此步骤必须实现执行,1200的高速计数器功能必须要先在硬件组态中激活,才能进行下面的步骤∙添加硬件中断块,关联相对应的高速计数器所产生的预置值中断∙在中断块中添加高速计数器指令块,编写修改预置值程序,设置复位计数器等参数∙将程序下载,执行功能1硬件组态选中CPU如图2图2选中CPU图3所示为选择属性打开组态界面图3 选择属性打开组态界面激活高速计数功能如图4图4 激活高速计数功能计数类型,计数方向组态如图5所示图5 计数类型,计数方向1 此处计数类型分为3种,Axis of motion(运动轴),Frequency(频率测量),Counting(计数)。
这里选择Counting2 模式分为4种:Single phase(单相), Two phase(双相), AB Quadrature 1X(A/B 相正交1倍速), AB Quadrature 4X(A/B相正交4倍速)。
S高速计数功能简介

S7-1200高速计数功能简介每种高速计数器有两种工作状态。
∙外部复位,无启动输入。
∙内部复位,无启动输入。
表1 高速计数器寻址4频率测量S7-1200 CPU除了提供计数功能外,还提供了频率测量功能,有3种不同的频率测量周期:1.0秒,0.1秒和0.01秒,频率测量周期是这样定义的:计算并返回新的频率值的时间间隔。
返回的频率值为上一个测量周期中所有测量值的平均,无论测量周期如何选择,测量出的频率值总是以Hz(每秒脉冲数)为单位。
5高速计数器指令块高速计数器指令块,需要使用指定背景数据块用于存储参数。
图1所示为高速计数器指令块表1 高速计数器指令块参数6应用举例为了便于理解如何使用高速计数功能,通过一个例子来学习组态及应用。
假设在旋转机械上有单相增量编码器作为反馈,接入到S7-1200 CPU,要求在计数25个脉冲时,计数器复位,并重新开始计数,周而复始执行此功能。
针对此应用,选择CPU 1214C,高速计数器为:HSC1。
模式为:单相计数,内部方向控制,无外部复位。
据此,脉冲输入应接入I0.0,使用HSC1的预置值中断(CV=RV)功能实现此应用。
组态步骤:∙先在设备与组态中,选择CPU,单击属性,激活高速计数器,并设置相关参数。
此步骤必须实现执行,1200的高速计数器功能必须要先在硬件组态中激活,才能进行下面的步骤∙添加硬件中断块,关联相对应的高速计数器所产生的预置值中断∙在中断块中添加高速计数器指令块,编写修改预置值程序,设置复位计数器等参数∙将程序下载,执行功能1硬件组态选中CPU如图2图2选中CPU图3所示为选择属性打开组态界面图3 选择属性打开组态界面激活高速计数功能如图4图4 激活高速计数功能计数类型,计数方向组态如图5所示图5 计数类型,计数方向1 此处计数类型分为3种,Axis of motion(运动轴),Frequency(频率测量),Counting(计数)。
这里选择Counting2 模式分为4种:Single phase(单相), Two phase(双相), AB Quadrature 1X(A/B相正交1倍速), AB Quadrature 4X(A/B相正交4倍速)。
S7-1200 高速计数器简介及编程应用讲解

高速计数器硬件识别号 TRUE =使能新方向 TRUE = 使能新初始值 TRUE = 使能新参考值 TRUE = 使能新频率测量 周期 方向选择1=正向 0=反向 新初始值 新参考值 新频率测量周期
图1高速计数器指令块
表1 高速计数器指令块参数
6.应用举例 为了便于理解如何使用高速计数功能,通过一个例子来学习组态及应用。 假设在旋转机械上有单相增量编码器作为反馈,接入到S7-1200 CPU,要求在计数25个脉冲时,计 数器复位,并重新开始计数,周而复始执行此功能。 针对此应用,选择CPU 1214C,高速计数器为:HSC1。模式为:单相计数,内部方向控制,无外 部复位。据此,脉冲输入应接入I0.0,使用HSC1的预置值中断(CV=RV)功能实现此应用。 组态步骤: •先在设备与组态中,选择CPU,单击属性,激活高速计数器,并设置相关参数。此步骤必须实 现执行,1200的高速计数器功能必须要先在硬件组态中激活,才能进行下面的步骤 •添加硬件中断块,关联相对应的高速计数器所产生的预置值中断 •在中断块中添加高速计数器指令块,编写修改预置值程序,设置复位计数器等参数 •将程序下载,执行功能
3高速计数器寻址 CPU将每个高速计数器的测量值,存储在输入过程映像区内,数据类型为32位双整型有 符号数,用户可以在设备组态中修改这些存储地址,在程序中可直接访问这些地址,但由 于过程映像区受扫描周期影响,在一个扫描周期内,此数值不会发生变化,但高速计数器 中的实际值有可能会在一个周期内变化,用户可通过读取外设地址的方式,读取到当前时 刻的实际值。以ID1000为例,其外设地址为“ID1000:P”。表2 所示为高速计数器寻 址列表 高速计数器号 数据类型 默认地址 HSC1 HSC2 HSC3 HSC4 HSC5 HSC6 DINT DINT DINT DINT DINT DINT 表1 高速计数器寻址 ID1000 ID1004 ID1008 ID1012 ID1016 ID1020
S7-200SMARTCPU高速计数器专题(上篇)

S7-200SMARTCPU⾼速计数器专题(上篇)⼀、⾼速计数的概念⾼速计数器是PLC CPU的内部集成的硬件⾼速计数器,通俗的讲就是对普通计数器⽆法记录到的⾼速脉冲信号进⾏计数,响应时间⽐普通计数器快,并且不受CPU的扫描时间影响,但会受脉冲输⼊信号的滤波时间影响计数。
普通计数器在计数的过程中受PLC的扫描⼯作⽅式限制,如果被测信号的频率较⾼时,就会丢失计数脉冲;普通计数器⼀般仅为⼏⼗HZ。
当脉冲频率⽐较⾼的时候,那么就需要⾼速计数器进⾏计数。
⾼速计数⾃然和编码器有着密不可分的关系。
编码器分绝对值式编码器和增量式编码器;增量式编码式分PNP输出和NPN输出两种,其输出信号为脉冲信号;⽽绝对值式编码器输出是格雷码。
实际项⽬多为增量式编码器,200SMART不能接5V差分信号编码器⼆、各CPU型号所⽀持的⾼速计数个数固件版本为2.3 版以上的CPU型号最多⽀持6路⾼速计数,但紧凑型的CPU只⽀持4路标准型CPU⾼速计数器如下图:紧凑型CPU⾼速计数器三、⾼速计数器的输出模式200 SMART CPU⾼速共有四种基本类型:带有内部⽅向控制的单相计数器,带有外部⽅向控制的单相计数器,带有两个时钟输⼊的双相计数器和A/B相正交计数器。
其输出模式有⼋种:0/1/3/4/6/7/9/10 下⾯分别做详细介绍模式0/1模式3/4模式6/7 带有增减计数时钟的双相计数器 6模式⽆复位输⼊,7模式使⽤外部复位输⼊模式9和10 常⽤9模式⾼速计数器所对应的编号及输⼊点和模式对照表四、⾼速计数器的状态字和控制字及寻址五、⾼速计数器的控制字节各个位的定义控制字节常⽤16#F8⾼速计数器的状态字节各个位的定义bit 0 -bit4 保留bit5 当前计数⽅向状态0=减计数 1=加计数bit6 当前值等于预设值的状态位0=不相等 1=相等bit7 当前值⼤于预设值状态位0=⼩于或等于1=⼤于。
关于西门子S7-200高速计数器的使用方法

关于西门子S7-200高速计数器的使用方法程序通过先设定计数器的值,本例中设定值为13;按设备启动按钮I0.1启动设备,运行后通过信号输入点I0.0进行计数,当计数当前值等于设定值13时,输出点断开,设备运行停止。
I0.2为设备停止按钮。
程序如下:LD SM0.1MOVB 16#C8, SMB37HDEF 0, 0MOVD +0, SMD38HSC 0上述程序注解:(1)对高数记数器HSC0初始化,写入控制字节(16#C8含义为:要求进行初始值设定;不装入预设值;运行中不要求更改计数方向;计数器类型为增。
)(2)执行HDEF指令,进行高速计数器工作模式的选定设置(计数器为HSC0;模式为0)(3)初始值设定:装载高数记数器初始值为0(4)执行HSC指令,写入HSC0设置。
LDN M14.0EUMOVB 16#C8, SMB37MOVD +0, SMD38HSC 0上述程序注解:当记速值达到要求值时,M14.0复位,高速计数器计数将复位为初始值,以备下次计数使用。
LDD< HC0, +13= M14.0上述程序注解:当计数器值小于13 时,M14.0始终处于置位状态。
LD I0.1O Q0.0AN I0.2A M14.0= Q0.0上述程序注解:I0.1为设备启动信号;I0.1为设备停止信号。
高速计数器累计值达到13 时,设备运行停止。
本例程序设计的背景:(中断单点控制)程序是通过一个板材自动定长剪切设备工作程序简单设计进行高数计数器和中断指令的使用。
工作要求为:启动设备,料滚电机工作带动板材进行送料,同时由计数器记录长度脉冲信号,当达到脉冲预设值时,即板材设定长度时,中断指令发信号,停止料滚电机工作,执行压料、裁剪,裁剪完成后,压料阀和料剪同时复位,料滚电机工作,进行下一次裁剪,周而复始。
程序拓展:可根据实际需要设计成钢板的定长裁剪;或流量的控制。
通过本程序学习,可加深高数计数器指令和中断指令的使用了解。
西门子S7-200PLC高速计数器的使用

西门子S7-200PLC高速计数器的使用由于西门子S7-200系列PLC高速计数器需要定义才能有效,所以需要注意一些细节。
一、S7-200系列PLC的编程环境有向导可以自动生成高速计数器指令,打开STEP 7 MicroWIN,点击“工具”菜单下的“指令向导”,在弹出的对话框内选择HSC配置高速计数器操作,如下图:点击下一步,弹出选择高数计数器及模式对话框,选择所需要的高数计数器及其模式,如下图:再点击下一步,弹出配置计数器方向及速率的对话框,选择适合的选项。
选择后再点击下一步,弹出配置当前值=预置值中断选择对话框,并可以选择中断步数。
每一步都可以执行一系列动作,根据自己的需要来选择。
点击下一步,弹出配置第一步的对话框,根据自己选择的步数,会出现多个这样的对话框。
各步完成后,点击下一步弹出完成对话框,点击完成,系统自动生成了高速计数器的指令。
二、使用自动生成的指令有些死板,我习惯自己编写程序。
1、首先建立子程序,在子程序内定义高速计数器,如下:主程序内各步执行采用比较指令实现:2、西门子S7-200系列PLC没有高速计数器当前值断电保持功能(不能在系统块断电保持内设置),所以要用编程的方式实现。
例如:采用VD1000作为中间值寄存器,在系统上电时调用定义高速计数器子程序时,将VD1000内的数据传送到高速计数器当前值,如下:在主程序内定义系统第一次上电扫描不传送高速计数器当前值至VD1000,如下:3、在系统块设置VD1000断电保持。
三、西门子S7-200系列PLC高速计数器输入端口选择:根据自己的编码器的PNP、NPN形式,配置PLC的端口高低电平有效,如果是高电平有效,应选择PNP编码器;如果低电平有效,应选择NPN编码器。
高电平有效时,应将输入端口的M接至0V;低电平有效时,应将输入端口的M接至+24V。
(完整word)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.高速计数器的输入端高速计数器的输入端不像普通输入端那样有用户定义,而是由系统指定的输入点输入信号,每个高速计数器对它所支持的脉冲输入端,方向控制,复位和启动都有专用的输入点,通过比较或中断完成预定的操作。
西门子PLCS7-200高速计数器指令用法

高速计数器计数器输入/输出操作数数据类型N常数(0,1,2,3,4或5)字内存范围错误S7-200 CPU指令支持SIMATIC/国际助记符数据范围CPU内存中的指令大小编址内存高速计数器(HSC)指令根据HSC特殊内存位的状态配置和控制高速计数器。
参数N指定高速计数器的号码。
高速计数器最多可配置为十二种不同的操作模式。
每台计数器在功能受支持的位置有专用时钟、方向控制、复原和起始输入。
对于双相计数器,两个时钟均可按最高速度运行。
在正交模式中,您可以选择一倍\(1x)或四倍(4x)的最高计数速率。
所有的计数器按最高速率运行,而不会相互干扰。
注释:CPU 221和CPU 222支持4台高速计数器 (HSC0、HSC3、HSC4、HSC5)CPU 221和CPU 222不支持HSC1和HSC2CPU 224、CPU224XP、CPU 226支持6台高速计数器 (HSC0至HSC5)您可以为每台高速计数器使用一条"高速计数器定义"指令。
文档光盘中"提示与技巧"中的第4条提示和第29条提示提供使用高速计数器的程序。
设置ENO = 0的错误条件:0001 HSC在HDEF之前0005 HSC/PLS同步程序举例LAD FBDSTL NETWORK 1 // 主程序// 首次扫描时,调用SBR_0LD SM0.1CALL SBR_0NETWORK 1 // 子程序0开始// 配置HSC1LD SM0.1 // 首次扫描时MOVB 16#F8 SMB47 // 配置HSC1:// - 启用计数器// - 写入新当前值// - 写入新预设值// - 将初始方向设为向上计数// - 选择现用水平高的起始和复原输入// - 选择4x模式HDEF 1 11 // 将HSC1配置为正交模式,// 具有复原和起始输入功能MOVD +0 SMD48 // 清除HSC1的当前值MOVD +50 SMD52 // 将HSC1预设值设为50ATCH INT_0 13 // HSC1当前值 = 预设值(事件13)// 附加在中断例行程序INT_0上ENI// 全局中断启用HSC 1 // 程序HSC1NETWORK 1 // 中断0开始LD SM0.0MOVD +0 SMD48 // 清除HSC1的当前值MOVB 16#C0 SMB47 // 选择仅写入一个新当前值,// 使HSC1保持启用状态HSC 1 // 程序HSC1另请参阅:识别高速计数器指令HSC向导HDEF指令。
西门子S7-200高速计数器功能介绍

S7-200 CPU具有集成的、硬件高速计数器。
CPU221和CPU222可以使用4个30kHz单相高速计数器或2个20kHz的两相高速计数器,而CPU224和CPU226可以使用6个30kHz单相高速计数器或4个20kHz的两相高速计数器。
S7-200的新一代产品CPU224 XP 支持更高的计数速度。
高速计数器可以被配置为12种模式中的任意一种,但并不是所有计数器都能使用每一种模式。
在正交模式下,你可以选择一倍速或者四倍速计数速率。
对于操作模式相同的计数器,其计数功能是相同的。
计数器共有四种基本类型:带有内部方向控制的单相计数器,带有外部方向控制的单相计数器,带有两个时钟输入的双相计数器和A/B相正交计数器。
表1. 高速计数器的模式及输入点:模式描述输入点备注HSCO I0.0 I0.1 I0.2 (1)HSC1 I0.6 I0.7 I1.0 I1.1 (2)HSC2 I1.2 I1.3 I1.4 I1.5 (2)HSC3 I0.1 (1)HSC4 I0.3 I0.4 I0.5HSC5 I0.40 带有内部方向控制的单相计数器时钟1 时钟复位2 时钟复位启动3 带有外部方向控制的单相计数器时钟方向4 时钟方向复位5 时钟方向复位启动6 带有增减计数时钟的双相计数器增时钟减时钟7 增时钟减时钟复位8 增时钟减时钟复位启动9 A/B相正交计数器时钟A 时钟B10 时钟A 时钟B 复位11 时钟A 时钟B 复位启动12 只有HSC0 和HSC3 支持模式12。
HSC0 计数高速脉冲输出Q0.0;HSC3 计数高速计数脉冲输出Q0.1。
(1) 支持模式12。
• 高速计数器的实际输入要根据用户选择的高速计数器号和模式来确定,如上表。
例:如果你选择了HSC0的模式1,则你的外部高速计数输入点应接在I0.0,外部复位点应接在I0.2。
• 如果用户使用了多个高速计数器,则被某一高速计数器占用了的输入点,其它高速计数器不能再使用。
S高速计数功能简介

S7-1200高速计数功能简介每种高速计数器有两种工作状态。
∙外部复位,无启动输入。
∙内部复位,无启动输入。
表1 高速计数器寻址4频率测量S7-1200 CPU除了提供计数功能外,还提供了频率测量功能,有3种不同的频率测量周期:1.0秒,0.1秒和0.01秒,频率测量周期是这样定义的:计算并返回新的频率值的时间间隔。
返回的频率值为上一个测量周期中所有测量值的平均,无论测量周期如何选择,测量出的频率值总是以Hz(每秒脉冲数)为单位。
5高速计数器指令块表1 高速计数器指令块参数6应用举例为了便于理解如何使用高速计数功能,通过一个例子来学习组态及应用。
假设在旋转机械上有单相增量编码器作为反馈,接入到S7-1200 CPU,要求在计数25个脉冲时,计数器复位,并重新开始计数,周而复始执行此功能。
针对此应用,选择CPU 1214C,高速计数器为:HSC1。
模式为:单相计数,内部方向控制,无外部复位。
据此,脉冲输入应接入I0.0,使用HSC1的预置值中断(CV=RV)功能实现此应用。
组态步骤:∙先在设备与组态中,选择CPU,单击属性,激活高速计数器,并设置相关参数。
此步骤必须实现执行,1200的高速计数器功能必须要先在硬件组态中激活,才能进行下面的步骤∙添加硬件中断块,关联相对应的高速计数器所产生的预置值中断∙在中断块中添加高速计数器指令块,编写修改预置值程序,设置复位计数器等参数∙将程序下载,执行功能1硬件组态选中CPU如图2图2选中CPU图3所示为选择属性打开组态界面图3 选择属性打开组态界面激活高速计数功能如图4图4 激活高速计数功能计数类型,计数方向组态如图5所示图5 计数类型,计数方向1 此处计数类型分为3种,Axis of motion(运动轴),Frequency(频率测量),Counting(计数)。
这里选择Counting2 模式分为4种:Single phase(单相), Two phase(双相), AB Quadrature 1X(A/B相正交1倍速), AB Quadrature 4X(A/B相正交4倍速)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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.高速计数器的输入端高速计数器的输入端不像普通输入端那样有用户定义,而是由系统指定的输入点输入信号,每个高速计数器对它所支持的脉冲输入端,方向控制,复位和启动都有专用的输入点,通过比较或中断完成预定的操作。
每个高速计数器专用的输入点如表高速计数器的输入点高速计数器标号输入点高速计数器标号输入点HC0 I0.0,I0.1,I0.2 HC3 I0.1HC1 I0.6,I0.7,I1.0,11.1 HC4 I0.3,I0.4,I0.5HC2 I1.2,I1.3,,I1.4,I1.5 HC5 I0.43.高速计数器的状态字节系统为每个高速计数器都在特殊寄存器区SMB提供了一个状态字节,为了监视高速计数器的工作状态,执行由高速计数器引用的中断事件,其格式如表。
高速计数器的状态字节HC0 HC1 HC2 HC3 HC4 HC5 描述SM36.0 SM46.0 SM56.0 SM36.0 SM146.0 SM156.0 不用SM36.1 SM46.1 SM56.1 SM36.1 SM146.1 SM156.1SM36.2 SM46.2 SM56.2 SM36.2 SM146.2 SM156.2SM36.3 SM46.3 SM56.3 SM36.3 SM146.3 SM156.3SM36.4 SM46.4 SM56.4 SM36.4 SM146.4 SM156.4SM36.5 SM46.5 SM56.5 SM36.5 SM146.5 SM156.5 当前计数的状态位0=减计数,1=增计数SM36.6 SM46.6 SM56.6 SM36.6 SM146.6 SM156.6 当前值等于设定值的状态位0=不等于,1=等于SM36.7 SM46.7 SM56.7 SM36.7 SM146.7 SM156.7 当前值大于设定值得状态位0=小于等于,1=大于只有执行高速计数器的中断程序时,状态字节的状态位才有效。
4.高速计数器的工作模式高速计数器有12种不同的工作模式(0`~11),分为4类。
每个高速计数器都有多种工作模式,可以通过编程的方法,使用定义高速计数器指令HDEF来选定工作模式。
(1) 各个高速计数器的工作模式1.高速计数器HC0是一个通用的增减计数器,工有8种模式,可也通过编程来选择不同的工作模式,HC0的工作模式如表HC0的工作模式模式描述控制位I0.0 I0.1 I0.20 内部方向控制的单向增/减计数器SM37.3=0,减脉冲1 SM37.3=1,增复位3 外部方向控制的单向增/减计数器I0.1=0,减脉冲方向4 I0.1=1,增复位6 增/减计数脉冲输入控制的双向计数器外部输入控制曾计数脉冲减计数脉冲7 复位9 A/B相正交计数器A超前B,曾计数外部输入控制A相脉冲B相脉冲10 B超前A,复位减计数2高速计数器HC1共有12种操作模式如表HCI的操作模式模式描述控制位I0.6 I0.7 I1.0 I1.10 内部方向控制的单向增/减计数器SM47.3=0,减SM47.3=1,增脉冲1 复位2 启动3 外部方向控制的单向增/减计数器I0.7=0,减I0.7=1,增脉冲方向4 复位5 启动6 增/减计数脉冲输入控制的双向计数器外部输入控制曾计数脉冲减计数脉冲7 复位8 启动9 A/B相正交计数器A超前B,曾计数B超前A,减计数外部输入控制A相脉冲B相Mc10 复位11 启动3.高速计数器HC2共有12种操作模式,如表HC2的操作模式模式描述控制位I1.2 I1.3 I1.4 I1.50 内部方向控制的单向增/减计数器SM573=0,减SM57.3=1,增脉冲1 复位2 启动3 外部方向控制的单向增/减计数器I1.3=0,减I1.3=1,增脉冲方向4 复位5 启动6 增/减计数脉冲输入控制的双向计数器外部输入控制曾计数脉冲减计数脉冲7 复位8 启动9 A/B相正交计数器A超前B,曾计数B超前A,减计数外部输入控制A相脉冲B相Mc10 复位11 启动4高速计数器HC3只有一种操作模式,如表HC3的操作模式模式描述控制位I0.10 内部方向控制的单向增/减计数器SM137.0=0,减;SM137.3=1,增脉冲5.高速计数器HC4有8操作模式,如表HC4的操作模式模式描述控制位I0.3 I0.4 I0.50 内部方向控制的单向增/减计数器SM147.3=0,减脉冲1 SM147.3=1,增复位3 外部方向控制的单向增/减计数I0.1=0,减脉冲方向4 器I0.1=1,增复位6 增/减计数脉冲输入控制的双向计数器外部输入控制增计数脉冲减计数脉冲7 复位9 A/B相正交计数器A超前B,曾计数外部输入控制A相脉冲B相脉冲10 B超前A,减计数复位6.高速计数器HC5只有一种操作模式如表HC5的操作模式模式描述控制位I0.40 内部方向控制的单向增/减计数器SM157.3=0,减SM157.3=1,增脉冲4.高速计数器的控制字节系统为每个高速计数器都安排了一个特殊寄存器SMB作为控制字,可也通过对控制字节指定为的设置,确定高速计数器的工作模式。
S7-200在执行HSC指令前,首先要检查与每个高速计数器相关的控制字节,在控制字节中设置了启动输入信号和复位输入信号的有效电平,正交计数器的计数倍率,计数方向采用内部控制的有效电平,是否允许改变计数方向,是否允许更新设定值,是否允许更新当前值,以及是否允许执行高速计数指令。
高数计数器的控制字节HCO HC1 HC2 HC3 HC4 HC5 描述SM37.0 SM47.0 SM57.0 ---- SM147.0 ------ 复位输入控制电平有效值:、0=高电平有效,1=低电平有效------ SM47.1 SM57.1 ----- ----- ------- 启动输入控制电平有效值:0=高电平有效,1=低电平有效SM37.2 SM47.2 SM57.2 ----- SM147.2 -------- 倍率选择:0=4倍率,1=1倍率SM37.3 SM47.3 SM57.3 SM137.3 SM147.3 SM157.3 计数方向控制:0为减1为曾SM37.4 SM47.4 SM57.4 SM137.4 SM147.4 SM157.4 改变计数方向控制:0=不改变1=准许改变SM37.5 SM47.5 SM57.5 SM137.5 SM147.5 SM157.5 改变设定值控制:0=不改变1=准许改变SM37.6 SM47.6 SM57.6 SM137.6 SM147.6 SM157.6 改变当前值控制:0=不改变1=准许改变SM37.7 SM47.7 SM57.7 SM137.7 SM147.7 SM157.7 高速计数控制:0=禁止计数1=准许计数说明:(1) 在高速计数器的12种工作模式中,模式0、模式3、模式6和模式9,是既无启动输入,又无复位输入的计数器,在模式1、模式4、模式7和模式10中,是只有复位输入,而没有启动输入的计数器;在模式2、模式5、模式8和模式11中,是既有启动输入,又有复位输入的计数器。
(2) 当启动输入有效时,允许计数器计数;当启动输入无效时,计数器的当前值保持不变;当复位输入有效时,将计数器的当前值寄存器清零;当启动输入无效,而复位输入有效时,则忽略复位的影响,计数器的当前值保持不变;当复位输入保持有效,启动输入变为有效时,则将计数器的当前值寄存器清零。
(3) 在S7-200中,系统默认的复位输入和启动输入均为高电平有效,正交计数器为4倍频,如果想改变系统的默认设置,需要设置如上表中的特殊继电器的第0,1,2位。
各个高速计数器的计数方向的控制,设定值和当前值的控制和执行高速计数的控制,是由表4-22中各个相关控制字节的第3位至第7位决定的。
6.高速计数器的当前值寄存器和设定值寄存器每个高速计数器都有1个32位的经过值寄存器HC0-HC5,同时每个高速计数器还有1个32位的当前值寄存器和1个32位的设定值寄存器,当前值和设定值都是有符号的整数。
为了向高速计数器装入新的当前值和设定值,必须先将当前值和设定值以双字的数据类型装入如表所列的特殊寄存器中。
然后执行HSC指令,才能将新的值传送给高速计数器。
高速计数器的当前值和设定值HC0 HC1 HC2 HC3 HC4 HC5 说明SMD38 SMD48 SMD58 SMD138 SMD148 SMD158 新当前值SMD42 SMD52 SMD62 SMD142 SMD152 SMD162 新设定值7.高速计数器的初始化由于高速计数器的HDEF指令在进入RUN模式后只能执行1次,为了减少程序运行时间优化程序结构,一般以子程序的形式进行初始化。
下面以HC2为例,介绍高速计数器的各个工作模式的初始化步骤。
1.利用SM0.1来调用一个初始化子程序。
2.在初始化子程序中,根据需要向SMB47装入控制字。
例如,SMB47=16#F8,其意义是:准许写入新的当前值,准许写入新的设定值,计数方向为曾计数,启动和复位信号为高电平有效。