上海尊沁自动化实业有限公司

免费会员·7年
您现在的位置: 首页> 技术文章 > 西门子S7--1200系列PLC高速计数器配置及应用
免费会员·7年
人:
李荣川

扫一扫访问手机商铺

西门子S7--1200系列PLC高速计数器配置及应用

2018-8-13  阅读(10970)

分享:

西门子s7-1200系列PLC高速计数器的配置及其应用

|西门子s7-1200系列PLC高速计数器的配置及其应用

一、引言

在运动控制中,我们经常需要对脉冲计数,比如测量电机转速的旋转编码器或者简化版的接近开关信号。以西门子中低端PLC为例,在s7-200或者s7-1200系列PLC中都提供了集成的高速计数器和相应的配置和指令。

二、高速计数实现方式

一般的,当开关频率大于50Hz,使用普通的数字量输入点DI就难以满足计数的需求。低于50Hz要看CPU的扫描时间,这决定于很多因素,比如程序的复杂程度等等。而当开关频率大于50Hz,则推荐采用PLC的高速计数器。

2.1 中断处理

我们以目前主流的s7-1200 PLC为例,在其编程调试软件博途V13中介绍实现PLC高速计数器的方法。其中一种就是采用硬件中断,首先添加程序块硬件中断组织块OB40,如图1所示。

硬件中断,是指PLC CPU独立于扫描周期之外,响应来自PLC硬接点的信号变化。我们可以配置响应的硬件中断具体是哪些DI点,哪种方式。

PLC CPU循环扫描程序并刷新输入输出映像寄存器,而硬件中断可以快速响应输入输出的变化,不受程序扫描的影响。如图2在硬件组态CPU属性页中,我们可以配置数字量输入点(即通道)的硬件中断方式:是否启用边沿检测,以及硬件中断和优先级。配置后,在相应的中断组织块OB40中编写计数程序。

2.2 集成的高速计数通道

我们可以使用PLC CPU自带的数字量输入点(比如I0.0)配置成高速计数器,其实很难严格区分种方法“中断处理”和第二种方法“集成的高速计数通道”,第二种方法本质上就是种方法。

不同型号的CPU可以配置不同的高速计数通道,以及不同模式。以CPU1212C为例,六个点可以配置为高速计数器,I0.0~I0.5对应HSC1~HSC6,如图3在硬件组态CPU属性页中,配置HSC1是否启用,以及计数类型、工作模式、计数方向。详细解释可按F1或者在网上找资料寻求帮助。

值得一提的是,在I/O地址的输入地址中,默认HSC1起始地址为1000,结束地址为1003,意思是I0.0的高速计数值存储在ID1000中,双字占用四个字节从IB1000到IB1003。其他高速计数器的值以此类推,也可以配置。

2.3 高速计数模块

有些品牌PLC的高速计数器只能使用高速计数器模块,西门子s7-300系列PLC采用扩展模块FM350-2实现脉冲高数计数,而西门子s7-200或者s7-1200系列PLC CPU集成有高速计数DI点,没有高速计数器模块。

三、某项目电机测速

举个工程应用实例。在某项目中,我们需要将电机转速信号接入PLC,而测量电机转速的是接近开关信号。我们在电机轴上焊接一个螺丝,用接近开关检测螺丝是否通过,以此来表示电机旋转了一圈。

当精度要求不是太高的情况下,这种方法是可行的。假如电机高转速为3000rpm,那么每秒钟电机转了50圈,这就要求接近开关响应频率(即开关频率)必须大于50Hz,而且接入到PLC的DI点响应频率也必须大于50Hz。

如上所述,如果将高速计数器配置成“计数”,比如HSC1,则计数值ID1000会一直累加,如果需要复位或者装载新的计数值、参考值、计数方向,则需要在程序中调用CTRL_HSC指令并赋值控制。这样做比较麻烦。

如果将高速计数器的计数类型选择为“频率”,则不需要像“计数”类型那样隔段时间复位,得到的数值就是频率并存储在ID1000中。

ID1000是双字类型,即双整形,存储值为I0.0的频率,在这个项目中表示电机1秒钟转多少圈(rps),乘以60转换为转速标准单位rpm。

四、总结

西门子中低端PLC,比如200、1200系列,CPU自带高速计数器,可以配置为高速计数通道。s7-1200系列PLC甚至更简单,在一些应用场合只需要直接引用高速计数存储器的值即可。

本文重点介绍了s7-1200系列PLC配置集成的高速计数器HSC的方法,并结合工程应用实例,对于需要电机测速以及捕获高速脉冲并计数的应用场合,非常实用,希望对大家有所启发和帮助。

会员登录

×

请输入账号

请输入密码

=

请输验证码

收藏该商铺

X
该信息已收藏!
标签:
保存成功

(空格分隔,最多3个,单个标签最多10个字符)

常用:

提示

X
您的留言已提交成功!我们将在第一时间回复您~
产品对比 二维码

扫一扫访问手机商铺

对比框

在线留言