PLC高速计数器测量电机转速的标准程序
如何通过高速计数器HSC计算电机的实时转速

如何通过高速计数器HSC计算电机的实时转速
大家经常使用高速计数器功能来计算脉冲的个数,进而产生中断,在中断中快速执行一些工艺操作,或者纯计数。
其实,很多PLC的高速计数通道不仅仅支持计数功能,也支持周期测量、频率测量功能,如S7-1200 除了提供计数功能外,还提供了频率测量功能,有3 种不同的频率测量周期:1.0 秒,0.1 秒和0.01 秒。
频率测量周期是这样定义的:计算并返回新的频率值的时间间隔。
返回的频率值为上一个测量周期中所有测量值的平均,无论测量周期如何选择,测量出的频率值总是以 Hz (每秒脉冲数)为单位。
我们可以利用频率测量功能实现计算电机的实时转速,而且不需要编程,只需要组态即可。
测量原理:
如一台电机带了一个分辨率为2000P/R的增量式编码器,即电机转1圈,发出2000个脉冲,输出类型为AB相,PLC启用频率测量功能,即计算每秒接收到的脉冲数,频率除以2000,即电机1秒钟转了多少圈,再乘以60,即电机多少转/分钟。
如何实现:
针对此类需求,我们不需要编程,只需要组态即可。
1、启用高速计数器
启用HSC、设置计数类型和工作模式,其余默认即可。
2、修改滤波时间
只要用到高速计数器,一定要记得修改滤波时间,调整到0.8microsec即可。
我们在「高级编程」如何使用编码器的Z相脉冲清零高速计数器的当前值也强调过滤波时间的问题。
3、计算转速
对于HSC1默认的地址为ID1000,即频率存放地址。
电机转速=ID1000/2000*60。
高速计数器测速

这里每转脉冲数是已知的。高速计数器也是可以计数的,
怎么得到单位时间的脉冲数??
答:用定时中断程序读取高速计数器的数值,得到的就是单位时间的脉冲数。
每次读数完毕,记住将高速计数器清零,再重新启动定时器和计数器。
西门子 PLC S7-200连接编码器,测机器的比较实时的速度,怎么实现?
答:用定时中断测前一次计数和本次计数差值,乘以定时中断的频率,再除以编码器分辨率就是转速了。
假如本次中断计数器计数值是vd4,上次计数值是vd0
,定时中断时间为0.1秒,编码器分辨率是2000p/r
那么转速就是(vd4-vd0)/10/2000
西门子1200系列PLC教程-高速计数器

高速计数器S7-1200CPU本体提供了最多6路高速计数器,其独立于CPU的扫描周期进行计数。
其中CPU1217C可测量的脉冲频率最高为1MHz(差分信号),其它型号的S7-1200CPU可测量到的单相脉冲频率最高为100kHz,A/B相最高为80kHz。
如果使用信号板还可以测量单相脉冲频率高达200kHz的信号,A/B相最高为160kHz。
S7-1200CPU和信号板具有可组态的硬件输入地址,因此可测量到的高速计数器频率与高速计数器号无关,而与所使用的CPU和信号板的硬件输入地址有关。
表1和表2显示了CPU集成输入点与信号板可用于高速计数器的信息。
一、编码器基础1.光电编码器编码器是传感器的一种,主要用来检测机械运动的速度、位置、角度、距离和计数等,许多马达控制均需配备编码器以供马达控制器作为换相、速度及位置的检出等,应用范围相当广泛。
按照不同的分类方法,编码器可以分为以下几种类型:根据检测原理,可分为光学式、磁电式、感应式和电容式。
根据输出信号形式,可以分为模拟量编码器、数字量编码器。
根据编码器方式,分为增量式编码器、绝对式编码器和混合式编码器。
光电编码器是集光、机、电技术于一体的数字化传感器,主要利用光栅衍射的原理来实现位移—数字变换,通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。
典型的光电编码器由码盘、检测光栅、光电转换电路(包括光源、光敏器件、信号转换电路)、机械部件等组成。
光电编码器具有结构简单、精度高、寿命长等优点,广泛应用于精密定位、速度、长度、加速度、振动等方面。
2.增量式编码器增量式编码器提供了一种对连续位移量离散化、增量化以及位移变化(速度)的传感方法。
增量式编码器的特点是每产生一个输出脉冲信号就对应于一个增量位移,它能够产生与位移增量等值的脉冲信号。
增量式编码器测量的是相对于某个基准点的相对位置增量,而不能够直接检测出绝对位置信息。
如图1-1所示,增量式编码器主要由光源、码盘、检测光栅、光电检测器件和转换电路组成。
西门子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编程器的使用示例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.高速计数功能。
西门子PLC高速计数器使用方法

高速计数器对CPU扫描速率无法控制的高速事件进行计数,最多可配置12种不同的操作模式。
高速计数器的最高计数频率取决于您的CPU类型。
每台计数器对支持此类功能的时钟、方向控制、复原和起始均有专用输入。
对于二相计数器,两个时钟均可以最高速率运行。
在正交模式中,可选择1乘以(1x)或4乘以(4x)最高计数速率。
所有计数器均以最高速率运行,互不干扰。
本标题讨论下列主题:使用高速计数器识别高速计数器的详细计时功能为高速计数器连接输入线高速计数器编址(HC)识别不同的高速计数器选择现用状态和1x/4x模式高速计数器初始化顺序控制字节HSC模式设置当前值和预设值状态字节为中断赋值使用高速计数器返回顶端通常高速计数器被用作鼓式计数器驱动器,以恒速旋转的转轴配有增量轴式编码器。
轴式编码器提供每次旋转的指定计数以及每次旋转一个复原脉冲。
轴式编码器的时钟和复原脉冲为高速计数器提供输入。
用最先的几个预设值载入高速计数器,并在当前计数小于当前预设值的期间内激活所需输出。
当前计数等于预设值或复原时,计数器设置提供中断。
每次发生当前计数值等于预设值中断事件时,载入新预设值,并设置下一个输出状态。
发生复原中断事件时,设置第一个预设值和第一个输出状态,并重复该循环。
因为中断的发生速率远远低于高速计数器的计数速率,可对高速操作执行精确的控制,并对整体PLC扫描循环产生相对较小的影响。
中断附加方法允许在独立中断例行程序中执行每个载入的新预设值,以便进行状态控制。
(另一种方法是在单个中断例行程序中处理所有的中断事件。
)识别高速计数器的详细计时功能返回顶端下列时序图显示根据模式分类的每台计数器的功能。
在另一个时序图中显示复原和起始输入操作,并应用于所有使用复原和起始输入的模式。
在复原和起始输入图中,复原和起始的现用状态均被编程为高级。
有复原、无起始的操作举例有复原和起始的操作举例模式0、1和2操作举例模式3、4和5操作举例使用计数模式6、7和8时,上下时钟输入的上升沿间隔0.3微秒,高速计数器可能认为这些事件同时发生。
用PLC控制变频器调速的实例(图与程序)

用PLC控制变频器调速的实例(图与程序)《PLC控制变频器调速》实例的要求用PLC控制变频器,通过光电编码器反馈速度信号达到电动机调速的精确控制。
《PLC控制变频器调速》实例的目的1. 通过电动机变频调速控制系统实验,进一步了解可编程控制器在电动机变频调速控制中的应用。
2. 通过系统设计,进一步了解PLC、变频器及编码器之间的配合关系。
3. 通过实验线路的设计,实际操作,使理论与实际相结合,增加感性认识,使理论知识更加巩固。
4. 培养动手能力,增强对可编程控制器运用的能力。
5. 培养分析,查找故障的能力。
6. 增加对可编程控制器外围电路的认识。
《PLC控制变频器调速》实例的器件欧姆龙CPM2AH-40CDR可编程控制器(PLC),欧瑞F1000-G 系列变频器,三相异步电机。
本次实例由3部分组成第一部分采样:转速的采样采用的是欧姆龙的光电编码器,结合PLC的高速计数器端子,实现高精度的采样。
编码器是将信号(如比特流)或数据进行编制、转换为可用以通讯、传输和存储的信号形式的设备。
编码器把角位移或直线位移转换成电信号,前者成为码盘,后者称码尺.按照读出方式编码器可以分为接触式和非接触式两种.欧姆龙(OMRON)编码器是用来测量转速的装置,光电式旋转编码器通过光电转换,可将输出轴的角位移、角速度等机械量转换成相应的电脉冲以数字量输出(REP)。
它分为单路输出和双路输出两种。
第二部分控制部分:变频调速是改变电动机定子电源的频率,从而改变其同步转速的调速方法。
第三部分软件::控制的基本思路是讲采样的结果作为反馈量,输入到PLC中与所想要的频率对应值比较,然后再由PLC做出相应的控制。
实例中的电路图与梯形图一、光电编码器二、变频器三、实例总结四、梯形图。
基于PLC的转速测量系统设计

自动化控制• Automatic Control108 •电子技术与软件工程 Electronic Technology & Software Engineering【关键词】转速测量 传感器 高速计数器物体常见的运动方式有直线运动和旋转运动两种。
直线运动用线速度v 表示物体运动的快慢,v=s/t ,表示在时间t 内物体运动路程的变化,常用单位有m/s(米/秒)、km/h (千米/小时)两种。
对于旋转运动物体转动快慢用转速n 来表示,单位有rpm (转/分),表示物体在每分钟内转动了多少圈。
生活中常常基于PLC 的转速测量系统设计文/彭芳需要把旋转的转速转换为其它形式的信息,如汽车行驶时,车轮转动,我们需要将其转换成汽车在马路上行驶的直线运动速度的大小。
若汽车车轮圆周长按1.3m 计算,且汽车匀速行驶,每秒钟车轮转动了12转,则1秒内汽车行驶了15.6m ,换算成千米/小时可计算出汽车在路面的行驶速度为56 km/h 。
本设计以三相异步电动机的转速测量为例,说明转速测量系统的构成,其中三相异步电动机主要铭牌数据如表1所示。
表1中,电动机在额定状态下工作,带额定负载运行时的转速为2830r/min 。
1 控制系统设计方案本系统利用PLC 高速脉冲计数器功能,通过传感器采集电动机旋转转换的脉冲信号实现转速的测量。
设计方案解决三个问题:(1)三相异步电动机转速的检测。
三相异步电动机工作时转轴是连续旋转状态,对其转速的测量首先要解决转速信号的采集,常用方法是在电动机的转轴上套上齿轮盘,齿轮盘间的凹凸在传感器检测时,可转换成传感器输出的一个高、低电平脉冲信号。
(2)采用磁电式结构的传感器接近开关,它是利用电磁感应的原理,将输入的运动速度转换成磁电式传感器线圈中的感应电动势输出,工作时不需要外加电源,是一种有源传感器。
(3)将传感器的脉冲信号送至PLC 的高速脉冲输入端,通过程序设计完成转速的测量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PLC高速计数器测量电机转速的标准程序
通过与电动机同轴齿轮齿条变化来测量电动机转速,电动机输出轴与齿轮的传动比=1,齿条数=12,要求测量单位:转/分钟。
主程序:
子程序0
中断程序0
主程序MAIN
程序初始化,PLC上电运行的第一个扫描周期执行一次初始化子程序SBR_0。
用于程序运行的初始设置
子程序SBR_0
在PLC运行的第一个扫描周期,将用于记录累加数据次数和累加数据的中间变量VB8和VD0置0
设置高速计数器HC0的控制字节SMB37,用十六进制表示(16#F8),也可以用二进制表示(2#11111000)。
设置高速计数器HC0工作模式为0,单相计数输入,没有外部控制功能。
设置高速计数器HC0初始值寄存器SMD38为0。
执行HSC指令,将控制字节SMB37、初始值/预置值寄存器(SMD38/SMD42)以及工作模式写入高速计数器HC0。
设定定时中断事件的时间为50ms
定时中断事件号10和中断处理程序INT_0建立关联。
允许中断,将定时中断事件和中断处理程序连接
中断处理程序INT_0
中断处理程序每隔50ms扫描刷新一次。
采用整数加法指令,将高速计数器HC0的计数当前值(32位)和累加数据相加一次。
用于数据的累加。
采用整数递增指令,记录累加次数。
执行HSC指令,在这里执行的目的,是将初始值寄存器SMD38(0)再次写入高速计数器HC0,使计数当前值为0,以便下个定时采样。
当累加数据次数等于32次,子程序中网络2中程序执行。
采用除法指令,计算32次的累加数据平均值。
将平均值转换成测量单位:转/分,转换后的数据送入双字VD4。
将平均值转换成字数据,送入字VW10中。
VW10中的数据就是电机速度值。
之所以转换,是因为在程序中一般要求以字的概念存在。
将记录累加数据次数的字节VB6中数据置0。
用于下一次开始时,从新开始累加。
将用于累叫数据的中间变量VD4置0。