西门子S7-200系列PLC高速计数器测量电机转速的标准程序
PLC高速计数器测量电机转速的标准程序
通过与电动机同轴齿轮齿条变化来测量电动机转速,电动机输出轴与齿轮的传动比=1,齿条数=12,要求测量单位:转/
分钟。
主程序:
子程序0
主程序MAIN
程序初始化,PLC上电运行的第一个扫描周期执行一次初始化子程序SBR_0。用于程序运行
的初始设置
子程序SBR_0
在PLC运行的第一个扫描周期,将用于记录累加数据次数和累加数据的中间变量VB8和VD0置0
设置高速计数器HC0的控制字节SMB37,用十六进制表示(16#F8),也可以用二进制表示(2#11111000)。
设置高速计数器HC0工作模式为0,单相计数
输入,没有外部控制功能。
┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊ 第1章绪论 1.1 计数器介绍 本设计是根据我们所学习的单片机课程,按照课程要求进行的课程设计。单片机技术是一个不可或缺的技术,尤其是对于我们电气专业来说它是我们必须要掌握的技能之一,使我们未来工作和生活的根本。现在的社会是一个信息科技高速发展的社会,也是一个电子技术和微机计算机迅速发展的时代,单片机的档次和水平在不断的提高,其应用的领域和范围也越来越广,成为现代电子系统中最重要的智能化核心部分。 随着计数器技术的不断发展与进步,计数器的种类越来越多,应用的范围越来越广,随之而来的竞争也越来越激烈。过硬的技术也成为众多生产厂商竞争的焦点之一。厂商为了在竞争中处于不败之地,从而不断地改进技术,增加产品的种类。 现计数器的种类以增加到:电磁计数器、电子计数器、机械计数器(拉动机械计数器、转动机械计数器、按动机械计数器、测长机械计数器)、液晶计数器等。计数器的应用范围也遍布印刷、纺织、印染、针织、电缆、电讯、军工、轻工、机械、开关、断路器、矿山、实行多班制的纺织行业的织布机、织带机、制线、制带、造纸、制革、薄膜、高压开关电器产品、试验设备,印刷设备、短路器、医疗、纺织、机械、仓库和码头的货运、行人及车辆过往的数量计数、冶金、食品、国防、包装、配料、石油、化工、发电、机床、仪表、自动化控制等行业。 1.2 本次设计的要求 1) 上电时,数码管显示为00。 2) 利用单片机来制作一个手动计数器,在单片机的管脚上接一个轻触开关,作为手动计数的按钮,用单片机的I/O口接数码管,作为计数器,进行加计数显示。 3) 计数器计数到99后,再按计数按钮,则数码管从00重新开始计数。 1.3 本次设计的目的 1) 学习基本理论在实践中综合运用的初步经验,掌握电路设计的基本方法、设计步骤,培养综合设计与调试能力。 2) 掌握汇编语言程序设计方法。 3) 培养实践技能,提高分析和解决实际问题的能力。
* S7-200高速计数器详细解说 i?高速计数器指令 普通计数器受CPU扫描速度的影响,是按照顺序扫描的方式进行工作。在没个扫描周 期中,对计数脉冲只能进行一次累加;对于脉冲信号的频率比PLC的扫描频率高时,如果仍采用普通计数器进行累加,必然会丢失很对输入脉冲信号。在PLC中,对比扫描频率高的输入信号的计数可也使用高速计数器指令来实现。 1. 高速计数器指令 C,如表 (1)定义高速计数器指令HDEF HDE指令功能是为某个要使用的高速计数器选定一种工作模式。每个高速计数器在使用 前,都要用HDEF指令来定义工作模式,并且只能用一次。它有两个输入端:HSC为要 使用的高速计数器编号,数据类型为字节型,数据范围为0~5的常数,分别对应HC0~ HC5;M0CE为高速计数的工作模式,数据类型为字节型,数据范围为0~11的常数,分 别对应12种工作模式。当准许输入使能EN有效时,为指定的高速计数器HSC定义工 作模式MODE。 (2)执行高速计数指令HSC HSC指令功能功能是根据与高速计数器相关的特殊继电器确定在控制方式和工作状态,使高速计数器的设置生效,按照指令的工作模式的工作模式执行计数操作。它有一个数 据输入端N : N为高速计数器的编号,数据类型的字型,数据范围为0~5的常数,分别对应 高速计数器HC0~HC5.当准许输入EN使能有效时,启动N号高速计数器工作。 2. 高速计数器的输入端 高速计数器的输入端不像普通输入端那样有用户定义,而是由系统指定的输入点输入信 号,每个高速计数器对它所支持的脉冲输入端,方向控制,复位和启动都有专用的输入点,通过比较或中断完成预定的操作。每个高速计数器专用的输入点如表 高速计数器的输入点
《传感器技术》课程设计 课题:光电式转速测量仪 班级 学生姓名学号 指导教师 电子与电气工程学院 2010年12月21日
光电式转速测量仪 一、系统方案设计 1.1概述 在工业生产和科学实验中,转速的测量是一个很重要的问题。有关测量转子速度的方法有很多,但大部分比较复杂。物体运动的速度可分为线速度和加速度。随着生产过程自动化程度的提高,开发出了各种各样的检测线速度和角速度的方法,如磁电式速度计、光电速度计、测速发动机等。 由于光电测量方法灵活多样,可测参数众多,一般情况下又具有非接触、高精度、高分辨率、高可靠性和相应快等优点,加之激光光源、光栅、光学码盘、CCD器件、光导纤维等的相继出现和成功应用,使得光电传感器在检测和控制领域得到了广泛的应用。 二、工作原理
2.1检测原理 1)直射型光电转速传感器的检测原理。 直射式光电转速传感器的结构见图1。它由开孔圆盘、光源、光敏元件及缝隙板等组成。开孔圆盘的输入轴与被测轴相连接,光源发出的光,通过开孔圆盘和缝隙板照射到光敏元件上被光敏元件所接收,将光信号转为电信号输出。开孔圆盘上有许多小孔,开孔圆盘旋转一周,光敏元件输出的电脉冲个数等于圆盘的开孔数,因此,可通过测量光敏元件输出的脉冲频率,得知被测转速,即n=f/N式中:n - 转速f - 脉冲频率N - 圆盘开孔数。 2)反射型光电传感器的检测原理。
反射式光电传感器的工作原理见图2,主要由被测旋转部件、反光片(或反光贴纸)、反射式光电传感器组成,在可以进行精确定位的情况下,在被测部件上对称安装多个反光片或反光贴纸会取得较好的测量效果。在本实验中,由于测试距离近且测试要求不高,仅在被测部件上只安装了一片反光贴纸,因此,当旋转部件上的反光贴纸通过光电传感器前时,光电传感器的输出就会跳变一次。通过测出这个跳变频率f,就可知道转速n。n=f如果在被测部件上对称安装多个反光片或反光贴纸,那么,n=f/N。N-反光片或反光贴纸的数量。 2.2传感器选择 光电转速传感器LHYF-12-A 检测距离:0~10mm 工作温度(℃):-20~+50 工作电压/电流:DC12V 响应频率:500Hz 方法:在轴上贴上一小块1平方厘米的反光纸,通过调节传感器与轴的距离和拧传感器上的调节钮使传感器对轴不动作,对反光纸动作。 2.3测量电路介绍 光电传感器转速测量实验结构示意图如图3所示,按图示结构连接实验设备,其中光电转速传感器接入数据采集仪5通道。 三、系统软件设计 3.1系统软件 1)启动服务器,运行DRVI主程序,开启DRVI数据采集仪电源,然后点击DRVI快捷工具条上的"联机注册"图标,选择其中的"DRVI
实验三单片机定时/计数器实验 1、实验目的 1、学习计数器的使用方法。 2、学习计数器程序的编写。 3、学习定时器的使用方法。 4、学习定时器程序的编写。 5、熟悉汇编语言 2、实验说明 1、8051内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。将其数值按二进制数在P1口驱动LED灯上显示出来。 2、用CPU内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转 3、实验仪器和条件 计算机 伟福实验箱(lab2000P) 4、实验内容 1、8051内部定时计数器T0,按计数器模式和方式1工作,对P3.4(T0)引脚进行计数。将其数值按二进制数在P1口驱动LED灯上显示出来。 2、外部事件计数脉冲由P3.4引入定时器T0。单片机在每个机器周期采样一次输入波形,因此单片机至少需要两个机器周期才能检测到一次跳变。这就要求被采样电平至少维持一个完整的机器周期,以保证电平在变化之前即被采样。同时这就决定了输入波形的频率不能超过机器周期频率。 3、用CPU内部定时器中断方式计时,实现每一秒钟输出状态发生一次反转 4、定时器有关的寄存器有工作方式寄存器TMOD和控制寄存器TCON。TMOD
用于设置定时器/计数器的工作方式0-3,并确定用于定时还是用于计数。TCON 主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。 5、在例程的中断服务程序中,因为中断定时常数的设置对中断程序的运行起到关键作用,所以在置数前要先关对应的中断,置数完之后再打开相应的中断。 五、思考题 1、使用其他方式实现本实验功能; 2、改为门控方式外部启动计数; 3、如果改为定时间隔为200us,如何改动程序; 4、使用其他方式实现本实验功能,例如使用方式1,定时间隔为10ms,如何改动程序。 六、源程序修改原理及其仿真结果 思考题一:使用其他方式实现本实验功能 方法一: movTMOD, #00000100b;方式0,记数器 movTH0, #0 movTL0, #0 setbTR0;开始记数;由于方式0的特点是计数时使用TL0的低五位和八位 TH0,故用加法器a用“与”(ANL)取TL0的低五位,再用yiwei子程序实现TH0的低三位变为高三位与TL0相加,这样赋给P1时就是八位计数的结果。 Loop: mova,TL0 anla,#1fh
1、建一个初始化程序,用SM0.1控制; 2、在初始化程序中,初始化高速计数器 2.1 设置控制寄存器(HSC0为SMB37),不同的计数器对应不同的DI点,HSC0为I0.0,HSC3为I0.1,HSC4为I0.2,HSC5为I0.3(222不支持HSC1和HSC2) 2.2 执行HDEF指令,你可以用模式0 2.3 置计数器初始值(HSC0为SMD38),如果从零启动就置零 2.4 置预置值(HSC0为SMD42),计数器计到这个值可以产生一个中断,一般利用这个中断调用相应的中断程序把当前值(SMD38)复零,否则计数器到头就不再计数了,当然你也可以置一个大点的值,在其他程序中清除当前值(SMD38),确保永远到不了头就可以了。 2.5 指定中断程序(ATCH),中断事件是12,程序号看你程序了 2.6 打开中断(ENI),这条指令没有的话,2.5是不起作用的 2.7 启动高速计数器(HSC),按前面的初始化,你就要启动HSC0,即N 为0 3、程序中读取高速计数器的值,对于HSC0,HC0单元中的内容就是当前的计数值,这个单元只读不能写,你可以通过修改SMD38的内容改变当前的计数值。 艾驰商城是国内最专业的MRO工业品网购平台,正品现货、优势价格、迅捷配送,是一站式采购的工业品商城!具有10年工业用品电子商务领域研究,以强大的信息通道建设的优势,以及依托线下贸易交易市场在工业用品行业上游供应链的整合能力,为广大的用户提供了传感器、图尔克传感器、变频器、断路器、继电器、PLC、工控机、仪器仪表、气缸、五金工具、伺服电机、劳保用品等一系列自动化的工控产品。 如需进一步了解台达PLC、西门子PLC、施耐德plc、欧姆龙PLC的选型,报价,采购,参数,图片,批发等信息,请关注艾驰商城https://www.wendangku.net/doc/ac10901942.html,/
#include
[整理]s7-200高速计数器详细解说s7-200高速计数器详细解说 1.高速计数器指令 普通计数器受CPU扫描速度的影响,是按照顺序扫描的方式进行工作。在没个扫描周期中,对计数脉冲只能进行一次累加;对于脉冲信号的频率比PLC的扫描频率高时,如果仍采用普通计数器进行累加,必然会丢失很对输入脉冲信号。在PLC 中,对比扫描频率高的输入信号的计数可也使用高速计数器指令来实现。 在S7-200的CPU22X中,高速计数器数量及其地址编号表如下 CPU类型 CPU221 CPU222 CPU224 CPU226 高速计数器数量 4 6 高速计数器编号 HC0,HC3~HC5 HC0~HC5 1(高速计数器指令 高速计数器的指令包括:定义高速计数器指令HDEF 和执行高速计数指令HSC,如表 HDEF HSC (1) 定义高速计数器指令HDEF HDE指令功能是为某个要使用的高速计数器选定一种工作模式。每个高速计数器在使用 前,都要用HDEF指令来定义工作模式,并且只能用一次。它有两个输入 端:HSC为要
使用的高速计数器编号,数据类型为字节型,数据范围为0~5的常数,分别对应HC0~ HC5;MOCE为高速计数的工作模式,数据类型为字节型,数据范围为0~11的常数,分 别对应12种工作模式。当准许输入使能EN有效时,为指定的高速计数器HSC 定义工 作模式MODE。 (2)执行高速计数指令HSC HSC指令功能功能是根据与高速计数器相关的特殊继电器确定在控制方式和工作状态,使高速计数器的设置生效,按照指令的工作模式的工作模式执行计数操作。它有一个数据输入端N:N为高速计数器的编号,数据类型的字型,数据范围为0~5的常数,分别对应高速计数器HC0~HC5.当准许输入EN使能有效时,启动N号高速计数器工作。 2(高速计数器的输入端 高速计数器的输入端不像普通输入端那样有用户定义,而是由系统指定的输入点输入信号,每个高速计数器对它所支持的脉冲输入端,方向控制,复位和启动都有专用的输入点,通过比较或中断完成预定的操作。每个高速计数器专用的输入点如表 高速计数器的输入点 高速计数器标号输入点高速计数器标号输入点 HC0 I0.0,I0.1,I0.2 HC3 I0.1 HC1 I0.6,I0.7,I1.0,11.1 HC4 I0.3,I0.4,I0.5 HC2 I1.2,I1.3,,I1.4,I1.5 HC5 I0.4 3(高速计数器的状态字节系统为每个高速计数器都在特殊寄存器区SMB提供了一个状态字节,为了监视高速计数器的工作状态,执行由高速计数器引用的中断事件,其格式如表。
课程设计报告 题目:光电传感器的转速测量系统设计姓名: 学号: 专业班级: 指导老师:
目录 1引言 (1) 2系统组成及工作原理 (1) 2.1转速测量原理 (1) 2.2转速测量的一般方法 (3) 2.3转速测量系统组成框图 (3) 3系统硬件电路的设计 (3) 3.1脉冲产生电路设计 (3) 3.2光电转换及信号调理电路设计 (4) 3.2.1光电传感器简介 (4) 3.2.2光电转换及信号调理电路设计 (5) 3.3测量系统主机部分设计 (7) 3.3.1单片机 (7) 3.3.2键盘显示模块设计 (9) 3.3.3串行通信模块设计 (11) 3.3.4电源模块设计 (12) 4系统软件设计 (13) 4.1程序模块设计 (13) 4.2数据处理过程 (15) 4.3浮点数学运算程序 (16) 5制作调试 (16) 6结果分析 (18) 7参考文献 (18)
1、引言 随着社会经济的快速发展,转速测量成为了社会生产和日常生活中重要的测量和控制对象。测速是工农业生产中经常遇到的问题,人们经常需要精确测量每秒钟转轴的转速,学会对电机转速的测量和显示具有重要的意义。近年来,由于世界范围内对转速测量合理利用的日益重视,促使转速测量技术的迅速发展,各种新型的测量仪表相继问世并越来越多地得到应用。由于技术保密,厂家不会提供详细电路图和源代码,用户很难自行进行二次开发和改进。针对这种现状,使用光电传感器结合STC公司的STC 89C51型单片机设计的一种转速测量与控制系统。STC 89C51单片机采用了CMOS工艺和高密度非易失性存储器技术,而且其输入/输出引脚和指令系统都与MCS-51兼容,是开发该系统的适合芯片。 2 、系统组成及工作原理 2.1 转速测量原理 在此采用频率测量法,其测量原理为,在固定的测量时间内,计取转速传感器产生的脉冲个数,从而算出实际转速。设固定的测量时间为Tc(min),计数器计取的脉冲个数m,假定脉冲发生器每转输出p个脉冲,对应被测转速为N(r/min),则f=pN/60Hz;另在测量时间Tc内,计取转速传感器输出的脉冲个数m应为 m=Tcf ,所以,当测得m值时,就可算出实际转速值[1]: N=60m/pTc (r/min) (1) 2.2 转速测量的一般方法 一般转速测量系统有以下几个部分构成,转速测量框图如图2-1所示。 图2-1 转速测量框图 1.转速信号拾取 转速信号拾取是整个系统的前端通道,目的是将外界的非电参量,通过一定方式转换
高速计数器计数器 输入/输出操作数数据类型 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:// - 启用计数器 // - 写入新当前值
C++计数器的使用方法 在可视化编程时,常常会用到计数器,大部分人都会为所在的类添加一个成员变量,这个成员变量在程序中将会是全局变量,所以每次对他的操作,下次还会有记录,所以用它来当计数器。为什么不能在类中的函数里写一个变量来计数呢?因为在函数中的变量生存周期只在当前函数中存活,一旦这个函数运行完,这个变量会释放,下次再用的时候没有保留上次的值,所以当然不能做计数器啦。那么有人会问了,还有别的方法吗,答案是肯定的。请看下面两个简单的实例,观察运行结果 实例一 #include "stdafx.h" #include