『7x24小时有问必答』
大家好,这里是电工班,一个专注于分享电气知识与维修经验的公众号。
今天我们来了解下西门子S7-1200的脉冲控制功能。
首先我们来了解下1200自带的脉冲功能及主要的注意事项。
除了CPU本体自带的脉冲功能,
还可以组态  CPU  或信号板  (SB, Signal Board)  的输出, 使其具有脉冲发生器或脉冲串输出  (PTO, Pulse-Train   Output)  的功能。

脉冲宽度调制  (PWM, Pulse-Width   Modulation)  指令和基本运动指令使用这些输出。

特别说明

用户程序中的其它指令无法使用脉冲串输出  CPU    SB  的输出组态为脉冲发生器时(供  PWM  或基本运动控制指令使用),这会从Q存储器中移除相应的输出地址(Q0.0Q0.1Q4.0    Q4.1)。
并且这些地址在用 户程序中不能用于其它用途。

如果用户程序向用作脉冲发生器的输出写入值,则  CPU  不 会将该值写入到物理输出。
注意

请勿超出最大脉冲频率。

  S7-1200  系统手册中所述,脉冲输出发生器的最大脉冲频率对于  CPU  的数字量输出 为  100 KHz
而对于信号板的数字量输出为  20 KHz

组态基本运动指令时,请注意,如果被组态轴的最大速度或频率超出了此硬件限制,STEP 7 Basic  会提醒用户。

这可能会导致应用出现问题,因此请始终确保不会超 出硬件的最大脉冲频率。
上面的内容是关于脉冲功能的基本知识,下面我们逐一了解,这个脉冲功能都能用来干点啥?
首先是,能够实现高速计数功能。
高速计数器  (HSC, High-Speed Counter)  可用作增量轴编码器的输入。

该轴编码器每转 提供指定数量的计数值以及一个复位脉冲。

来自轴编码器的时钟和复位脉冲将输入到  HSC  中。

先是将若干预设值中的第一个装载到  HSC  上,并且在当前计数值小于当前预设值的时段 内计数器输出一直是激活的。

在当前计数值等于预设值时、发生复位时以及方向改变 时,HSC  会提供一个中断。

每次出现当前计数值等于预设值中断事件时,都将装载一个新的预设值,同时会设置输 出的下一状态。

当出现复位中断事件时,将设置输出的第一个预设值和第一个输出状 态,并重复该循环。

由于中断发生的频率远低于  HSC  的计数速率,因此能够在对  CPU  扫描周期影响相对较 小的情况下实现对高速操作的精确控制。

通过提供中断,可以在独立的中断例程中执行 每次的新预设值装载操作以实现简单的状态控制。(或者,也可在单个中断例程中处理 所有中断事件。)
选择  HSC  的功能

所有  HSC  在同一计数器运行模式下的工作方式都相同。  
HSC  共有四种基本类型:

1.具有内部方向控制的单相计数器、
2.具有外部方向控制的单相计数器、
3.具有  2  个时钟输入的双相计数器

4. A/B  相正交计数器。

请注意,每个计数器并非支持每一种模式。

用户可选择 是否激活复位输入来使用各种  HSC  类型。

如果激活复位输入,则它会清除当前值并在您 禁用复位之前保持清除状态。

频率功能:有些  HSC  模式允许  HSC  被组态(计数类型)为报告频率而非当前脉冲计数 值。

有三种可用的频率测量周期:  0.010.1    1.0  秒。

频率测量周期决定  HSC  计算并报告新频率值的频率。

报告频率是通过上一测量周期内总 计数值确定的平均值。

如果该频率在快速变化,则报告值将是介于测量周期内出现的最 高频率和最低频率之间的一个中间值。

无论频率测量周期的设置是什么,总是会以赫兹 为单位来报告频率(每秒脉冲个数)。

计数器的模式和输入:

下表列出了用于与  HSC  相关的时钟、方向控制和复位功能的输入。

同一输入不可用于两个不同的功能,但任何未被其  HSC  的当前模式使用的输入均可 用于其它用途。
例如,如果  HSC1  处于使用内置输入但未使用外部复位  (I0.3)  的模式下,则  I0.3  可以用 于沿中断或  HSC2
脉冲串输出监视功能始终使用时钟和方向。如果仅为脉冲组态了相应的  PTO  输出,则通常应将方向输出设 置为正计数。

对于仅支持  6  个内置输入的  CPU 1211C,不能使用带复位输入的  HSC3

对于仅支持  6  个内置输入的  CPU 1211C,不能使用  HSC4

仅当安装信号板时,CPU 1211C    CPU 1212C  才支持  HSC5    HSC6
访问  HSC  的当前值CPU  将每个  HSC  的当前值存储在一个输入  (I)  地址中。下表列出了为每个  HSC  的当前 值分配的默认地址。可以通过修改  CPU  的属性  (  44)来更改当前值的输入地址。
组态  HSC  
CPU  允许用户组态最多  6  个高速计数器。

用户可编辑  CPU  属性”(Properties)  来组态各个  HSC  的参数。

通过编辑  CPU  属性”(Properties)  来组态高速计数器的参数,
例如,计数器功能、初始值、复位选项和中断事 件。

组态  HSC  之后,在用户程序中使用  CTRL_HSC  指令控 制  HSC  的运行。
使用  CTRL_HSC  指令
CTRL_HSC  指令可控制用于对发生速率比  CPU  扫描速率更快 的事件进行计数的高速计数器。每个  CTRL_HSC  指令都将数据存储在背景数据块中。  CTRL_HSC  指令插入到用户程序中可创建此背景数据块。
虽然  CTUCTD    CTUD  计数器指令的计数速率受到  CPU  扫描速率的限制,
  HSC   的运行与  CPU  扫描不同步,能够以高达  100 kHz  的计数速率对事件进行计数(适用于  HSC 12    3  以及板载  CPU  计数输入组态)。

必须先在  CPU  设备配置的项目设置中组态高速计数器,然后才能在程序中使用高速计数器。  
HSC  设备配置设置包括选择计数模式、I/O  连接、中断分配以及是作为高速计数器还是设备来测量脉冲频率。

无论是否采用程序控制,均可运行高速计数器。

许多高速计数器组态参数只在项目设备配置中进行设置。

有些高速计数器参数在项目设 备配置中初始化,但以后可以通过程序控制进行修改。  
CTRL_HSC  指令参数提供了计数 过程的程序控制:

  ●  将计数方向设置为  NEW_DIR    
  将当前计数值设置为  NEW_CV    
  将参考值设置为  NEW_RV    
  将周期值(仅限频率测量模式)设置为  NEW_PERIOD  如果执行  CTRL_HSC  指令后以下布尔标记值被设置为  1,则相应的  NEW_xxx  值将装载 到计数器。执行一次  CTRL_HSC  指令可处理多个请求(同时设置多个标记)。  
DIR = 1  表示请求装载  NEW_DIR  值,0 =  无变化  
CV = 1  表示请求装载  NEW_CV  值,0 =  无变化  
RV = 1  表示请求装载  NEW_RV  值,0 =  无变化  
PERIOD = 1  表示请求装载  NEW_PERIOD  值,0 =  无变化  CTRL_HSC  指令通常放置在触发计数器硬件中断事件时执行的硬件中断  OB  中。

例如, 如果  CV=RV  事件触发计数器中断,则硬件中断  OB  代码块可以执行  CTRL_HSC  指令以 通过装载  NEW_RV  值来更改参考值。

  CTRL_HSC  参数中没有提供当前计数值。

在高速计数器硬件配置期间分配存储当前计 数值的过程映像地址。

可以使用程序逻辑直接读取该计数值,且返回到程序的值将是读 取计数器瞬间的正确计数。
但计数器仍将继续对高速事件计数。程序使用旧的计数值完 成处理前,实际计数值可能会更改。
好了今天的内容就分享到这里。
欢迎大家转发留言。
这里是电工班,我们专注于分享电气知识与维修经验。
咱们下期见。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码