足球比分直播

定时器84654.doc

返回
定时器84654.doc_第1页
第1页 / 共4页
定时器84654.doc_第2页
第2页 / 共4页
定时器84654.doc_第3页
第3页 / 共4页
定时器84654.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述:
定时器人类最早使用的定时工具是沙漏或水漏但在钟表诞生发展成熟之后,人们开始尝试使用这种全新的计时工具来改进定时器,达到准确控制时间的目的。1876 年,英国外科医生索加取得一项定时装置的专利,用来控制煤气街灯的开关。它利用机械钟带动开关来控制煤气阀门。起初每周上一次发条,1918 年使用电钟计时后,就不用上发条了。定时器确实是一项了不起的发明,使相当多需要人控制时间的工作变得简单了许多。人们甚至将定时器用在了军事方面,制成了定时炸弹,定时雷管。现在的不少家用电器都安装了定时器来控制开关或工作时间。定时器种类1、 接通延时型定时器接通延时型定时器是各种 PLC 中最常见最基本的定时器,这种定时器在 SIEMENS 的 PLC 中,称为 SD 型定时器2、 断开延时型定时器这种定时器是当输入条件 00000 为 ON 时无延时作用,只有在输入条件 00000 为 OFF 时产生延时作用。在 SIEMENS 的 PLC 中,称为 SF 型定时器3、保持型接通延时定时器这种定时器是当输入条件 00000 为 ON 后,即产生锁存功能,即使输入条件 00000 又变为 OFF,仍视输入条件为 ON,当定时器的当前值等于设定值时,定时器动作,这种定时器在 SIEMENS 的 PLC 中,称为 SS 型定时器4、脉冲型定时器这种定时器是当输入条件 00000 为 ON 后,定时器即时动作,但经过定时器所设定的时间后,即使输入条件 00000 仍为 ON,定时器却变为 OFF 状态。即这种定时器 ON 状态的维持时间是由设定值决定的。如果 00000 为 ON 的时续时间小于定时器的设定值,定时器的 ON 状态维持时间为输入条件 00000 为 ON 的持续时间。这种定时器在 SIEMENS 的 PLC 中,称为 SP 型定时器。5、扩张型脉冲定时器这种定时器与脉冲型定时器的区别是,只要输入条件 00000 出现了 ON 状态,不管其持续时间多长,均可使定时器为 ON 的维持的时间与定时器的设定值一致。这种定时器在 SIEMENS 的 PLC 中,称为 SE 型定时器定时器是通信协议正常运行的基本要素之一,主要用于各种定时和帧重传的任务。通信协议在单片机系统上实现所使用的定时器,定时精度要求不高,但数量要求比较大。由于硬件资源有限,不可能为每一个单独任务分配一个硬件定时器,只能通过单个硬件定时器模拟多个软件定时器的方法,来满足协议中的定时应用需要。图 1用一定的数据结构将这些软件定时器组织起来,并提供统一的调用接口,称为“定时器管理”。目前定时器管理主要有 2 种实现方法①静态数组法。将定时器节点存储在数组中。优点是逻辑简单,占用 ROM 较少。但这种方案有明显的缺点当硬件定时器中断发生时,要对所有定时器节点进行减法操作,时间开销很大,且时延不确定与定时器数目相关 。②delta 链表法。按照定时器的定时值升序排列,形成链表。后一个定时器的定时值是前面所有定时器的值加上本节点的值。这样,在每次的时钟中断处理中,只需对第 1 个定时器节点进行减法操作,大大减少了时间开销。但是,该方案逻辑复杂,ROM 用量大,需要频繁分配回收内存,容易形成内存碎片。1 定时器管理模块的设计定时器管理模块的设计基于静态数组法。使用一个定时器节点数组来保存所有的定时请求,数组的每一项代表一个可用的定时器节点。每一个定时器节点都有一个状态项,表示该定时器正处于空闲、使用或溢出状态。定时器的定时值和定时器超时后要发送的消息也存储在定时器节点中,从而实现用一个硬件定时器为用户提供多个软件定时器。为了解决中断处理时间开销大的问题,在模块中引入一个辅助定时器,辅助定时器的值总是等于所有定时器节点中的最小定时值。在硬件定时器中断处理中,仅对辅助定时器进行减法操作,从而大大缩短了中断处理的时间。2 定时器管理模块的实现2.1 数据结构和函数接口定时器管理模块使用的相关数据结构定义如下字段 state 保存了定时器节点的状态,可能取值为空闲T_FREE、使用T_INUSE或溢出T_OVERFLOW。字段 count 保存了定时器节点的定时值,最大取值为 65 535。如果设置硬件定时器中断为 10 ms,则软件定时器最大定时约为 655 s,可以满足大多数应用需要。字段 msg 指向定时器的用户消息。在启动定时器时,指向消息的指针被保存在此字段。当定时时间结束后,中断处理函数会自动发出这个消息以通知用户任务。由于数组的下标是唯一的,可作为识别节点的唯一 ID 号。下文中提到的节点 ID 号均表示节点在数组中的下标。MAX_TIMER_NUM 表示系统允许的最大定时器数,其值取决于具体应用需要。本模块提供的关键接口函数如下2.2 定时器的初始化使用定时器管理模块前,需要进行定时器的初始化。主要是初始化定时器节点数组,将每一个定时器节点设置为空闲状态,同时将辅助定时器置零,辅助 ID 指向 0 xFF表示空。2.3 定时器的启动图 2启动一个定时器,主要是将节点数组中一个空闲状态的节点置为使用状态。如果这个新启用的定时器,是所有定时器中定时值最小的,还要更新辅助定时器。函数以指向定时器消息的指针和定时值为参数,启动定时器流程如图 2 所示。成功启动定时器后,返回该定时器节点的 ID 号。2.4 定时器的删除在目标定时器到期之前,由于某种原因用户可能会要求取消定时器。如重发定时器,用户在发送数据帧后启动该定时器,并等待对方返回响应帧。如果在定时时间结束时没有收到响应帧,用户就需要重发原数据帧;如果在定时时间结束之前收到响应帧,用户就需要马上取消该定时器,然后进行下一次通信过程。删除定时器函数以定时器节点 ID 号作为输入参数,将定时器节点设为空闲状态,并根据需要更新辅助定时器,流程如图 3 所示。2.5 定时器的驱动图 3软件定时器的驱动由硬件定时器提供。在硬件定时器中断中,首先将辅助定时器的值减 1。如果辅助定时器值为 0,则表示定时值最小的定时器已经超时,应将对应的消息发送给用户任务,将节点置为空闲状态,并重新计算其他节点的定时值,同时查找定时值最小的节点,更新辅助定时器。适用范围1 在实行峰谷电价差的地区,可使用大功率电器在低电价阶段自动运行。2 用于控制需定时开与关的家用电器。如饮水机、热水器、空调、电饭煲、广告照明等;3 用于控制通电时间长短。如电动自行车电池、手机电池、蓄电池的充电;4 需频繁通断的用电场合。如花圃、草坪的间歇喷灌、鱼缸的周期性增氧过滤、喷泉等;5 家庭防盗系统的自动控制。注意事项1 本产品所接电器功率总和不得超过额定功率,为室内干燥环境中使用;2 本产品可循环工作,设置的程序可循环使用。3 不可把本产品直接插入已运行中的电器上4 当电器用品接入定时器后,开关状态务必是开启状态5 保修期内请勿擅自拆卸定时器,一旦拆卸,将终止保修服务。需维修时请找专业电工或专业人士。产品特点1 液晶屏设定显示2 专利外观设计3 铜片结构优化设计,寿命更长4 最小设定时间为 1 分钟,每天最多可设定 20 组开与关,每周可设置 140 组5 高导电率铜片,镀镍处理,防铜锈,发热更小6 夏令时/冬令时功能7 使用可充电电池技术参数额定电压220C AC 额定电流10A额定频率50Hz 额定功率2200W固有功率≤2W 使用温度范围-10℃ 55℃可编程数20 组 电池可充电镍氢电池
展开阅读全文
收藏
下载资源

加入会员免费下载





足球比分直播