ch06第6章应用程序设计与实现技术.ppt_第1页
ch06第6章应用程序设计与实现技术.ppt_第2页
ch06第6章应用程序设计与实现技术.ppt_第3页
ch06第6章应用程序设计与实现技术.ppt_第4页
ch06第6章应用程序设计与实现技术.ppt_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章 应用程序设计与实现技术 6.1 概 述 6.2 应用程序设计技术 6.3 查 表 技 术 6.4 线性化处理技术 6.5 量程自动转换和标度变换 6.6 报警程序设计 6.7 DSP在数据处理中的应用 6.8 小 结 6.2 应用程序设计技术 6.2.1 应用程序设计的基本任务 1. 应用程序设计的基本步骤 v程序设计的第一步是了解系统的工艺流程 v程序设计最基本的问题是定义输入和输出 v在输入数据和送出控制信号之间是一个处 理阶段 6.1 概 述 2. 应用程序设计的方法 v1) 模块化程序 v把一个完备的功能由若干个小的程序或模块 共同完成。 v优点: (1) 单一功能模块无论编写或调试都很容易。 (2) 一个模块可以被多个其他程序调用。 (3) 检查错误容易,因为模块功能单一,且相对 独立,不牵涉其他模块。 v缺点,比如有些程序难以模块化,把模块装 在一起时较困难,模块相互调用时易产生相 互影响。 2) 自顶向下程序设计 v先从系统级的管理程序或者主程序开始设计,低一 级的从属程序或者子程序用一些程序标志来代替。 当系统级的程序编好后,再将各标志扩展成从属程 序或子程序,最后完成整个系统的程序设计。 v优点是: v设计、测试和连接同时按一个线索进行,矛盾和问 题可以较早发现和解决。 v而且测试能够完全按真实的系统环境来进行,不需 要依赖于测试程序。 v比较习惯于人们日常的思维,而且研制应用程序的 几个步骤可以同时结合进行,因而能提高研制效率 。 3) 自底向上模块化设计 v自底向上模块化的设计是首先对最低层模块 进行编码、测试和调试,这些模块正常工作 后,就可以用它们来开发较高层的模块。 v这种方法是汇编语言设计常用的方法。 6.2.3 工业控制组态软件 v组态软件是指在软件领域内,操作人员根据 应用对象及控制任务的要求,配置(包括对象 的定义、制作和编辑,对象状态特征属性参 数的设定等)用户应用软件的过程,也就是把 组态软件视为“应用程序生成器”。 v从应用角度讲,组态软件是完成系统硬件与 软件沟通、建立现场与监控层沟通的人机界 面的软件平台。 组态软件的功能简介 v1控制组态 v2图形生成系统 v3显示组态 v4. I/O通道登记 v5. 单位名称登记 v6. 趋势曲线登记 v7. 报警系统登记 v8. 报表生成系统 v计算机控制系统的组态功能分为两个主要方 面,即硬件组态和软件组态。 v硬件组态 v以总线式(PC总线或STD总线)工业控制机为 主进行选择和配置,在硬件上可以根据不同 的控制对象选择相应的功能模板,组成各种 不同的应用系统,使硬件工作量几乎接近于 0,只需按要求对各种功能模块进行安装和 接线即可。 软件组态 v控制工程师不需了解计算机的硬件和软件, 就可在触摸屏上采用菜单方式,用填表的办 法,对输入、输出信号用“仪表组态”的方法进 行软连接。 6.2.4 软件工程方法概述 v软件工程的过程是将软件工程的方法和工具 综合起来以达到合理、及时地进行计算机软 件开发的目的。 v过程定义了方法使用的顺序、要求交付的文 档资料、为保证质量和协调变化所需要的管 理及软件开发各个阶段完成的里程碑。 v软件工程就是包含上述方法、工具及过程在 内的一些步骤。 6.3 查 表 技 术 v常用的有三种方法:直接查找法、顺序查找法和对 分查找法 。 v6.3.1 顺序查找法 v顺序查找法的步骤如下。 v(1) 设定表格的起始地址。 v(2) 设定表格的长度。 v(3) 设定要搜索的关键字。 v(4) 从表格的第一项开始,比较表格数据和关键字, 进行数据搜索。 顺序查表法程序流程图 顺序查表法程序清单: vSEARCH: MOV R0,TABLE;设定表格起始地址 vMOV R1,LENGTH ;设定表格长度 vCLRFLAG ;查找成功标志位清零 vLOOP:MOV A,KEY;读关键字 vXRLA,R0;比较 vJNZNEXT ;未查找到关键字,继续 vSETB FLAG ;查找到关键字,置位查找成功标 志位 vMOV A,R0 ;读出关键字在表中的地址 vAJMP RETU ;退出查找 vNEXT:INC R0;指向表格的下一个数据 vDJNZ R1,LOOP;未检索完全部数据,继续 vRETU:RET;退出查找程序,子程序返回 6.3.2 计算查找法 v计算查表法适用于数据按一定的规律排列, 并且搜索内容和表格数据地址之间的关系能 用公式表示的有序表格。 v只要根据所给的数据元素Xi ,通过一定的计 算,求出元素Xi所对应的数值的地址,然后 将该地址单元的内容取出即可。 v关键在于找出一个计算表地址的公式 。 v设计一巡回检测报警装置,要求能对16个通 道输入值进行比较,当某一通道输入值超过 该路的报警值时,发出报警信号。 v通道值和报警值的存放地址之间的关系可用 下面的公式表示: v报警值存放地址=数据表格起始地址+通道值2 v设通道值(以16进制表示)存放在CIRC单元中,查表后的上 限报警值存放在UPPER单元中,下限报警值存放在LOWER 单元中。 v查表程序清单如下: vCLRC;进位标志位清零 vMOVDPTR,#TAB;设置数据表首址 vMOVA,CIRC;读检测通道值 vRLCA;检测通道值乘2 vMOVC A,A+DPTR ;读上限值 vMOVUPPER,A;保存上限值 vINCDPTR vMOVC A,A+DPTR ;读下限值 vMOVLOWER,A;保存下限值 vRET vTAB:UPPER0,LOWER0,UPPER1,LOWER1, ,UPPER15,LOWER15 ;报警数据表 6.3.3 对分查找法 v对于从小到大(或从大到小)顺序排列的 表格,通常采用快速而有效的对分查找 法。 v对分查表法的最高搜索次数Log2N-1。 v和顺序查表法相比,对分法可以大大减 少查表次数,提高检索效率。 对分查找法流程图 对分查表法程序清单: vMOVBEGIN,#00H;设置检索范围起点 vMOV END,#DVL ;设置检索范围终点 vMOV KEY,#KEY ; 设置关键字 vMOV TIME,#01H;置检索次数初值 vLOOP:MOV R0,#ADD;置数据区起始地址 vMOV A,BEGIN;取检索范围起点 vADD A,END;起点+终点 vCLR C vRRC A;除2 vMOV FLAG,A;存放对分检索取数序号 vCLR C vXORA,2AH;判断是否到检索范围边缘 vJZLOOP3;是,跳转至LOOP3 vMOV A,FLAG vADDA,R0 ;形成对分检索取数地址 vMOV R0,A vMOV A,R0;读数 vMOV DATA,A;保存检索到的数据 vCLRC vSUBB A,KEY;和关键字比较 vJZLOOP5;相等,则检索成功 vJNCLOOP2;取的数据大,跳转至LOOP2 vMOV 2AH,FLAG;取的数据小,修改检索范围的 起点 vINC TIME;检索次数加1 vSJMPLOOP1 ;继续检索 vLOOP2:MOVA,FLAG;取的数据大,修改检索范围的终 点 vMOVEND,A vINCTIME vSJMPLOOP1 ;继续检索 vLOOP3:MOVR0,#DATA;到达检索边缘,比较是否 为关键字 vMOVA,R0 vCJNEA,KEY,LOOP4 ;不是关键字,跳转至LOOP4 vMOVDATA,A;是关键字,保存 vSJMPLOOP5 ;退出检索程序 vLOOP4:MOVA,#0FFH;不是关键字,置检索不成 功标志 vMOVFLAG,A vLOOP5:RET;检索程序结束 6.4 线性化处理技术 v为了得到线性输出的变量,需要引入非线 性补偿,将非线性关系转化成线性的,这 种转化过程称为线性化处理。 v最常用的是线性插值法和抛物线插值法 。 6.4.1 线性插值法 v1. 线性插值原理 v将输出特性曲线按一定的规则插入若干个点,将曲 线分成若干段,插入点X0和Xi之间的间距越小,那 么在区间(X0,Xi)上实际曲线和近似直线之间的误 差就越小。这就是线性插值法的思想。 v将相邻两点用直线连接起来,用直线替代相应的曲 线。这样,原来复杂的非线性关系就可以通过简单 的线性方程加以表示。 v(1)曲线斜率变化越小,替 代直线越逼近特性曲线,则线 性插值法带来的误差就越小。 因此,线性插值法适用于斜率 变化不大的特性曲线的线性化 。 v(2)插值基点取得越多,替 代直线越逼近实际的曲线,插 值计算的误差就越小。因此, 只要插值基点足够多,就可以 获得足够的精度。 传感器的输出特性曲线图 2. 线性插值的计算机实现 v利用计算机实现线性插值的步骤 如下: v(1)用实验法测出传感器输出特 性曲线,应尽可能保证该曲线的 精确性; v(2)选取插值点,将绘制好的曲 线分段。 v(3)计算并存储各相邻插值点间 逼近曲线的斜率Ki; v(4)计算X-Xi; v(5)读出X所在区间的斜率Ki, 计算Ki(X-Xi); v(6)计算。 计算机实现的线性插值计算流程图 3. 线性插值法非线性补偿实例 v热电偶的输出特性曲线 v由图可以看出,该热电偶的输出特性曲线斜率 的变化不大,可以采用线性插值法进行非线性 补偿。 v选择4个插值基点(V1,T1)、(V2,T2)、( V3,T3)、(V4,T4),然后写出每段曲线的 插值函数表达式,表达式如式所示。程序略 6.4.2 非线性插值法 v仅靠增加插值基点的数量来减少误差是不可行的。 v抛物线插值法可以很好的解决斜率变化较大曲线的 非线性补偿问题。 v抛物线插值法能够提高非线性补偿的精度 。 线性插值法和抛物线插值法补偿精度比较 6.5 量程自动转换和标度变换 v在计算机过程控制系统中,生产中的各个参 数都有着不同的数值和量纲 ,所有这些参数 都经过变送器,A/D转换器转换成数字量。 v为实现显示、记录、打印以及报警等操作, 必须把这些数字量转换成不同的单位,以便 操作人员对生产过程进行监视和管理,这就 是所谓的标度变换。 6.5.1 量程自动转换 v可编程增益放大器(PGA,Programmable Gain Amplifier) 是一种通用性很强的放大器,其放大倍数 可根据需要用程序进行控制,使A/D转换器满量程 信号达到均一化,而大大提高测量精度。 集成电路 PGA102 内部结构 增益可编程仪用放大器 v利用PGA可进行量程自动转换。特别是当被测参数 动态范围比较宽时,使用PGA的优越性更为显著。 6.5.2 线性参数标度变换 v1. 线性参数的标度变换 v所谓线性参数,指一次仪表测量值与A/D转换 结果具有线性关系 。 A0为一次测量仪表的下限; AM为一次测量仪表的上限; AX为实际测量值(工程量); N0为仪表下限对应的数字量; NM为仪表上限对应的数字量; NX为测量值所对应的数字量。 v例6.6 某热处理炉温度测量仪表的量程为200 800,在某一时刻计算机采样并经数字滤波后的 数字量为0xCDH。求此时温度值为多少(设仪表量 程为线性的)? v解 根据标度变换公式,已知A0200、AM800 。Nx0xCDH(205)D,NM0xFFH(255)D,所 以此时温度为 2. 非线性参数标度变换 v1) 公式变换法 v例如,在流量测量中,流量与差压间的关系式为 v据此,可得测量流量时的标度变换为 vGX为被测量的流量值; vGM为流量仪表的上限值; vG0为流量仪表的下限值; vNX为差压变送器所测得的差压值(数字量); vNM为差压变送器上限所对应的数字量; vN0为差压变送器下限所对应的数字量。 v2) 其他标度变换法 6.6 报警程序设计 v6.6.1 简单报警程序设计 v1. 微机测控系统中常用的报警方式 v1) 简单声光报警 v2) 声音报警驱动电路 声音集成芯片HY8000A系列引脚图与应用电路原理图简单报警电路原理图 2. 报警程序的设计技术 v1) 软件报警程序设计技术 v2) 硬件直接报警的程序设计技术 硬件直接报警原理图 6.6.2 越限报警程序设计 设定报警上下限回差带 v越限报警处理 v1上限报警: 若xnxmax,则上限报警,否则继续执行原定操作。 v2下限报警 若xnxmin,则下限报警,否则继续执行原定操作。 v3上下限报警 若xnxmax,则上限报警,否则对下式做判别: xnxmin否?若是则下限报警,否则继续原定操作。 6.7 DSP在数据处理中的应用 vDSP 芯片的特点 v(1) 具有乘法器和多功能单元。 v(2) DSP采用哈佛结构,具有独立程序总线和数据 总线,这样可同时取指令和取操作数。 v(3) 内部设有ROM和RAM,可通过独立的数据总线 在两块中间同时访问。 v(4) 采用流水线处理技术。在处理器中。流水线过程 使得若干条指令的不同阶段并行执行,因而可大大 地提高程序的执行速度。 2. DSP在滤波器中的应用 v(5) 具有特别的DSP指令。如:DMOV指令,用来完成数据 移位功能;LTD,它在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论