计数方案范文

2024-07-24

计数方案范文(精选7篇)

计数方案 第1篇

本文提出如何使不同用户操作可以并发执行,而只对相同用户发出的不同请求加锁,在不影响全局并发处理效率的情况下,保证数据的完整性。

1 并发控制策略

并发控制与需求紧密相关,对于不同的需求使用并发控制的策略都不一样。下面总结一些常见的情况。

1.1 内存全局数据结构

某些全局的静态数据结构,或者单例,如果有多个进程同时修改则会数据不一致。解决方法以Java为例,可以在并发操作的代码包含synchorized(this){//需要避免并发的逻辑},这种方法能保证数据不出现异常,但是由于锁的粒度太粗,每次只有一个进程可以执行临界区的代码,其他进程都被阻塞了,牺牲了系统的并发处理能力。更好的方法是使用concurrent包,JDK1.5以后加入了concurrent包,主要是为了提高多线程的开发效率,其中提供了很多支持并发的集合类,大量使用了新的锁机制,新的锁机制最终归结到一个原子性操作上,比使用synchronized(this)关键字有更高的性能。

1.2 数据表唯一性要求

通常为了保证每个身份标识(用户)在某个数据表不出现重复记录。处理流程如图1所示。

如图2的处理流程并非线程安全,在多线程环境下,例如因网络延时用户点击按钮2次,刚好数据库出现幻读,即当两个进程同时执行到“判断记录A是否存在”的步骤而A不存在时,记录A就可能会被插入2次。为了避免这个问题,需要对数据表建立用户身份标识的唯一约束。这样当第2条记录A插入的时候由于不满足唯一性约束事务会出现回滚,从而保证了数据的唯一性。

1.3 数据表其他完整性约束

这种约束比唯一性要求更复杂,无法使用唯一约束保证完整性,使用传统方法有各种问题,可以综合运用多种方法解决,见第三部分案例。

2 案例与解决方案

2.1 问题描述

比方说用户创建一个相册后,允许每个相册最多只能传5张照片,处理流程如图2所示。

用户上传时并发提交,怎样控制这个相册的照片数不超过5。

假设已经上传了4张图片。A和B两个进程同时执行到判断“超过5张”,数据库读取判断图片有4张,因此分别接受了A和B的上传请求,照片数超过5。也就是出现了"脏"数据。如图3所示。

2.2 传统方法的局限

如果使用synchorized(this){}对判断-上传两个环节加锁,则每次只允许一个进程上传而其他进程等待,当用户数达到百万或者千万级,而操作也很频繁时,将大大的牺牲并发处理能力,影响用户体验。

如果使用数据库事件监听-触发器的方法,在每次插入记录后,判断数量,如果超过了限制就删除。这种方法不优雅,而且编写数据库触发器增加了额外的维护成本,如果移植数据库,触发器需要重新编写,通用性较差。

2.3 改进的方法——身份标识锁

改进方法与synchorized(this){}类似,只是细化了锁的粒度,改善了并发性能。同一个用户的进程不允许并发执行,不同用户的允许并发执行。假设用户A和用户B同时登录网站,上传照片进程T1,T2属于用户A,进程T3,T4属于用户B,则(T1,T2),(T3,T4)不能同时执行,(T1,T3),(T2,T4)可以同时执行。锁根据登录用户动态生成,同时使用ThreadLocal和ConcurrentMap,以及对Web请求添加引用计数器,ThreadLocal存储登录用户的UserID,Web请求开始时,利用UserID(取自ThreadLocal)从ConcurrentMap取出计数器加1,Web请求结束时,对该计数器减1。每次对临界区加锁时,取对应UserID的Counter进行加锁即可,过程如图4所示。

以Java为例,UserID可以放在ThreadLocal里,保证不同的线程都有UserID的独立副本。Counter加1操作可以放在Servlet的入口处。

为了加强程序的健壮性,避免服务器进程回收或者程序抛出异常资源得不到释放的问题,将Counter减1操作放在servlet的finally段。这样整个并发控制结构就完成了。可以把ConcurrentMap封装到一个名为LockUtil的类。

使用非常简单,只要对需要加锁的代码段声明:synchorized(LockUtil.getCounter(userID)){//加锁的代码段},其中getCounter返回当前用户userID对应的计数器,若发生异常导致计数器为空,则返回一个新的对象(相当于不用锁)。

这种方法是对synchorized(this)的一种扩展,实现了允许某些进程能同时执行,而某些不能同时执行的要求。同时也符合简单性和通用性,不需要依赖数据库的某些专有特性,实践证明是应对复杂并发需求的一种好的方法。

3 结束语

本文使用身份标识计数器对程序设计语言的锁方案进行改进和扩展,理论分析和实际应用表明,改进后的方案可以使锁机制更容易满足某些复杂的并发需求,提高了系统的并发能力,同时降低了出现并发问题的风险。同时由于方案的简单性,使得它很容易封装成一个工具而实现重用。

摘要:并发访问控制是Web应用中常见的问题,传统的基于数据库的控制策略通过添加唯一约束等方式,虽然能保证数据的完整性,可是当并发问题出现时,不可避免的出现回滚而影响用户体验,数据库或临界区加锁也会降低系统的并发能力。该文通过一个具有通用性的真实案例,提出一种对用户身份标识进行引用计数的细粒度的并发控制解决方案,能灵活控制锁的粒度,消除回滚的可能,提高并发的吞吐量,该方案目前在某大型互联网广告投放平台上使用。

关键词:身份标识,并发控制,细粒度,引用计数

参考文献

[1]张焰林.数据库应用中并发控制实施策略分析[M].金华职业技术学院学报,2007(6).

[2]张化强,李红燕.Web信息系统中即席流程的并发控制策略[J].计算机研究与发展,2007(12).

[3]柳刘,岳丽华.一种实时事务并发控制的新方法:SMVCC[J].计算机工程,2006(5).

[4]John Wiley&Sons.Java Enterprise Design Patterns[M].Inc.and Publishing House of Electronics Industry,2003.

计数方案 第2篇

在STEM教育理念引领下, 北京师范大学项华副教授及其团队创立了“数字科学家”课程与教学模式。它是一种在数字环境下, 以信息技术为情感激励工具和探索工具, 旨在培养学生利用信息技术探索世界的意识和能力的课程与教学模式。

北京景山学校北校区从2011年3月开始实施“数字科学家”课程项目。期望选修该课程的学生能够对任何一个感兴趣的问题, 通过选用适当的科学手段进行解决, 从而成为一名自由的探索者。下面将以“投票计数”为例, 介绍我们的思考与做法。

教学任务分析

“投票计数”是初中阶段“数字科学家”选修课程的第一课, 问题情境源于北京连续出现雾霾天气, 学生要对过春节时是否有必要燃放烟花爆竹进行投票。

任务要求:为了更好地保护环境, 同学们的日常生活方式是否低碳环保呢?请自主选择一个内容, 制作投票计数器, 让本班同学参与投票, 分析结果, 撰写研究报告。

任务内容:1.根据问题情境, 选择环保内容, 编制成可以进行投票的问题与选项。2.利用Scratch软件平台的按键侦测功能, 设计制作投票器。3.在全班进行投票, 获取数据, 将结果导出, 并对数据进行分析和处理。4.撰写研究报告, 按小组交流展示。

学情分析

学生共11人, 来自七年级的两个班级。学习本课之前, 学生已经有一个学期的Scratch学习、使用经验, 具备了程序设计的基本能力。

教学目标

知识与技能:1.进一步熟悉Scratch的键盘按键事件, 制作两个键响应的投票器。2.进一步熟悉Scratch动作模块里“移动多少步”程序块的功能与使用, 利用画笔里的图章功能, 制作投票数据的柱状统计图。3.了解Scratch中变量的定义、使用, 记录输入不同选项时的投票数。4.了解分支选择结构和文字显示的功能, 对投票结果进行判断和输出, 直接得出投票结论。

过程与方法:1.亲身经历“规划设计—制作—测试—修改完善”的过程, 体会如何进行规划设计, 开发出符合需要的投票器程序。包括程序的功能设计、角色与界面设计、变量设计、初始化设计及程序制作。2.初步协调小组成员的配合, 形成有效的小组合作。

情感、态度与价值观:1.本课任务涉及了数据的获取、导出、处理分析及结果的应用, 渗透了“数字科学家”的课程理念。2.体验从问题情境中提炼出核心问题的过程, 逐步培养问题意识和解决问题的能力。

教学重点与难点

重点:1.如何根据实际问题的需要, 规划设计投票器的功能。2.程序的测试与修改。

难点:1.投票器功能的规划与程序界面的设计。2.程序的测试与修改。3.对所获取数据的处理、分析与应用。

课程资源

Scratch 1.4软件平台;投票计数学案.doc;投票计数.ppt

教学过程

本课采用基于问题的小组探究式学习, 即“以教师为主导, 学生为主体”的探究性学习模式。教师的作用是:引出核心问题—指导学生设计—点评程序, 提出改进意见。学生的活动流程为:分组协作、明确分工—规划设计、拟定功能—编写程序、调试应用—获取数据、撰写报告—评价反思、展示交流。

1.引入新课 (15分钟) 。

教师介绍“数字科学家”课程的目标、要求与安排, 并对学生进行异质分组, 确定组名与分工。

(教师用图片展示情境, 引入项目) 北京频繁出现雾霾天气;春节期间, 很多人选择不燃放烟花爆竹;四年级小同学在进行“我们的碳足迹”项目活动。

师:我们到底该选择什么样的生活方式?是否低碳环保呢?让我们制作投票器来进行投票, 并对投票的数据进行分析与应用。

教师展示投票器示例画面, 带领学生明确探究学习步骤:

(1) 启动Scratch, 设计制作问题背景和问题角色。

(2) 编程制作投票器:按y键表示同意, n键表示不同意;数据的可视化 (多种形式, 如柱状图) ;统计结果的记录 (变量或链表) 。

(3) 在小组内进行投票测试并根据出现的问题进行调试。

(4) 导出数据并对投票后的程序界面进行截图。

(5) 撰写本课研究报告。

2.学生分组探究学习 (4 0分钟) 。

研究报告格式:

主题:***环保生活方式调研

研究者:***小组组员:

轮值主席:

调研目的:

程序流程图:

调试过程 (出现问题, 解决办法) :

导出数据与分析:

环保生活方式建议:

体会:

3.小组展示交流与教师点评 (25分钟) 。

4.教师小结及作品整理提交。

实践、反思与拓展

第一次实践:自选主题设计投票器

5个小组的学生都认真地完成了任务, 撰写出了研究报告, 完成情况很好。在学生的探究性学习过程中, 有以下值得我们特别关注的现象。

1.学生发现了问题, 并尝试解决问题。

在程序的制作和试运行过程中, 学生发现“按住Y键不放时, 会导致多次重复投票”, 怎么办呢?围绕这一问题, 学生自己展开了讨论与尝试, 各组都有不同的高招:

“TCYYY”组采用了直到按Y键结束前一直等待的程序模块。

“冯周”组采用了按Y键后进行广播, 等待1秒后才能重新投票。

“燃烧军团”组采取了要求投票者填写身份和理由的方式, 并在按键处也采用了直到按Y键结束前一直等待的程序模块。

“132425”组采用了“计数器”和“数学逻辑”的模块, 实现2秒钟内不可重复投票。

从以上情况看出, 学生能够在程序测试过程中发现问题并尝试解决问题, 在宽松的研讨环境中创造性思维与发散性思维得到了较好的拓展, 得出多种解决方案。学生们已经有了问题意识, 有了自主解决问题的自觉性与能力。

2.撰写研究报告, 培养了学生记录探究过程和表达自己想法的意识。

下表是各小组对程序问题的部分调试记录。可以看出, 尽管学生发现的问题和解决的方法各不相同, 表达的方式也不同, 但都把问题说清楚了, 记录了自己思维和探究的过程。

3.从研究报告中的“导出数据与分析”, 可以看出学生考虑问题角度的多元化和分析数据时思维的发散性。

4.学习评价要素与权重:轮值主席 (10) 、学习纪律 (10) 、小组合作 (10) 、程序功能 (40) 、研究报告 (30) 。

这是一次两课时的探究性学习活动, 从最终效果看, 还需要在学生开始自主制作之前进行讨论交流, 明确程序的基本功能和程序设计的变量定义等, 从而让学生的探究更有的放矢。

从学生选择的投票主题看, 问题比较单一, 在选题方面的思维不够发散。当学生把制作好的投票器给四年级“我们的碳足迹”项目负责老师用时, 老师的一句话“我想问其他的问题怎么办呢?”就把学生问懵了。怎么办呢?我根据可以探究的新问题, 对活动进行了延伸。于是, 有了第二次实践。

第二次实践:万能投票器的制作

1.问题情境:小学四年级学生在进行“我们的碳足迹”项目调研时, 拿到了我们之前制作的投票器, 发现我们5个小组的选题比较单一, 想问其他问题却没有办法使用这些投票程序, 怎么办呢?

2.讨论形成任务, 明确程序功能。

通过讨论, 学生提出制作能够让使用者问任何想要调研题目的投票器——万能投票器, 即简易专家系统。

程序的功能:

通过人机交互可以生成任意想调研问题的投票器 (要有相应按钮, 在问题生成不理想的情况下可以重新开始设置问题) 。

通过人机交互利用设定初值的程序进行投票 (要有相应按钮, 在投票出现问题的情况下, 可以重新开始投票, 而不必重新设置问卷) 。

通过人机交互生成投票结果并进行初步判定, 得出结论。

3.分小组进行程序开发, 并完成以下各项工作: (1) 通过填表的方式, 明确程序功能, 并进行变量和链表设计。 (2) 编写程序。 (3) 发现程序问题, 调试程序。 (4) 撰写反思与体会。 (5) 进行共享交流。

4.评价要素与权重:学习纪律 (20) 、小组合作 (20) 、程序功能 (30) 、研究报告 (30) 。

5.实践情况:每个小组都撰写了程序的开发说明, 并完成了程序的制作。以下是一个比较典型的小组程序开发说明。

【小组名称】132425

【任务主题】制作任意题材, 2~4个选项投票生成器。

【程序功能】先由提问者通过“回答”设计出问题, 然后进入回答模式, 再由计算机通过程序辨析, 做出条状图。

【变量设计】No1:一号选项, No2:二号选项, No3:三号选项, No4:四号选项。

【链表设计】问题链表 (用于记录问题) , 回答列表 (可随时导出回答数据) 。

【初始化】主角设置问题、选项个数与选项名, 可随时停止设置问题。

【投票器使用】通过键盘控制选择选项。

由于时间关系, 只有2个小组的程序做了应用演示, 其他3个小组只写了开发说明, 课后上交了制作好的程序。我在试运行学生的程序时发现, 如果不猜的话, 就不知道怎么使用他们的程序。怎么办呢?于是就诞生了第三次实践的问题, 即如何使别人能够顺利使用自己开发制作的程序呢?

第三次实践:程序测试修改与编写使用说明

1.问题情境:小学四年级“我们的碳足迹”项目组的学生拿到了我们制作的万能投票器, 在使用时又提出了很多新问题:怎么使用啊?我想导出投票数据怎么办呢?

一个软件开发完成后的第一项工作是测试、调试、修改, 第二项工作是编写软件开发与使用说明, 让后续的开发者和使用者知道如何着手修改和完善程序, 怎样能够正确使用。

2.讨论明确任务: (1) 测试、调试、修改程序。 (2) 编写软件开发和使用说明。

3.按小组程序调试与修改, 并准备自己软件的展示与宣传广告词。

4.评价要素与权重:学习纪律20) 、小组合作 (20) 、程序功能20) 、使用说明 (20) 、交流展示20) 、加分 (10) 。

5.实践情况:5个小组的学生都修改调试好了程序, 特别是程序的初始化工作, 编写了较为清楚、比较简明的使用说明。以下是一个小组编写的开发和使用说明。

【软件名称】TCYYY投票器专家最新版

【程序功能】首先, 这个程序可以生成调查的问题和选项, 明确所调查的问题和对象。其次, 进行投票时, 票数指示物会通过上升清楚显示出所对应选项的票数, 每刷新一次还会显示不同颜色。

投票之后, 还有对应功能统计出各选项的票数, 一目了然。通过这个程序, 可以清楚了解参与投票的学生对于所调查问题的态度。

【变量说明】投票开始:开始投票;投票题目:编辑所投票讨论的问题;票数abcd:各个选项所投的票数;选项1234:各个选项的题目;选项个数:投票问题选项的个数;项目数:投票问题的个数, 随每次刷新归0。

【链表说明】总资料:所有问题合起来的资料。问题1资料:临时储存的问题资料。

【使用说明】点击绿旗开始。按空格键开始设置调查问题, 按回车键输入选项个数, 再按回车键输入各个选项名称, 输入完后按回车键。选项名称会显示到左上角链表里。按A为选项A……以此类推, 按D为选项D。 (以实际选项数量为准) 投票结束后, 点击右上角投票完成并等待, 系统自动统计票数并汇报。

【广告词】TCYYY, 专注Scratch 0.4年, 制造出的投票器, 连起来可绕地球两圈。TCYYY投票器“砖家”最新版, 值得信赖!!

通过对上述类似软件工程文档的编写, 学生锻炼了文字表达能力, 建立了类似软件工程当中人机交互界面设计、文档管理、用户使用说明、软件营销策略的意识, 学生的文字具有时代特点, 反映了7年级学生较高水平的综合能力。

此后, 每个小组的学生都进行了展示说明。对于自己能够在实际问题的导向下, 从单一的学习投票器制作延续到了软件的设计、开发、调试及使用说明的撰写, 初步接触了简单的专家系统概念, 学生都非常开心与自豪。

结论与反思

本课的教学实践是基于学生的学习需要, 边进行边拓展, 由1次课的简单内容延续成了3次课的软件工程开发项目。这对教学设计的理念与实践都是一次新的尝试, 而牵引课程进程的是现实生活实际需求派生出来的问题, 围绕问题解决的拓展, 是基于“数字科学家”课程理念的有益尝试。从实践过程中学生参与的积极性、问题意识、解决问题的方法与能力和最终的研究成果看, 本课达到了预期的教学目标, 并在工程化的程序设计思想、研究性学习过程等方面都有较好的渗透。

按照“数字科学家”的课程理念, 教学内容源于学生的生活实际, 贴近学生的需要, 第二次和第三次实践源于前面问题解决过程中出现的新问题, 所以学生的学习兴趣和参与积极性都非常高, 取得了较好的教学效果。从最终的研究报告可以看出, 学生的研究成果还是很有水平的, 能够很恰当地界定程序功能, 简明地写清楚使用说明。

从教学内容的选择看, 本课选题关注到了社会热点问题 (低碳环保) ;从课程的设计和实施情况看, 有一定的开放性和拓展性, 给学生的探究与发展提供了较大的空间, 有益于课程的有效开展, 有益于学生的发散性思维培养, 有益于扩展研究的深度。学生最终的作品就是一个可供投票的软件产品, 使学生有了成功的体验。

从教学模式来看, 本课采用了基于问题的探究性教学模式。教师只是在导入环节的问题情境创设、组织学生按小组讨论并明确本次实践的核心任务以及最后的展示交流中进行点评, 其余的过程和时间则以学生为主, 教师处于指导者的位置。从教学实施的过程来看, 本模式较好地完成了本课的教学任务;在学习过程中采用了基于小组合作学习的评价方式, 对于学生在过程中的纪律、合作情况、轮值主席作用的发挥等都进行了评价, 保证了学习过程的有序、高效。

作为一个探究性学习的案例, 本课的特点是编写程序制作一个研究工具。但是从数据的角度来看, 学生只是体会到了获取数据、存储数据、分析数据的方法, 以及用什么样的工具来使数据的结论更加可信, 却忘记了最初的目的——“根据数据来得出结论”。事实上, 怎样的数据支持什么程度的结论, 如何防止结论对数据的过度阐释, 如果结论导致了新的猜想, 如何获得新的数据来验证这些猜想, 这才是“数字科学家”课程另外的一个维度。这个维度怎么讲, 讲哪些内容, 通过哪些案例来讲解这些内容, 讲到什么程度, 怎样让这种科学意识落实到学生的思维习惯中进而综合地提升科学素养和数据素养, 这一议题将会是“数字科学家”课程作为一门STEM课程进一步建设的思考方向。

参考文献

[1]项华, 吴俊杰, 付雷, 王颍川.数字科学家计划:基于数据探究的科学选修课程设计与试验.现代教育理论与实践指导全书[C].北京:现代教育出版, 2010:546-549.

[2]项华, 罗乐.视频分析方法运用于物理教学活动之简介与探讨[J].物理教师, 2013 (1) :13-14.

[3]吴俊杰, 项华, 付雷.Scratch及其硬件在数据探究中的教学设计与尝试.第一届全球华人探究学习创新应用大会论文集[D], 2010年8月, 31页.

计数方案 第3篇

1.1 血小板计数假性减少的原因

(1) 采血不当,此为造成假性血小板减少的最常见的因素; (2) 因多次穿刺引起组织损伤,组织凝血因子混入血标本中产生肉眼看不见的小凝块; (3) 抽血量过多,超过了抗凝剂的抗凝能力,血小板出现聚集现象; (4) 抽血后没有及时充分混匀极易产生凝块; (5) 我科统计发现,抽血原因造成假性血小板减少的病例中,老年患者和儿童占多数,原因是老年患者和儿童特别是新生儿,血管不充盈和细小,抽血难度大; (6) 使用细软管连接式一次性采血针时,血液流过细小的塑料管到真空抗凝管的速度变慢、时间延长,血小板被激活的概率加大,使得发生凝血或血小板聚集的机率增大,特别是血流缓慢的患者; (7) 血小板EDTA依赖性假性血小板减少[1],个别EDTA K2抗凝血使用血液分析仪计数时血小板假性减少;在排除其它引起血小板聚集的原因的情况下,进行患者EDTA K2抗凝血涂片检查时发现,血片中有大量血小板聚集,而直接观察患者的末梢血涂片,血小板呈散在分布,无聚集或出现少量聚集现象; (8) 血小板体积因素; (9) 温度影响血小板计数:患者血液中如果有温抗体或冷抗体存在,在计数血小板时温度不适宜,会导致血细胞粘连,从而使血小板计数结果偏低。

1.2 血小板计数假性增高的原因

(1) 上机检测前进行样本混匀,一般采用反复颠倒混匀; (2) 样本放置时间在2h以内检测为最佳,超过2h会导致细胞碎片增加和PLT发生肿胀或变形; (3) 溶血不完全影响下1例样品的PLT计数,由于红细胞碎片冲洗不彻底,能与PLT混淆,使PLT假性增高; (4) 试剂与仪器不匹配、过滤不彻底、细菌污染、血液分析仪管道长时间不清洁等都会使检测空白增高,从而导致PLT计数结果偏高; (5) 小红细胞数量增多,小于30fl的小红细胞会被误认为血小板,导致血小板计数值增高。

2 血小板计数的质量控制

2.1 样本采集质量控制

(1) 选择熟练且有经验的抽血人员,务必做到一针见血,即使不能一针见血也不要再在原位置进针; (2) 血常规检查的抽血时间要在1min内完成,即从捆扎压脉带到采集完成时间不超过1min,若有其它项目同时抽血检查时应先采集血常规; (3) 不要在输液同侧抽血,血量要求为抗凝刻度的2/3左右,及时充分混匀,最好是采血的同时轻摇抗凝管; (4) 对老年患者和儿童应细心查找容易采血的血管进针,血流不畅时切勿挤压,若在松开压脉带的情况下还是不顺畅,最好让患者休息一会换支血管重新抽血; (5) 对患有高粘血症的病人作血常规检查时,最好用一次性空针抽血,然后迅速注射到抗凝管内混匀。

2.2 血小板计数中的质量控制

(1) 上机前样本混匀避免过度振荡,规范的混匀操作是:反复颠倒混匀8~10次,颠倒角度不宜大于120°,幅度不宜过大,再进行样本垂直手搓混匀3~5次,以便排出气泡;杜绝使用大功率振荡器混匀; (2) 应尽量使用与仪器相匹配的原装试剂,定期维护保养仪器,过期试剂坚决不用; (3) 于每天测试样本前,进行仪器本底测试和全血质控。

摘要:目前血小板计数基本上都是采用全自动血液分析仪进行计数, 在检测过程中困扰检验人员的血小板计数异常结果时有出现, 血小板计数异常主要表现为假性减少和假性增加, 在以往的工作中发现血小板计数前的样本质量控制与异常计数结果的发生率密切相关, 样本质量控制好坏直接影响血小板检测的准确性和可靠性。

关键词:血小板,质量控制,异常计数结果

参考文献

[1]邢辉, 吴健民.EDTA-K2依赖性血小板假性减少症分析[J].临床检验杂志, 2004, 22:277.

计数方案 第4篇

旋转编码器安装于电机减速机旋转轴上, PLC对旋转编码器发出的脉冲进行计数, 可以实现定位、定长距离运行功能。

1 应用情形

在一个应用中, 链条的两端连着夹盘和配重, 升降电机通过链条带动夹盘上升和下降。升降电机正转, 夹盘上升;升降电机反转, 夹盘下降。升降电机带抱闸。夹盘可停止在行程内的任一高度, 完成各层产品的码垛。升降电机减速机的轴上安装一个旋转编码器, PLC通过高速计数器对旋转编码器发出的脉冲进行计数, 自动计算夹盘的当前高度。操作台上有急停、暂停按钮。 (1) 急停按钮 (一个NC急停按钮) :按下急停按钮后直接使变频器断电、接触器线圈失电、PLC失电。 (2) 暂停按钮 (一个NC急停按钮) :按下暂停按钮后, PLC不失电, 程序使所有的输出复位, 所有设备停止动作, 恢复按钮后, 设备接着暂停时的状态继续运行。

2 硬件选型

PLC:西门子CPU 226 CN、触摸屏:步科MT4414T、旋转编码器:欧姆龙E6B2-CWZ5B 1000P 2M、分辨率:1000、输出相:A、B、Z相、输出相位差:A相、B相的位相差90±45℃ (1/4±1/8T) 、输出方式:PNP集电极开路输出、最高响应频率:50k Hz。

不选用单相编码器的原因:从升降电机的抱闸动作到机械抱死有一定的时间延迟, 夹盘的重量加上夹盘里产品的重量, 会导致夹盘往下遛。停止升降电机反转输出后, 夹盘还会冲下去一点, 然后被抱闸抱死停住;停止升降电机正转输出后, 夹盘由于惯性会再上冲一点然后由于重力作用再掉下来一点, 然后被抱闸抱死停住。

因此, 停止升降电机输出瞬间的高度并不是夹盘最后真实高度, 这就需要PLC做额外处理。使用单相的编码器来计算夹盘的当前高度不容易准确:停止升降电机正转输出后, 不管夹盘由于惯性上冲还是因重力下遛, 单相旋转编码器的脉冲数都是增加的, 那么停止升降电机正转输出后到底下遛多少距离, PLC无法判定, 这就会造成误差, 升降动作有几个来回后, 误差积累起来, 就会使控制越来越不精准。

选型中的编码器有A、B、Z这3个输出相, 完全可以通过高速计数器计到的脉冲数来计算夹盘当前的高度:升降电机正转, 计数器值增加;升降电机反转, 计数器值减小 (可能会到负值) , 即使夹盘遛, 高速计数器的值也会做出相应的反应, 夹盘当前的高度都是准确的。旋转编码器的Z相不需要接到PLC, 因为不需要旋转编码器自动复位。需要我们做的就是每次夹盘停在高度零位的时候, 程序清一次高速计数器值。

3 故障现象

在调试过程中, 当拍下了急停和暂停按钮, 然后恢复急停和暂停按钮后, 手动操作升降电机, 发现升降电机运行时, 夹盘的当前高度并没有变化。为什么高速计数器的脉冲值没变?这是很严重的故障, 当PLC无法计算夹盘的当前高度, 就无法控制升降电机自动上升和下降。而且, 这种故障并不是每次都会发生, 这次有, 似乎还有发生机率。

4 故障排除

4.1 硬件检查

确保旋转编码器、PLC、线路正常工作。拧紧旋转编码器连轴器, 使轴带动连轴器同步运转。

4.2 软件检查

针对上述故障, 一种方法是:当升降电机运行时, 对一定时间间隔的脉冲数作判断, 如果在上个时间间隔的开始和下一个时间间隔的开始, PLC接收到的脉冲数相等或差值的绝对值小于一个设定的值, 那么就表示旋转编码器出现故障, 马上停止升降电机运行, 并报警给出故障提示。但是, 这个时间间隔不容易选取, 时间间隔选大了, 升降电机移动一大块距离的时候才发现夹盘的高度值未变, 这时可能夹盘就已经过了工艺要求的高度或压到下一层的产品;时间间隔选小了, 那么夹盘还没升降多少, 就报夹盘当前高度故障了, 特别是当升降电机慢速运行的情况下。这是被动的方法, 它只能检测, 检测到故障后还是解决不了。所以, 必须从根本上解决这个问题, 除非, 旋转编码器坏了、线路坏了或PLC坏了, 否则, PLC计算的高度就应该真实反映夹盘的当前真实高度。检查程序如图1所示。

发现主程序的第一句有跳转指令, 这是为增加“暂停”功能而添加的, 按下暂停按钮后, 跳过中间的程序处理部分, 直接到后面将输出复位。这个跳转指令跳过了Init子程序和HSC4_INIT子程序, 对高速计数器的初始和定义就是在HSC4_INIT子程序完成的。

拍下急停按钮后, PLC断电。拍下暂停按钮后, 恢复急停按钮, PLC重新上电, 开始执行程序, 但是Init和HSC4_INIT子程序被跳转过去, 所以高速计数器未被初始化。这样当暂停按钮也被恢复后, 操作员操作升降电机运行, 高速计数器未对旋转编码器的脉冲进行计数, 那么夹盘的当前高度就不会随着升降电机的运行而做相应变化。

为什么这种故障这次有, 下次又没有呢?这是在急停、暂停按钮都被拍下的时候, 操作员先恢复哪一个的顺序问题。如要操作员先恢复了暂停按钮, 再恢复急停按钮, 那么高速计数器被初始, 所以高速计数器能正常工作, 由此计算出的夹盘高度也随升降电机运行而相应的变化。

解决方法:将用SM0.1调用的Init和HSC4_INIT子程序放在主程序的第一条, 将跳转指令放在它们之后, 这样, 每次PLC上电, 高速计数器都被初始和定义, 就不会再发生高速计数器失效故障。 (如图2所示)

开始时在主程序第一句的跳转指令, 是为了实现暂停功能而添加。暂停是非常实用的一个功能, 可以使PLC暂时停止输出, 给设备或操作员一定的时间, 当条件成立时, 再从刚才暂停的地方继续输出, 使系统非常灵活。

“差之毫厘, 失之千里”, 虽然只是简单的调换主程序中网络1和网络2代码的位置, 但设备表现的结果却有很大差别, 导致无法自动。

5 结束语

这种故障现象并不容易捕捉, 比较隐蔽, 不是每次都会发生, 而是视操作员的操作顺序而定。这要求编写程序时全面考虑、不想当然、尊重科学和现实规律、不要将知识只停留在书本上, 对指令的用法有比较深刻的理解, 在添加新的功能时, 一定要注意程序前后的逻辑关系, 新添加的程序不要对原来的程序功能造成影响。有时, 程序的执行结果可能不是我们所预料的结果, 需要多实践, 多发现问题, 多积累。

摘要:文章以西门子S7200 PLC为例, 讲述了在应用高速计数器对旋转编码器脉冲进行计数时, 出现的故障及其排除方法。

进位计数制研究 第5篇

(一)数的表示

要实现60种进制数的转换,首先要解决的问题是这60种进制的数用什么数码来表示。我们知道,数码集合{0, 1}可以用来表示二进制数,集合{0, 1, 2}可表示二进制和三进制数,集合{0, 1, 2, …, 9}可表示二到十进制数,而集合{0, 1, 2, …, 9, A, B, …, F}可表示二到十六进制数。不难发现,在数码集合中若有N个元素,则可表示N-1种进制的数。如果将10个数字和52个大小写字母组成数码集合{0, 1, 2, …, 9, A, B, …, Z, a, b, …, z},共有62个元素,则可表示61种进制的数,即从二到六十二进制的数皆可表示。这样,就解决了由一种进制转换为其余60种进制数的表示问题。

(二)数的转换

不同进制数之间的转换,一般教科书中已有成熟的算法,但多是针对二进制、八进制、十进制和十六进制而言的。该程序采用了十进制转换为非十进制、非十进制转换为十进制两个基本算法,对于非十进制到非十进制的转换,则是以十进制为中介,先将已知的非十进制数转换为十进制数,再将十进制数转为所需要的另一种非十进制数。两个基本算法如下:

1. 非十进数转换成十进制数

此种算法简称“非十转十”。算法为:把非十进制数按权展开,然后逐项求和(即求各次幂之和)。对于任一种J进制数S可表示为下式:

式中的小写s表示各数位上的数码,其取值范围为0到J-1,其下标n-1, n-2, …, 1, 0, -1, …, -m为数位的编号;J为计数制的基数,上标n-1, n-2, …, 1, 0, -1, …, -m表示基数的幂次。

2. 十进数转换成非十进制数

此种算法简称“十转非十”。算法为:整数部分“除基取余”,小数部分“乘基取整”。除基取余,意为将整数部分除以基数,记下余数(余数必须小于基数),其商再除以基数,再记下余数,直至商为0,然后逆向将各次余数排列起来,即得到非十进制数整数部分。乘基取整,意为将小数部分乘以基数,取出整数部分,剩余小数部分再乘以基数,再取出整数部分,直至积为0,然后顺向将各次整数排列起来,即为所求。

运用以上两种基本算法,各种进制的转换皆可实现。对于十进制数,直接用“十转非十”即可;对于非十进制数,首先用“非十转十”,将其转换为十进制数,然后再用“十转非十”,转换为所要的非十进制数。

(三)软件特性

1. 绿色软件。

这是一个普通的小程序,直接拷贝到电脑中,放在Windows下的任何地方都可以运行,无需事先安装,不会给注册表增加负担,需卸载时直接删掉文件名即可,不会给电脑带来任何污染,是一款典型的绿色软件。

2. 同步转换。

该软件的运行界面如下图所示:

在界面中共有61个数据框,分别存放二进制到六十二进制共61个数据。所谓同步转换,包括两个含义:其一,60种进制的转换是同步的。即只要在任一数据框内输入数据,另外的60种进制会同时完成转换。其二,输入数据和转换结果是同步的。即无需“转换”命令,你一边输入,它一边转换,你输入完毕,它转换完毕,给人一种轻松自如的效果和感觉。

3. 纠错容错。

作为一项工具,应具有纠错容错功能。该程序的纠错容错重点在于把住数据输入关,严格避免非法数码的输入。比如在二进制框内不能输入大于1的数码,在三进制框内不能输入大于2的数码,依此类推;更不能输入数码集合之外的符号。如果输入错,一是显示出错信息,二是不予转换。另外,在十六进制至三十五进制等数据框内,因为不能出现小写字母,如果输入小写字母程序将自动转换为大写字母。

4. 确保精度。

该程序的算法和函数既支持整数转换,也支持小数转换。对于小数部分,由于有的小数转换为另一种进制时,会出现无限多位小数。比如十进制数0.5,转换为所有的奇数进制如三、五、七、……、等进制都是无限位小数。这与算法无关,是该小数本身决定了某些进制只能取近似值。也就是说,无论用什么算法作转换,都将出现无限位小数,这只能根据需要,由小数的位数来保证其精度。因此在程序界面上设计了“小数位数”,以确保精度。

5. 易于扩充。

理论上讲,数进制的种类可以是无穷多的。该软件实现了61种进制之间的相互转换,程序的设计思路容易实现进制的扩充。无论对多少种进制的转换,以上的转换方法都是适用的,只是数的表示需扩充数码集合。该程序用到的数码集合用一个数码串来表示:

数码串="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghi jklmnopqrstuvwxyz"。在数码串中有N个数码就可以表示N进制的数。只要在此数码串中增加数码,并在界面上增加相应数量的数据框,则进位制的扩充便实现了。

(四)实用意义

在日常生活和工作中, 似乎非十进制数很少用到,其实处处可见。比如,用来表示时间的“年月日时分秒”就用到五种非十进制数:年用100进制,满100为一个世纪,月用12进制,日为30或31进制,时为24进制,分和秒为60进制;又如平面角度和经纬度中的分、秒也都是60进制;再如重量单位的公斤、克都是1000进制;还有长度、面积、体积、质量等许多计量单位中都存在非十进制。应该说非十进制广泛存在,只不过我们都习惯于用10进制来处理罢了。

非十进制数能给我们带来方便。以航空系统为例,地面控制系统时刻需要掌握飞机在空中的具体方位。对于空中的飞机,雷达必须定时报出数据,传送给地面控制系统。数据内容主要是当前时间和飞机所在的方位。用10进制数表示时分秒,通常需要6位,如10点15分35秒表示为:10:15'35",但如果用60进制只需要3位,表示为:A:F'Z",这样,时间数据的传输量可以减少50%。同样,飞机的方位也用60进制或者更高的进位制,数据的长度也可以减少50%。于是,时间和方位数据总的传输量就减少一半,这意味着系统的传输能力可以扩大一倍,即系统掌握空中目标的能力可以为原来的两倍。在实际工作中为了提高系统的传输容量,常常把传输速率尽可能调得高一些,如将1200bps调到2400bps。但是速率高了,误码率会增大。因为传输介质的性能决定了速率的高低。只要在传输系统中嵌入数进制转换功能,发送时将数据转换为较高的非十进制数,收到后再转换为十进制数,有效地减少传输中的数据量,那么用同样的时间、同样的介质、同样的速率,传输效率可以成倍地提高。这就是数进制转换的实用意义。航海、航天控制系统以及其它远程数据传输系统,都可以有同样的应用。

参考文献

[1]数学手册编写组.数学手册[S].人民教育出版社, 1979.

[2]边奠英.全国计算机等级考试一级教程[M].南开大学出版社, 1998.

[3]宋伟, 吴建国, 等.Visual Basic6.0高级编程[M].清华大学出版社, 1999.

棒材计数装置的研究 第6篇

关键词:机电一体化装置,棒材,计数

引 言

轧钢厂棒材成品需要按规定的根数进行标准化打捆包装。目前国内轧钢厂棒材生产中大多采用人工计数, 不但效率低、包装数量不能确保要求, 而且与自动化轧钢不相配套, 影响生产效率和装备水平的提高。

棒材在线计数是在定尺剪切机和打捆包装机之间分钢区的链式传输平台上进行。小规格棒材通常为Φ14~20 mm, 稍大规格棒材约为Φ20~32 mm, 剪切机工作情况为每5 s剪出10~28根长度为9~13 m 规定规格的棒材。由于生产速度快, 链式运输机的传送速度最高可达0.54 m/s。从定尺剪切机送来的一批棒材并不能保证完全水平有间距地摊开, 一般是紧密排列, 存在相互重叠, 甚至交叉现象。目前的棒材检测方法大都采用计算机视觉图象处理检测或单一使用传感器检测等方法[1,2,3,4], 很难做到稳定、准确计数。针对上述问题, 本文提出的机电一体化棒材计数装置, 很好地解决了棒材重叠、交叉对计数的影响, 实现了稳定、准确在线计数检测。

1 工艺要求与棒材传输工况

棒材被剪切进入打捆包装机前, 在链式传输平台上通过传送链送到收集槽内打捆包装。棒材在传输平台上的工况 (如图1所示) , 根据工艺要求, 必须在棒材进入收集槽之前, 即棒材在传输平台上进行准确计数。由于棒材在传输过程中存在交叉、重叠现象, 因此如果采用单一的传感器检测技术将无法保证计数的准确性, 这是因为在处理棒材的交叉、重叠处时, 无法准确得到每根棒材的确切信息, 从而导致计数错误。

2 棒材计数装置

一种棒材计数机电一体化装置如图2所示。

2.1 棒材计数装置的构成

整个棒材计数装置主要由整理排队装置和计数控制装置组成。其中整理排队装置由整理棒材挡板⑥和排队定位挡块⑦两部分组成;计数装置由安装拨料槽③的计数轮和计数控制装置④组成。

2.2 棒材计数装置的工作过程

棒材计数装置的工作过程 (如图2所示) 。首先, 把计数装置安装在传输链②上, 传输中棒材首先经过整理棒材挡板⑥消除重叠、交叉现象;之后, 在排队定位挡块⑦的作用下, 棒材停止于拨料槽③处形成整齐排列再由计数轮④带动拨料槽③将棒材逐根拨起;当棒材被拨起后通过红外光电探头⑧时, 红外光电探头检测到目标产生并发送脉冲信号, 由计数装置根据所接收的脉冲信号进行计数;当棒材数目已满足一次打包根数时, 由控制系统控制计数轮停止一定的时间间隔, 待打捆完成后进入下一次循环。

①未整理棒材;②链式传送平台;③拨料槽;④计数轮;⑤已整理棒材;⑥整理棒材挡板;⑦排队定位挡块;⑧光电传感器

2.3 棒材计数装置的设计

2.3.1 整理棒材挡板的设计

设计整理棒材挡板目的是为了消除棒材在传输过程中的交叉、重叠现象。当棒材传输过程中出现重叠、交叉现象时, 重叠或交叉后的棒材高度会超过整齐排列时的棒材高度。当棒材通过整理棒材挡板⑥时在挡板的作用下, 上层的重叠或交叉棒材被挡住, 停止前进, 直至该棒材落至传输机的输送面上为止。这样有效地解决了棒材地交叉和重叠问题 (如图3所示) 。根据棒材在重叠后的高度设计挡板以挡掉重叠、交叉的棒材。

根据棒材的规格计算重叠高度范围, 确定挡板安装高度。挡板与传输平台间的距离称为整理挡板的有效高度, 图3中, D为不同规格棒材直径;h为交叉、重叠棒材的堆叠高度;H为整理挡板的有效高度;

据此, 有效高度应满足

undefined

考虑到传输平台上棒材品种规格差异, 当棒材规格发生变化时, 调节挡板高度可以适应不同规格棒材的要求, 故整理棒材挡板的有效高度设计为可调。表1为小规格与大规格棒材发生交叉、重叠现象时, 整理棒材挡板所要调节的高度。

图3 (b) 表明, 棒材在传输中发生了交叉现象。图3 (c) 表明棒材在传输中发生了重叠现象。为确保有效挡下重叠、交叉的上层棒料, 确定挡板的有效高度为

undefined

通过计算及分析, 确定挡板有效高度, 以重叠现象时的重叠高度h=Dsin60°+D计算才是真正有效的。所以在棒材直径为14 mm时, H值为17.72 mm;棒材直径为20 mm时, H值为25.32 mm。

2.3.2 排队定位挡块的设计

由于棒材在进入计数装置前不仅存在交叉、重叠的情况, 而且也存在位置排列不规则的情况。另外, 棒材在进入拨料槽之前应该是按次序有规律的一根一根地进入, 所以设计排队定位挡块就是为了保证棒材依次规则地进入拨料槽。

排队定位挡块能对棒材进行有效定位 (如图4所示) 。传输过程中, 当某一棒材有发生倾斜时, 随着传输过程的进行, 倾斜棒材一端先被挡住 (如图4中 (a) 所示) 。棒材的另一端继续在传输链上运动直到被传输链上另一侧定位挡块或已排列好的棒材挡住 (如图4中 (b) 所示) 。此时整根棒材被定位挡块排列好, 棒材的倾斜现象已被消除。排队定位挡头不仅可以消除棒材进入拨料槽前的倾斜现象, 还可使随传送链运动的棒材在进入拨料槽时停止, 排列成整齐的队列等待拨料, 从而确保准确计数。

排队定位挡块的设计关键在于挡块的高度, 挡块的高度决定了挡块是否能有效地工作, 即是否能有效地阻挡传输中的棒材使其顺次进入拨料槽中。

对定位挡块的高度设计应注意:

(1) 挡块的高度至少应该等于规格最大棒材的中心高度才能有效地挡住棒材;

(2) 考虑到在拨料槽拨起棒材时有一拨起高度, 应保证定位挡块的高度不能妨碍拨料槽对棒材的拨起。

2.3.3 拨料槽的设计

拨料槽的设计应该考虑:

(1) 拨料槽的长度应该保证任何规格的棒材都能在拨料槽中被拨起;

(2) 一棒材被拨料槽拨起时, 拨料槽前端边缘应避免与后一棒材接触;

(3) 由于定位挡块的存在, 棒材在拨起过程中在拨料槽中还有一段滑移距离, 设计拨料槽时, 应充分考虑拨料槽的长度, 避免被拨起的棒材滑出拨料槽。

2.3.4 计数控制装置

计数控制装置由计数轮和控制装置组成。计数轮设计为一圆盘, 四个拨料槽相互成90°固定在圆盘上 (如图2所示) 。计数轮上方安装有红外光电传感器。

计数控制装置的工作原理:每当棒材随计数轮旋转至安装在计数轮上方的红外传感器的感应区域内, 传感器产生一个脉冲信号, 将信号传送到控制系统, 如单片机等, 以此根据传感器反馈的信号进行脉冲计数。当计算结果等于一捆棒材所需的数目时, 控制系统发出指令, 控制计数轮停止运转。

3 结 论

本文设计的新型计数装置有效地解决了棒材的重叠和交叉问题。系统主要通过机械装置加红外传感器实现计数, 稳定性好, 成本低廉易实现, 具有较为广阔的使用前景。

参考文献

[1]李俊飞.一种棒材计数装置的研究[J].计算机测量与控制, 2004, 12 (12) :1 217-1 233.

[2]张琳, 岑豫皖, 杜培明.基于VC的棒材自动计数方法的研究与应用[J].工业控制计算机, 2003, (3) :32-34.

[3]朱常青, 冯筱林, 杨建国.螺纹钢筋 (棒材类) 的精确计数方法[J].上海大学学报, 1998, 4 (5) :559-564.

红外计数器的设计 第7篇

随着人们生活水平的不断提高,人们越来越追求人性化的事物,计数器是不可缺少的必需品。本文所设计的计数器采用红外线遮光方式,抗干扰性好,可靠性高,可用于测量宾馆、饭店、商场、超市、博物馆、展览观、车站、码头、银行等场所的人员数量及人员流通数量。该产品应用广泛,也可以测量流水线上的产品数量,以及可检查产品有无缺损。因此,研究计数器及扩大其应用,有着非常现实的意义。

1 红外技术的介绍

红外技术的内容包含四个主要部分:红外辐射的性质,其中有受热物体所发射的辐射在光谱、强度和方向的分布;辐射在媒质中的传播特性--反射、折射、衍射和散射;热电效应和光电效应等。红外元件、部件的研制,包括辐射源、微型制冷器、红外窗口材料和滤光电等。把各种红外元件、部件构成系统的光学、电子学和精密机械的组成部分。红外技术在军事上和国民经济中有着广泛的应用。

红外技术有很多应用,例如在夜晚可以用看见物体的红外线来确定物体的位置;用一个红外线发射器和一个红外线接收器在生产上可以计算商品的数量;军事上可以用来防止敌人侵入,当红外线发射器和接收器被挡住,警报就会响;在医学上还可以查看人的病情等等。

红外线计数器分为对射式和反射式两种电路。对射式红外线是一个发射头和一个接收头在中间如有物件通过就遮挡一下光线,输出脉冲信号触发计数电路;反射式红外线是把发射头和接收头做在一块成为一个红外探头,当探头前有一个物件出现就把发射头的红外线反射给接收头,探头输出一个脉冲给计数器计数。

本文所设计的计数器是采用红外线遮光方式,利用红外对射管作计数传感器,当有物体通过时光被遮挡住,接收模块输出一个高电平脉冲,对此脉冲进行计数,就可实现对产品的统计。基于这种光电检测原理,配合组成集成电路,就可设计对射式红外线计数器。实践证明,该装置抗干扰能力强,工作稳定,计数准确。

2 设计任务与要求

2.1 设计任务

实现数字式光电计数器的功能,当用遮挡物按正方向(设定物体从电路板下方向上移动为正方向)挡住两红外线开关各一次,它就自动计数加一;当用遮挡物按负方向(设定物体从电路板上方向下移动为负方向)挡住两红外线开关各一次,它就自动计数减一,可实现0~99的计数显示。

2.2 设计要求

该计数器可将机械或人工计数方式变为电子计数,并且采用LED数码显示,在电源输入端输入220V电压,经稳压为5V左右的电压,经过光电输入电路、计数脉冲形成电路、显示计数电路完成电路功能。

3 红外计数器的工作原理

红外计数器电路的工作原理是:该电路由光电输入电路、脉冲形成电路(U1-U8组成电压比较器)和计数与显示电路等组成,利用被检测物对光束的遮挡或反射,从而检测物体的有无。物体不限于金属,所有能遮挡或反射光线的物体均可被检测。红外对射管将输入电流在发射器上转换为光信号射出,接收器再根据接收到的光线的强弱或有无对目标物体进行探测。每当物件通过红外对射管中间一次,红外光被遮挡一次,光电接收管的输出电压发生一次变化,这个变化的电压信号通过放大和处理后,形成计数脉冲,去触发一个十进制计数器,便可实现对物件的计数统计[1]。红外计数器总体框图如图一所示:

4 主体电路的设计

4.1 电源电路的设计

4.1.1 7805稳压器的工作原理

稳压I C型号中的78系列,7805输出电压为正5V,具有过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜,可以用来做电路的稳压电源。焊接时要注意三端集成稳压电路的输入、输出和接地端绝不能接错,否则容易烧坏。一般三端集成稳压电路的最小输入、输出电压差约为3V,否则不能输出稳定的电压,7805输入端和输出端之间的电压差允许在3-13V,即经变压器变压、二极管整流、电容器滤波后的电压应比稳压值要高。

4.1.2 电源电路

220V交流电经过变压器降压成12V,经过桥式整流器整流、C1滤波,成为约14V直流电,再经三端稳压集成电路7805稳压,形成5V稳定直流电,作为光电输入电路、脉冲形成电路(U1-U8组成电压比较器)和计数与显示电路的工作电源。电源电路如图二所示:

4.2 光电输入电路的设计

4.2.1 红外对射管的工作原理

目前常用的红外线对射管是根据物体对近红外线光束的反射原理,利用被检测物对光束的遮挡或反射,由同步回路感应反射回来的光的强弱而检测物体的存在与否。光电传感器首先发出红外线光束到达或透过物体,物体或镜面对红外线光束进行反射,光电传感器接收反射回来的光束,根据光束的强弱判断物体的存在,多数光电开关选用的是波长接近可见光的红外线光波型。红外对射管的种类很多,有镜反射式光电开关、漫反射式、槽式、对射式、光纤式等。

4.2.2 光电输入电路

红外对射管将输入电流在发射器上转换为光信号射出,接收器再根据接收到的光线的强弱或有无对目标物体进行探测。每当物件通过红外对射管中间一次,红外光被遮挡一次,光电接收管的输出电压发生一次变化,这个变化的电压信号经过9014的放大并向计数脉冲形成电路输送信号。光电输入电路如图三所示:

4.3 计数脉冲形成电路的设计

当用遮挡物按正方向(设定物体从电路板下方向上移动为正方向)先挡住两红外对射管中下面一次,下方的Q2先输出高电平,经过两个非门给C2(0.01u F)充电,Q1输出为低电平,使U7输入端为0和1,输出为1,再一个与非门后输出为0,即借位为0。当用遮挡物按正方向再挡住两红外线开关中上面一次,上方的Q1输出高电平,经过两个非门给C1(0.01u F)充电,此时Q2(9014)集电极为高电平,使U5两输入端为0和1,输出为0,再一个与非门后输出为1,即进位为1。上方的Q1输出高电平时,C2放电使U7输入端仍为0和1,输出为1,再一个与非门后输出为0,即借位还为0。同理,当用遮挡物按负方向(设定物体从电路板上方向下移动为负方向)挡住两红外对射管各一下,借位输出1,进位输出为0[2]。光电计数脉冲形成电路如图四所示:

4.4 计数与显示电路的设计

4.4.1 CD40110的工作原理

CD40110计数集成电路能完成十进制数的加法、减法、进位、借位等计数功能,并能直接驱动小型七段LED数码管。七段数码管器件为小型LED共阴极数码管,CD40110与它配套使用可直接驱动显示,如图四所示。CD40110计数为十进制加计数器,逢十时自QCO端输出进位脉冲,送至下一个相同计数器CPu端(9脚)将继续累加(即为十位数)。集成电路CD40110是可逆计数器,集计数、译码、锁存、驱动为一体。在电路中VCC、VSS为电源端;a-g为数码笔段输出端;CPU为加计数脉冲输入端;CPD为减计数脉冲输入端;MR为清零端,高电平时计数器清零;QCO为进位脉冲输出端,作加法计数时,每当计数满10后输出一个进位脉冲;QBO为借位脉冲输出端,作减法计数时,每当计数满10后输出一个借位脉冲;/CT为触发器控制端,/CT=0时计数器工作,/CT=1时计数器处于禁止状态,不计数;/LE为锁存控制端,当/LE=0时正常显示,/LE=1时显示数被锁定[3]。

4.4.2 LED数字显示管

LED数码管的显示控制方式有扫描控制和独立控制两种方式。前者用于多位LED数码管并列显示的情况下,共用段控信号,通过扫描位控信号,实现分时显示。由于人眼的视觉暂留现象,形成多位LED数码管同时并列显示的效果。这种方式的实现有软件实现和硬件实现两种,软件实现是由程序控制扫描过程,程序只需向扫描控制电路写入控制字和各位数码管的段码或字符的BCD(Bi nar y Coded Deci mal)码即可;硬件实现是由专用芯片或逻辑电路控制扫描过程。前一种控制方式下,对于多位数码管的情况,可以有效减少连线数量,但控制过程相对复杂。后一种控制方式下显示控制方式相对简单,但不适合多位并列显示的情况[4]。

4.4.3 计数与显示电路

译码电路采用两块CD40110分别组成BCD七段译码器,驱动LED数码管显示器。CD40110计数集成电路能完成十进制的加法、减法、进位、借位等计数功能,并能直接驱动小型七段LED数码管。CR为清零端,CR=1时,计数器复位;CP为时钟端(CPU为加法计数时钟,CPD为减法计数时钟);QCO输出进位脉冲,QBO输出借位脉冲;/CT为触发器使能端,/CT=0时,计数器工作,/CT=1时,计数器处于禁止状态。七段数码管器件为小型LED共阴极数码管,CD40110与它配套使用可直接驱动显示。计数显示电路如图五所示:

5 总原理图

利用红外对射管作计数传感器,当有物体通过时光被遮挡住,接收模块输出一个高电平脉冲,对此脉冲进行计数,就可实现对产品的统计。基于这种光电检测原理,总原理图由光电输入电路、脉冲形成电路(U1-U8组成电压比较器)和计数与显示电路等组成。红外线接收电路与计数电路连接,计数电路的输出端与显示电路连接,总原理图如图六所示。

6 安装与调试

首先在电源输入端输入5V电压,然后用遮挡物正方向(设定物体从电路板下方向上移动为正方向)挡住开关,让其进位端产生一个高电平,电路开始计数加数;用遮挡物负向挡住开关,让其借位端产生一个高电平,电路开始计数减数。在调试中,遇到了以下几个问题:

①接通电源后,数字显示管总是多亮了一个灯;

②接通电源后,挡住光电开关,但是数字显示管不会计数;

③电路焊好后,出现的错误是:LED的f段不能亮,而且不能正常计数,输出端不能正常输出脉冲。

对应解决方案:

①检查电路,查看电路是否有引脚接通的现象,即用万用表检查是否有引脚接通,而导致数码管总是多亮一段;

②光电开关可能正负极接反了,或者加大C1、C2电容的数值,增大储存电能的能力,延长释放电流的时间,以保证障碍物有足够时间通过第二个红外计数器;

③用万用表测试各条接线的电压,发现芯片的接线错误,因此LED的f段不能正常发亮,LED显示器也不能正常计数以及开机清零。

7 实验数据分析

安装时要求红外对射管要并列放置,以方便物体通过两个红外对射管,同时电路连接要准确。本计数器可实现0~99的计数显示,若要增加计数位数,可直接对计数显示部分进行扩展。

调试过程中,电压大概在5~6V之间波动,电流大概为1.5A,电路显示较为稳定。当用遮挡物按正方向(设定物体从电路板下方向上移动为正方向)挡住两红外线开关各一次,它就自动计数加一;当用遮挡物按负方向(设定物体从电路板上方向下移动为负方向)挡住两红外线开关各一次,它就自动计数减一,可实现0~99的计数显示。

电路板调试成功,满足设计要求,并且计数显示部分的计数位数具有直接扩展性。

8 结束语

本文设计的可逆双向计数器是一种根据物体的不同运动方向自动进行加减计数的计数器,在日常生活及生产科研中有着广泛的用途。该计数器采用红外线遮光方式,其特点是:抗干扰能力强,工作稳定可靠;计数范围为1~99个数,高亮度数字显示。

红外计数器是一种很实用的电路,可用于工农业设备或流水线上对产量或流量进行统计计数,在平时生活中也有广泛运用,如商场、游乐城等等都用得比较多,而其电路的实现也是多种多样。希望能在价格、使用灵敏度上,做出更加完美的计数电路。

摘要:计数器在人们日常生活中应用越来越多,已成为不可缺少的必需品。本文介绍了红外计数器的发展前景和现状,设计了一种由数字电路来实现的红外计数器,详细阐述了红外计数器的工作原理和构成,讨论了各模块的实现方法,并对它们进行了严格的理论逻辑推敲和实验测试,以达到设计要求。它可以解决计数中的增减问题,对任意流水线产品及来往客流自动计数。因此,研究红外计数器及扩大其应用,有着非常现实的意义。

关键词:自动计数,红外检测,8位数码管

参考文献

[1]谢自美.电子线路设计、实验、测试[M].武汉:华中理工大学出版社,2003.

[2]康华光.电子技术基础[M].北京:高等教育出版社,2002.

[3]李强.数字电子技术基础教程[M].北京:电子工业出版社,2002.

本文来自 99学术网(www.99xueshu.com),转载请保留网址和出处

【计数方案】相关文章:

自动计数06-16

计数综合06-25

血小板计数08-10

嗜酸细胞计数05-26

计数器装置06-28

尿白细胞计数07-04

有核细胞计数07-23

教案计数原理范文06-01

计数原理教案范文06-02

分步乘法计数原理07-09

上一篇:院校经营下一篇:起重机械:事故原因