电脑桌面
添加盘古文库-分享文档发现价值到电脑桌面
安装后可以在桌面快捷访问

IO优化范文

来源:漫步者作者:开心麻花2025-11-191

IO优化范文(精选7篇)

IO优化 第1篇

关键词:CDIO理念,项目管理,三维优化

一、引言

项目管理是第二次世界大战后期发展起来的重大新管理技术之一, 最早起源于美国, 后由华罗庚教授在50年代引进中国。20世纪60年代, 项目管理的应用范围也还只是局限于建筑、国防和航天等少数领域, 但因为在美国的阿波罗登月项目中取得巨大成功, 项目管理开始全面得到应用。作为管理科学的一个重要分支, 其学科地位获得国内外的普遍认可。为了适应现代项目管理在各领域、各行业深入应用的需要, 目前我国财经类、理工类和综合类高校大都开设了《项目管理》课程。它以现代项目管理的理论和方法为手段, 以不同领域行业人员所具有的专业知识或行业背景为基础, 培养将现代项目管理的思想、理论和方法应用于本领域、本行业的复合型应用人才。《项目管理》课程是一门介于自然科学和社会科学之间的操作性较强的学科, 不仅培养学生掌握理论和方法, 还应要求培养学生具有从事实务工作的职业技能、团队协作能力。由于现有教学条件的限制, 《项目管理》课程的教学方式多沿用传统的“填鸭式”教学方式, 学生所学习的知识仅限于课本的理论知识, 未能达到培养其动手能力与团队协作能力等综合素质的教学目标。为了能更好地改进《项目管理》课程的教学效果, 基于CDIO教育理念, 简要分析《项目管理》的课程内容体系, 提出基于CDIO理念的《项目管理》课程教学三维优化措施。

二、CDIO教育理念

CDIO是Conceive、Design、Implement、Operate的缩写, 即代表构思、设计、实现和运作。CDIO工程教育模式是近年来国际工程教育改革的最新成果, 是一种学生主动、可操作和实践的学习方式。是一种学生和老师之间协作进行, 基于项目实际运作的, 项目成员之间互相协作和交流, 一起通过完成项目实现知识的学习的方式。CDIO教育理念是典型的“干中学”模式, 以学生的团队合作为中心, 以项目的完成为目标, 让学生在项目完成过程中, 围绕项目的实施, 通过教师的指导和督促, 促使和帮助学生完成项目, 获取专业知识和专业能力[1]。

这种基于CDIO教育理念的教学模式, 与传统的灌输式教学存在明显差异。改变了以往学生被动式的接受知识的方式, 通过项目的实施, 促使和带动学生主动的学习, 以解决项目实施过程中所遇的问题。学生在项目实施过程中分工合作, 模拟真实项目管理, 锻炼团队意识和合作能力, 提升发现和解决问题的能力, 掌握课程所需教授的基本技能, 完成《项目管理》课程的教学目标。

三、《项目管理》课程概述

项目管理是一个管理学分支的学科, 是以项目及其资源为对象, 运用专门的知识、技能、工具和方法, 对项目进行高效率的计划、组织、实施和控制, 使项目能够在有限资源限定条件下, 实现或超过设定的需求和期望的管理方法体系[2]。《项目管理》课程在理论学习的基础上并重实践, 是偏技术型和操作型的课程。这门课程理论部分包括项目概述、项目管理概述、项目组织、项目整体管理、项目范围管理、项目时间管理、项目成本管理、项目质量管理、项目人力资源管理、项目沟通管理、项目风险管理、项目采购管理以及Project 2007项目管理软件应用指南等内容。传统教学方式下, 老师制作PPT, 大量给学生灌输课程概念和理论, 少量运用相关案例和提问进行教学, 内容多而枯燥, 学生学习积极性不高, 对课堂内容的消化和吸收效果也不好。同时, 传统教学的考核方式一般以闭卷为主, 考核内容一般是概念性和理论性的题目, 考试卷面成绩占到最后总评的70%左右。学生只要把课本知识突击记忆, 就可以获得较高的最终成绩, 并且对课堂教学不重视, 逃课率较高。导致课堂教学环节不活跃, 课终考核失去约束和激励作用。

四、基于CDIO理念的《项目管理》课程教学三维优化

由于传统教学方法在《项目管理》课程教学中存在明显不足, 通过西北农林科技大学《项目管理》课程教学中的思考与探索, 以及相关课程教学经验的总结与借鉴, 基于CDIO理念, 从理论教学环节、协作教学环节以及课程考核环节三维改进《项目管理》课程的教学方法, 强化理论与实践相结合、教师讲授与学生协作学习相结合, 实现一种学生主动的、可操作的和实践的课程教学方式。教师在不再是知识的传授者, 而是学习活动的引导者、观察者及答疑者[3,4]。

1. 理论教学环节。

该环节是《项目管理》课程教学的基础环节, 通过理论教学可让学生获知《项目管理》课程的知识体系, 打好理论基础。理论教学环节教师传授和学生讨论相结合, 要求教师把握《项目管理》课程的核心知识点, 基于传统口述和提问教学方式, 引入并合理使用小组讨论、案例分析以及情景教学等教学方式, 引导学生主动获取基础知识。

小组讨论:主要目的是通过组内交流的方式对《项目管理》课程理论知识难点进行讨论学习, 老师对学生难以解决的问题进行分析和答疑。具体做法是: (1) 课堂教学之前由老师布置明确的学习计划和内容, 辅以必要的思考题目来引导学生作好课前准备。 (2) 课堂教学以学生分组讨论为主, 由小组组长检查小组成员课前准备情况, 以组内交流的形式开展对疑难知识点的学习。 (3) 对学生讨论仍无法解决的问题再交由老师进行针对性的答疑和分析[3]。

案例分析:主要目的是通过对项目管理案例的学习, 帮助学生巩固理论知识点, 并理清在项目管理中应注意的问题。具体做法是: (1) 教师选择若干项目管理案例, 引导学生仔细阅读并分析。项目管理案例紧密结合项目管理理论知识点, 偏向学生熟悉的案例, 例如讲授“项目的团队建设”知识点时, 可以以唐僧师徒为案例。 (2) 组织学生进行课堂案例讨论, 教师做好案例教学的组织管理工作, 提前分发案例资料并做好案例教学设计, 课堂教学过程中及时组织和引导。 (3) 做好案例分析点评和疑难讲解, 以及评价和总结, 强化学生对案例中项目管理知识点的理解。

情景教学:主要目的是通过情景教学, 通过体验式的学习模式, 寓教于乐, 活泛教学环节, 调动学生的学习积极性, 从而对项目管理知识点有深刻的体会。具体做法是: (1) 在《项目管理》的课程教学中, 借助一些优秀案例, 精心设计若干场景。例如讲授“项目沟通的管理”知识点时, 设计一个沟通训练项目让学生完成。 (2) 学生在其中扮演各种角色, 通过角色在特定场景的演绎和互动。 (3) 做好情景互动的点评、评价和总结, 归纳项目管理过程中相关问题、难点的解决技巧, 促使学生将理论知识灵活应用在实际项目管理过程中。

2. 协作教学环节。

该环节是《项目管理》课程教学的提升环节, 通过协作教学培养学生对项目管理知识点的实际应用能力。协作教学环节以学生项目讨论与模拟决策论证为主, 教师引导和答疑为辅。以小组活动为基本教学单元, 以培养学习能力、沟通能力、合作能力为目标, 将每一个学生置身于一个项目团队中, 合作完成一个项目的策划、计划、分析和模拟实施, 从而达到让学生以“干中学”的方式对项目知识点可以活学活用的目的。这种实战演练过程可以让学生深入理解项目管理理论知识, 掌握良好的项目管理方法、规范的适用环境。学生通过逼真的演练过程, 掌握面对具体问题应采取的措施, 达到理论与实践的有机结合。

具体做法是: (1) 开课时, 对班级学生进行分组, 一般以两个寝室为单位, 男女寝室各一个, 形成男女基本各半、10人左右的项目团队。各团队选出项目经理, 及项目管理核心模块如项目整体管理、项目范围管理、项目时间管理、项目成本管理、项目质量管理、项目人力资源管理、项目沟通管理、项目风险管理、项目采购管理负责人。 (2) 项目团队自主选择一个可行的模拟项目, 以课程理论教学内容为主线, 围绕项目管理的核心模块, 穿插项目管理实战演练, 比如项目计划与章程的制订, 项目启动大会的召开, 项目工作分解结构的创建, 项目进度和成本管理计划制订等。有序模拟实施项目管理全过程。 (3) 各个“项目经理”进行项目推进阶段性小结和汇报, 以便及时了解和协调各模拟项目的进展情况, 也可以让学生交流经验和体会。同时, 各项目经理和任课教师分别对阶段性小结和汇报打分, 从而形成各项目管理团队的阶段性评价[5,6,7]。

3. 课程考核环节。

《项目管理》课程在教学方法改革的同时, 考核方式也应该进行相应的改革。制定一套注重实践的考核方式, 侧重评价学生运用所学理论知识解决实际问题的能力。加大平时成绩的比重, 由过去占总评成绩的30%提高到60%。平时成绩占比增加, 考核方式也可以灵活多样。课程评分标准及各项权重在第一堂课时就应公布。

这门课程的考核成绩分为三个部分, 具体做法: (1) 平时到课、课堂发言情况占总成绩的20%, 由学生的出勤情况得分和课堂表现得分加总获得。学生出勤情况得分根据学生的出勤情况给出, 占总评成绩的10%;学生课堂表现得分可以围绕课堂综合表现、平时作业等方面进行综合评分, 占总评成绩的10%。 (2) 项目团队作业成绩占总评成绩的40%, 由项目团队整体得分和项目成员得分加总获得。项目整体得分根据团队分阶段提交的项目资料和成员汇报表现由项目经理互评和任课教师给分, 占总评成绩的20%。项目成员得分由项目团队内部成员互评获得, 占总评成绩的20%。 (3) 期终课程考试成绩占总评成绩的40%, 通过闭卷考试得分。

课程考核方式的改革, 促使学生重视课堂表现以及学习实践活动, 很大程度上激励了学生的主动学习行为, 最终达到使学生将课本知识深度消化、活学活用的教学目标。

五、结语

CDIO工程教育模式是一种学生主动、可操作和实践的学习方式。基于CDIO理念对《项目管理》课程教学中的理论教学环节、协作教学环节和课程考核环节进行优化改进, 突出了以培养学生能力为中心导向的教学思维, 提高了学生在《项目管理》课程中的自主学习积极性, 改善了课程的教学效果。学生在理论知识的理解上、方法技能的掌握上、团队的分工和合作意识上都得到了强化。基于CDIO理念的《项目管理》课程教学三维优化是对《项目管理》课程教学改革的一种探索, 是对传统教学方式的一种改进, 但在实际课堂运作过程中仍存在一些问题, 例如学生在团队合作中的搭便车现象、师生之间的有效互动机制不完善、教师的项目管理经验缺乏等问题, 仍需在今后教学改革中逐步改进和完善。

参考文献

[1]李保婵.基于CDIO理念的《投资项目评估》课程教学方式改进的探讨[J].中外企业家, 2011, (12) :195-196.

[2]骆粦, 等.项目管理教程[M].北京:机械工业出版社, 2013.

[3]王涛.三阶段教学法在《投资项目评估》课程中的实践与探索[J].教育教学论坛, 2012, (18) :194-196.

[4]孟曙艳.高校项目管理课程教学研究[J].成功 (教育) , 2011, (02) :36-37.

[5]赵志刚.项目管理课程教学方法改革研究[J].现代商贸工业, 2011, (04) :211-212.

[6]甘大力.“项目管理”课程研究性教学的实践与思考[J].煤炭高等教育, 2011, (06) :116-119.

IO板及其软件控制实现 第2篇

轨道交通整个机电系统中, 自动售检票系统 (Automatic Fare Collection简称AFC系统) 作为机械智能化设计的典型代表, 不仅取代了售票员、检票员、会计、统计、审计等人工操作员, 而且通过准确的数据收集整理实现了票务和现金管理的高度自动化[1]。随着城市轨道交通的日新月异的发展, 地铁AFC系统的要求和需求也不断的改变, AFC系统终端设备对于各个模块工作时各种输入与输出信号处理的速度和准确性要求也越来越高。因此, 对于专门进行批量高效信号处理的专用电路板———信号输入输出控制板 (简称IO板) 的性能要求也越来越高。

为解决IO信号处理的高效性和准确性的问题, 本文将基于AVR的8系列单片机芯片为主控单元的硬件平台, 提出一种新型的IO板设计方案, 并采用多线程的嵌入式软件技术和准确的信号处理逻辑算法来加以实现。

1 IO输入/输出控制

对于IO板的AVR芯片进行编程后, 程序通过片选信号选通IO板电路某片区域, 这个时候, IO板的芯片可以对这一路的信号进行采集或者输出控制操作。

IO板输入端、输出端均具有多路信号, 操作时需要多次片选, 程序要获得实时的输入信号, 需要利用AVR芯片的定时器设置时间片, 使IO板每隔一个时间片就获取一次实时的IO输入信号, 这些IO输入信息会存入相应的地址以便上位机调用。

IO输出由串口控制, 串口接收到上位机相应的IO输出命令后, IO板会根据命令进行片选让目标管脚进行输出操作[2]。

2 PWM调制

AFC系统的终端设备中, 涉及到许多需要通过IO板来进行控制的电磁铁, 如自动售票机的硬币投币口、自动检票机的回收口等等, 由于电磁铁的自身特性, 无法长期持续地接收高电平信号, 否则将因为温度过高、负荷过大而损坏, 因此, 本文设计的IO板采用PWM调制的技术手段来解决向电磁铁输出IO信号的问题。当使用PWM脉冲宽度调制时, IO板对电磁铁输出一个占空比可控的PWM方波, 电磁铁工作时则不必持续地接收高电平信号, 这样电磁铁的负担大大降低, 电磁铁的温度也能够控制在一个相对较低的范围, 寿命也因此加长[3]。

IO板利用AVR8系列单片机芯片的8位定时器/计数器T/C0输出PWM波。T/C0是一个通用的、单通道8位定时器/计数器模块。

相位修正PWM模式:

相位修正PWM模式 (WGM01:0=1) 基于双斜波操作, 为用户提供一个获得高精度相位修正PWM波形的方法。计数器重复地从BOTTOM计数到MAX计数器时若发生TCNT0与OCR0的匹配, OC0将清零为低电平;而在计数器往BOTTOM计数时若发生了TCNT0与OCR0的匹配, OC0将置位为高电平。工作于反向输出比较时, 则正好相反。与单斜波操作相比, 双斜波操作可获得的最大频率要小。但由于其对称的特性, 十分适合于电机控制。

相位PWM模式的PWM精度固定为8比特。计数器不断地累加到MAX, 然后开始减计数。在一个定时器时钟周期里TC-NT0的值等于MAX。时序如图1所示。图1中TCNTn的数值用斜线图表示, 以说明双斜线操作。本图同时说明了普通PWM的输出和反向PWM输出。TCNTn斜线上的小横条表示OCR0和TCNT0的匹配。

当计数器达到BOTTOM时, T/C溢出标志位TOV0置位。此标志位可用来产生中断。工作于相位修正PWM模式时, 比较单元可以在OC0引脚产生PWM波形;将COM01:0设置为2, 产生普通相位的PWM;设置COM01:0为3, 产生反向PWM信号。实际的OC0数值只有在端口设置为输出时才可以在引脚上出现。OCR0和TCNT0比较匹配发生时, OC0寄存器将产生相应的清零或置位得:

式中变量N标识预分频因子 (1、8、32、64、128、256或1 024) 。

这样通过计算给OCR0赋值就可以在IO板输出相应频率PWM波, 从而实现对电磁铁的控制。

3 通行逻辑控制

闸机是地铁AFC系统中直接面对乘客的十分重要的前端收费设备, 乘客通过闸机进出地铁付费区和非付费区。闸机运行是否正常, 不仅影响到地铁在广大乘客中的形象, 而且也更直接影响到地铁的票务收益。如何让持有效车票的乘客快速、安全的通过闸机, 并合理地阻挡持无效车票的乘客和试图作弊的乘客, 是闸机通行逻辑设计的目标。因此, 闸机通行逻辑技术是闸机设计的关键[4]。下面介绍一种以IO板进行对通行逻辑模块的控制方案。

IO板控制闸机扇门时, 需通过扇门的通行逻辑模块来进行信号处理。IO板通过对通行逻辑板的输入/输出, 可实现对扇门进行相应的操作。

IO输入控制:

当扇门处于打开状态时, 通行逻辑板能通过光电传感器进行检测, 判断是否有人通过, 若判断有1人通过则通行逻辑板会对IO板的Pack_B端输入一个100 ms的低电平信号, 若有N人通过则通行逻辑板会发出N个100 ms的低电平信号。电路原理如图2所示, Pack_B端无操作时默认输入24 V, 此时光电二极管TLP181处于导通状态, 所以此时IO输入端IN18为低电平;而当通行逻辑板对Pack_B输出低电平信号时, 光电二极管TCP181闭合, 电容C49放电, IO输入端IN18为高电平。

若要实现放行多个人通过时, 则需要对Pack_B低电平进行计数, 这就需要通过底层程序去完成。具体操作方式是捕获IO输入端IN18的实时状态后存入AVR单片机的寄存器, 然后将前后状态进行比较, 若出现了上升沿则, Pack_B计数加1, 否则计数不变。代码实现:

IO输出控制:

IO板对通行逻辑板Paut_B端输出一个100 ms低电平信号时, 可以控制扇门, 使扇门从闭合状态打开。电路原理如图3所示, IO端Out14常态输出高电平, 此时光电二极管不导通, MOS管也不导通, Paut_B被拉高;而当IO端Out14输出低电平时, 光电二极管导通, MOS管导通, 此时Paut_B变为低电平[5]。

4 多线程处理的实现

Atmega128单片机内部提供两个10位的预定比例分频器, 一个给T/C0独自用, 另一个给其他3个T/C共用。

软件设计时, 程序给每个任务都设置了时间片, 通过使用AVR单片机的定时器1, 定时器1每1 ms中断溢出时对任务时间片函数作处理, 判断即将运行的任务, 如此反复, 则可以通过程序任务的时间片处理来实现多线程处理。定时器1的处理函数如下:

其中Task Comps[i]的内容为各个任务子函数, Itv Timer为任务运行的时间间隔, Task Comps[i].Run为任务可执行标志, 当任务子函数Run为“1”时, 任务为可执行状态[6]。

5 结束语

IO板逻辑处理和多线程任务处理的实现, 能够增加AFC各终端设备的工作协调性以及工作效率, 同时减少各模块处理IO的压力, 减少错误, 降低资源消耗, 使得AFC设备的运行更稳定可靠。

参考文献

[1]邓先平, 陈凤敏.我国城市轨道交通AFC系统的现状及发展[J].都市快轨交通.2005, 18 (3) :18-21.

[2]于正林, 苏成志, 曹国华.AVR单片机原理及应用[M].北京:国防工业出版社, 2009.

[3]孙孝峰, 王立乔.三相变流器调制与控制技术[M].北京:国防工业出版社, 2010.

[4]罗煌, 洪澜.SSH框架的AFC测试管理系统的设计与实现[J].轨道交通纵横, 2011, 24 (4) .32-34.

[5]沈建良, 赵文宏, 贾玉坤.ATmega128单片机入门与提高[M].北京:北京航空航天大学出版社, 2009.

IO优化 第3篇

关键词:ARM,CPLD,IO,UART

1 前言

近年来,串口设备凭借其控制灵活、接口简单、占用系统资源少等优点,被广泛应用于工业控制、GPS卫星定位导航以及水、电、气表的抄表等领域,因此在嵌入式系统中,具有完整的测量或控制功能的智能模块绝大多数都通过RS-232S或RS-485串行IO口与主机进行通信。

随着以太网的发展和普及,许多应用领域均需要主机具有电话线上网以及以太网远程通信的功能,如系统终端远程网络报数等功能,而大部分主机仅有一个串行口,本文提出了一种基于ARM7 处理器的多IO扩展方案,可解决该类问题。

2 系统架构

LPC2103基于一个支持实时仿真的ARM7TDMI-S CPU,并带有32kB的高速Flash存储器。128位宽度的存储器接口和独特的加速结构使32 位代码能够在最大时钟速率下运行。这可以使得中断服务程序和DSP算法中重要功能的性能较Thumb 模式提高30﹪。

由于LPC2103 非常小的尺寸和极低的功耗,它们非常适合于那些将小型化作为主要要求的应用,多个UART、SPI 到SSP 和2 个I2C 总线组成的混合串行通信接口和片内8kB 的SRAM 一起作用,可使得LPC2103 非常适合用来实现通信网关和协议转换器、数学协处理器以及足够大空间的缓冲区的强大处理功能。而多个32 位和16 位的定时器、一个经改良后的10位ADC、PWM 特性和32 个快速GPIO(含有多达9个边沿或电平有效的外部中断管脚)使它特别适用于工业控制和医疗系统。

LPC2103包含两个UART,与以前的LPC2000 微控制器相比,LPC2103 的2个UART都带有小数波特率发生器。利用高于2MHz 的任意晶振频率就能获得如115200之类的标准波特率。LPC2103除标准的发送和接收数据线外,还提供一个完全由调制解调器控制的握手接口,通过外接标准的MODEM小板可以扩展主机系统的电话拨号上网功能。而且LPC2103集成了SPI串行通信接口,通过ENC28J60和TS6121C等外围芯片,可以扩展主机系统的以太网功能。同时LPC2103和LC4128V芯片相结合设计可以将主机的一个COM口扩展为20个COM口,大幅度简化了电路的设计,从而为主机支持多个串口设备提供了很好的解决方案。基于LPC2103的IO扩展系统架构如图1所示。

功能扩展系统具有系统资源少、成本低、易于实现等优点,而且串行口扩展串行口,控制简单,不需要占用太多的主机系统资源,通用性强,性能稳定。

3 串口扩展系统原理概述

3.1 硬件原理

系统硬件主要包括三个模块:MODEM拨号、以太网通信和CPLD扩展串口外设,以下分别介绍三个模块的实现原理。

LPC2103的P0口是一个32 位双向I/O 口。每个位都有独立的方向控制。除P0.31 只能作为输出口外,其它所有31个管脚都可用作通用数字双向I/O 口。P0口管脚的操作取决于管脚连接模块所选择的功能。UART1提供了一个完全由调制解调器控制的握手接口,通过设置PIN寄存器PINSEL0和MODEM控制寄存器U1MCR的初始化参数,来选择P0口的调制解调器功能。采用LSI的MODEM模块直接插在系统主板上,主机发送AT命令即可实现主机电话线拨号上网的功能。

LPC2103的SPI串行通信端口和片内8kB 的SRAM 一起作用,使得LPC2103 非常适合用来实现通信网关,而结合符合IEEE 802.3协议的ENC28J60既能实现网络功能,又可以大大简化相关设计。采用业界标准串行外设接口(SPI)的以太网控制器ENC28J60内置10 Mbps 以太网物理层器件(PHY)及媒体访问控制器(MAC),可按业界标准的以太网协议可靠地收发信息包数据。可编程8 KB 双端口SRAM 缓冲器以高效的方式进行信息包的存储、检索和修改,以减轻主控处理器的内存负荷,该缓冲存储器提供了灵活可靠的数据管理机制。同时采用TS6121C隔离变压器可保证信号强度和质量,实现网络数据的正确传输。为此,LPC2103控制ENC28J60和TS6121C实现主机的网络通信功能。

针对目前市场上大部分主机仅有一个串行口,需要支持的串口设备远远大于一个的问题,很多方案使用串口卡。但是目前PC主板多为精简版,只有1~2个PCI插槽,串口卡会占用有限的PCI资源。为此本系统采用LPC2103和一片LC4064V CPLD芯片来实现串口的切换,通过它可扩展出4个标准RS232串口、16个2线RS232串口,可以支持不同类型的串口外设。当主机需要与其中的一个串口外设通信时,只需发送串口切换命令,即可切换到相应外设端口,实现主机与该端口外设的实时通信。

系统主板为2层板,控制电路简单,成本较低。供电方式采用主机的232串口供电,电压为5V。串口波特率为9600bps,可以满足主机与串口外设的通信要求。该系统采用LPC2103可轻松将主机原有的1个串行口扩展成20个全新的全双工串行口,同时扩展主机的MODEM拨号上网和网络通信的功能。

3.2 软件架构

由于LPC2103具有两个通道(UART),所以在算法中,采用两个UART通道数据互换的方法来实现主机与外设的通信。其中UART1与主机的COM口连接, UART1监听主机发送的命令和数据,来切换通道和外设通信,同时把UART2上传的数据转给主机。UART2负责把UART1下发的数据送给外设,并且把外部设备上传的数据送到UART1中,UART1上传给主机。

主机发送的具体命令格式如下:

0x1b + 0x10 + CMD + PacketID + Len + Parameters + CS

其中CMD:命令字;PacketID:0x00;Len:指令长度(不包括CS);Parameters:参数(如无参数此项为空);CS:校验位。

1) 选择以太网命令:

1B 10 48 00 06 30 7B 26,主机设置本机的IP、子网掩码和网关等参数,主机与远程终端建立连接后,即可实现主机远程网络报数等功能。

2)选择modem命令:

1B 10 48 00 06 31 FB 23,主机发送AT命令,通过电话网对远程终端发起呼叫,建立连接后,即可通过电话线通信。同时远程终端也可发起呼叫,本系统可以监听来自电话线的RING信号,主机应答后,双方通信。

3)选择外部232串口设备命令:

1B 10 48 00 06 34 FB 3D,此时主机与所支持的232串口外设通信。根据外设端口号,主机发送串口选择命令,建立连接后,主机可与外设实时通信。

主机通过MODEM、以太网与远程终端通信以及与相应串口外设通信的程序流程图如图2所示。

四 总结

采用ARM7实现主机功能扩展,具有成本低、性价比高、工作速度快、波特率设置简单等特点,是多串口应用系统的良好解决方案。主机多IO扩展系统可广泛应用在工业控制、数据采集、仪器仪表、智能家电等领域,目前已批量生产并经过用户应用验证,稳定可靠,具有很好的市场推广前景。

参考文献

[1]周立功等.ARM微控制器基础与实战(第2版).北京航空航天大学出版社,2005.

[2]周立功等.ARM嵌入式系统软件开发实例(一).北京航空航天大学出版社,2004.

[3]周睿.基于EDA设计方法的多功能串口扩展ASIC的设计与实现.四川大学硕士论文,2004.

基于SR-IOV的IO虚拟化技术 第4篇

针对虚拟I/O设备问题,Xen[1,2]和VMWare分别采用Split I/O[3]模型,Direct I/O[4]模型来实现,上述实现模型均在软件层实现,对设备的利用效率和对请求的访问速度均不如意。最近Intel提出了支持设备虚拟化技术的SR-IOV[5]技术,通过在硬件层上支持I/O虚拟化显著的提高了虚拟域的I/O性能。本文通过分析SR-IOV(Singe Root I/O Virtualization)技术的产生背景和技术规范,剖析其实现原理和实现模型。

本文首先分析了当前基于软件和硬件的几种高效虚拟化I/O访问模型,然后对Intel最新基于虚拟化IO的研究成果SR-IOV技术进行了介绍,并对其原理进行了分析,最后做出了评价。

1 相关技术研究

论文对当前虚拟技术中采用的高效I/O设备访问模型进行了研究,通过对比分析基于软件的I/O设备模拟技术(包括Split I/O、Direct I/OPassthrough I/O),以及硬件辅助虚拟化技术[6](VT-x、VT-d等),总结了虚拟化I/O技术的发展趋势。

1.1 基于软件的I/O模型

基于软件的虚拟化I/O模型是将I/O硬件的逻辑部分移入到虚拟机中,模拟层位于客户机与底层硬件之间。根据模拟层的具体位置,软件模拟I/O技术大致分为特权的宿主机模拟和虚拟机管理器(以下简称VMM)模拟。宿主机模拟通常采用Split I/O技术,又称为前端/后端模拟;VMM模拟一般采用Direct I/O技术[7]。

Split I/O技术是指将传统的I/O驱动模型分成两部分:一部分在无I/O访问特权的虚拟机(简称Dom N)中,称为前端驱动,不直接对I/O设备进行访问;另一部分则在有I/O访问特权的虚拟机(Dom0)中,称为后端驱动,可以调用物理I/O设备驱动,访问硬件。前端驱动接收Dom N上层应用的I/O请求,通过事件通道机制(多个虚拟机之间相互通讯的机制)传递给后端驱动。后端驱动处理前端驱动发送的请求,根据请求调用相应设备驱动程序对I/O设备进行访问,如图1所示:

Split I/O通常可以采用高效的通信机制,这在很大程度上减少客户机之间上下文切换开销。但Split I/O也存在以下一些不足:

(1)Dom N进行I/O操作都需要通过VMM转发请求,这会带来虚拟机与VMM之间的场景切换开销。因此,该方法会使整个I/O架构中的Dom0成为瓶颈;

(2)在有大量的I/O请求时,更会带来巨大的客户机之间场景切换的开销,消耗大量CPU资源,影响虚拟I/O系统的效率;

(3)为了实现Split I/O,需要修改客户端操作系统,以达到VMM和客户机之间的协同工作,因而无法支持非开源的操作系统。

Direct I/O模型主要包括客户端驱动程序(相对于传统驱动不需修改)、设备虚拟层、I/O数据传输的虚拟栈、VMM中直接和底层设备交互的驱动程序以及物理设备。如图2所示,其中,设备虚拟层虚拟出各种I/O设备;I/O虚拟栈将客户机的I/O地址映射到VMM的地址空间,处理VMM内部的通信,支持客户机与物理设备之间的I/O多路转发。当客户机发起I/O请求时,直接自陷到VMM中,以达到对物理设备的直接访问操作。但是由于I/O设备需要在多个客户机之间共享,因此需要通过VMM的介入以保证各个虚拟机对设备访问的合法性和一致性,这就导致了虚拟机的每次I/O操作都需要VMM的介入。

与Split I/O相比,Direct I/O的实现方式更加有效和易于升级;兼容性方面Direct I/O模型更易于设备驱动程序的复用;故障隔离方面,Split I/O通过将驱动部署在一个特定的客户机中来达到隔离性,而Direct I/O更容易发挥沙箱技术和其他技术的优势。但Direct I/O存在以下一些不足:

(1)由于每次I/O访问都需要VMM的介入,对于I/O密集型访问或者多虚拟机同时进行I/O操作时,VMM将迅速成为瓶颈,导致I/O延迟的增大,I/O效率的大幅度降低;

(2)驱动程序部署于VMM内部增加了VMM设计的复杂程度,难以移植设备驱动;

(3)完成一次I/O操作需要涉及多个寄存器的操作,这要求VMM截获每个寄存器访问并进行相应的模拟,导致多次上下文切换,使得性能下降。

Passthrough I/O模型是指在客户机内部能够直接对硬件进行操作,如图3所示[8]。客户机与硬件的交互只需要经过少量、或者不需要经过VMM的管理。Passthrough I/O模型将设备独占式地分配给指定的客户域,使该域具有最高的I/O访问性能。这样做的优点是:由于不需要模拟设备进行请求转换,所以访问速度高;客户机能根据最新硬件,加载对应驱动,可充分发挥新硬件的功能。由于客户机可以内部直接的操纵硬件设备,这大大的提高了I/O性能。

与基于软件的虚拟化I/O模型相比,Passthrough技术可以直接对I/O设备进行操作,大大降低了CPU的开销;Passthrough的I/O操作不需要经过一个有特权的客户机,不存在I/O瓶颈问题;Passthrough I/O模型不需要修改客户机驱动;Passthrough具有相对比较薄的VMM,VMM的设计相对简单,可移植性相对较好。但Passthrough I/O也存在不足:

(1)Passthrough最大程度上提高的I/O性能是以牺牲设备共享能力为代价的;

(2)Passthrough I/O中的设备只能被某个客户机所独占,难以充分发挥I/O设备的利用率。

1.2 硬件辅助的模型

由于目前基于软件的虚拟化I/O模型增加了CPU的负担,希望借助硬件辅助技术完成一部分虚拟化I/O的功能。

Intel和AMD都在处理器架构中提供对Passthrough I/O的支持。Intel将这种支持称为VT-d(Virtualization Technology for Directed I/O),AMD称之为IOMMU(I/O Memory Managemnt Unit)。这种技术的CPU能够将PCI物理地址映射到客户机中。当这种映射发生时,硬件将负责访问和保护,客户机像宿主系统一样可以直接使用该设备。除了将客户机映射到物理内存外,还提供隔离机制,以便预先阻止其他客户机(或管理程序)访问该区域[9]。

传统的IOMMU提供了一种集中的方式管理所有的DMA。除了传统的内部DMA,还包括AGP、GART-ner、TPT、TCP/IP等这些特别的DMA,它通过内存地址范围来区别设备,却不容易实现DMA隔离,因此VT-d通过更新设计的IOMMU架构,实现了多个DMA保护区域的存在,最终实现了DMA虚拟化,也叫做DMA重映射(DMA Remapping)。

I/O设备会产生非常多的中断请求,虚拟化技术必须正确地隔离这些请求,并路由到不同的虚拟机上。传统设备的中断请求可以具有两种方式:一种将I/O中断控制器路由,一种是通过DMA写请求直接发送出去的MSI(Message Singled Interupt),由于需要在DMA请求内嵌入目标内存地址,因此需要访问所有的内存地址,并不能实现中断隔离。VT-d实现的中断重映射架构通过重新定义MSI的格式来解决这个问题,新的MSI仍然是一个DMA写请求的形式,不过并不嵌入目标内存地址,取而代之的是一个消息ID,通过维护一个表结构,硬件可以通过不同的消息ID辨认不同的虚拟机区域。VT-d实现的中断重映射可以支持所有的I/O源和中断类型,MSI以及MSI-X。

VT-d技术可以隔离和保护硬件资源只给指定的虚拟机使用,硬件同时还需要具备多个I/O分区来同时为多个虚拟机服务,更好地支持Passthrough技术。

2 SR-IOV介绍与原理

传统的基于软件和硬件辅助的虚拟化I/O方法虽然能够从不同角度提高虚拟化I/O的能力,但无法同时获得I/O设备的高性能和共享性。SR-IOV技术规范正是针对这一问题提出了相应的解决方法。

2.1 SR-IOV介绍

从软件的角度来看,I/O设备通过三种方式与CPU进行通信,分别是:中断、寄存器读写和内存共享。软件通过寄存器读写对设备进行操作,而I/O设备通过中断的方式通知CPU处理的情况。内存共享则通过DMA使I/O设备与CPU之间进行大规模数据通信[10]。

SR-IOV是PCI-SIG组织公布的一个新规范,旨在消除VMM对虚拟化I/O操作的干预,以提高数据传输的性能。SR-IOV继承了Passthrough I/O技术,通过IOMMU减少存储保护和地址转换的开销。

具有SR-IOV功能的I/O设备是基于PCIe规范的,可以用来管理并创建多个VF(virtual function)。PCIe PF((Physical function)在PCIe总线上是主要实体,具有唯一的申请标示RID,一个PCIe设备具有一个或多个PF。SR-IOV设备可以有一个或多个PF,如图4所示:

每个PF都是标准的PCIe功能,并且关联多个VF。每个VF都有与性能相关的资源,专门用于软件实体在运行时的性能数据运转,同时这些VF共享物理设备资源,如图5所示。因此,VF可以视为由PF进行配置和管理的“轻量级”PCIe功能[11]。

每个VF对应唯一的RID,RID则确定了唯一的PCIe交换源。RID也能够用于索引IOMMU页表,因此不同的VM可以使用不同的页表。IOMMU页表是在DMA交换中用于存储保护和地址转换。设备初始化和配置资源没有应用在VF上,因此与传统的多功能PCIe设备相比,在有限的芯片设计预算里SR-IOV设备可以包含更多的VF,具有更好的可扩展性[12]。

SR-IOV提出了地址传输服务ATS,用以提高性能。ATS需要每个I/O设备都使用地址转换机制,通过本地I/O TLB(I/O转换旁路缓冲)作为地址转换缓冲。这使得设备在传输之前就能够转换DMA地址,从而避免了I/OTLB在IOMMU地址转换过程中失效。

2.2 SR-IOV的实现模型

SR-IOV的实现模型包括VF驱动、PF驱动、IOVM(SR-IOV管理器)。VF驱动是运行在客户机上的普通设备驱动;PF驱动则部署在宿主机上对VF进行管理;在宿主机上的IOVM用于管理PCIe拓扑的控制点以及表示每个VF的配置空间;整体结构如图6所示:

为了使该结构独立于底层的VMM,每部分都不能使用特定的VMM接口。例如,PF驱动和VF驱动的通信可以直接使用SR-IOV设备,其接口不会依赖于特定的VMM接口。

(1)PF驱动PF驱动可以直接访问PF的所有资源,并负责配置和管理所有VF。它可以设置VF的数量,全局的启动或停止VF,还可以进行设备相关的配置。PF驱动同样负责配置2层分发,以确保从PF或VF进入的数据可以正确地路由。

(2)VF驱动VF驱动像普通的PCIe设备驱动一样在客户机上运行,直接访问特定的VF设备完成数据的转移,期间不需要VMM的干预。从硬件成本角度来说,VF只需要模拟临界资源(如DMA等),而对性能要求不高的资源则可以通过IOVM和PF驱动进行模拟。

(3)IOVM IOVM为每个VF分配了完整的虚拟配置空间,因此客户机能够像普通设备一样模仿和配置VF。当宿主机初始化SR-IOV设备时,它无法通过简单的扫描PCIe功能(通过PCIM实现)的供应商ID和设备ID列举出所有的VF。因为VF只是修改过的“轻量级”功能,不包含完整的PCEe配置空间,无法响应普通的PCI扫描。该模型可以使用Linux PCI热插拔API动态地为宿主机增加VF,然后将VF分配给客户机。

PCIM负责对PCI设备进行扫描、识别,可以将VF转换成完整的功能,并对SR-IOV资源进行分配。由于IOVM为每个VF分配了虚拟的完整的配置空间,一旦发现VF并分配给客户机,该客户机能够像使用普通PCIe功能那样初始化和配置该VF。这部分功能可以在应用层面上完成,如Xen中HVM的设备模式,内核中的后端驱动。

影响SR-IOV性能关键是用于处理I/O设备的中断。在SR-IOV中,VMM不再干预I/O操作,从而提高了I/O设备的性能。2层分发根据接收方地址对数据进行了分类,通过DMA直接将数据存储到接收方的缓冲区上,并产生MSI或者MSI-x。IOMMU重映射了接收方DMA缓冲器地址,将VF驱动的客户机物理地址转换为物理地址。VMM可以捕捉该中断并根据向量识别到具体的客户机。然后,VMM将虚拟MSI中断通知给客户机,并读出在当地缓冲器里的数据。客户机VF驱动处理虚拟中断,从本地缓冲区中读取接收的数据。从而是客户机在一次中断中能够处理多个接收的数据。

PF和VF驱动之间需要通道进行配置、管理信息和事件通知的通信。例如,VF驱动需要将客户机的服务请求发送给PF驱动。PF驱动也需要将一些I/O事件转发给每个VF驱动,通知资源状态的变化。这些事件包括等待全局设备重置、链接状态改变、驱动移除等。在该结构模型中,VF和PF驱动之间的通信取决于底层硬件平台。例如,Intel SR-IOV的82576 Gbit网卡通过简单的邮箱和门铃机制进行通信:发送方将消息写入邮箱,然后按响“门铃”,这将会产生一个中断并通知接收方消息已经发送。接收方接收信息后,将共享寄存器中的一位进行设置,表明信息已接收。

SR-IOV提供一个安全的运行环境,允许PF驱动监控和实施VF设备的带宽分配、中断屏蔽、拥塞控制、广播和多播等,从而增加了VM之间的性能和安全隔离。PF驱动监督VF驱动的请求,并对VF驱动行为和其使用的资源进行监控。PF如果发现异常可以立即采取正确的行为。例如,PF在发现异常时能够停止分配给某个虚拟机的VF。

2.3 SR-IOV的优势

SR-IOV平台提供了一系列的技术优势,包括提高IO性能,提高系统的性价比,增加可扩展性,数据保护和安全性。

(1)增加系统性能

Passthrough的优势:

a.VF设备可以直接访问寄存器,IOMMU技术使得GPA(客户机物理地址)转换为宿主机物理地址,这些使得客户机几乎可以达到本机的性能。与软件模拟的I/O设备相比,每个虚拟机能够通过较低的CPU开销获得很高吞吐量。

b.传统的陷入和模拟I/O寄存器的读写和任务切换占用了大量的CPU利用率。VF的另一个优势是可以直接进行I/O寄存器的读写,而不需要陷入和模拟,CPU页表机制可以直接将VF设备的MMIO空间映射到客户机上面。

中断重映射的优势IOMMU技术可以改善中断重映射技术,减少客户机从硬件中断到虚拟中断的处理延迟。由于中断延迟是虚拟环境的主要瓶颈之一,采用IOMMU的MSI-x技术将大大减少中断延迟,降低了由VMM处理I/O导致的系统开销,提高系统性能。

共享性的优势Passthrough技术将设备分配给指定的虚拟机,可以达到几乎本机的性能,其缺点是整个I/O设备只能供一个虚拟机使用。这种方式违背了虚拟化的本意,即I/O资源的共享是为使得硬件利用的最大化。SR-IOV技术能够使分配给每个虚拟机的VF都达到其最高性能,这使得所有虚拟机能够充分利用I/O设备资源,达到该设备的最高性能。

(2)减轻系统管理员负担

减少物理设备的优势使用VF替代多个物理I/O设备,降低硬件开销,简化布线,降低功耗,减少转换器端口的使用数目,降低设备数目。

安全性优势通过硬件辅助数据保护和安全得到了加强,使得数据和I/O流在虚拟机之间的创建和隔离得到了增强。

可扩展性优势系统管理员可以使用单个更高带宽的I/O设备代替多个带宽较低的设备达到带宽的要求。利用VF将带宽进行隔离,使得单个物理设备好像是隔离的多物理设备。此外,这还可以为其他类型的设备节省插槽。

(3)简化虚拟机设计

通用性优势SR-IOV技术不需要在客户机中安插任何前端驱动,也不需在VMM中维护任何后端驱动,没有额外的维护开销。

减少对宿主机依赖SR-IOV技术不依赖宿主机进行I/O操作,所以当运行的客户机数量多时,不会增加宿主机的负荷。

摘要:虚拟技术经过多年的发展,CPU虚拟化与内存虚拟化均已成熟,而I/O虚拟化方面却未出现大的变化,成为当前虚拟技术性能提高的瓶颈。近期Intel公司提出的SR-IOV技术通过在硬件层增加虚拟支持,与原有I/O虚拟化中采用的Passthrough技术相结合,极大的提高了物理设备的使用效率和客户域的I/O性能。文章在总结虚拟技术中采用过的I/O模型基础上,分析了SR-IOV技术的实现和特点。

关键词:SR-IOV,虚拟技术,I/O模型

参考文献

[1]K.Fraser,S.Hand,R.Neugebauer,I.Pratt,A.Warfield,and M.Williamson.Safe hardware access with the Xen virtual machine monitor[C].In 1st Workshop on Operating System and Architectural Support forthe on demand ITInfraStructure(OASIS),2004.10.

[2]A.Menon,J.R.Santos,Y.Turner,G.J.Janakiraman,and W.Zwaenepoel.Diagnosing Performance Overheads in the Xen Virtual Ma-chine Environment[C].In First ACM/USENIX Conference on Virtual Ex-ecution Environments(VEE’05),2005.6.

[3]Paul Barham,Boris Dragovic,Keir Fraser.Xen and the art of virtualiza-tion[J].ACMPress,2003:164-177.

[4]J.Sugerman,G.Venkitachalam,and B.-H.Lim.Virtualizing I/O deviceson VMware workstation’s hosted virtual machine monitor[C].In Proceed-ings of the USENIX Annual Technical Conference,2001.6.

[5]SR-IOV Networking in Xen:Architecture,Design and ImplementationYaozu Dong,Zhao Yu,and Greg Rose.SR-IOVnetworking in Xen:Ar-chitecture,design andimplementation[C].In WIOV’08:Proceedings ofthe 1stWorkshop on I/OVirtualization,December2008.

[6]G.Neiger,A.Santoni,F.Leung,D.Rodgers,R.Uhlig.Intel virtulizationtechnology:Hardware support for efficient processor virtualization[C].In-tel Technology Journal,2006.

[7]BarhamP,Dragovic B,Frase K,Hand S,Harris T,Ho A,Neugebauer R,Pratt L,Warfield A.Xen and the art of virtualization[C].proceedings of19th ACMSymposiumon Operating Systems Principles,October,2003.

[8]Liu Jx,Huang W,Abali B,K.Panda D.High performance vmm-bypassi/o in virtual machines[C].proceedings of the USENIX Annual TechnicalConference,May,2006.

[9]Intel Corporation.Intel virtualization technology for direct I/O[J].Inteltechnology Journal 10(03):205-216.September,2008.

[10]Y.Dong,J.Dai,et al.Towards high-quality I/O virtualization[C].Proceeding of the Israeli Experimental Systems Conference(SYSTOR),Haifa,Israel 2009.

[11]PCI-SIG Single Root I/O Virtualization 1.0 Specification[EB/OL].http://www.pcisig.com/specifications/iov/single_root

IO优化 第5篇

随着企业的设备改造和革新,现场控制设备(如DCS等)新老设备并用的情况大量存在,造成设备型号繁多,性能参差不齐,部分控制设备没有对外数据接口,开放性差等问题。如某大型石化企业的二十余套控制设备中,近年来安装的十余套设备提供OPC接口,而20世纪90年代早期的十余套设备则不提供OPC接口,而仅提供API接口,甚至有的设备根本不提供对外数据接口。这类多种技术多种类型设备并存的状况,使得统一的数据接口不可能存在,从而给企业在实施ERP及MES系统过程中的数据集成带来巨大的困难。因此,统一的设备接口及设备间数据互联成为一个重要的问题。

Cim-IO组件是美国ASPEN公司提供的一个标准接口平台,可以从DCS、PLC以及其它类型的数据源中获得过程数据,并存储于实时数据库中。CimIO既有标准的OPC接口,也为客户提供了数据接口开发工具,使得客户可以根据不同的数据接口需求开发符合实时数据库要求的接口协议。在简单介绍Cim-IO组件的基础上,着重介绍Cim-IO的二次开发方法,解决具有专用接口的设备数据采集问题,并给出了应用实例。

1 Cim-IO组件简介

Cim-IO是基于套接字的通信机制,采用客户机/服务器(C/S)结构,其主要结构见图1。Cim-IO组件包括三部分:Cim-IO Core、Cim-IO Client、CimIO Server。

Cim-IO Core基于TCP/IP协议,是连接Cim-IOClient与Cim-IO Server的纽带,两者通过Cim-IOCore进行通讯,并发送请求与反馈。

Cim-IO Server提供了访问外部设备的手段,可接受本地或远程的多个Client的连接,内部结构图见图2。它通过Cim-IO Core从Cim-IO Client接受请求,与外部设备通讯并反馈信息给Cim-IO Client。Cim-IO Server包含DLGP(Device Logic Gateway Program)进程、DIOP (Device Input/Output Program)进程、扫描进程(Scanner process)、存贮进程(Store process)、转发进程(Forward process)等进程。DLGP用于与客户任务通信,并与DIOP进程交换数据。DIOP进程负责执行与硬件设备或其它数据库的低级通信。扫描进程作为客户端与DLGP之间的媒介,当连接中断时,发送客户端的数据请求给DLGP。存贮进程接收来自DLGP的数据,如果客户端不可用(如网络中断、数据库重启),存贮进程将DLGP的数据写到缓存文件(store file),直到正常数据传输恢复。当正常数据传输恢复后,转发进程将保存在缓存文件中的数据发送到客户端。在转发过程中,存贮进程继续将实时数据写到缓存文件中,直到全部转发完毕。

2 基于Cim-IO组件的采集接口开发

虽然Cim-IO提供了针对一些知名厂家控制系统的专用数据采集接口,如在Cim-IO 5.5中提供了42种不同厂家设备的数据采集接口,但由于现场设备类型和底层接口的多样化,对于企业应用还是有相当数量的控制系统设备的数据采集接口不能直接与CIM-IO连接。例如,在某石化企业,有三套装置控制系统没有配置通信接口,涉及463个点的数据,不能利用Cim-IO提供的专用数据接口进行数据采集。为了实现这类装置的数据采集,保证数采系统接口架构的统一,方便在数据库服务器端进行系统的维护和管理,利用Cim-IO提供的库函数,采用C语言开发了专用的FD Cim-IO接口程序,结构如图3所示。

FD Cim-IO由FD Cim-IO Server和FD Cim-IO Client两部分组成。在标准Cim-IO结构(图2)的基础上,通过增加FD Cim-IO Client和数据链表两部分来满足具体应用的需求。FD Cim-IO Client采用封装包(CimIoClientWrap.dll)形式,能从专用接口中读出数据,也能接受从键盘中输入的数据。标签链表为数组,缓存从现场设备读出的实时数据,为了加快查询速度,采用Hash算法查询标签点。

按照标准Cim-IO内部结构,FD Cim-IO设有读(Read)、写(Write)、主动(Unsolicited Read )三种工作方式。下面以主动方式为例介绍其实现过程,主动方式时序如图4所示,工作原理如下。

(1)FD Cim-IO Client通过专用接口读取控制系统的标签数据,向DLGP请求写数据,通过DIOP,实时数据写入标签链表。

(2)FD Cim-IO Client向FD Cim-IO Server声明请求读数据的标签组。

(3)当标签链表数据的当前值和前次值的变化超过设定的精度时,DIOP从标签链表读出数据,通过DLGP,将每个标签点的数值、状态和时间戳返回到FD CIM-IO Client。

FD Cim-IO Server采用C/S结构,主要依靠调用Aspen公司提供的库函数(cimio.lib),对DLGP、Read DLOP、Write DLOP、Unsolicited DLOP子程序进行二次开发。下面以主动方式(Unsolicited) DLOP为例简要介绍实现过程,其它的子程序主要差别在接受的消息类型不同。

(1)定义TCP/IP协议,包括服务名和服务端口。服务名的格式为:ServiceName PortNumber/tcp # Comment。

(2)连结Cim-IO,从DLGP进程接受消息,并对消息类型进行判断,只有DECLARE、 CANCEL请求和连接关闭(shutdown)通知三种类型的消息才被正式接受,对错误信息进行提示。

(3)根据接受的消息类型的不同,分别对DECLARE、 CANCEL请求进行分析,为需要返回DLGP的内容分配内存空间。

(4)按照设定的采样频率从标签链表读出数据,如果数据已经变化,则发送到DLGP,每个标签点的数据包括:标签名、数值、状态和时间戳。当查询的标签在标签连表中未发现时,按设置的状态(0)和数值(0)返回到DLGP。

(5)清空内存空间。

在FD Cim-IO Server的内部,通信端口也可由IP21 Administrator工具进行配置,各进程注册为系统服务,进程间的识别主要通过系统配置完成。DLGP通过设置启动参数来识别DIOP,客户端通过本地的配置文件来识别远程的DLGP,端口号均记录在操作系统的services文件里。

FD Cim-IO主要应用于数采站,在数据库服务器端使用Aspen提供的Cim-IO Client for IP21,保证了服务器端架构的统一。在数采系统实施时,不需要对FD Cim-IO Server进行再开发,针对不同的API接口,只需调用已封装好的FD Cim-IO Client函数与之通信即可。由于FD Cim-IO Client封装包与FD Cim-IO Server之间支持远程通信,可以异地布置,对于需要双向通信的手工录入系统尤其方便。

3 应用实例

在某年加工量500万吨的大型石化企业中,装置和罐区的控制系统设备型号多,接口也不统一,其中部份装置和罐区提供了OPC和DDE接口,可以直接利用Cim-IO for OPC/DDE实现数据采集。但在聚丙烯装置、蜡油罐区、新球罐区等的控制系统没有提供标准接口,而是通过FD Cim-IO实现了数据采集,系统结构见图5。

聚丙烯装置的控制系统是HONEYWELL的TDC3000,通过设置DCS工程师站的打印口定时发送数据到数采机。FD Cim-IO Client接收数据后,缓存到数据链表,然后通过主动方式将数据存入IP21数据库。

新球罐区的控制系统是和利时HS2000 DCS,FD Cim-IO Client以共享方式读取HS2000系统网关上的实时数据。

蜡油罐区共有6个罐,通过光纤液位仪测量液位,光纤液位仪的串行线直接连接到数采接口机串口,FD Cim-IO Client通过串口读取液位数据。

为了解决少数数据无法自动采集的问题,设置了三个数据录入站,由操作人员手工录入数据。手中录入数据同样通过FD Cim-IO Client传输到实时数据库系统中。

4 结束语

针对CIM-IO组件未提供解决方案的专用接口,提出了开发的思路,并开发了FD CIM-IO接口,实现了在三套装置中的数据采集。经过半年的检验,该系统目前运行稳定,采集的实时数据也已经成功地应用于生产运行监控和管理。本文所提出的基于Cim-IO的专用数据采集接口开发方法,也可应用于其它场合的实时数据接口协议开发,缩短数据采集系统实施的开发周期,降低实施的难度。

摘要:Cim-IO组件是一种应用于访问过程数据的标准接口。介绍了Cim-IO组件的结构和内部通信进程,并针对CIM-IO组件未提供解决方案的专用接口提出了开发的思路,实现了FDCIM-IO接口,通过在三套工业装置的数据采集系统应用,说明了该方案的可行性。

关键词:Cim-IO,数据采集,接口

参考文献

[1]郑莉,傅仕星,张瑞丰.C++语言程序设计.北京:清华大学出版社,2004

[2]万力,刘育明,吴军强,等.工业过程监控系统中实时数据库的应用接口技术.工程设计学报,2006;13(1):49—53

[3]王小慧.实时数据库与DCS通讯接口的设计与实现.化工自动化及仪表,2002;29(4):48—50

IO优化 第6篇

基于闪存、服务器连接的新型存储级内存 (ioMemory) 的开拓企业Fusion-io近日宣布, 在过去12个月中, 其企业级闪存的出货量已超过15 PB, 这些存储级内存足够用来保存超过199年的连续播放高清视频或是整个美国国会图书馆的书籍内容的15360倍。这一里程碑事件展示了全球范围内的数据中心正在逐渐改用Fusion的服务器连接闪存, 应用于各种企业级应用、数据库加速、虚拟化和云计算环境。

IDC全球存储系统研究部门的项目副总裁Benjamin Woo表示:“通过服务器连接在企业中部署NAND闪存可以得到经济高效的性能, 因此传统的服务器存储架构正在受到挑战。在刚刚过去十二个月内, Fusion服务器部署的ioMemory技术的出货量达到了15 PB, 我们可以越来越清楚的看到, 服务器端闪存已经走出了其自身的限制, 正在进入企业级计算领域的主流。”

Fusion-io首席执行官David Flynn表示:“随着DRAM容量密度成百倍地增加以及每Gb的价格不再那么昂贵, NAND闪存开始解决基本的数据供应问题, 这个问题即使是在虚拟化的时代, 也导致了处理器利用率平均降低百分之二十以上。通过使用内存控制器的方法和虚拟内存管理技术, 将闪存直接整合到服务器, ioMemory和Fusion–io的虚拟存储层 (VSL) 甚至可以把大型的数据集有效地置于内存之中。这样应用可以发挥服务器的全部处理潜力, 往往可以增加5倍以上的工作负载。”

ioMemory的高效性助力成本和能源的节省成倍增加

通过使用ioMemory技术可以提升数据中心的高效性, 从而显著降低服务器横向扩展和软件许可证的成本, 因此部署ioMemory常常可以产生即时的净节省。这些节省不仅可以降低日常的运营成本 (包括较少的占地空间、电力和散热需求) , 还可以获得其他优势 (如每个服务器处理更多的工作负载) , 这意味着所需的软件许可证更少, 整体效率更高。对于在当前预算紧张的环境中工作的架构师来说, 这种可以提高性能, 同时减少环境影响的服务器连接ioMemory无疑是一个理想的解决方案。

相比之下, NAND闪存以固态磁盘 (SSD) 的形式来模拟磁盘驱动器, 并被置于原有存储基础设施之中, 这就限制了服务器访问数据的速度, 白白浪费了许多提高闪存效率的机会, 并且其高成本和专有存储系统等还增加了费用的负担。因此, 这种部署闪存的方法被限制在较小的细分市场, 这些市场对性能的需求可以容忍更高的总拥有成本。

IO优化 第7篇

关键词:光纤筛选,监控系统,Intouch,IO Server

0 引言

随着我国信息产业的快速发展,光纤的产能已经无法满足现有市场的需求。因此,光电行业都在寻找一条在保证产品质量的同时提高产能的途径。目前计算机网络技术结合自动化技术对工业生产控制的方法已经应用于很多大型高科技产业, 将这种方法引入光纤生产行业也是大势所趋。本文提到的Intouch软件监控是一种将虚拟仪器引入生产网络, 提供一种直观、集中和操作方便的人机交互界面。软件将仪器仪表、网络通信、硬件设施有机结合, 为光纤筛选生产提供了便利的方法。

本光纤筛选系统基于Intouch开发平台,以MS-SQL Server2005数据库作为信息管理软件,采用以太网IO Server技术,对可编程逻辑控制器AB PLC进行数据信息传输。系统实现了对整个光纤筛选过程中各单元的数据采集与传送、数据分析、报警显示,参数控制、登陆管理等功能,并保证了光纤产品的筛选稳定性。

1 系统结构及功能

1.1 系统的体系结构

原有的筛选系统采用人机交互界面(FactoryTalk View Plus600触摸屏)进行参数交流,为了将方便光纤生产管理的产品跟踪系统(PTS系统)引入日常的生产进程中,现有系统采用工业控制计算机作为上位机。下位机选用AB公司的SLC500系列的中小型规模PLC。工控机和PLC之间采用以太网形式连接,只需要提供一个少量接口的交换机,避免了选用西门子PLC需要采用CP5621PCI通讯板卡的方式。上位机监控软件是用Intouch2010平台开发的源文件,将源文件植入Intouch软件中生成可执行的Development文件。

SLC500系列PLC中的DI和AI模块负责采集筛选机系统中的各个限位传感、张力传感及安川伺服驱动器的输出信息等,通过IO Server技术传送给上位机,完成实时信息显示和报警等功能;PLC的DO和AO模块负责将所有的指令信号传送给对象(伺服电机、电磁阀和继电器等)。系统的基本结构如图1所示。

筛选机在进行筛选时,光纤在两个高速旋转的驱动轮(大盘驱动轮和筛选驱动轮)的驱动下保持高速运动。在两个驱动轮直接保持一定的速度差,使得位于两轮之间的光纤受到一定的张力作用,通过张力传感器将该张力稳定在9.8N。当光纤不能承受9.8N的张力时,光纤将会发生断裂,筛选工作将中断,此部分光纤则成为报废品或者非标产品。

1.2 通过IO Server建立OPC服务器

Intouch软件采用IO Server与AB公司的SLC500系列PLC通过以太网方式进行数据传输,首先需要建立一个topic,即OPC服务器。OPC服务器,是指按照OPC基金组织规定的OPC规范群开发的软件驱动。OPC服务器作为中间媒介负责从数据源读取数据再跟另外一端的客户端通信。通信的发起端也可以是OPC客户端。客户端和服务器的对话是双向的,也就是说,客户端既可以从服务器读出也可以向服务器写入。OPC有一个开放的技术规范,它制定了过程客户应用服务和服务器应用程序之间进行交互的软件接口标准。

在开始建立OPC服务器之前,需要做好以下准备工作: (1) 为了确保Intouch平台与PLC之间能够通过以太网方式通信,须正确配置PLC的以太网端口。 (2) 在本地的工业控制计算机上安装以太网板卡,安装并配置TCPIP协议。 (3) 安装Wonderware ABTCP IO server V7.5.0.2(或更高)软件。 (4) 安装Rockwell的RSLogix 500和RSLinx软件。

本地计算机设置好windows XP系统的网络后,继续配置SLC500的Channel1。首先通过交换机PLC,运行RSLogix500软件,在On-Line模式下进入控制器,打开Channel Configeration,对用于以太网通讯的Channel1通道进行地址、波特率等参数的设置。如图2和图3所示:图中PLC的IP地址前三段192.168.**与上位机网卡的IP地址前三段必须一致,子网掩码255.255.255.0与上位机网卡子网掩码一致。

为了提高对上位机和PLC的网络域名解析效率,可以通过Hosts文件建立域名和IP的映射关系来达到目的。根据微软系统规定,在进行DNS请求以前,Windows系统会先检查自己的Hosts文件中是否存在这个网络域名的映射关系。如果有,则调用这个IP地址映射,如果没有,再向已知的DNS服务器提出域名解析。也就是说Hosts的请求级别比DNS高。所以为了使筛选系统通讯成功,须配置Hosts文件。如图4所示:通过C:WinNTSystem32driversetc路径,用记事本打开Hosts文件,添加PLC的IP地址和别名。

配置好Hosts文件后,在ABTCP IO Server中的菜单栏选择Configure/Topic Definition,在弹出的Topic List窗口中点击New…新建一个Topic,名为SLC505PLC,如图5所示。HostName为SLC505,这与之前在hosts文件中的定义一致。

2 筛选机系统的人机交互界面

筛选机控制系统的上位机选用Windows XP作为操作系统,选择美国Wonderware公司的Intouch10.0版组态开发软件为平台界面,通过与PLC中的标签对应或者自身的脚本编辑功能实现逻辑判断和运行参数的监控。光纤筛选机的人机界面增加了工业级的PTS系统,界面中通过“Reel ID”子菜单录入当前详细的产品信息,这样可以有效的实现光纤产品从上游拉丝到下游入库出库的信息管理;同样,人机交互界面具有完善的报警功能,当设备的某一功能部分出现故障时,系统可以及时的提示操作人员报警位置和报警内容;系统的“Maintenance Menu”菜单,不但可以在线测试各电机的运行状态,还能通过调整设置各伺服驱动器系统的PID参数,为设备的调试带来方便。

除了常规的控制标签外,Intouch软件还定义了量程转换、掉电数据保存、超限报警参数设定等标签。界面上可以随时改变参数和保存参数、初始值和与AB-PLC通讯的地址参数设置等功能。

整个筛选工艺的人机交互界面如图6所示,系统中的用户登录等级分为三级,其中工程师级可以进行原点校准等维护菜单的设置,管理员级可以对各伺服电机进行PID参数设置;子菜单Take-up Reel Parameter可进行收线端光纤筒径和宽度、光纤排线间隙的设定;Pay-off Reel Parameter子菜单可以进行放线端光纤筒径的设定;Line Speed Capstan Control子菜单负责伺服电机升速减速的时间设定、筛选模式的选择等功能;Alarm子菜单可以显示报警信息,包括当前报警和已经消除的报警历史信息等。

3 AB-PLC的硬件组态及软件使用

RSLogix500软件在一个新建工程文件中需要首先进行硬件组态,在定义好的框架里选择与硬件匹配的模块拖入。IO模块放入的槽号根据实际使用情况由用户指定,并且需要为CPU机架配置好电源模块。针对光纤筛选系统,PLC设置一个机架,IO模块主要包括:数字量输入模块,负责各开关、按钮的信号输入;数字量输出模块,负责各伺服驱动器的数字量控制信号及电磁阀、继电器的控制信号;模拟量输入模块,负责压力传感器和跳舞轮位置传感器的模拟量信号;模拟量输出模块,输出各伺服驱动器速度给定控制信号;高速计数模块,输入速度驱动轮、收线筒旋转和收线端排线电机长度计数脉冲信号。

4 研究分析及总结

本文简要分析了光纤筛选控制系统的硬件和软件结构,系统通过采用工业以太网技术,将上位机、PLC和伺服驱动等对象的三层结构连接在一起。经过生产认证,光纤筛选控制系统达到了各项要求指标,设备运行稳定,单台故障停机率为1.2次/10万公里。同时,PTS系统的加入,有效的实现了光纤产品的企业化管理。

参考文献

[1]刘清建, 王太勇等.基于总线架构的多层次监控开放数控系统[J].吉林大学学报, 2010, 40 (6) :1589~1924.

[2]李瑞棠.自动控制理论基础[M].西安:电子科技大学出版社, 1996.5.

[3]Wonderware Corporation.Wonderware FactorySuit SystemAdministrator’s Guide.Revision G, August 2001.

[4]宋伯生.PLC编程及实用指南[M].北京:机械工业出版社, 2006 (6) .

[5]Allen-Bradley.Converting PLC-5 or SLC-500 logic to Logix5550 logic reference manual.

IO优化范文

IO优化范文(精选7篇)IO优化 第1篇关键词:CDIO理念,项目管理,三维优化一、引言项目管理是第二次世界大战后期发展起来的重大新管理技术之...
点击下载文档文档内容为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部