西门子S7-200 SMART 高速计数器之编码器使用(一)
目录
一、高速计数器的简介
1、高速计数器的工作模式和输入
2、高速计数器的控制字和初始值、预置值
二、高速输入降噪
三、高速计数器指令向导
一、高速计数器的简介
对超出CPU普通计数器能力的脉冲信号进行测量。S7-200 SMART CPU提供了多个高速计数器(HSCO~HSC6,具体请参考表1和表2)以响应快速脉冲输入信号。高速计数器的计数速度比PLC的扫描速度要快得多,因此高速计数器可独立于用户程序工作,不受扫描时间的限制。用户通过相关指令,设置相应的特殊存储器控制计数器的工作。高速计数器的一个典型的应用是利用光电编码器测量转速和位移。
表1 标准型CPU高速计数器
标准型CPU参数 |
CPU SR20 |
CPU ST20 |
CPU SR30 |
CPU ST30 |
CPU ST40 |
CPU SR40 |
CPU ST60 |
CPU SR60 |
高速计数器 |
6(全部) |
6(全部) |
6(全部) |
6(全部) |
||||
单相/双相 |
4个200KHz+2个30KHz |
5个200KHz+1个30KHz |
4个200KHz+2个30KHz |
4个200KHz+2个30KHz |
||||
A/B相 |
2个100KHz+2个20Kz |
3个100KHz+1个20Kz |
2个100KHz+2个20Kz |
2个100KHz+2个20Kz |
表2 经济型CPU参数
经济型CPU参数 |
CPU CR20s |
CPU CR30s |
CPU CR40s |
CPU CR60s |
高速计数器 |
4(全部) |
|||
单相/双相 |
4个100KHz |
4个100KHz |
4个100KHz |
4个100KHz |
A/B相 |
2个50KHz |
2个50KHz |
2个50KHz |
2个50KHz |
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%。利用这一特点,正转时加计数,反转时减计数。
表3 高速计数器的输入点分配和功能
模式 |
模式 |
输入点 |
||
HSC0 |
I0.0 |
I0.1 |
I0.4 |
|
HSC1 |
I0.1 |
|||
HSC2 |
I0.2 |
I0.3 |
I0.5 |
|
HSC3 |
I0.3 |
|||
HSC4 |
I0.6 |
I0.7 |
I1.2 |
|
HSC5 |
I1.0 |
I1.1 |
I1.3 |
|
0 |
带有内部方向控制的单相计数器 |
时钟 |
||
1 |
时钟 |
复位 |
||
3 |
带有外部方向控制的单相计数器 |
时钟 |
方向 |
|
4 |
时钟 |
方向 |
复位 |
|
6 |
带有增减计数时钟的双相计数器 |
增时钟 |
减时钟 |
|
7 |
增时钟 |
减时钟 |
复位 |
|
9 |
A/B相正交计数器 |
时钟A |
时钟B |
|
10 |
时钟A |
时钟B |
复位 |
2、高速计数器的控制字和初始值、预置值
所有的高速计数器在S7-200 SMART CPU的特殊存储区中都有各自的控制字,控制字用来定义计数器的计数方式和其他一些设置,以及在用户程序中对计数器的运行进行控制。高速计数器的控制字的位地址分配见表4,高速计数器的寻址见表5。
表4 高速计数器的控制字的位地址分配表
HSC0 |
HSC1 |
HSC2 |
HSC3 |
描述 |
SM37.0 |
不支持 |
SM57.0 |
不支持 |
复位有效控制,0=复位高电平有效,1=复位低电平有效 |
SM37.2 |
不支持 |
SM57.2 |
不支持 |
正交计数器速率选择,0=4X计数率,1=1X计数率 |
SM37.3 |
SM47.2 |
SM57.3 |
SM137.3 |
计数方向,0=减计数,1=加计数 |
SM37.4 |
SM47.4 |
SM57.4 |
SM137.4 |
向HSC中写入计数方向,0=不更新,1=更新 |
SM37.5 |
SM47.5 |
SM57.5 |
SM137.5 |
向HSC中写入预置值,0=不更新,1=更新 |
SM37.6 |
SM47.6 |
SM57.6 |
SM137.6 |
向HSC中写入初始值,0=不更新,1=更新 |
SM37.7 |
SM47.7 |
SM57.7 |
SM137.7 |
HSC允许,0=禁止HSC,1=允许HSC |
表5 高速计数器的寻址
高速计数器号 |
HSC0 |
HSC1 |
HSC2 |
HSC3 |
HSC4 |
HSC5 |
新当前值(新CV) |
SMD38 |
SMD48 |
SMD58 |
SMD138 |
SMD148 |
SMD158 |
新预置值(新PV) |
SMD42 |
SMD52 |
SMD62 |
SMD142 |
SMD152 |
SMD162 |
当前计数值(仅读出) |
HC0 |
HC1 |
HC2 |
HC3 |
HC4 |
HC5 |
高速计数器都有初始值和预置值,所谓初始值就是高速计数器的起始值,而预置值就是计数器运行的目标值,当前值(当前计数值)等于预置值时,会引发一个内部中断事件,初始值、预置值和当前值都是32位有符号整数。必须先设置控制字以允许装入初始值和预置值,并且初始值和预置值存入特殊存储器中,然后执行HSC指令使新的初始值和预置值有效。
二、高速输入降噪
在使用高速计数器前,务必将HSC的每路输入的滤波时间组态为允许需要的速率进行计算的值,否则HSC 输入脉冲以输入滤波过滤掉的速率发生,HSC不会在输入上检测到任何脉冲,输入滤波设置和可检测到的最大频率如表6所示。
表6 输入滤波设置和可检测到的最大频率
输入滤波时间 |
可检测到的最大频率 |
0.2us |
200KHz(标准型CPU) 100KHz(紧凑型或经济型CPU) |
0.4us |
200KHz(标准型CPU) 100KHz(紧凑型或经济型CPU) |
0.8us |
200KHz(标准型CPU) 100KHz(紧凑型或经济型CPU) |
1.6us |
200KHz(标准型CPU) 100KHz(紧凑型或经济型CPU) |
3.2us |
156KHz(标准型CPU) 100KHz(紧凑型或经济型CPU) |
6.4us |
78kHz |
12.8us |
39kHz |
0.2ms |
2.5kHz |
0.4ms |
1.25kHz |
0.8ms |
625Hz |
1.6ms |
312Hz |
3.2ms |
156Hz |
6.4ms |
78Hz |
12.8ms |
39Hz |
三、高速计数器指令向导
1、在项目树中双击CPU,在弹出的系统块中选择“数字量输入”,将对应输入口的脉冲捕捉选中,并修改输入滤波时间,如图1和图2所示;
图1 双击CPU进行配置
图2 在系统块中修改输入滤波时间
2、在Micro/WIN SMART 中的命令菜单中选择 Tools(工具)> Wizards(向导)中选择 High Speed Counter(高速计数器向导),也可以在项目树中选择 Wizards(向导)文件夹中的 High Speed Counter(高速计数器向导)按钮,如图 3所示;
图3 选择高速计数器向导
3、选择HSC编号,如图4所示;
图4 选择高速计数器编号
4、为高速计数器命名,在左侧树形目录中选择“高速计数器”,如图5所示;
图5 为高速计数器命名
5、选择计数模式,如图6所示;(每种模式的区别请参考前面内容)
图6 选择高速计数器模式
6、配置初始化信息,如图7所示;
图7 配置高速计数器的初始化选项
(1)为初始化子程序命名;
(2)设置计数器预置值,可以为整数、双字地址或符号名,如5000、VD100、PVHC0。用户可使用全局符号表中双字整数对应的符号号。如果用户输入的符号名尚未定义,点击“生成”后会弹出对话框:
点击是后输入地址和注释,地址必须为双字地址,注释可以不填;
(3)设置计数器初始值,可以为整数、双字地址或符号名:5000、VD100、CV_HC0;
(4)初始化计数方向:增、减;
(5)对于带外部复位端的高速计数器,可以设定复位信号为高电平有效或者低电平有效;
(6)使用A/B相正交计数器时,可以将计数器频率设为1倍速或4倍速。使用非A/B相正交计数器时,此项为需;
所谓“高/低电平有效”指的是在物理输入端子上的有效逻辑电平,即可以使 LED 灯点亮的电平。这取决于源型/漏型输入接法,并非指实际电平的高、低。
图8 配置中断
一个高速计数器最多可以有三个中断事件,在白色框中填写中断服务程序名称或者使用默认名称:
(1)外部复位激活后的中断,如果使用的高速计数器模式不具有外部复位端,则此项为虚;
(2)方向输入更改后的中断,有以下3中情况会产生该中断:
a.单相计数器的内部或外部方向控制位改变的瞬间;
b.双相计数器增、减时钟交替的瞬间;
c.A/B相脉冲相对相位(超前或滞后)改变的瞬间;
(3)当前值等于预置值(CV=PV)时的中断,可以在该中断的服务程序中重新设置高速计数器的参数,如预置值、当前值,具体看步骤6。
中断事件并非必须使用,由用户根据需求选用。
8、配置HSC步数,如图9所示,最多可设置10步;
图9 配置HSC步数
9、定义高速计数器每一步的操作,如图10所示;
图10 HSC每一步定义
在这里配置的是当前值等于设定值中断的服务程序中的操作:
(1)向导会自动为当前值等于预置值匹配一个新的中断服务程序,用户可以对其重新命名,或者使用默认的名称。
(2)勾选后,用户在右侧输入新的预置值。
(3)勾选后,用户在右侧输入新的当前值。
(4)如果选用的高速计数器模式有内部方向控制位。
使用相同的方法完成其余步的设置
10、完成向导,如图11所示;
图11 完成向导
点击向导对话框左侧树形目录中的选项“组件(Components)”可以看到此时向导生成的子程序和中断程序名称及描述,点击“生成(Generate)”按钮,完成向导。
Micro/WIN SMART 高速计数器指令向导采用树形目录的形式,用户可以直接在目录树中选择相应选项进行设置,这种方式便于用户在完成指令向导后根据实际需求进行快速修改。
西门子S7-200 SMART 高速计数器之编码器使用(一)相关推荐
- 西门子S7—200 Smart恒压供水控制程序
西门子S7-200 Smart恒压供水控制程序!带2台泵!无模拟量模块!用的是变频器的内置PID!变频器使用的是ABB 510!是和变频器通讯使用的! id=617902236233&
- 组态王与西门子S7 200 SMART连接
一.多个组态王连接一台PLC 最多3台组态王可以连接一个PLC,使用网口连接,需要更改组态王驱动的配置文件.配置文件在组态王安装目录下Driver文件夹下,配置文件叫 kvS7200.ini . 找到 ...
- s7 200 smart编程软件是款功能强大的plc编程工具
s7 200 smart编程软件是款功能强大的plc编程工具;它是由大家都比较熟悉的西门子官方进行研发推出,还对新款的编程软件进行支持,包括了CP243-1等;软件还可进行远程的编程.数据传输的功能也 ...
- 台达变频器modbus通讯控制程序 西门子s7—200型PLC和昆仑通泰触摸屏程序
台达变频器modbus通讯控制程序 西门子s7-200型PLC和昆仑通泰触摸屏程序,带变频器使用手册,参数设置和接线说明. 可以实现频率设定,频率,电压,电流显示:正转启动,反转启动和停止控制. ID ...
- S7 200 smart高速计数功能应用
高速计数功能应用 https://ke.qq.com/course/package/26452 单相:只有一个输入(I0.0)进高速计数端.用于频率比较高的场景 双相:有两个输入(I0.0.I0.1) ...
- 西门子S7 200系列寄存器地址与组态王地址的换算公式
组态王中的地址dd=40000+((寄存器地址-1000)/2+1. 例如组态王中 40640 对应 PLC: VD2278 (组态王中寄存器4表示 FLOAT型变量). 寄存器地址-1000是偏移地 ...
- 西门子s7 200smart与台达伺服电机 运动控制的学习,目标:用触摸屏和西门子smart 控制
西门子s7 200smart与台达伺服电机 运动控制的学习,目标:用触摸屏和西门子smart 控制 器件:西门子s7 200 smart PLC,台达伺服电机,昆仑通态触摸屏(带以太网),中途可以加路 ...
- 西门子s7 200smart与台达变频器通讯 目标:用触摸屏和西门子smart 控制变频器通讯
西门子s7 200smart与台达变频器通讯 目标:用触摸屏和西门子smart 控制变频器通讯 器件:西门子s7 200 smart PLC,台达VFD-M变频器,昆仑通态触摸屏(带以太网),中途可以 ...
- 西门子s7 200smart与台达变频器485通讯 触摸屏与plc以太网通讯,PLC与变频器通讯485口相连
西门子s7 200smart与台达变频器485通讯 目标:用触摸屏和西门子smart 控制变频器通讯 器件:西门子s7 200 smart PLC,台达VFD-M变频器,昆仑通态触摸屏(带以太网),中 ...
最新文章
- bzoj1492: [NOI2007]货币兑换Cash
- 可能会用到的弹出框用法
- JAVA架构师面试题and如何成为架构师
- ACwing 245. 你能回答这些问题吗(线段树区间子段最大值+单点修改)
- 面试小问题——Object中有哪些常用方法?
- 辉哥给rockchip修复了一个内存溢出问题
- QT学习笔记(十):通用算法示例
- 教资计算机学科知识考试题型,教师资格证《信息技术学科知识与教学能力》考试规律分析(高级)...
- mysql存储过程实va_mysql-存储过程(二)-逻辑判断语句
- UE3 渲染线程的分析及优化
- python setup_简述python setup.py install的过程
- 经典教程 | 基于Spark GraphX实现微博二度关系推荐
- ET框架-03 ET框架-Demo工程的编译与运行
- 如何***内网windows xp的几种思路和方法
- CVPR 2020 最佳论文提名 | 神经网络能否识别镜像翻转
- cntv客户端_cntv网络电视_cntv官方下载-太平洋下载中心
- ez_pz_hackover_2016
- 支付宝新移动支付平台解析
- CES 2016逛展攻略:三大展区万家展台 你不能错过!
- 易语言mysql修改语句_易语言-MySQL-update源码例程