生态设计指令

2024-09-30

生态设计指令(精选7篇)

生态设计指令 篇1

2009年以来, 欧盟生态设计指令 (EuP/ErP) 全面进入发布实施阶段[1], 针对各种用能产品的实施措施陆续出台, 对浙江省出口影响逐渐显现。2009年10月, 欧盟公布了新的ErP指令 (2009/125/EC) , 代替EuP指令 (2005/32/EC) , 于2009年11月20日生效[2]。笔者自2005年7月欧盟颁布EuP指令起, 一直密切关注指令的最新动态, 及国内外相关机构对该指令的研究工作。浙江省对外出口依存度大, 若不能及时研究并提出浙江省应对欧盟生态设计指令的解决方案, 相关产业的出口必将遭受严重的损失。近一年来, 笔者所在课题组积极联合省内外相关组织, 开展应对EuP指令工作, 取得重要突破, 建立浙江省出口企业应对生态设计指令的解决方案。

一、国内外研究现状

从欧盟生态设计指令以及已经出台的实施措施来看, 要符合该指令要求, 制造商可以采用自我声明加符合性检测的形式, 而提供相关技术文档则是进行自我声明的必要条件。该指令附件4规定了有关技术文档要求, 包括6个方面的内容, 其难点主要在于生态档案的建立。生态档案, 其核心是定量化评估产品整个生命周期内对环境的影响, 是一个对产品进行生态评估并建立“生态档案”的过程。

1、国外研究现状和趋势。

国际上, 相关标准ISO14044也对生态评估框架做了规范, 从目标和范围的定义、清单分析、影响评价3个方面进行了规定[3]。生态评估工作被广泛用于产品的研发、战略部署、公共政策发行、市场营销等方面, 甚至被作为打官司的法律依据。国外企业对生态设计非常关注, 非常重视面向产品全生命周期的生态设计研究与应用, 采取了许多积极的措施, 将产品生态化设计思想整合到企业生产经营过程中, 积极应对国际市场的环保要求, 并取得了明显的效益。2006年2月松下公司制定了新的“绿色计划2010”, 通过解决三大重点课题:控制二氧化碳排放量、化学物质管理、减少废弃物和推动回收利用, 提高公司在环境化设计方面的水平。戴尔公司开发了属于自己的环境和整个产品生命周期一体化的方法, 该方法主要由环境意识设计、制造阶段、消费者体验、产品回收策略四阶段组成。韩国政府专门斥资100万美元成立EuP指令研究小组, 研究电子产品出口如何应对EuP指令, 制定应对措施并开发相关的生态设计工具。三星、LG、大宇等都参与了这个项目, 积极开展生态设计研究, 建立基于网络的生态设计系统, 包括生态设计指南、生态设计实例和再循环评估工具等。

2、国内研究现状及存在问题。

目前国内对生态评估工作基本处在不清楚或不甚了解的阶段, 一般仅停留在节能、节水、减少污染物排放等阶段, 缺乏产品生命周期的概念, 更缺乏系统性、定量化的水平和能力。已经开展应对服务的中介服务机构总体数量不多, 大部分以提供标准法规信息为主, 有能力独立开展应对令服务特别是生态评估服务的机构不多。同时, 开展实质性应对工作的企业数量也不多, 主要以大企业为主, 如格兰仕、美的、海尔等;中小企业由于自身实力等原因, 仍未开展实质性应对工作, 处于观望状态之中。

总体而言, 对浙江企业而言, 生态评估工作完全是一项全新的工作, 是对传统设计思想的一次革命, 是浙江制造面临的一个巨大挑战。目前国内企业一般没有能力独立完成这项工作, 绝大多数企业不清楚如何进行生态评估并建立生态档案。由于目前生态评估工作基本被国外少数几个机构所垄断, 评估费用较高, 对我省企业而言是一笔不小的负担。

二、建立解决方案

生态评估及生态档案的建立, 是浙江省企业应对生态设计指令的一项共性和关键技术, 也是浙江省企业应对工作的一个难点所在。同时, 生态评估也是生态设计的基础工作, 只有通过生态评估、生态改进、再次生态评估的过程才能持续改进产品的生态性能。通过长时间的调研, 学习国外的先进经验, 结合浙江省产业现状和企业需求, 笔者课题组开展筹建浙江省EuP解决中心, 切实为企业服务。

1、机构基础建设。

重点从人才建设、硬件建设和制度建设三方面筹建和完善浙江省EuP解决中心。整个筹建工作分为三个阶段:第一阶段研究、分析EuP应对工作的必要性和重点方向, 调研国内外EuP应对工作的现状, 了解相关机构在该领域的成功经验;第二阶段配置专业研究人员, 购买专业软件, 为评估服务工作的开展奠定人才保障和硬件保障;第三阶段制订一系列规章制度、服务流程、工作细则和相关模版文件, 基本上健全、完善中心的服务机制, 保障与客户的共同有章可循, 使中心完全具备开展生态评估的能力。

(1) 人才建设。自EuP指令草案公布后, 课题组研究人员一直跟踪研究包括EuP指令在内的生态设计方面的国内外动态, 先后多次参加EuP指令实施措施的研讨会和评议活动, 代表浙江省就各项实施措施对产业的影响阐述观点, 并提出相关的评议意见, 受到国家质检总局的肯定。同时大力引进人才, 特别是聘请大专院校教授作为高级顾问, 为开展应对EuP指令研究及解决工作提供人才保障。

(2) 硬件建设。首先充分调研、联系国内外与生态评估相关的组织和机构, 包括中国质量认证中心、合肥工业大学、中国电器工业协会、中国电器科学研究院等。在此基础上, 掌握目前国际上生态评估的主要软件, 包括SimaPro、GaBi、Boustead、EcoPack2000、KCL-ECO、LCAiT、LIMS等。通过严格的论证, 对比软件的优缺点, 结合生态评估工作的实际情况, 最终选用Gabi4.3作为生态评估的软件工具。

(3) 体制建设。为保证浙江省EuP解决中心顺利、有序开展生态评估服务, 专门制定一系列文件和规章制度, 明确中心和客户在生态评估工作中的具体事项。制订《工作管理办法》, 为开展评估工作制定依据, 使得评估服务有据可循。制订《评估受理及服务流程》, 规范评估服务各项工作按步骤进行, 使客户直接、明了地掌握评估工作的各个阶段, 有利于双方的有效沟通。制订《申请表》及《数据清单格式和要求》, 将一方面有利于将生态评估的概念输入给客户, 使客户基本掌握生态评估的理念, 及时准备生态评估所需提供的必备资料;同时有利于中心快速、及时、有效掌握客户产品的生态特点, 快速建立能真实反映产品生态性能的模型, 对产品进行全生命周期的生态评估。

2、开展生态评估工作。

生态评估工作是应对生态设计指令的重要核心内容之一, 相关工作不仅需要专业的标准化研究机构, 也依赖于企业对其产品生产等各环节信息及资源的收集与整理。但当前浙江省以中小型企业居多, 企业在以往的生产实践中往往忽视对各环节有关生态性能原始数据的收集和整理工作, 甚至不到从何处下手。因此, 首先要为企业建立起应对工作的大致思路, 其次, 根据生态评估工作的特点, 加强研究机构与生产企业的密切沟通, 建立科学的产品生态评估模型, 进行有效的生态性能评估工作。企业应对思路:

企业作为生产者, 应把生命周期评价思想整合到企业生产经营过程中, 才能应对国际市场的环保要求, 在竞争中站稳脚跟。根据生态设计指令的相关规定, 企业应对的主要思路包括:一是初步判断出口产品是否受生态设计指令约束。首先依据2009/125/EC, 初步判断该产品是否受EuP指令约束。如果该产品不在EuP指令约束范围内, 企业无需花费时间和精力应对EuP指令。二是收集相关标准法规信息。一旦初步确定某产品受EuP指令影响, 应尽早全面收集同该产品相关的实施措施及其生态设计要求、相关协调标准等信息。需要说明的是, 某些产品可能受到不止一项实施措施的制约, 因此应尽可能全面跟踪EuP指令最新进展。三是明确EuP指令对该产品的要求。结合2005/32/EC指令以及相关产品的实施措施, 可以确定EuP指令对该产品的要求。从目前已经出台的实施措施看, 特殊生态设计要求以能效要求为主。应对EuP指令, 产品必须同时满足通用生态设计要求和特殊生态要求, 其区别在于特殊生态设计要求有定量化限定指标要求。四是尽早开展摸底调查。一方面, 通过必要的检测, 明确自身生产技术水平同EuP指令生态设计要求的差距;另一方面, 尽快开展生态“体检”, 收集产品原材料和生产工艺等信息对其产品进行生态评估, 建立产品生态档案。建立产品生态档案, 不仅可以为未来建立技术文档奠定基础, 而且有助于明确生态改进的方向, 提升产品的生态性能。五是改进产品生态性能。在摸底调查的基础上, 对应对EuP指令的重点和难点问题进行科技攻关, 并通过加强供应链管理、积极采用生态设计的理念和方法等措施不断改进产品的生态性能以满足EuP的指令。企业应清醒的认识到, 改进产品的生态性能是一个持续和不断完善的过程, 其目标就是符合甚至超越EuP指令对该产品的要求。六是加贴CE标志。对已经满足EuP指令要求的产品, 依据EuP指令附件要求做好相关技术文档准备工作, 进行符合性声明, 并加贴CE标志, 做好出口欧盟市场的准备工作。需要说明的是, 对于受EuP指令约束的产品而言, 满足EuP指令仅仅是产品能否加贴CE标志的一个必要条件, 要加贴CE标志还需要同时满足CE标志的其他相关要求。

3、生态评估工作。

针对EuP指令要求建立产品的技术文档准备是当前应对工作的重点和难点所在, 其难点主要在于定量化评估产品生命周期内对环境的影响。笔者通过分析国外生态评估工作的经验, 提出并建立生态评估的解决解决方案, 其中数据收集是生态评估工作的关键环节。收集的数据包括物料及各种能源的消耗, 以及向大气、水和土壤的排放。收据收集途径主要考虑以下两个方面, 一方面是基于企业BOM表的材料清单, 另一方面是生产工艺数据, 主要考虑生产加工过程中能耗以及有毒有害物质的排放。将生命周期各阶段所使用的物质和能量以及所排放的污染物经分类整理后, 使用生命周期评估工具模拟产品生命周期过程并建立模型, 按照ISO14040进行定量化计算, 可以得出11个环境影响指标数值。通过定量化评估, 可以清楚产品、工艺或活动等生命周期各阶段对环境的影响程度, 也可以清楚各种材料、零部件对环境的影响, 从而可以明确下一步改进的方向。可能的改进方向涉及原材料的使用、工艺流程、消费者使用方式及废物管理等。美国环境毒理学和化学学会建议将改进评价分成三个步骤来完成, 即识别改进的可能性、方案选择和可行性评价。在进行分析时, 还包括敏感性分析和不确定性分析等内容。

三、典型生态评估案例

以浙江省某企业的直螺24W节能灯为例, 该节能灯创益螺旋型节能灯内置电子镇流器, 启动迅速, 无频闪, 外形美观, 节能省电, 寿命长, 可广泛用于家居, 餐厅, 酒店, 门厅等场所, 尤其是需长寿命光源及需要装饰性照明的地方, 产品主要销往欧盟市场。在收集整理原材料、制造、使用、运输、报废相关数据的基础上, 采用生命周期方法进行定量化生态评估, 可以得出如下主要结论:

1、该产品的使用阶段是影响环境的核心阶段, 对11项指标的平均影响程度为99.

11%;制造阶段、销售阶段和寿终阶段对环境的影响很小, 对11项指标的平均影响程度均不超过0.7%, 可以忽略不计。

2、该产品主要部件中, 电子镇流器对环境的影

响最大, 对制造环节11项指标的平均影响程度为61.67%;其次是塑件对环境的影响, 对制造环节11项指标的平均影响程度为23.66%和24.12%;灯管和灯头对环境的影响较小, 对制造环节11项指标的平均影响程度分别为9.36%和5.31%。

3、企业对产品进行技术改进, 产品能效水平得

到提高, 产品整个生命周期对环境的影响得以大幅降低, 平均改进幅度为13.28%, 完全符合EuP指令的原则和要求。同其他同类型节能灯相比, 产品环境性能得到很大提升。

发展低碳经济发展, 构建生态文明社会, 已经成为不可逆转的时代趋势。基于生命周期的生态评估方法可以为产品、工艺、服务等提供定量化的环境评估, 也是EuP指令的主要内容之一。开展的生态评估工作已经显现出其重要作用, 如浙江某洁具企业开展节能型公共淋浴房的生态评估工作, 欧美客户对此十分赞赏, 纷纷与该企业签订数额巨大的合同, 使得该企业在世界金融风波过后, 凭借其生态良好的生态性能及中立的生态评估报告, 一举稳定并拓展国外市场, 成立行业的佼佼者。

参考文献

[1]朱培武、蒋建平.欧盟ErP指令的最新动态及其对我国产业的影响研究[J].对外经贸实务, 2010, (04) .

[2]DIRECTIVE 2009/125/EC OF THE EUROPEAN PARLIA-MENT AND OF THE COUNCIL of 21 October 2009 establi-shing a framework for the setting of ecodesign requirements forenergy-related products. (ErP) .

[3]ISO 14044-2006, Environmental management-Life cycleassessment-Requirements and guidelines.

生态设计指令 篇2

1 Er P指令适用范围

法规规定了投入市场的家用及类似用途的烤箱 (含组合在其他炊具里面的烤箱) 、灶台、电动抽油烟机的生态设计要求。

但不适用于: (1) 使用电或者燃气以外能源的产品; (2) 带微波加热功能的烤箱、灶具、抽油烟机等设备; (3) 小型烤箱、便携式烤箱; (4) 蓄热式烤箱; (5) 以蒸汽作为主要加热功能的烤箱; (6) 灶具中覆盖的燃气喷嘴; (7) 户外烹饪产品; (8) 设计为只能用丙烷或丁烷的产品; (9) 烤架。

2 生态设计要求

法规对产品的能源效率、流体动力效率、照明分阶段给出了具体要求, 对抽油烟机还提出了待机功耗、最低功耗要求。

2.1 能效、流体动力效率的要求

法规对家用烤箱、灶具、抽油烟机的能效指数要求如表1~3所示。

2.2 气流速度要求

法规生效一年后, 抽油烟机的最大气流速度不得超过650 m3/h。

2.3 功耗要求

法规生效18个月后, 产品关机状态下的功耗不超过1.0 W, 单待机模式的功耗不超过1.0 W, 待机并具有状态显示功能的功耗不超过2.0 W。

法规生效3年6个月后, 关机状态下的功耗不超过0.5 W, 单待机模式的功耗不超过0.5 W, 待机并具有状态显示功能的功耗不超过1.0 W。

2.4 照明要求

法规生效1年后, 抽油烟机照明系统的平均流明 (Emiddle) 不低于40 lx。

2.5 供应商需提供的信息要求

法规生效1年后, 技术文档、说明手册及免费网站上应提供以下信息:

(1) 为满足生态设计要求采取的度量和计算方法的描述;

(2) 可减少环境总影响的烹饪方法的说明;

(3) 关于以维修为目的无损拆卸、拆卸, 尤其是关于发动机、电池、回收处理等方面的信息。

除了上述信息说明, 烤箱、灶具、抽油烟机还应提供如表4~7所示的具体信息:

注:1 k Wh/cycle=3.6 MJ/cycle

3 国内相关标准研究

2013年6月, 国家标准化委员会发布了GB 29539—2013《吸油烟机能效限定及能效等级》, 对吸油烟机的能效等级、能效限定值、节能评价值作了规定。其中能效按全压效率、待机功率、关机功率、常态气味降低度、油脂排放限制分级, 共分为5级, 其中1级能效最高, 5级为能效限定值, 2级为节能评价值, 见表8。

国标给出了吸油烟机出厂检验、型式检验等检验规则。出厂检验方案参照GB/T 2828.1和GB/T 2829, 由生产厂家质量检验部门自行决定, 经检验认定能效限定值不能满足能效等级5要求的产品不允许出厂;当出现试制的新产品, 改变产品设计、工艺或所用材料明显影响其性能, 时隔一年以上再生产, 出厂检验结果与上次形式检验有较大差异或质量技术监督部门提出检验要求时, 应当进行型式检验。型式检验每次抽取3台样本 (两台试验、一台备用) , 两台试验结果均符合能效限定值要求, 则该批次产品合格;如两台均不符合, 该批次不合格;如一台样品的能效值不符合标准要求, 则测试备用样品, 测试结果符合要求则判定合格, 否则判定为不合格。

国标还给出了待机和关机功率的试验方法。针对所选模式和功率稳定的情况, 可采取直接读取仪器显示的功率值的方法:将待测吸油烟机连接到测量仪, 选定被测模式, 经过至少5 min以使功率达到稳定, 测量期间功率变化小于5% (从观测到的最大功率值计算得到) , 可认为功率已稳定, 直接取5 min末的测量仪上显示的功率值, 该方法又被称为短暂功率法。

针对所选模式或功率不稳定情况, 采用平均功率法或累计能量法。平均功率法即在用户选定时间段内用测量仪记录平均功率, 选定时间段不应小于5 min;累计能量法通过测量仪累计用户选定时间段内的能量消耗 (选定时间不小于5 min) , 用累计的能量值除以测量时间以得到平均功率。

4 GB 29539—2013与 (EU) No 66/2014的比较

4.1 抽油烟机与吸油烟机的区别

我国目前还没有发布针对烤箱、灶具节能的相关法规标准, 因此在烤箱、灶具的节能要求方面无法比较。在油烟机方面, 中式吸油烟机与欧式抽油烟机原理类似, 均为通过涡轮旋转把油烟吸附到油烟口 (“负压区”) , 经过滤网滑到接油杯, 另将少量烟雾通过集烟罩排到户外, 属于同一大类产品。

4.2 能效要求的区别

欧式抽油烟机通常外观时尚, 功能多样化, 因此欧盟Er P实施措施对抽油烟机的参数要求比国标要多, 详细对比见表9。

备注:BEP表示抽油烟机的最佳能效点, 吸油烟机的规定风量为7 m3/min=7×60 m3/s

由表9可以看出, GB 29539—2013实际上是综合参考了欧盟的Er P生态设计实施措施和新能源标签指令的内容, 结合我国吸油烟机与欧式抽油烟机的应用场合和市场需求, 对开机和关机能耗、全压效率、常态气味降低度等节能重要参数作了规定, 并依据这些参数进行了能效等级划分。

在具体参数要求中, 我国在开机、关机功率方面取得了很大进步, GB 29539—2013中的节能评价值 (2级) 可以满足欧盟的生态设计要求。GB 29539—2013中全压效率与 (EU) No 66/2014中流体动力效率的原理一致, 均用来表征油烟机将输入功率转化为排除风量的能力。考虑我国多煎炒的烹饪习惯, 对全压效率要求较高;而欧盟的生态设计要求对该参数要求较低。

5 结束语

鉴于我国家电制造业对国际市场的依存度, 建议企业、认证机构积极跟进欧盟法规动态, 同时建议国标委尽快颁布关于烤箱、灶具等产品的能效相关标准, 从更广泛的层面提升家电制造行业产品的质量, 从根本上缓解能源资源制约、环境污染的巨大压力。

摘要:深入解读了ErP框架指令的实施措施 (EU) No 66/2014“家用烤箱、灶具、抽油烟机的生态设计要求”, 介绍了国内标准法规的相应情况, 并进行了对比分析。

关键词:生态设计,ErP指令,能耗,烤箱,灶具,抽油烟机

参考文献

[1]European Commission.implementing Directive2009/125/EC of the European Parliament and of the Council with regard to eco-design requirements for domestic ovens, hobs and range hoods.2014.

[2]GB 29539—2013吸油烟机能效限定及能效等级[S].

生态设计指令 篇3

关键词:电力调度,操作指令票,拟写,查询,统计

0 引言

调度机构是电网运行、操作、事故处理的指挥者, 是电力生产运行的核心机构。调度工作任务的完成是通过调度指令的执行来体现的, 正确拟写调度操作指令票是调度员最重要的工作之一, 也是电力系统能够安全生产与运行的重要措施和保证。

长期以来, 某供电局拟写调度操作指令票采用套打式, 即调度员先在计算机上拟写指令票, 然后再用空白票去套打。这种工作模式存在诸多弊端:首先, 需要每年耗费资源去印刷编号连续的空白票;其次, 由于指令票不能修改, 当发现错误时必须重新写票, 这样不仅增加了调度员的劳动强度, 也产生了较多作废票;再次, 这种纸质指令票的查询统计十分不便, 工作效率低。随着该局电网的不断扩大以及各县网35kV设备调管权收归地调管辖, 调度所辖设备日益增多, 操作也日趋繁重, 显然传统拟写调度指令票的模式已不能适应新形势下电网安全高效运行的需要。为了更好地解决传统模式的诸多问题, 本文设计和开发了电力调度操作指令票系统。

1 系统结构与各子模块功能

某供电局电力调度操作指令票系统结构如图1所示。

1.1 拟写模块

拟写模块功能包括:按《中国南方电网有限责任公司电气操作导则 (2010年整合版) 》要求设计调度操作指令票格式, 编号按页自动生成, 填票日期系统自动生成, 可选择受令单位和常用设备状态转换字样, 可实现文本的复制粘贴, 可在操作项目栏内输入内容超过一行时自动换行, 可快速添加“以下空白”、“下接××号指令票”、“上接××号指令票”字样, 可在拟写界面未退出时实现修改, 操作开始日期、操作结束日期、发令人、发令时间、受令人、完成时间、汇报人、填票人、审核人、值班负责人处不可编辑, 可用A4纸打印。

1.2 查询模块

查询模块功能包括:可按编号、日期、关键字、上一张、下一张进行查询, 给作废票、未执行票添加电子章, 能修改历史票 (设定了账号和密码) , 可用A4纸打印。

1.3 统计模块

统计模块功能包括:可对选定时段内操作票总数、作废操作票总数、未执行操作票总数、已执行操作票总数、已执行操作票的操作项目总数进行统计。

1.4 辅助功能

辅助功能包括:可调节操作界面大小, 但不能影响实际打印效果, 打印位置可微调。

2 软件开发环境

本系统采用MySQL数据库和Java编程语言, 集成开发环境采用Eclipse。

3 数据库的建立

本系统共有3张表, 分别为操作票主题基本信息表、操作票项目基本信息表、用户基本信息表, 下面分别对各表进行介绍。

3.1 操作票主题基本信息表

操作票主题基本信息表用于记录操作票的编号、日期、操作任务等基本信息, 具体设计见表1。

建立该表的SQL语句如下:

3.2 操作票项目基本信息表

操作票项目基本信息表记录操作票项目的具体信息, 如受令单位、操作项目具体内容等, 详细设计见表2。

建立该表的SQL语句如下:

3.3 用户基本信息表

用户基本信息表用于记录用户的账号和密码, 详细设计见表3。

建立该表的SQL语句如下:

4 系统功能的实现

本系统采用Java语言进行编程, 编制程序10049行, 实现了系统所设计的功能, 其主要操作界面如图2~5所示。

5 应用情况及效果

目前, 电力调度操作指令票系统已成功应用于来宾供电局调度班, 不仅打破了传统的工作模式, 也产生巨大的效益。

(1) 节约了生产成本。调度班不需花费额外的资源去印刷空白票, 每年节约生产成本约6 000元。

(2) 操作过程简单。只要在系统上拟写好指令票, 直接按“打印”即可, 并且设计过程考虑了很多人性化因素, 使得操作简单快捷, 提高了工作效率。

(3) 作废票率大大降低。调度班作废票率由10.1%降低至1.6%。

(4) 查询方便。由于有了电子存档, 可按照编号、填票日期、关键字等进行查询。

(5) 统计快速。统计每月指令票的时间由2.5h降低至30s。

这款单机版的电力调度操作指令票系统操作简单、功能强大、易用性强, 不仅避免了传统模式的弊端, 提高了开票效率和开票准确度, 也提高了调度员相关工作的效率, 使调度员有更多的精力着眼于电网风险分析与事故预想, 对电网的安全调度有着积极意义。

6 结束语

电力调度操作指令票系统的开发与应用, 填补了调度操作指令下发信息化管理方面的空白, 为电网调度操作票信息化管理提供了有力支撑, 也标志着调度智能化水平的进一步提高。实践证明, 该系统自应用以来, 不仅减轻了调度员的工作强度, 也促进了电网的安全调度进程, 同时带来了巨大的经济效益。

参考文献

[1]陈巨龙, 姚刚, 赵翔宇.贵州电网调度操作票及指令下发系统研究与开发应用[J].电力电子, 2014, 15 (1) :160, 161

[2]孔超.电网调度操作票系统的发展与应用[J].信息通信, 2011, 9 (2) :64, 65

[3]姚明军.基于SCADA的调度操作票生成系统[D].杭州:浙江大学, 2008

[4]杭海燕.基于J2EE技术的县级电网调度操作票系统设计[J].电源技术应用, 2013, 7 (1) :72, 77

[5]刘业飞.电网调度操作票系统的分析与研究[D].辽宁:辽宁工业大学, 2014

[6]郭月梅.智能调度操作票管理系统研究与应用[J].科技之友, 2013, 11 (2) :155, 156

[7]蔡春元.电网调度自动化系统的安全运行问题探讨[J].继电器, 2005, 33 (7) :66~69

模拟器指令集扩展的设计与实现 篇4

在计算机体系结构的研究中,要对一种设计进行量化分析,通常都要借助于模拟器[1],例如经典的单核模拟器Simple Scalar以及近年来流行的多核模拟器SESC[2],它们都是被广泛使用的实验平台。要在模拟器上实现新的设计,必然需要对其做适当扩展。一种典型的扩展就是添加新指令,这就要用到指令集中的预留操作码。

利用预留码来实现新指令虽然简捷方便,但是在实际应用中有局限性问题。首先,模拟器指令集的预留码一般都很有限。原因在于,现代模拟器通常直接使用GCC等标准编译工具链,从而使其支持的指令集就是诸如MIPS等预留码很有限的指令集,例如MIPS v4指令集[3]中的预留操作码仅约5个。其次,随着研究的发展,原本有限的预留码可能已被用尽,当为后续设计继续添加新指令时,很容易造成不同设计之间的冲突。以基于MIPS的SESC模拟器为例,它当前发布的版本已同时支持对线程级猜测、功率、网络互联等等的模拟,正有越来越多的研究者基于它开展能耗、并行优化等其它研究,如果仅依赖MIPS指令集中如此有限的预留码来满足诸多的需求,这显然是不可行的。

问题的关键在于指令集中预留码太过有限,假如能够将指令长度拉长,扩大其操作码和操作数表示范围,就可以给新指令提供很大的预留空间,最终为体系结构研究的开展带来极大方便。本文的方案就是通过修改汇编器、链接器和模拟器中的加载器和译码器部分来达到这个目的。

1 SESC模拟系统介绍

SESC是由UIUC大学开发的一个基于事件的周期精确的体系结构模拟器,它支持对多核处理器、线程级猜测、功率、网络互联等等的模拟。SESC支持MIPS32位指令集,并选用GCC作为其编译工具链,它的加载与译码模块是基于Rochester大学的MINT库[4]开发的。

本文之所以选取SESC模拟系统作为实验平台,原因在于:(1)SESC作为新一代多核模拟器的典型代表已在学术研究中得到广泛应用;(2)SESC所支持的MIPS指令集也是模拟器指令集中最典型的代表;(3)SESC使用的编译工具链GCC在模拟系统中最为广泛使用。以上三点表明本文提出的方案对研究者将具有很好的实用价值。

2 指令集扩展的目标与主要工作

图1描述了体系结构模拟系统上由源代码到可执行文件的转化过程,其中灰色部分表示指令集扩展将要影响的部分。这里本文认为指令集扩展不需要修改编译器,原因在于:一方面,编译器生成的是字符形式的汇编代码,它跟指令集的二进制格式无关;另一方面,对于添加的新指令,在测试程序中通常可以通过内嵌汇编形式使用。

模拟器指令集扩展的最终目标是:(1)源程序经编译工具链处理后产生的是基于扩展指令集的可执行文件;(2)该可执行文件能够被模拟器正确地加载和译码。指令集扩展的主要工作是对汇编器、链接器和模拟器进行扩展。其中,扩展汇编器是使其按照拉长后的扩展指令集格式进行汇编,扩展链接器主要是消除“半条指令”的现象并处理重定位,模拟器的扩展主要在加载器和译码器部分,最终使得模拟器能够从基于扩展指令集的可执行文件中正确译码得到程序的指令。

3 指令集扩展的实现方案

3.1 扩展指令集的定义

本文实验中将SESC所支持的原MIPS32位指令集扩展为64位,它的格式如图2所示,其中操作码由原来的6位扩展为m-25位(研究者可根据需求自行定义m),操作数部分与原指令集保持一致[3],而高63-m位保留作为其它用途。

3.2 扩展汇编器

汇编器的核心功能是将字符形式的汇编指令翻译成二进制格式的机器指令。对于汇编器gas,它是基于opcodes和bfd两个重要的库开发的,前者描述了指令集中所有指令的相关信息,而后者负责管理汇编过程得到的机器指令并实现了对二进制文件的读写接口。汇编器的扩展主要是修改opcodes库和gas汇编过程使之汇编生成64位扩展指令。

图3给出的是描述扩展指令的数据结构,它复用了opcodes库中mips_code结构体,并增加ext_match和ext_mask两个成员用于描述指令的高32位部分。在扩展后的opcodes库中,它使用一个该类型的数组定义了整个扩展指令集。如果要向指令集中添加新指令,就要相应地在该数组中增添一个新的成员。

gas的基本工作模式是逐行汇编,其主要过程如图4所示。对于取入的汇编代码I1,汇编器首先会根据指令助记符“addiu”搜索opcodes库中的扩展指令集定义数组,从而获得addiu指令的定义信息。然后,汇编器先根据指令定义中的ext_match和match成员汇编操作码得到I2,接下来先后处理操作数中的两个寄存器(sp对应于29号寄存器)相继得到I3和I4。有时,汇编代码中还会包含立即数(如-24)或者符号(如call指令中的函数名),它们将在第3步被处理。对于外部符号,汇编器还会为其生成重定位信息。之后,汇编器就得到了汇编代码I1在扩展指令集中对应的机器指令I5,它将交由bfd库集中管理。

bfd库将目标文件抽象为多个节,比如包含代码的.text节,每个节包含多个片段,每个片段里记录的是部分代码汇编后的结果。一个节中所有的片段构成一个单链表,该链表的头结点就记录在其所属的节中。扩展汇编器在处理完一行汇编代码后,就调用bfd函数申请8字节空间,然后将机器指令写入到当前的片段中。如果当前片段空间不够,bfd库会分配一个新的片段并完成相关链表设置。整个汇编过程完毕后,汇编器会把各节包含的所有代码片段依次写入目标文件。

3.3 扩展链接器

链接器的核心功能是合并各输入文件中的代码和数据等部分并完成重定位,前者一般由链接器脚本驱动[5],而后者在gnu链接器ld中是由HOWTO宏来实现。链接器的扩展主要是修改链接器脚本以避免“半条指令”现象,并提供HOWTO宏以支持新的重定位类型。

“半条指令”是可执行文件的对齐处理与模拟器相冲突的一种现象。许多模拟器在加载可执行文件后会将整个代码段提取译码成一个指令数组code Arr,代码段内各个节之间因为对齐要求而填充的0比特恰好被当作nop指令。这样,对于任意两条指令code Arr[i]与code Arr[j],它们的虚拟地址VA与数组下标之间总是满足如下关系:VAi-VAj=(i-j)×8,该线性关系为模拟器运行时所依赖。另一方面,SESC使用的链接器默认情况下对.init节是4字节对齐,而对紧随其后.text节是16字节对齐。假如.init节在ELF文件中占据范围是[0xec,0x163],那么.text节就应该开始于0x170,这样[0x164,0x16f]就是被填充的12字节,它在译码时相当于一条半指令,这就破坏了模拟器运行时所依赖的那种线性关系。

解决“半条指令”问题最直接的办法就是修改链接器脚本。链接器脚本通常用于向链接器指明链接规则,包括输出文件中各个节的相对次序和对齐处理等等。图5(a)给出的是本文为指令集扩展而设计的链接器脚本片段,其中语句“.text:{*(.text)}”指的就是将所有输入文件的.text节合并到输出文件的.text节中。对于前文中提到的.init节与.text之间“半条指令”的问题,可通过图5(a)中的语句ALIGN(0x8)指示链接器对.init节按8字节对齐,这样.init节在可执行文件中占据范围将是[0xf0,0x167],它与.text之间就恰好被填充8字节(恰好相当于一条指令)。对于存在于其它代码相关节之间的“半条指令”问题,都可以利用该办法解决。

摘要:模拟器是体系结构研究中最重要的实验平台。在研究过程中,许多新设计必须通过引入新指令才能实现,这就要求模拟器指令集中包含足够的预留操作码。然而,预留码通常都很有限,并且随着研究的发展,本已有限的预留码可能已被用尽。给出一种通用的模拟器指令集扩展方案,它通过拉长指令宽度而增加了预留码空间,有效地解决了新指令添加面临的局限性问题。此外,还基于当前流行的多核模拟器SESC展示了该方案的实现过程,对研究者而言具有实用价值。

关键词:指令集扩展,模拟器,体系结构

参考文献

[1]Joshua J Yi,David J Lilja.Simulation of Computer Architectures:Simu-lators,Benchmarks,Methodologies,and Recommendations[C]//IEEE Transaction on Computers,2006:268280.

[2]Pablo M Ortego,Paul Sack.SESC:SuperESCalar Simulator[R].20041220.http://sesc.sourceforge.net/.

[3]Charles Price.MIPS IV Instruction Set(Revision3.2)[M].Califor-nia:MIPS Technologies,Inc,1995.

[4]Jack E Veenstra,Robert J Fowler.MINT Tutorial and User Mannual[R].Rochester University,Tech Rep:TR452,1993.

生态设计指令 篇5

文献[7]提出一种基于豪斯多夫距离(hausdorff)匹配的手势指令识别方法,通过对hausdorff的计算获取手势指令训练集中各真子集之间的距离,将该距离作为手势指令之别的特征完成手势指令的识别,该方法计算量小,适应性强,适用于移动终端。然而其忽略了手势旋转、缩放等问题,识别精度较低;文献[8]提出一种基于小波分解法的手势指令识别方法,通过小波矩对手势轮廓进行识别,以实现手势指令识别。该方法具有旋转、平移、缩放不变性,然而其计算过程复杂,不适于移动终端;文献[9]将手势重心作为依据,对手势密度分布特征进行采集,从而实现手势指令的识别,该方法计算量小,效率高,然而选取特征值较少同时存在一定的局限性,导致识别精度较低;文献[10]提出一种基于纹理及轮廓的手势指令识别方法,该方法首先依据轮廓及曲率对手势区域进行检测,再通过速率权特征与人手颜色对手势进行跟踪,从而实现手势指令的识别。该方法识别精度较高,但实时性较差。

针对上述方法的弊端,提出一种新的移动终端交互设计中手势指令识别改进方法。将质心距离函数看作全局特征,提取手势运动轨迹特征,得到手势轨迹特征向量,利用训练完成的分类器实现移动终端交互设计中手势指令的识别。实验结果表明,所提方法不仅能够保证手势指令识别的实时性,而且识别精度高,认证效果好。

1 移动终端交互设计中手势指令识别方法改进研究

依据当前技术,结合未来移动终端的发展前景可知,人类向移动终端输入信息的主要途径为手、口及形态姿态,而接收移动终端反馈信息的感觉通道通常为视觉、听觉、触觉等。在移动终端的交互设计中,手势指令识别的应用较为普遍,下面对手势指令识别方法进行详细的研究。

1.1 改进手势轨迹特征的提取

一般情况下,人们感知事物习惯整体感知,所以本节从整体轨迹形状对移动终端交互设计中手势轨迹特征进行提取,为手势指令的识别提供可靠依据。

将质心距离函数(centroid distance function,CDF)看作全局特征,可有效描述手势轨迹特征。通过手心位置坐标记录手的运动轨迹,则CDF可通过下式求出:

式(1)中,,用于描述手心位置的横坐标,其中x[t]用于描述手边缘位置的横坐标,N用于描述手边缘点数量;,用于描述手心位置的纵坐标,其中y[t]用于描述手边缘位置的纵坐标。

当前,是二维空间下通过CDF方法提取的移动终端交互设计中手势轨迹特征,未考虑三维空间下手势轨迹特征的提取。因此对其进行改进,増加了移动终端交互设计中第三维的手势轨迹信息。通过CDF对三维空间特征进行提取,令移动终端交互设计中三维手势轨迹特征保持视角的不变性,公式描述如下:

式(2)中,,用于描述手心位置的空间坐标;z[t]用于描述手边缘位置的空间坐标。

三维空间较二维空间更需确定旋转角和旋转轴。所以将x、y、z坐标轴看作三个旋转轴,以原点为中心,将正半轴逆时针旋转,其在三维坐标系下的几何转换矩阵可描述成一个四阶矩阵:

式(3)中,主要用于缩放、旋转、切换等转换;[a14a24a34]-1、[a41a42a43]主要用于平移转换;[a44]主要用于整体缩放。

在y Oz平面中绕x轴旋转,旋转角是θ,则其在三维坐标系下的几何转换矩阵可描述成:

在x Oz平面中绕y轴旋转,旋转角是θ,三维坐标系下的几何转换矩阵可描述成:

在x Oy平面内绕z轴旋转,旋转角是θ,三维坐标系下的几何转换矩阵可描述成:

若绕每个轴旋转一定角度均可分解成几个依据x、y、z轴旋转的组合,则可将式(3)~式(6)转换成:

式(7)中,T、T-1分别用于描述平移矩阵及其逆矩阵;Rx(α)、Rx-1(α)分别用于描述绕x轴旋转α角的旋转矩阵及其逆矩阵;Ry(β)、Ry-1(β)分别用于描述绕y轴旋转角是β角的旋转矩阵及其逆矩阵;Rz(γ)代表绕z轴旋转,旋转角是γ。

依据映射原理可获取不同角度的公式:

则得到改进后移动终端交互设计中手势轨迹特征向量Fi=[cosα,cosβ,cosγ]。

1.2 手势指令识别分类器的训练

完成移动终端交互设计中手势轨迹特征的采集后,通过随机森林方法对手势指令识别分类器进行训练。

假设随机森林T共包括Nt个决策树,各决策树均为根节点nroot、分支节点nsplit及叶子节点nleaf的有序集合,将根节点看作特殊的分支节点,将各分支节点看作弱分类器。在训练前,将采集的手势轨迹特征向量看作输入训练样本,针对某决策树,将全部训练样本添加至该决策树的根节点,将根节点看作初始点,将分支节点分割成2个子节点。通过下述过程对各节点能否继续分裂进行判断:依据到达该节点的训练样本集合求出其类别不纯度,若类别不纯度高于0,则认为该节点能够继续分裂;否则,将该节点看作叶子节点。

节点类别不纯度计算公式如下:

式(9)中,I用于描述抵达该节点的训练样本集合;m用于描述类别数量;p(i,I)用于描述抵达该分支节点的样本中属于第i类的概率密度,其公式描述如下:

式(10)中,|Ii|用于描述该节点中属于第i类的训练样本数量;|I|用于描述该分支节点的总样本个数。

通过属性A对待分类训练集S进行分类后可获取其系统总熵E(A),公式描述如下:

式(11)中,sij用于描述在Sj中类是Ci的记录数量,Ci为第i个类别。

信息增益可描述如下:

将gain(A)值最大的属性看作该节点的分裂属性,在全部手势样本均落在一个节点的情况下,停止分裂,该节点被标记为最大分类。

1.3 手势指令的识别

本节通过上节训练完成的手势指令分类器对移动终端交互设计中手势指令进行识别。令随机森林中的所有树对输入的特征向量Fi进行投票,求出全部投票数,票数最高的即为特征向量Fi的分类标签。随机森林可依据手势轨迹特征向量Fi求出一个移动终端交互设计中手势轨迹的可信度:

式(13)中,n用于描述森林中树的数量;Tj(x)代表x落入第j棵树Tj的叶子;δc(a)用于描述克罗内克δ函数,当c=a时δc(a)=1,否则δc(a)=0。通过上式可获取不同目标结果的可能性,将可信度最大的手势轨迹看作最终的识别结果。

2 实验结果分析

2.1 实验现场描述

为了验证本文提出的移动终端交互设计中手势指令识别方法的有效性,需要进行相关的实验分析。本节将手写电脑作为移动终端,将预先设置的手势结合应用打开命令,用户在手势识别程序中画出预制轨迹,就能打开相应应用。

本文设置的手写手势及相应命令用图1进行描述。

2.2 手势追踪速度分析

手势追踪速度即移动终端交互设计中平均每帧手势图像的处理速度,手势追踪速度越快,则方法的实时性越高。实验将豪斯多夫距离方法和小波分解法作为对比,对本文方法的实时性进行验证。图2描述的是本文方法、豪斯多夫距离方法和小波分解方法对图1所示四种手势指令平均每帧图像处理速度比较结果。

分析图2可以看出,针对不同手势,本文方法的手势追踪速度一直显著高于豪斯多夫距离方法和小波分解方法。说明本文方法所需的处理时间较短,能够保证移动终端交互设计中手势指令识别的实时性。

2.3 手势指令识别精度测试

仅依据实时性无法有效验证本文方法的有效性,因此,本节将手势指令识别精度作为另一衡量指标。分别采用本文方法、豪斯多夫距离方法和小波分解方法对设定手势指令进行识别,对三种方法的误判次数、误判指令和识别率进行统计分析,得到的结果用表1进行描述。其中识别率为正确识别次数与总测试次数之比的百分比。

分析表1可知,针对各个手势指令,本文方法的识别率均高于豪斯多夫距离方法和小波分解方法,说明本文方法的识别精度较高,可实时有效完成各个手势指令。

方法运行曲线(receiver operating characteristic,ROC)下面积是一种综合评价手势指令识别精度的指标,其将灵敏度作为纵坐标,1-特异度作为横坐标绘制曲线,灵敏度越高,则识别准确性越高。本文方法、豪斯多夫距离方法和小波分解方法的ROC曲线对比结果用图3进行描述。

分析图3可以看出,本文方法的ROC曲线与豪斯多夫距离方法和小波分解方法相比,具有更高的灵敏度,说明本文方法的识别精度高,认证效果最好。

3 结论

本文提出一种新的移动终端交互设计中手势指令识别改进方法,将质心距离函数看作全局特征对手势运动轨迹特征进行提取,得到手势轨迹特征向量。将手势轨迹特征向量作为输入,通过随机森林方法对手势指令识别分类器进行训练,利用训练完成的分类器实现移动终端交互设计中手势指令的识别,通过实验验证本文方法的有效性。

参考文献

[1]陈解元,韩燮,熊风光.融合Kinect与GVF Snake的手势轮廓提取方法.科学技术与工程,2015;15(27):54-58Chen Xieyuan,Han Xie,Xiong Fengguang.Fusion extraction method of gesture contour based on kinect and GVF snake.Science Technology and Engineering,2015;15(27):54-58

[2]高同辉,吴延昌.基于DSP的手势识别电视遥控器设计.科学技术与工程,2014;14(6):184-189Gao Tonghui,Wu Yanchang.Design of gesture recognition TV remote control based on DSP.Science Technology and Engineering,2014;14(6):184-189

[3]陆海虹.基于OPENCV的手势识别系统的设计与实现.计算机测量与控制,2015;23(5):1649-1652Lu Haihong.Design and implementation of gesture recognition system based on OPENCV.Computer Measurement&Control,2015;23(5):1649-1652

[4]李兵景,吴黎明,陈思成,等.面向投影-摄像交互环境下的多点手势识别系统.电视技术,2014;38(19):116-119Li Bingjing,Wu Liming,Chen Sicheng,et al.Multi-point gesture recognition in projector-camera interaction system.Video Engineering,2014;38(19):116-119

[5]黄晓林,董洪伟.基于深度信息的实时手势识别和虚拟书写系统.计算机工程与应用,2015;51(15):167-173Huang Xiaolin,Dong Hongwei.Depth-based real-time hand gesture recognition and virtual writing systems.Computer Engineering and Applications,2015;51(15):167-173

[6]林水强,吴亚东,陈永辉.基于几何特征的手势识别方法.计算机工程与设计,2014;35(2):636-640Lin Shuiqiang,Wu Yadong,Chen Yonghui.Gesture recognition method based on geometric characteristics.Computer Engineering and Design,2014;35(2):636-640

[7]应玉龙,项明.局部相位量化特征的织物瑕疵检测算法.西安工程大学学报,2015;29(5):541-545Ying Yulong,Xiang Ming.Fabric defect detection algorithm based on local phase quantization.Journal of Xi'an Polytechnic University,2015;29(5):541-545

[8]蔡兴泉,郭天航,臧坤,等.基于无线数据手套的手势识别方法研究.系统仿真学报,2014;26(1):72-75Cai Xingquan,Guo Tianhang,Zang Kun.Gesture recognition method based on wireless data glove.Journal of System Simulation,2014;26(1):72-75

[9]张毅,刘钰然,罗元.基于视觉的手势识别方法及其在数字信号处理器上的实现.计算机应用,2014;34(3):833-836Zhang Yi,Liu Yuran,Luo Yuan.Vision-based gesture recognition method and its implementation on digital signal processor.Journal of Computer Applications,2014;34(3):833-836

凸轮顺控指令的程序设计与实践 篇6

一个顺序控制系统的输出,只要满足计数值(时间、角度等)的要求,就能按照一定的规律自动地、顺序地循环动作,从而实现对生产设备的顺序控制,这样的顺序控制系统可以把它看作为计数值顺序循环控制系统。

在计数值顺序循环控制系统的程序设计中,大多采用位移指令、置位/复位指令、步进指令等进行编程,这些方法虽然比基本指令编写的程序简单、易懂,但中间元件较多,给程序设计带来很大的不便。因此,三菱PLC生产厂家专门为此类顺序控制开发了专用顺序控制指令——凸轮顺控指令。凸轮顺控指令是三菱FX系列PLC中的一种方便指令,它具有编程简单、逻辑清晰、易学易懂、易于实现顺序控制等特点。

1凸轮顺控指令分析

凸轮顺控指令主要包括绝对式凸轮顺控指令和增量式凸轮顺控指令。

1.1 绝对式凸轮顺控指令

绝对式凸轮顺控指令ABSD(Absolute Drum)的功能指令编号为FNC62,其源操作数[S1·]可取KnX、KnY、KnM、KnS、T、C、D,[S2·]为C;目标操作数可取Y、M和S;16位运算占9个程序步;32位运算占17个程序步;输出点的个数为1≤n≤64。

ABSD指令是用对应计数器的值产生多个输出脉冲的指令,输出点的个数由n指定。图1为绝对式凸轮指令,有4个输出点(n=4),用输出元件M0~M3来控制。对应于旋转台旋转一周期间,M0~M3的ON/OFF状态变化是受凸轮通过X1提供的角度位置脉冲(1°/脉冲)控制的。从D300开始的8个(2×n=8)数据寄存器用来存放M0~M3的上升点(由OFF→ON)和下降点(由ON→OFF)的位置值。可用MOV指令将上升点数据存入D300~D307中的奇数单元,下降点数据存入偶数单元。如M0的上升点和下降点分别受D300(40)和D301(140)的控制,M1的上升点和下降点分别受D302(100)和D303(200)的控制。若X0为OFF,则各输出点的状态不变。

1.2 增量式凸轮顺控指令

增量式凸轮顺控指令INCD(Increment Drum)的功能指令编号为FNC63。源操作数和目标操作数与ABSD指令相同;只有16位运算;占9个程序步;输出点的个数为1≤n≤64。

INCD指令是采用一对计数器产生多个输出波形的指令。图2为增量式凸轮指令,有4个输出点(n=4),用输出元件M0~M3来控制,它们的ON/OFF状态受凸轮提供的脉冲个数控制,从D300开始的4个(n=4)数据寄存器用来存放使M0~M3处于ON状态的脉冲个数, D300~D303的值分别为20、30、10和40。

C0的当前值依次达到D300~D303中的设定值时自动复位,然后又重新开始计数,段计数器C1用来计复位的次数,M0~M3按C1的值依次动作。由n指定的最后一段完成后,标志M8029置1,之后又重复上述过程。若X0为OFF,则C0和C1复位(当前值清零),同时M0~M3变为OFF,X0再变为ON后重新开始运行。若X0为OFF,则各输出点的状态不变。

2凸轮顺控指令的特点

根据上述分析,可以看出凸轮顺控指令实质上是一种以计数值为条件,并能够自动地实现循环运行的顺序控制指令。

绝对式凸轮指令是一种类似于多个机械凸轮同时工作的方便指令,可以同时有多个重复的输出元件,只要提前设定好每个输出元件的上升点、下降点就可以控制多个输出元件独立的顺序工作,每个输出元件之间没有任何的关系,工作时互不影响。

增量式凸轮指令是一种类似于一个机械凸轮的方便指令,在同一时间内只能有一个输出元件,而不能有多个重复的输出元件,每个输出元件是轮流工作的,在时间上不能重叠。

3凸轮顺控指令的程序设计思想

凸轮顺控指令的程序设计思想是通过分析计数值来确定输出元件的状态为“0”或“1”,从而对应到系统输出动作来进行程序设计的。

(1) 根据系统控制的要求,将系统的顺序动作的计数值传送到数据寄存器中。

(2) 把数据寄存器中各数据看作是输出元件状态的条件。这些数据的值就确定了输出元件何时为“0”,何时为“1”。也就是说输出元件的状态会按照数据寄存器中的值,实现顺序变化。

(3) 只要将系统外部的设备动作与输出元件的状态按照系统的控制要求一一对应,输出元件状态的顺序变化就决定了系统输出的顺序动作,从而实现对系统的顺序控制。

4凸轮顺控指令的程序设计

交通信号灯是一个典型的以时间为单位自动循环的顺序控制系统。下面以交通信号灯为例,利用两种凸轮顺控指令进行程序设计。

4.1 设计任务分析

4.1.1 设计要求

启动后,南北方向:红灯亮25 s→绿灯亮20 s→绿灯闪亮3 s→黄灯亮2 s;东西方向:绿灯亮20 s→绿灯闪亮3 s→黄灯亮2 s→红灯亮25 s。循环重复以上内容。

4.1.2 确定I/O分配

交通信号灯的I/O分配见表1。

4.1.3 画时序图

按交通信号灯的设计要求,可画出其时序图,如图3所示。

从时序图可以看出,该系统可分为6个时间段(Ⅰ~Ⅶ)和8种状态(①~⑧),每个时间段和状态都对应着相应的输出,见表2。

4.2 绝对式凸轮指令程序设计

4.2.1 画出时序图并确定数据寄存器的数据

输出元件的时序图可以按照输出的8个状态绘制,如图4所示。每个数据寄存器的数据对应的是输出元件的上升点、下降点(D300~D315),是根据每种状态的起止时间确定的。

4.2.2 确定输出元件及输出之间的关系

由图4不难看出,输出元件M0~M7对应的是输出的8个状态(①~⑧),而状态①~⑧又对应着相应的输出Y0~Y5,这样就可以确定输出元件及输出之间的关系了,见表3。

4.2.3 编写系统的梯形图

根据以上分析,利用ABSD指令画出信号灯系统的梯形图,如图5所示。

由于绝对式凸轮指令在X0置于OFF时,输出元件保持不变,要实现X0置于OFF时无输出,需增加复位指令将M0~M7复位。

4.3 增量式凸轮指令程序设计法

4.3.1 画出时序图并确定数据寄存器的数据

输出元件时序图可按照6个时间段来绘制,如图6所示。在6个时间段的时间分别为20 s、3 s、2 s、20 s、3 s、2 s,这也就确定了数据寄存器(D300~D305)中的值为20、3、2、20、3、2。

4.3.2 确定输出元件及输出之间的关系

由图6不难看出,输出元件M0~M5对应的是输出的6个时间段,而时间段Ⅰ~Ⅶ又对应着相应的输出Y0~Y5,这样就可以确定输出元件及输出之间的关系,见表4。

4.3.3 编写系统的梯形图

根据以上分析,利用INCD指令画出信号灯系统的梯形图,如图7所示。

5实践效果

笔者在PLC综合实训装置上进行了多次实物测试及GX Simulator软件的仿真,完全能够达到设计要求。其特点是:①根据设计要求及凸轮顺控指令设计思想,程序便可直接写出,编程速度快,准确性高,可以大大缩短设计周期;②简化了复杂的逻辑关系,省去了大量的时间继电器、计数器等中间元件,提高设计效率;③若设计要求改变,只需改变数据寄存器中的值和输出元件、系统输出之间的关系就可达到设计要求;④程序简单、易懂,系统运行稳定、可靠;⑤凸轮顺控指令也可广泛推广到彩灯控制、音乐喷泉、旋转工作台等以计数值为单位的顺序循环控制系统中。

参考文献

生态设计指令 篇7

某伺服控制系统采用Vx Works操作系统,CPU平台是基于Intel×86系统,最高频率达300 MHz,最大支持128 M内存,在板集成了10/100Bas-T以太网接口及高性能图形处理器。在本系统中,伺服控制系统通过网络交换机接入局部网,并通过网络接收报文信息,实时回告信息并向伺服系统下达控制命令和数据。本伺服系统硬件复杂、对外接口较多,包括网络、串口、显示、I/O口等,快速响应要求高,系统在处理各种命令时会遇到大量原子指令,对伺服系统的实时性及可靠性提出了很高的要求。本篇根据伺服控制系统中遇到的原子指令问题进行了设计,对过程中遇到的问题进行了分析,通过更改程序设计,并经过多次调试和验证,最后采用互斥信号量的方法解决了存在的问题。

1 Vx Works嵌入式实时操作系统[1]

Vx Works是美国Wind River System公司推出的一个实时操作系统。WRS公司组建于1981年,是一个专门从事实时操作系统开发与生产的软件公司。Vx Works以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中。

Vx Works是专门为实时嵌入式系统设计开发的操作系统,为程序员提供了高效的实时多任务调度、中断管理,实时的系统资源以及实时的任务间通信。在各种CPU平台上提供了统一的编程接口和一致的运行特性,尽可能地屏蔽了不同CPU之间的底层差异。应用程序员可以将尽可能多的精力放在应用程序本身,而不必再去关心系统资源的管理。基于Vx Works操作系统的应用程序可以在不同CPU平台上轻松移植。

Vx Works是一种功能强大而且比较复杂的操作系统,包括了进程管理、存储管理、设备管理、文件系统管理、网络协议及系统应用等几个部分。Vx Works只占用了很小的存储空间,并可高度裁减,为保证系统能以较高的效率运行,提供了3种信号量:二进制信号量、计数信号量和优先级继承特性的互斥信号量。

2 原子指令介绍

计算机操作最重要的构成单位是原子指令操作。这里的原子跟物理上说的原子没有任何关系,而是起源于单词atom。原子指令,是小的、通用的不可再细分的一个指令,一旦指令被打断,系统就有可能混乱。多线程环境下,在只有一个指令是原子的情况下,原子指令是如何实现的呢?最简单的方法就是加锁:在任何时间点上,只有一个处理器被允许执行一个原子指令。这个处理器在做原子指令之前,必须先获得锁,并且在指令完成后释放它,以保护其在执行过程中不被轻易打断。例如Vx Works操作系统就为int类型提供了+/-赋值的原子指令版本。

3 原子指令模型

某伺服控制系统是一个较为复杂的系统,通过以太网实时接收来自上位机的运转和停止等命令,同时还要实时监控伺服的各种状态,以保护人员及设备的安全。为了实时响应,伺服控制系统专门建立两个独立的任务[2]:网络解析任务task_BDPHandle()和伺服控制任务task_Slice Han⁃dle(),以响应上位机的命令和伺服控制任务。伺服系统从以太网收到一个网络报文后,由task_BDPHandle()来实现解析;伺服系统通过以太网下达控制命令实现规定动作,由伺服控制任务task_Slice Handle()来实现。以下为2个任务的的原始代码。

(1)网络解析任务代码

以上程序源代码目的是从以太网上收到一个控制命令并实时向下下达一个伺服跟踪命令,其操作过程是进行报文的接受和解析工作。但在工作过程中,偶尔会收不到伺服控制命令。经过挂上仿真器程序单步断点调试,未见正常。由于问题是偶尔随机出现的,很难找到其规律,解决起来非常棘手。虽然问题出现的概率并不高,但是一旦出现,其结果是非常严重的。为了找出问题,对可能的原因进行逐个排除。经过长时间调试,发现网络解析任务没有问题,而是在伺服控制任务在向下位机下达伺服控制命令后,判断Trackflag的值时,由于伺服控制任务优先级较低,在执行任务时被网络解析任务打断,Track⁃flag值没有及时更新,导致问题的发生。经过分析和判断,这是一个标准的原子指令问题。

4 问题分析

在c语言中,Trackflag++/--,就是一条指令;但在汇编程序中,++/--却是由以下三条指令组成的。假如变量Trackflag存放在存储单元20H,它所执行的操作如下:

MOV A,20H//将内存单元20H的内容送到寄存器A

INC/DEC A//寄存器A加1/减1

MOV 20H,A//寄存器A的内容写回内存单元20H中

发生以上这种情况,是因为在汇编语言中计算机没有直接对变量Trackflag做加减乘除指令,只是对寄存器A做修改的加减乘除指令,从而导致原子指令操作出现问题。

由于网络解析任务task_BDPHandle()的优先级比伺服控制任务task_Slice Handle()的优先级高,根据Vx Works操作系统的抢占式CPU任务调度方法,高优先级任务可以优先抢占CPU资源,也就是说在无保护的情况下,网络解析任务可以在任何时候打断伺服控制任务的执行。因此,只有当更高优先级的任务执行完毕后,伺服控制任务才会从中断的地方执行。本文的所提问题恰好发生在当伺服控制任务正在执行c语言指令Track⁃flag--的时候,网络解析任务由于比伺服控制任务高而抢占了CPU,系统转而执行Trackflag++,在网络解析任务执行完毕后,伺服控制任务重新执行,而此时的变量Trackflag已经改变,继续执行Trackflag指令时就会造成Trackflag没有被及时刷新,造成伺服控制任务错误。

图1为低优先级65的任务在执行汇编指令过程中怎么被高优先级任务61打断,造成了原子指令错误的流程图。

5 改进措施

为解决原子指令错误,采用互斥信号量对全局变量的修改进行保护。本伺服控制系统采用添加互斥信号量[4]的方法对原子操作(Trackflag++/Trackflag--)加以保护。更改部分程序代码如下。

(1)网络解析任务代码

由于在原子操作(Trackflag++/--)前添加了互斥信号量(servo_control Sem),尽管伺服控制任务优先级低于网络解析任务,但伺服控制任务在执行Trackflag--的过程中,cpu将不会被网络解析任务抢占,汇编指令也不会被打断。经过长时间验证表明,伺服控制系统从上位机收到的伺服控制命令与伺服控制任务收到的伺服控制命令是一致的,系统的可靠性得到了保证。

6 结束语

原子指令,是小的、通用的不可再细分的一个指令,它不能长时间独占资源,即使采取了保护,也会造成程序死循环甚至系统错误。本文结合某伺服控制系统具体应用,详细分析了伺服控制任务与网络解析任务在执行系统指令时原子指令错误的问题所在,并采用添加互斥信号量的方法解决了低优先级任务原子指令被打断的问题,保证了系统的可靠性和实时性。软件经静态测试和合格性测试,伺服控制的实时性,准确性都满足用户需求。

摘要:针对某伺服控制系统中任务多,实时性要求强,调度频率高的特点,在Vx Works操作系统下,对其任务涉及到的原子指令问题进行了认真分析研究设计。通过采用互斥信号量保护,解决了多任务下原子指令可靠性的问题,为提高伺服的系统性能奠定了坚实的基础。

关键词:VxWorks,原子指令,信号量,优先级

参考文献

[1]王金刚.基于Vxworks的嵌入式实时系统设计[M].北京:清华大学出版社,2004.

[2]罗国庆.Vxworks与嵌入式软件开发[M].北京:机械工业出版社,2003.

[3]周启平.Vx Works程序员速查手册[M].北京:机械工业出版社,2005.

上一篇:卫生系统宏观模型下一篇:西欧文明