西门子PLCS高速计数器指令用法

合集下载

高速计数及脉冲输出指令

高速计数及脉冲输出指令
正交计数器计数速率选择: 0(4X);1(1X)
计数方向控制位:0(减计数); 1(增计数)
向HSC中写入计数方向: 0(不更新);1(更新计数方向)
向HSC中写入预置值: 0(不更新);1(更新预置值)
向HSC中写入新的当前值: 0(不更新);1(更新当前值)
HSC允许: 0(禁止HSC);1(允许HSC)
预置值
SMD42 SMD52 SMD62 SMD142 SMD152 SMD162
高速计数及脉冲输出指令
v高速计数器状态位
高速计数器状态字节,其中某些位指出了当前计数方向、当前值与预置 值是否相等、当前值是否大于预置值的状态。可以通过监视高速计数器的 状态位产生相应中断,完成重要操作。但要注意,状态位只有在执行高速 计数器终端程序时才有效。
(2) 在初始化子程序中,对相应高速计数器的控制字节写入希望的控制 字。如要使用HSC1,则对SMB47写入16#F8(2#11111000),表示允许高速 计数器运行,允许写入新的当前值,允许写入新的预置值,可以改变计数 器方向,置计数器的计数方向为增,置启动和复位输入为高电平有效。
(3) 执行HDEF指令,根据所选计数器号和运行模式将高速计数器号与 具体运行模式进行连接。
HSC 高速计数器指令,根据高速计数器特殊存储器位的设置, 按照HDEF指令指定的工作模式,控制高速计数器的工作。
高速计数及脉冲输出指令
高速计数器设置过程
为更好地理解和使用高速计数器,下面给出高速计数器的一般设置过 程。
(1) 使用初始化脉冲触点SM0.1调用高速计数器初始化操作子程序。这 个结构可以使系统在后续的扫描过程中不再调用这个子程序,从而减少了 扫描时间,且程序更加结构化。
I0.0 计数 计数 计数 计数

s7200高速计数器控制三段速度

s7200高速计数器控制三段速度

s7200高速计数器控制三段速度
要实现S7200高速计数器控制三段速度,可以通过以下步骤
操作:
1. 首先,配置S7200高速计数器的参数。

设置计数器的计数
模式为速度控制模式,并选择合适的输入通道和计数方向。

2. 接下来,编程控制三段速度。

可以使用S7-200 PLC的编程
软件,如STEP 7-Micro/WIN,编写逻辑程序。

根据实际需求,可以使用计时器和计数器指令实现三段速度控制。

3. 定义三个速度段。

根据所需的速度,将计时器和计数器结合起来,使计数器在不同速度段下自动计数。

4. 编写控制逻辑。

使用比较指令来对计数器的值进行比较,根据比较结果控制输出信号的状态,从而控制执行器或驱动器的速度。

5. 进行测试和调试。

将编写好的程序下载到S7200 PLC中,
连接输入信号和输出设备,通过实际操作来测试和调试程序。

通过观察输出设备的状态,检查速度控制是否按预期进行。

需要注意的是,具体的编程方式和逻辑根据实际应用的要求有所不同,以上仅为一般性的步骤和思路,具体的实现请根据实际需求进行调整和优化。

西门子PLC高速处理指令

西门子PLC高速处理指令

西门子PLC高速处理指令高速计数器HSC一般和编码器协作使用,在现代自动掌握中实现精确定位和测量长度。

它可用来累计比可编程序掌握器的扫描频率高得多的脉冲输入,利用其产生的中断大事完成预定的操作。

一、数量及编号(一)中断源及种类高速计数器在程序中使用时的地址编号用HCn来表示(在非程序中有时用HSCn),n为编号。

HCn除了表示高速计数器的编号之外,还代表两方面的含义:高速计数器位和高速计数器当前值。

编程时,从所用的指令可以看出是位还是当前值。

二、高速计数指令(一)高速计数器指令高速计数器指令有两条:HDEF和HSC。

1、HDEF,定义高速计数器指令使能输入有效时,为指定的高速计数器安排一种工作模式,即用来建立高速计数器与工作模式之间的联系。

梯形图指令盒中有两个数据输入端:HSC,高速计数器编号,为0~5的常数,字节型;MODE,工作模式,为0~11的常数,字节型。

图1 HDEF 2、HSC,高速计数器指令使能输入有效时,依据高速计数器特别存储器位的状态,并根据HDEF指令指定的工作模式,设置高速计数器并掌握其工作。

梯形图指令盒数据输入端N:高速计数器编号,为0~5的常数,字型。

图2 HSC 高速计数器的时钟、方向掌握、复位和启动所使用输入如下图所示。

图3 高速计数器的指定输入(二)高速计数器的使用方法每个高速计数器都有固定的特别功能存储器与之相协作,完成高速计数功能。

详细对应关系如下图所示。

图4 HSC的特别寄存器每个高速计数器都有一个状态字节,程序运行时依据运行状况自动使某些位置位,可以通过程序来读相关位的状态,用以作为推断条件实现相应的操作。

状态字节中各状态位的功能如下图所示。

图5 状态字节使用高速计数器时,要按以下步骤进行:◆ 选择计数器及工作模式◆ 设置掌握字节◆ 执行HDEF指令◆ 设定当前值和预设值◆ 设置中断大事并全局开中断◆ 执行HSC指令图6 掌握位含义(三)应用实例要对一高速大事精确掌握,通过对脉冲信号进行增计数,计数当前值达到24产生中断,重新从0计数,对中断次数进行累计。

西门子PLC高速计数器使用方法

西门子PLC高速计数器使用方法

高速计数器对CPU扫描速率无法控制的高速事件进行计数,最多可配置12种不同的操作模式。

高速计数器的最高计数频率取决于您的CPU类型。

每台计数器对支持此类功能的时钟、方向控制、复原和起始均有专用输入。

对于二相计数器,两个时钟均可以最高速率运行。

在正交模式中,可选择1乘以(1x)或4乘以(4x)最高计数速率。

所有计数器均以最高速率运行,互不干扰。

本标题讨论下列主题:使用高速计数器识别高速计数器的详细计时功能为高速计数器连接输入线高速计数器编址(HC)识别不同的高速计数器选择现用状态和1x/4x模式高速计数器初始化顺序控制字节HSC模式设置当前值和预设值状态字节为中断赋值使用高速计数器返回顶端通常高速计数器被用作鼓式计数器驱动器,以恒速旋转的转轴配有增量轴式编码器。

轴式编码器提供每次旋转的指定计数以及每次旋转一个复原脉冲。

轴式编码器的时钟和复原脉冲为高速计数器提供输入。

用最先的几个预设值载入高速计数器,并在当前计数小于当前预设值的期间内激活所需输出。

当前计数等于预设值或复原时,计数器设置提供中断。

每次发生当前计数值等于预设值中断事件时,载入新预设值,并设置下一个输出状态。

发生复原中断事件时,设置第一个预设值和第一个输出状态,并重复该循环。

因为中断的发生速率远远低于高速计数器的计数速率,可对高速操作执行精确的控制,并对整体PLC扫描循环产生相对较小的影响。

中断附加方法允许在独立中断例行程序中执行每个载入的新预设值,以便进行状态控制。

(另一种方法是在单个中断例行程序中处理所有的中断事件。

)识别高速计数器的详细计时功能返回顶端下列时序图显示根据模式分类的每台计数器的功能。

在另一个时序图中显示复原和起始输入操作,并应用于所有使用复原和起始输入的模式。

在复原和起始输入图中,复原和起始的现用状态均被编程为高级。

有复原、无起始的操作举例有复原和起始的操作举例模式0、1和2操作举例模式3、4和5操作举例使用计数模式6、7和8时,上下时钟输入的上升沿间隔0.3微秒,高速计数器可能认为这些事件同时发生。

西门子Smart200PLC高速计数器讲解

西门子Smart200PLC高速计数器讲解

建议收藏!西门子Smart200PLC高速计数器讲解
2018-12-05 10:14
通过一个例子讲解一下西门子Smart200PLC的高速计数输入应用。

用到的实验器材为:SmartPLC ST30 PLC 一个,编码器一个。

一、硬件接线
本例用PLC的I0.0与I0.1口主要接线见下图。

smartPLC集成有4个高速计数器,分别是HSC0,HSC1,HSC2,HSC3.对应的接线图中标记很清楚了。

这边我用红色部分标记的是我们这次实验用的接线与模式。

接线原理图
编码器类型为E6B2-CWZ5B,1000P/R
二、软件编程
1.把定义的I0.0与I0.1口的输入降噪滤波时间调整一下,满足实际高速输入的需求,具体见下图
对应的时间,对应的最大频率如下
2.通过向导定义高速计数
a.打开工具----高速计数器
b.定义HSC0
c.定义模式
d.预设值和倍频
e.定义当预设值和当前值一样时,触发中断程序
f.中断程序里面,我定义到达5000脉冲后把当前计数清零
3.向导生成后程序如下图
a.初始化程序和中断程序
b.在主程序里面SM0.1触发初始化程序
C.初始化程序部分
d.中断清零程序
三、最后程序监控HCO计数值。

S7-200系列PLC编程器的高速计数器使用示例

S7-200系列PLC编程器的高速计数器使用示例

S7-200系列PLC编程器的使用示例Siemens编程器S7-200系列用在中小型设备上的自动系统的控制单元,适用于各行各业,各种场合中的检测,监测及控制。

在这里,和大家一起来讨论S7-200几个使用方面的情况。

1.步进,伺服脉冲定位控制。

在设备的控制系统中,有关运动控制是很重要的,下面我们来看一看西门子S7-200系列PLC怎样来实现这个功能。

首先,确定使用哪个端口来发脉冲,如采用Q0.0发脉冲,则它的控制字为SMB67,脉冲同期为SMW68,脉冲个数存放在SMD72中,下面是控制字节的说明:Q0.0 Q0.1 控制字节说明SM67.0 SM77.0 PTO/PWM更新周期值 0=不更新,1=更新周期值SM67.1 SM77.1 PWM更新脉冲宽度值 0=不更新,1=脉冲宽度值SM67.2 SM77.2 PTO更新脉冲数 0=不更新,1=更新脉冲数SM67.3 SM77.3 PTO/PWM时间基准选择 0=1微秒值,1=1毫秒值SM67.4 SM77.4 PWM更新方法 0=异步更新,1=同步更新SM67.5 SM77.5 PTO操作 0=单段操作,1=多段操作SM67.6 SM77.6 PTO/PWM模式选择 0=选择PTO,1=选择PWMSM67.7 SM77.7 PTO/PWM允许 0=禁止PTO/PWM,1=允许这样根据以上表格,我们得出Q0.0控制字:SMB67为:10000101采用PTO输出,微妙级周期,发脉冲的周期(也就是频率)与脉冲个数都要重新输入。

10000101转化为16进制为85,有了控制字以后,我们来写这一段程序:根据上面这段程序,我们知道了控制字的使用,同时也知道步进电机的脉冲周期与冲个数的存放位置(对Q0.0来说是SMW68与SMD72)。

当然,VW100与VD102内的数据不同的话,步进电机的转速和转动圈数就不一样。

还有一点需要说明得是:M0.0导通---PLC捕捉到上升沿发动脉冲输出后,想停止的话,只须改变端口脉冲的控制字,再启动PLS即可,程序如下:2.高速计数功能。

s7-200高速计数器详细解说

s7-200高速计数器详细解说

s7-200高速计数器详细解说1.高速计数器指令普通计数器受CPU扫描速度的影响,是按照顺序扫描的方式进行工作。

在没个扫描周期中,对计数脉冲只能进行一次累加;对于脉冲信号的频率比PLC的扫描频率高时,如果仍采用普通计数器进行累加,必然会丢失很对输入脉冲信号。

在PLC中,对比扫描频率高的输入信号的计数可也使用高速计数器指令来实现。

CPU类型CPU221 CPU222 CPU224 CPU226高速计数器数量 4 6高速计数器编号HC0,HC3~HC5 HC0~HC51.高速计数器指令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.高速计数器的输入端高速计数器的输入端不像普通输入端那样有用户定义,而是由系统指定的输入点输入信号,每个高速计数器对它所支持的脉冲输入端,方向控制,复位和启动都有专用的输入点,通过比较或中断完成预定的操作。

每个高速计数器专用的输入点如表高速计数器的输入点3.高速计数器的状态字节系统为每个高速计数器都在特殊寄存器区SMB提供了一个状态字节,为了监视高速计数器的工作状态,执行由高速计数器引用的中断事件,其格式如表。

实例|S7-1200PLC高速计数器的用法及应用详解

实例|S7-1200PLC高速计数器的用法及应用详解

实例|S7-1200PLC高速计数器的用法及应用详解S7-1200 CPU 提供了最多 6 个(1214C )高速计数器,其独立于 CPU 的扫描周期进行计数。

可测量的单相脉冲频率最高为100KHz ,双相或A/B 相最高为30KHz ,除用来计数外还可用来进行频率测量,高速计数器可用于连接增量型旋转编码器,用户通过对硬件组态和调用相关指令块来使用此功能。

一、高速计数器工作模式高速计数器定义为 5 种工作模式1、计数器,外部方向控制。

2、单相计数器,内部方向控制。

3、双相增 /减计数器,双脉冲输入。

4、5A/B 相正交脉冲输入。

5、监控 PTO 输出。

每种高速计数器有两种工作状态。

1、外部复位,无启动输入。

2、内部复位,无启动输入。

所有的计数器无需启动条件设置,在硬件向导中设置完成后下载到 CPU 中即可启动高速计数器,在 A/B 相正交模式下可选择 1X(1 倍) 和 4X(4 倍)模式,高速计数功能所能支持的输入电压为 24V DC, 目前不支持 5V DC 的脉冲输入,表 8-1 列出了高速计数器的硬件输入定义和工作模式。

并非所有的 CPU 都可以使用 6 个高速计数器,如 1211C 只有 6 个集成输入点,所以最多只能支持4 个(使用信号板的情况下)高速计数器。

由于不同计数器在不同的模式下,同一个物理点会有不同的定义,在使用多个计数器时需要注意不是所有计数器可以同时定义为任意工作模式。

高速计数器的输入使用与普通数字量输入相同的地址,当某个输入点已定义为高速计数器的输入点时,就不能再应用于其它功能,但在某个模式下,没有用到的输入点还可以用于其它功能的输入监控PTO 的模式只有 HSC1 和 HSC2 支持,使用此模式时,不需要外部接线,CPU 在内部已作了硬件连接,可直接检测通过PTO 功能所发脉冲。

二、高速计数器寻址CPU 将每个高速计数器的测量值,存储在输入过程映像区内,数据类型为 32 位双整型有符号数,用户可以在设备组态中修改这些存储地址,在程序中可直接访问这些地址,但由于过程映像区受扫描周期影响,在一个扫描周期内,此数值不会发生变化,但高速计数器中的实际值有可能会在一个周期内变化,用户可通过读取外设地址的方式,读取到当前时刻的实际值。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

高速计数器计数器
输入/输出操作数数据类型
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和HSC2
CPU 224、CPU224XP、CPU 226支持6台高速计数器 (HSC0至HSC5)
您可以为每台高速计数器使用一条"高速计数器定义"指令。

文档光盘中"提
示与技巧"中的第4条提示和第29条提示提供使用高速计数器的程序。

设置ENO = 0的错误条件:
0001 HSC在HDEF之前
0005 HSC/PLS同步
程序举例
LAD FBD
STL NETWORK 1 // 主程序
// 首次扫描时,调用SBR_0
LD SM0.1
CALL SBR_0
NETWORK 1 // 子程序0开始
// 配置HSC1
LD SM0.1 // 首次扫描时
MOVB 16#F8 SMB47 // 配置HSC1:// - 启用计数器
// - 写入新当前值
// - 写入新预设值
// - 将初始方向设为向上计数
// - 选择现用水平高的起始和复原输入
// - 选择4x模式
HDEF 1 11 // 将HSC1配置为正交模式,
// 具有复原和起始输入功能
MOVD +0 SMD48 // 清除HSC1的当前值
MOVD +50 SMD52 // 将HSC1预设值设为50
ATCH INT_0 13 // HSC1当前值 = 预设值(事件13)// 附加在中断例行程序INT_0上
ENI// 全局中断启用
HSC 1 // 程序HSC1
NETWORK 1 // 中断0开始
LD SM0.0
MOVD +0 SMD48 // 清除HSC1的当前值
MOVB 16#C0 SMB47 // 选择仅写入一个新当前值,
// 使HSC1保持启用状态
HSC 1 // 程序HSC1
另请参阅:
识别高速计数器指令
HSC向导
HDEF指令。

相关文档
最新文档