




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机控制技术
ComputerControlledSystem中南大学信息科学与工程学院袁艳Sunday,December11,2022计算机控制技术
ComputerControlledSy第六章应用程序设计与实现技术6.1程序设计技术
6.2数据结构及其应用技术(自学)6.3测量数据预处理技术6.4数字控制器的工程实现(自学)6.5系统的有限字长数值问题6.6软件抗干扰技术第六章应用程序设计与实现技术6.1程序设计技术一、计算机应用系统中的软件
软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合。程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能正常操纵信息的数据结构;文档是与程序开发,维护和使用有关的图文材料。主要包括系统软件、支持软件、应用软件。引言一、计算机应用系统中的软件引言系统软件用来管理计算机系统的资源,并以尽可能简便的形式向用户提供使用资源的服务,包括操作系统、系统实用程序、系统扩充程序(操作系统的扩充、汉化)、网络系统软件、设备驱动程序、通讯处理程序等。操作系统是最基本的系统软件,操作系统是一个功能强、规模大的管理程序。系统软件用来管理计算机系统的资源,并以尽可能简便的形式向用户支持软件辅助软件开发人员进行软件开发工作使用的各种工具软件,借以完成软件开发工作,提高软件生产效率,改善软件产品的质量等,它主要包括软件开发工具、软件评测工具、界面工具、转换工具、软件管理工具、语言处理程序、数据库管理系统、网络支持软件以及其他支持软件。支持软件辅助软件开发人员进行软件开发工作使用的各种工具软件,应用软件是软件公司或用户为解决某类应用问题而专门研制的软件。主要包括科学和工程计算机软件、文字处理软件、数据处理软件、图形软件、图象处理软件、应用数据库软件、事务管理软件、辅助类软件、控制类软件等。计算机控制系统软件属于应用软件,它主要实现企业对生产过程的实时控制和管理以及企业整体生产的管理控制。应用软件是软件公司或用户为解决某类应用问题而专门研制的软件。二、计算机控制系统中软件的发展1、小规模的、解决单一问题的应用程序。2、用于满足工业过程计算机控制系统不同控制规模的商品化软件。3、规范化、系统化的软件工程程序设计方法。二、计算机控制系统中软件的发展三、最基本的计算机控制系统应用软件1、直接(控制)程序参与系统的实际控制过程,完成各类信号的采集、处理和各类控制信号的输出任务。2、规范服务性程序如报表打印输出、报警输出、算法运行、各种画面显示等。3、辅助程序接口驱动程序、检验程序、设备自诊断程序等。三、最基本的计算机控制系统应用软件四、计算机控制系统软件功能实时数据采集:采集现场控制设备的数据,过程控制参数;控制策略:为控制系统提供可供选择的控制策略方案;闭环输出:在软件支持下进行闭环控制输出,以达到优化控制的目的;报警监视:处理数据报警及系统报警;画面显示:使来自设备的数据与计算机图形画面上的各元素关联起来;四、计算机控制系统软件功能报表输出:各类报表的生成和打印输出;数据存储:存储历史数据并支持历史数据的查询系统保护:自诊断、掉电处理、备用通道切换和为提高系统可靠性和维护性所采取的措施;通信功能:各控制单元间、操作站间、子系统间的数据通信功能;数据共享:具有与第三方程序的接口,方便数据共享。报表输出:各类报表的生成和打印输出;五、衡量一个控制系统软件性能优劣的主要指标系统功能是否完善,能否提供足够多的控制算法(包括若干种高级控制算法)。系统内各种功能能否完善地协调运行,如进行实时采样和控制输出的同时,又能同时显示画面,打印管理报表和进行数据通信操作。人机接口是否良好,有丰富的画面和报表形式,较多的操作指导信息。另外操作要方便、灵活。系统的可扩展性能如何,即是否能不断地满足用户的新要求和一些特殊的需求。五、衡量一个控制系统软件性能优劣的主要指标系统功能是否完善,六、程序设计步骤问题定义:明确计算机要完成那些任务、执行什么程序、决定输入输出的形式,与接口硬件电路的连接配合及出错处理方法。程序设计:利用程序对任务进行描述,使用的方法有模块程序设计法和结构化程序设计法;编码:选用一种适当的高级语言(或汇编语言)书写程序;调试:利用各种测试方法检查程序的正确性;改进和再设计:根据调试中的问题队员设计作修改,并对程序进行改进设计和补充。返回六、程序设计步骤返回6.1程序设计技术返回6.1.1模块化与结构化程序设计6.1.2高级语言与汇编语言混合编程6.1.3工业控制组态软件6.1程序设计技术返回6.1.1模块化与结构化程序设计6.1.1模块化与结构化程序设计设计过程:通过对软件的需求分析,要明确需要软件解决什么问题;而设计的作用,就是使开发出来的软件能够适用并真正解决问题。设计的两大过程:
总体设计:决定软件的总体结构;详细设计:决定软件中每一模块内部的逻辑过程。6.1.1模块化与结构化程序设计设计过程:通过对1、模块化程序设计
(1)概念:按适当的原则把一个复杂的软件划分为若干个相关而又相对独立的模块,每个模块执行单一的功能,并且具有单入口单出口结构。1、模块化程序设计软件划分模块时的原则每个模块应具有独立的功能,能产生一个明确的结果,即模块的高内聚性;模块之间的控制耦合应尽量简单,数据耦合应尽量少,即模块间的低耦合性;控制耦合:指模块进入和退出的条件及方式,数据耦合:指模块间的信息交换方式、交换信息量的多少及信息交换的频繁程度。模块长度适中,模块语句的长度通常在20~100条的范围较合适。软件划分模块时的原则模块化程序设计的优点单个模块结构的程序功能单一,因而易于编写、调试和修改。便于分工,可由多个程序设计人员同时进行编写、调试,可加快软件研制进度。使用频繁的子程序可以汇编成子程序库,以便于多个模块调用。程序的修改可局部进行,而其它部分则可以相对保持不变。程序可读性好,便于功能扩充和版本升级。模块化程序设计的优点主模块模块A模块B模块C模块E模块B模块D模块F模块G模块M模块D相同的子模块可以出现在不同的层次上。如图中模块B和模块C。每个模块应有模块说明,它包括实现模块功能所用的基本算法,模块入口参数与出口参数,模块的数据结构及调用子程序等。主模块模块A模块B模块C模块E模块B模块D模块F模块G模块M(2)自顶向下设计的方法程序设计者在开始设计时就有全局观点,对欲开发的软件有全面的了解;然后由顶层起逐层向下分解,直至所有的模块都达到便于管理的目的为止。
设计的大概步骤:①设计高层管理程序并进行测试,用“结点”代替未编码的底层模块;②对底层模块进行程序设计;③对最后形成的整个程序进行测试。此法适合于用高级语言来设计程序。(2)自顶向下设计的方法(3)自底向上设计方法首先对最低层模块进行编码、测试和调试;在这些模块正常工作的基础上,就可以用它们来开发较高层的模块。这种方法是汇编语言设计中常用的方法或是用于解决较小的问题。两种方法各有优缺点,实际工作中,将两种方法结合使用。(3)自底向上设计方法
2、结构化程序设计
结构化设计是一种程序设计技术,采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。它是从整个程序的结构出发,突出了程序模块的一种设计方法,它利用程序结构图表达程序模块之间的关系。程序清晰易读性强调试、修改方便任何程序都可以由三种基本结构程序构成——顺序结构、条件结构和循环结构。每个结构只有一个入口和一个出口,三种结构程序的任意组合和嵌套就构成了结构化的程序。2、结构化程序设计程序清晰易读性强调试、修改方便任何程ABEXPBAAEXPEXPA顺序结构选择结构循环结构IF-THEN-ELSEDO-WHILEABEXPBAAEXPEXPA顺序结构选择结构循环结构IF-应用程序的质量指标:1、时间指标:主要关心执行控制服务程序所需的时间,直接关系到计算时延,影响系统的性能。2、空间指标:指程序所占的容量,与之有关的因素有所确定的运算程序、所选数字信号的数制、所选择程序实现语言(汇编语言编程比高级语言占的容量小)。应用程序的质量指标:实时控制程序的基本流程:
以单通道为例,由两部分组成:1、初始化程序:用于设置控制参数、采样周期及I/O控制方式。2、控制服务程序(controlserviceroutine):指在一个控制步中需要完成的操作。基本操作为数据采集与输入、控制算法、控制量的输出与存储。
计算机控制系统应用工程中,还需考虑以下几个问题:人机对话程序、输入信号的预处理、故障检测与报警、系统运行状态的显示及记录、数制及代码转换程序等。返回实时控制程序的基本流程:返回6.1.2高级语言与汇编语言混合编程1、汇编语言编程
汇编语言编写的程序,比用高级语言编写的程序执行速度快,要求硬件资源少,常用来编写时钟管理、中断管理、和I/O程序,实时功能强。2、高级语言编程
高级语言用来编写计算、图形绘制、显示、打印程序,运算功能强。
在控制系统的应用程序编程中,常采用高级语言与汇编语言混合编程,混合编程的具体实现细节取决于所采用的集成编译环境。返回6.1.2高级语言与汇编语言混合编程1、汇编语言编程返回6.1.3工业控制组态软件传统的控制系统设计方法:硬件设计:芯片选择电路设计模块制作系统组装调试……软件设计:手工编程,工作量大,软件通用性差,可靠性低。目前较复杂的控制系统设计常采用硬件组态和软件组态的方法。软件组态用工业控制组态软件来实现。工业控制组态软件是标准化、规模化、商品化的通用过程控制软件。6.1.3工业控制组态软件传统的控制系统设计方法:1、组态软件的基本概念组态软件是监控系统的指挥中心,是监控系统发展的产物。经历了下面五种发展形式:集中式监控系统。以单板机为控制装置,与上位机通过串行口相连,所有模块集中在若干个机柜中。基于模拟仪表的监控系统。这类系统以“集散式控制系统DCS”为理论基础,采用成熟的模拟仪表,以“传感器、变送器、控制器和执行机构”为系统模型构成。一个变送器或执行机构用一对传输线来单向传送一个4~20mA或1~5V模拟信号。控制器可以是工控机、PLC、直接现场控制器和其他A/D采集设备。1、组态软件的基本概念基于智能仪表的监控系统。智能仪表是集遥测、遥控、遥信于一体的多功能监控装置,由软件算法和硬件电路组成,具有完备的通信联网功能,能通过网络传输数据。这类系统一般由监控主机、CPU模块、I/O模块、智能仪表、带电执行机构、MODBUS网络等组成。基于现场总路线的监控系统。FCS运用数字通信、计算机、自动控制、网络、智能仪表等先进技术,突破传统“点对点”模拟信号控制的局限性,具有全分散、开放性、全数字化、智能、双向、互联、多变量、多接点、多分支等特点。智能仪表、现场总线是FCS的技术关键。基于智能仪表的监控系统。智能仪表是集遥测、遥控、遥信于一体的基于计算机网络的监控系统。采用“TCP/IP以太网协议标准”,系统变得结构清晰、简单、开放性强,建模和仿真容易。在该类系统中,直接将I/O设备连到以太网或连到与以太网兼容的I/O数据集中器上,保留以太网的物理层及数据链路层协议,应用层使用现场总线定义的协议。
组态软件(监控组态软件或工控组态软件)为自动化工程技术人员提供了采用搭积木的方式制作现场控制过程和控制界面的工具。基于计算机网络的监控系统。采用“TCP/IP以太网协议标准”组态的概念最早来自“configuration”,其含义是使用软件工具对计算机及软件的各种资源进行配置,达到使计算机或软件按照预先设置,自动执行特定任务,满足使用者要求的目的。组态软件是面向监控与数据采集的软件平台工具,具有丰富的设置项目,使用方式灵活,功能强大。大部分DCS厂家的组态软件仍是专用的(即与硬件相关的),不可相互替代。现在,国内已出现了多家独立软件商,专门从事工业组态软件的开发。他们都在设法提供不同厂家、不同设备的对应I/O驱动模块,使组态软件越来越趋于通用。组态的概念最早来自“configuration”,其含2、组态软件的发展背景组态软件是伴随着计算机技术的突飞猛进发展起来的。在20世纪60年代,计算机开始涉足工业过程控制,但由于计算机人员缺乏工厂仪表和工业过程的知识,导致计算机工业过程控制系统在各行业的推广速度比较缓慢。20世纪70年代初期,微处理器的出现,促进了计算机控制技术走向成熟。有代表性的产品是1975年美国Honeywell公司推出的世界上第一套DCSTDC-2000。而随后的20年间,DCS及计算机控制技术日趋成熟,得到广泛应用,但软件仍是专用和封闭的。2、组态软件的发展背景
20世纪80年代中后期,随着个人计算机的普及和开放系统(Opensystem)概念的推广,基于个人计算机的监控系统开始进入市场,并发展壮大。组态软件作为个人计算机监控系统的重要组成部分,比PC监控的硬件系统具有更为广阔的发展空间。目前,多数组态软件都是在Windows3.1或3.2操作系统下逐渐成熟起来的,绝大多数都运行在Windows98/NT/XP环境下。较理想的运行环境是WindowsNT或Windows2000操作系统,可靠性和实时性都较好。20世纪80年代中后期,随着个人计算机的普及和开放系统国外软件商提供的组态软件产品:
德国Seimens公司的WinCC美国Wonderware公司的Intouch美国Intellution公司的iFix/Fix美国Rockwell公司的RSView
国内自行开发的产品的组态软件产品:
北京亚控的组态王、三维力控科技的力控、昆仑通态的MCGS、华富的Controlx国外软件商提供的组态软件产品:3、组态软件的发展趋势组态软件作为单独行业出现是历史的必然。组态软件的发展与成长和网络技术的发展与普及密不可分。现场总线技术的成熟促进了组态软件的应用,给组态软件带来更多机遇。能够同时兼容多种操作系统平台是组态软件的发展方向之一。组态软件在嵌入式方案中将发挥更大作用。分为两种:带显示器/键盘和不带显示器/键盘。组态软件在CIMS(计算机集成制造系统)应用中将起到重要作用。信息化社会的到来为组态软件拓展了更多的应用领域。3、组态软件的发展趋势4、组态软件的基本结构一般由系统开发环境和系统运行环境两大部分构成。系统开发环境:是自动化工程设计工程师为实施其控制方案,在组态软件的支持下进行应用程序的系统生成工作所必须依赖的工作环境。通过建立一系列用户数据文件,生成最终的图形目标应用系统,供系统运行环境运行时使用。系统开发环境由若干个组态程序组成,如图形界面组态程序、实时数据库组态程序等。4、组态软件的基本结构系统运行环境:在系统运行环境下,目标应用程序被装入计算机内存并投入实时运行。系统运行环境由若干个运行程序组成。如图形界面运行程序、实时数据库运行程序等。组态软件支持在线组态技术,可在不退出系统运行环境的情况下直接进入组态环境并使修改后的组态直接生效。系统运行环境:在系统运行环境下,目标应用程序被装入计算机内存基本组态软件必备的功能组件包括以下四个部分:应用程序管理器:提供应用程序的搜索、备份、解压缩、建立新应用等功能的专用管理工具。图形界面开发/运行程序。它是一个进行图形系统生成工作所依赖的开发环境,通过建立一系列用户数据文件,生成最终的图形目标应用系统。生成的图形目标应用系统可在图形运行环境中运行。基本组态软件必备的功能组件包括以下四个部分:实时数据库系统组态/运行程序:较先进的组态软件都有独立的实时数据库组件,以提高系统的实时性,增强处理能力。实时数据库系统组态程序是建立实时数据库的组态工具,可以定义实时数据库结构、数据来源、数据连接、数据类型及相关的各种参数,生成目标实时数据库。生成的目标实时数据库可在实时数据库运行环境中运行。I/O驱动程序:是组态软件中必不可少的组成部分,用于和I/O设备通信,互相交换数据。实时数据库系统组态/运行程序:较先进的组态软件都有独立的实时典型的组态软件还应包括下列功能组件:通用数据库接口(ODBC)。完成组态软件的实时数据库与通用数据库的互联,实现双向数据交换。策略(控制方案)编辑/生成组件。具有很强的逻辑、算术运算能力和丰富的控制算法。实时通信程序组件。实现与第三方程序的数据交换,是组态软件成为开放系统的标志。典型的组态软件还应包括下列功能组件:组态软件的基本功能模块:
I/O模块;图形界面生成模块;报警模块;数据库生成模块(包括实时数据库和历史数据库);策略模块;数据存档与交换模块;报表生成模块;网络配置模块。
5、组态软件的特点实时多任务、接口开放、使用灵活、功能多样、运行可靠等。组态软件的基本功能模块:6、主要解决的问题如何与采集、控制设备间进行数据交换;使来自设备的数据与计算机图形画面上的各元素关联起来;处理数据报警及系统报警;存储历史数据并支持历史数据的查询;各类报表的生成和打印输出;为使用者提供灵活、多变的组态工具,以适应不同应用领域的需求;最终生成的应用系统运行稳定可靠;具有与第三方程序的接口,方便数据共享。6、主要解决的问题7、组态软件的开发环境组态软件的开发工具以C++为主,也有少数使用Delphi或C++Buider。前者开发的产品运行效率更高,程序代码较短,运行速度更快,但开发周期要长一些。7、组态软件的开发环境8、组态软件的一般使用步骤将所有I/O点的参数收集齐全,并填写表格,以备在监控组态软件和PLC上组态时使用。搞清楚所使用的I/O设备的生产商、种类、型号,使用的通信接口类型,采用的通信协议,以便在定义I/O设备时做出准确选择。将所有I/O点的I/O标识收集,并填写表格。I/O标识是唯一确定一个I/O点的关键字,组态软件通过向I/O设备发出I/O标识来请求其对应的数据。根据工艺过程绘制、设计画面结构和画面草图。8、组态软件的一般使用步骤接照第1步统计出的表格,建立实时数据库,正确组态各种变量参数。根据第1、3步的统计结果,在实时数据库中建立实时数据库变量与I/O点的一一对应关系,即定义数据连接。根据第4步的画面结构和画面草图,组态第一幅静态的操作画面(主要是绘图)。将操作画面中的图形对象与实时数据库变量建立动画连接关系,规定动画属性和幅度。对组态内容进行分段和总体调试。系统投入运行。接照第1步统计出的表格,建立实时数据库,正确组态各种变量参数下面演示的是一些商品化的工控软件组态图片、实时运行的一些屏幕拷贝图片,以及代表工控软件发展趋势的基于Web技术的HMI(HumanMachineInterface)。下面演示的是一些商品化的工控软件组态图片、实时运行的一些商品化的工业控制组态软件示例之一——正在组态过程商品化的工业控制组态软件示例之一——正在组态过程商品化的工业控制组态软件示例之二——连续系统商品化的工业控制组态软件示例之二——连续系统商品化的工业控制组态软件示例之三——间歇系统商品化的工业控制组态软件示例之三——间歇系统商品化的工业控制组态软件示例之四——异地系统监控商品化的工业控制组态软件示例之四——异地系统监控实际运行的工控软件示例之一——多效蒸发工艺流程图实际运行的工控软件示例之一——多效蒸发工艺流程图实际运行的工控软件示例之二——I效蒸发器工艺流程详图实际运行的工控软件示例之二——I效蒸发器工艺流程详图实际运行的工控软件示例之三——四条参数趋势图实际运行的工控软件示例之三——四条参数趋势图实际运行的工控软件示例之四——主参数趋势详图实际运行的工控软件示例之四——主参数趋势详图实际运行的工控软件示例之五——近期报警记录实际运行的工控软件示例之五——近期报警记录基于Web的HMI之一——同时打开多个浏览器窗口基于Web的HMI之一——同时打开多个浏览器窗口基于Web的HMI示例之二返回基于Web的HMI示例之二返回6.3测量数据预处理技术返回
6.3.1系统误差的自动校准
6.3.2线性化处理和非线性补偿
6.3.3标度变换方法
6.3.4越限报警处理
最基本的预处理:有效性检查、线性化处理、标度变换、系统误差的自动校准、数字滤波等。6.3测量数据预处理技术返回6.3.1系统误差的数据处理从一般意义上说应包括三方面内容:一是对传感器输出的信号进行放大、滤波、I/V转换等处理,通常称为信号调理;二是对采集到计算机中的信号数据进行进行一些处理,如进行系统误差校正、数字滤波,逻辑判断、标度变换等处理,通常称之为一次处理;三是对经过前两步得到的测量数据进行分析,寻找规律,判断事物性质,生成所需要的控制信号,此称为二次处理。信号调理都是由硬件完成,而一次和二次处理一般由软件实现。通常所说的数据处理多指上述的一次处理。一次处理的主要任务是提高检测数据的可靠性,并使数据格式化、标准化,以便运算、显示、打印或记录。数据处理从一般意义上说应包括三方面内容:6.3.1系统误差的自动校准系统误差:在相同条件下,经过多次测量,误差的数值保持不变或条件变化时误差的数值按一定规律变化。系统误差的特点:规律可掌握、原因可知。
处理原则:通过一定的技术途径来确定并校正。
测量输入通道中常见的系统误差:零点漂移和偏移,放大电路的增益误差及器件参数的不稳定。6.3.1系统误差的自动校准系统误差:在相同条件下,经过常用的处理方法:数字调零、全自动校准、人工自动校准。1、数字调零调零电路如图所示。常用的处理方法:数字调零、全自动校准、人工自动校准。调零过程:⑴将多路输入接被测信号,测得A/D转换器输出x1;⑵将多路输入接地,测得A/D转换器输出x0;则被测量的实际测得值为:作用:消除输入电路、放大电路、A/D转换器的偏移及随时间和温度而发生的漂移的影响;优点:可适度降低对电路器件的偏移值的要求,降低硬件成本。调零过程:作用:消除输入电路、放大电路、A/D转换器的偏移及2、全自动校准自动校准的基本思想:在系统开机后或每隔一定时间自动测量基准参数,计算误差模型,获得并存储误差补偿因子;在正式测量时,根据测量结果和误差补偿因子,计算校准方程,从而消除误差。全自动校准电路如图:2、全自动校准校准过程:⑴将开关接地,测得A/D转换器的输出x0;⑵将开关接基准电压VR,测得A/D转换器的输出x1;
实际测量时,如测出的输入值为x,则此时的V可用下式计算:优点:既可消除零点漂移和偏移的影响,又可消除放大器增益变化的影响,降低了对元器件的要求。校准过程:优点:既可消除零点漂移和偏移的影响,又可消除放大器证:设G为已知的放大器的增益,ε为折算到输入端的增益及漂移变化的影响,经过一段时间后,此时,被测电压的实际值为:证:设G为已知的放大器的增益,此时,被测电压的实际值为:①若不考虑器件参数变化,则会认为:②若进行数字调零,则会认为:根据以上两式计算得到的电压V,都会含有误差③若为消除误差,得到精确的测量值,每次重新测量ε和G,则测量过程繁琐困难。为此,考虑采用自动校准方式测量,得各测得值为:①若不考虑器件参数变化,则会认为:②若进行数字调零,则会采用下式计算:无需测量ε和G就消除了器件参数变化的影响。采用下式计算:无需测量ε和G就消除了器件参数变化的影响。3、人工自动校准全自动校准的缺点:只适用于基准信号是电信号的场合;不能校正由传感器引入的误差。人工自动校准原理与全自动校准的不同:①基准信号来源不同,②不是自动定时校准,在需要时由人工接入标准参数进行校准测量。③零信号的补偿由数字调零完成。电路图如图所示。3、人工自动校准
yR:标准输入信号;经数字调零后的输出值为xR
y:被测信号;经数字调零后的输出值为x则被测值为:返回适用场合:传感器特性随时间发生变化的场合。例如湿敏电容作为湿度传感器,其特性随时间变化,每三个月需做一次校准。yR:标准输入信号;经数字调零后的输出值为xR返回6.3.2线性化处理和非线性补偿传感器具有非线性转换特性,所测量的模拟信号与被测量的参数不是线性关系,但为了便于显示和数据处理,希望计算机输出的数据与被测物理量之间的数值是线性的,因此需进行线性化处理及非线性补偿,将非线性关系转化成线性关系。常用的方法有查表法、用数学表达式换算和采用折线近似及线性插值三种。6.3.2线性化处理和非线性补偿传感器具有非线性转换1、查表法传感器的特性是非线性,且测量数据和转换的电信号之间无明确、简便的数学表达式,如指数、对数、三角函数、积分、微分等运算,可用查表法对其进行线性化处理。查表法是一种较精确的非线性处理方法。其原理是:预制一张表格,将测量数据和转换的电信号之间的关系置于表格中,通过查表程序根据测量数据查出所需的结果。1、查表法实现步骤:
(1)造表(分度表):确定一块连续内存区,将对应参数Ai的Bi值存入相应的内存区。
(2)查表:设有待查参数Am,按参数存入的规律从内存区中取出所对应的Bm。
优点:迅速准确,且可以把标度变换一起考虑。但如果描述的对象变化范围较大或变化剧烈时,要求参数A和B的数量将会很大,表的存储量大,表的生成、维护、查表将变得困难。实现步骤:在0~850℃范围内,有:2、用数学表达式换算传感器的特性是非线性的,但测量数据与转换的电信号之间有明确的数学表达式。如铂热电阻的阻值与温度的关系,在-200~0℃范围内,有:在0~850℃范围内,有:2、用数学表达式换算3、折线近似及线性插值在工程实际中,除了某些非线性参数关系可以用数学表达式表示的情况外,还有许多不能用数学方程描述而只能用实验的方法得到它们之间的变化曲线。为了得到输入与输出的对应关系,可将曲线分成若干段,然后进行分段线性化,用多段折线代替曲线。
3、折线近似及线性插值
从图中可以看出:(1)曲线斜率变化越小,替代直线越逼近特性曲线,则线性插值法带来的误差就越小。因此,线性插值法适用于斜率变化不大的特性曲线的线性化。(2)插值基点取得越多,替代直线越逼近实际的曲线,插值计算的误差就越小。因此,只要插值基点足够多,就可以获得足够的精度。但相应的软件开销也增加。
线性化过程:(1)用实验法测出传感器输出特性曲线,应尽可能保证该曲线的精确性;(2)选取插值点,将绘制好的曲线分段。从图中可以看出:(1)曲线斜率变化越小,替代直线越逼(3)计算并存储各相邻插值点间逼近曲线的斜率Ki;(4)判断X所在区间,读出X所在区间的斜率Ki及Xi
、Yi,计算(X-Xi);(5)计算Ki(X-Xi);(6)计算X对应的线性值Y=Yi+Ki(X-Xi)。还可进行二次抛物线插值。返回(3)计算并存储各相邻插值点间逼近曲线的斜率Ki;返回6.3.3标度变换方法在计算机系统中,经传感器和A/D变换后得到的一系列数字量并不等于与原来带有量纲的参数值,仅对应于参数值的大小,故必须把它们转化为带有量纲的数值才能运算、显示和打印输出,这称为标度变换。标度变换所采用的方法,取决于传感器的类型。1、线性变换公式前提:参数值与A/D转换结果之间呈线性关系,变换公式:6.3.3标度变换方法在计算机系统中,经传感器和A/其中,Y、Ymax、Ymin是带量纲的参数值X、Nmax、Nmin是A/D转换后无量纲的数值量对于一个具体的测量过程,Ymax、Ymin、Nmax、Nmin是已知的,为简化计算,则常用公式:在实时计算Y时,只需作一次乘法、一次加法。其中,Y、Ymax、Ymin是带量纲的参数值在实时计算Y时,第6章-应用程序设计与实现技术-计算机控制技术-课件-2、公式转换法
前提:传感器测出的数据与实际的参数不是线性关系,它们有着由传感器和测量方法决定的函数关系,且这些函数关系可用解析式表示,这是直接用解析式进行标度变换。例如用差压变送器测流量,2、公式转换法3、其它标度变换法对于不能用公式表达或公式相当复杂的传感器,可采用多项式插值法,也可以采用线性插值法或查表进行变换。返回3、其它标度变换法返回6.3.4越限报警处理判断采样数据或计算机处理的数据是否超过工艺参数范围,若超过则需采取相应的措施。1.上限报警若xn>xmax,则上限报警,否则继续执行原定操作。2.下限报警若xn<xmin,则下限报警,否则继续执行原定操作。3.上下限报警若xn>xmax,则上限报警,否则对下式做判别:xn<xmin否?若是则下限报警,否则继续原定操作。6.3.4越限报警处理判断采样数据或计算机处理如图所示锅炉水位调节系统。图中锅炉正常工作的主要指标是汽包水位:液面太高会影响汽包的蒸汽产量;水位过低则有爆炸的危险。
HHJ
变送器cba++
预热管水传感器传感器蒸汽蒸汽流量bac液面高度汽包水流量变速器变送器如图所示锅炉水位调节系统。图中锅炉正常工作的主要指标是汽包水为及时监视锅炉情况,系统有三个参数报警系统,即水位上下限,炉膛温度上下限,蒸汽压力下限报警,如下图所示。当系统各个参数全部正常时,绿灯亮;若有不正常参数,则发出声光报警信号。
正常运转
蒸汽压力下限报警
炉膛温度下限报警
炉膛温度上限报警
水位下限报警
水位上限报警
1
LEDGN1
LEDRD1
LEDRD1
LEDRD7PBA82551
LEDRD1
LEDRD6PB5PB3PB2PB1PB0PB4PB1
电笛0674LS3X2X1X为及时监视锅炉情况,系统有三个参数报警系统,即水位上下限,炉在实际系统中,程序通常对被控参数、偏差、偏差变化率、控制量进行上下限检查。返回在实际系统中,程序通常对被控参数、偏差、偏差变化率、控制量6.4数字控制器的工程实现返回6.4.1给定值和被控量处理6.4.2偏差处理6.4.3控制算法的实现6.4.4控制量处理6.4.5自动手动切换6.4数字控制器的工程实现返回6.4.1给定值和被控量处图5.7数字控制器(PID)的实现结构①控制器的算法程序公用,需考虑不同的工况,具多种功能。②各回路提供的原始数据不同,需为每个回路提供一段内存数据区存放参数值。图5.7数字控制器(PID)的实现结构①控制器的算法程序6.4.1给定值和被控量处理1、给定值的处理包括选择给定值SV和给定值变化率SR限制两部分。如图:6.4.1给定值和被控量处理1、给定值的处理通过选择软开关CL/CR,可以构成内给定状态或外给定状态;通过选择软开关CAS/SCC,可以构成串级控制或SCC控制;⑴内给定状态CL单回路控制,操作员设定SVL,利用给定值键改变给定值;⑵外给定状态CR①SCC控制SCC,实现计算机二级控制,给定值SVS来自上位机;通过选择软开关CL/CR,可以构成内给定状态或外给定状态②串级控制CAS实现串级控制,给定值SVC来自主控回路⑶给定值变化率限制目的:减少给定值突变对控制系统的扰动,防止比例、为分饱和,实现平稳控制。变化率的选择要适中。调用该给定值处理算法的控制回路需设置以下参数值:3个输入量(SVL,SVC,SVS);2个输出量(SV,CSV);2个开关量(CL/CR,CAS/SCC);1个变化率(SR)。②串级控制CAS2、被控量处理为安全运行,对被控量实行上、下限报警处理;为平稳控制,对被控量的变化率PR进行限制。
当PV>PH(上限值)时,上限报警状态(PHA)为“1”;当PV<PL(下限值)时,下限报警状态(PLA)为“1”。2、被控量处理报警手段:声、光、屏幕提示等。被控量处理数据区:1个输入量PV,3个输出量PHA、PLA、CPV,4个参数PH、PL、HY、PR。返回报警手段:声、光、屏幕提示等。返回6.4.2偏差处理包含计算偏差、偏差报警、非线性特性、输入补偿四部分,如图:6.4.2偏差处理包含计算偏差、偏差报警、非线性特性、输1、计算偏差D/R=0时,DV=CPV-CSVD/R=1时,DV=CSV–CPV
2、偏差报警
|DV|>DL时,DLA为“1”3、输入补偿
根据ICM的状态决定偏差是否实行补偿:当ICM=0时,无补偿,偏差输出CDV=DVC;当ICM=1时,加补偿,偏差输出CDV=DVC+ICV;(前馈)当ICM=0时,减补偿,偏差输出CDV=DVC-ICV(Smith补偿器)当ICM=0时,置换补偿,偏差输出CDV=ICV;1、计算偏差加补偿可实现前馈串级控制,如图。加补偿可实现前馈串级控制,如图。减补偿可实现纯滞后补偿(Smith)控制,如图。减补偿可实现纯滞后补偿(Smith)控制,如图。4、非线性特性为实现非线性PID控制或带死区的PID控制,设置非线性区[-A,+A]和非线性增益K,非线性特性如图:在死区[-A,+A]上,当K=0时,为带死区的PID控制;当0<K<1,为非线性的PID控制;当K=1时,为正常的PID控制。4、非线性特性在死区[-A,+A]上,偏差处理数据区:1个输入补偿量ICV,2个输出补偿量DLA、CDV,2个状态量D/R和ICM,4个参数DL、-A、+A和K。返回偏差处理数据区:1个输入补偿量ICV,2个输出补6.4.3控制算法的实现包含:按各种控制算法的差分方程计算控制量;对控制量进行上、下限限幅处理。以PID控制算法为例,如图:6.4.3控制算法的实现包含:按各种控制算法的差分方程计算当DV/PV切向DV时,为常规PID控制;当DV/PV切向PV时,为微分先行的PID控制;在PID算法数据区,存放PID参数KP、TI、TD和采样周期T,微分方式DV/PV,积分分离值,控制量上下限MH、ML,控制量Uk以及历史数据e(k-1)、e(k-2)和u(k-1)等。返回当DV/PV切向DV时,为常规PID控制;返回6.4.4控制量处理目的:扩展控制功能,实现安全平稳控制。6.4.4控制量处理目的:扩展控制功能,实现安全平稳控制。1、输出补偿根据OCM的状态决定Uk与OCV的关系当OCM=0,无补偿,Uc=Uk;当OCM=1,加补偿,Uc=Uk+OCV;当OCM=2,减补偿,Uc=Uk-OCV;当OCM=3,置换补偿,Uc=OCV;利用输出补偿可灵活组成复杂的控制器。例如:①用加补偿,实现前馈反馈控制器,Un作为加补偿控制量;②利用置换补偿实现Bang-Bang控制,OCV=1,取|u(t)|=1。1、输出补偿前馈控制中,un作为加补偿前馈控制中,un作为加补偿2、变化率限制
MR的选区要适中,太小则操作缓慢,太大则达不到限制的目的。3、输出保持FH/NH信号来自系统安全报警开关,FH/NH切向NH,则u(k)=u(k-1)输出保持。4、安全输出FS/NS信号来自系统安全报警开关FS/NS切向NS,则u(k)=MS安全输出量,控制量处理数据区:OCV、OCM、MR、FH/NH、FS/NS、MS、CMV。返回2、变化率限制返回6.4.5自动手动切换正常运行时,系统处于自动状态,调试或出故障时处于手动状态,如图:6.4.5自动手动切换正常运行时,系统处于自动状态,调试1、软自动/软手动;2、控制量限幅;3、自动/手动;4、平衡无扰动切换:保证切换时,不对执行机构的现有位置产生扰动。数据区需存放的数据:SMV、SA/SM、MH、ML、MV、HA/HM、VM等。只有正确填写了PID数据区后,才能实现PID控制。返回1、软自动/软手动;返回6.5系统的有限字长数值问题返回6.5.1量化误差来源6.5.2A/D、D/A及运算字长的选择6.5系统的有限字长数值问题返回6.5.1量化误差来源6.5.1量化误差来源在计算机系统中,A/D、D/A转换器和计算机的字长均为有限位,因而在表示一个具体数值时不可避免的存在误差,对系统的控制性能造成影响。6.5.1量化误差来源在计算机系统中,A/D、D/A1、量化误差(quantizationerror)⑴设计算机字长为n1,采用定点无符号数,机内数的最小单位q,称为量化单位。⑵当机器的有效位数为n1,将[xmin,xmax]范围内的模拟量表示为数字量,则:1、量化误差(quantizationerror)例如,输入模拟电压为0~5v,采用8位、12位A/D转换器,则:⑶通过A/D转换可计算出模拟电压x相当于多少个整量化单位:其中为余数,。余数可用截尾和舍入来处理。例如,输入模拟电压为0~5v,采用8位、12位A/D转换器①截尾:对于直接舍掉数值中小于q的余数,x被机器表示为:,A/D转换值为L,截尾误差为:②舍入:对于①截尾:对于②舍入:对于因而当用舍入方法对余数进行处理时,舍入误差为:因而当用舍入方法对余数进行处理时,舍入误差为:2、量化误差的来源⑴A/D转化的量化效应;⑵控制规律计算中的量化效应;计算所用字长n2是有限的,计算过程中产生量化误差;在计算中,采用浮点运算,精度高、计算复杂,计算产生的量化误差可忽略,但实时难以保证;采用定点运算实时性好、但精度较低,将引入量化误差。⑶控制参数的量化效应例如,Kp、TI、TD等参数表示成量化值会产生量化误差。⑷D/A转换的量化效应由于计算所用字长通常比D/A转换器的字长要长。返回2、量化误差的来源返回6.5.2A/D、D/A及运算字长的选择在可能的情况下,尽量加大字长,减小量化误差。1、A/D转换器字长的选择考虑的因素:输入信号x的动态范围和分辨率⑴输入信号的动态范围则动态范围为:6.5.2A/D、D/A及运算字长的选择在可能的情况下,尽A/D转换器的字长为:⑵分辨率对字长的要求以分辨率的形式给出:A/D转换器的字长为:⑵分辨率例如,某温度控制系统的温度范围为0至200℃,要求分辨率为0.005(即相当于1℃),则可选择的A/D转换器的字长为:A/D转换器字长取为8位。例如,某温度控制系统的温度范围为0至200℃,要求分辨率为02、D/A转换器字长的选择设执行机构的输入范围为:[umin,umax],灵敏度为λ,则D/A转换器字长n1为:一般选D/A字长小于或等于A/D字长。2、D/A转换器字长的选择一般选D/A字长小于或等于A/D字3、运算字长的选取运算字长要大于n1。一般至少采用16位。运算精度既取决于运算字长,又取决于运算方式是定点运算还是浮点运算。为保持参与控制的信号的统一性,计算机控制系统的输入、运算和输出信号一般都采用标准数0至1表示。3、运算字长的选取表6.1输入标准数对应关系温度℃12位A/D双字节定点数输入标准数0000H00.000000000000000400400H00.010000000000000.25800800H00.100000000000000.501200C00H00.110000000000000.751600FFFH00.111111111111000.99975586表6.1输入标准数对应关系温度℃12位A/D双字节定点输出标准数12位D/A数字位输出电流(mA)MSBLSB00000000000000.00.250100000000002.50.501000000000005.00.751100000000007.50.9997558611111111111110.0表6.2输出标准数对应关系输出标准数12位D/A数字位输出电流(mA)MSB结论:①输入标准数的0至1对应A/D转换结果的全0至全1;②输出标准数的0至1对应D/A转换器数字位的全0至全1。结论:为将系统中的各参数表示为标准数,需为各参数配置比例因子。对于一个具体系统的设计,各比例因子的配置应该保证运算工程中不会过多产生计算结果的溢出,避免影响系统性能。为提高运算精度,可采用浮点数。其不足之处是运算复杂,既要作阶码运算,又要作尾数运算,且必须阶码对齐才能作加、减运算。返回为将系统中的各参数表示为标准数,需为各参数配置比例因子。6.6软件抗干扰技术返回6.6.1数字滤波技术6.6.2开关量的软件抗干扰技术6.6.3指令冗余技术6.6.4软件陷阱技术6.6软件抗干扰技术返回6.6.1数字滤波技术噪声分为两类:一类为周期性,典型代表为50Hz的工频干扰,对于这类信号,采用积分时间等于20ms的整数倍的双积分A/D转换器,就可以有效地消除。另一类是不规则的随机信号,对此可以用数字滤波方法予以消除或过滤。噪声分为两类:6.6.1数字滤波技术
数字滤波:通过一定的计算或判断程序减少干扰在有用信号中的比重,是程序(软件)滤波。
和模拟滤波装置相比,数字滤波有以下几个优点:(1)数字滤波通过程序实现,不需硬件设备,系统的可靠性较高、稳定性好。(2)数字滤波可实现多通道共用。(3)可对低频信号(如0.01Hz)实现滤波。(4)采用不同的算法和参数就可实现对不同信号的滤波,使用起来灵活、方便。6.6.1数字滤波技术数字滤波:通过一定的计算或判断程序1、算术平均值滤波
所谓算术平均值滤波就是把k时刻的N个采样值xi相加,然后取其算术平均值作为本次有效的采样信号,即:为最小。可使得偏差1、算术平均值滤波为最小。可使得偏差第6章-应用程序设计与实现技术-计算机控制技术-课件-作用:用于降低随机噪声的影响,提高信噪比。设第i次测量值包含信号成分si和噪声成分ci,则:由于随机信号具有抵偿性:当N趋于无穷时,其平均值趋于零。因而,只要N大,则随机误差的影响就小。作用:用于降低随机噪声的影响,提高信噪比。由于随机信号具有抵算术平均值法适用于随机干扰信号的滤波。尤其对于在某个值附近上下波动的参数的测量很有效,例如:流量、液平面信号的测量。测量次数N的大小受实际情况的限制,N大,随机噪声的影响小,平滑性好,但系统灵敏度降低;N小,随机噪声滤除效果稍差,系统灵敏度高。N一般可选为2的幂,在汇编语言实现时只需对累加结果进行一定次数的移位操作即可,节省运算时间。经验数据:流量测量N=8~16;压力测量N=4;温度无噪声时可不平均。算术平均值法适用于随机干扰信号的滤波。尤其对于在某个值附2、中位值滤波所谓中位值滤波法就是采样周期到时,对某一被测参数连续采样m次(m≥3且一般取奇数),即所谓“密集采样”,然后把m次采样值按大小顺序排列,取其中间值做为本次采样有效数据。2、中位值滤波第6章-应用程序设计与实现技术-计算机控制技术-课件-中位值滤波能有效地克服因偶然因素引起的波动或采样器不稳定引起的误码等造成的脉冲干扰。对缓慢变化的过程采用中位值滤波有良好的效果。n越大,排序算法所占的时间越长。中位值滤波能有效地克服因偶然因素引起的波动或采样器不稳定引中位值滤波法和算术平均值滤波法结合使用:①在每个采样周期,先用中位值滤波法得到m个滤波值;②在这m个值中取中间3值或5值进行算术平均,得该时刻的测量值。中位值滤波法和算术平均值滤波法结合使用:3、限幅滤波根据实际信号的变化范围,设定上、下限限幅也常采用限速(变化率限制)3、限幅滤波也常采用限速(变化率限制)必须按实际情况设定yH、yL、△y0,以保证控制品质。通常按照参数可能的最大变化速度及采样周期T,决定△y0值。适用于偶然的大的脉冲干扰或采样器的不稳定,使得采样值偏离实际值太远。必须按实际情况设定yH、yL、△y0,以保证控制品质。适
4、惯性滤波法模拟惯性滤波器的传递函数为:其中滤波时间常数,滤波特性取决于RC的值。4、惯性滤波法其中滤波时间常数RC越大,则低通滤波效果越好。但实际的电阻和电容值不可能很大,因而RC滤波器不能实现对极低频率信号的滤波。RC越大,则低通滤波效果越好。但实际的电阻和电容值不可能将RC滤波器的传递函数离散化,得:将RC滤波器的传递函数离散化,得:若α越大,则Tf越大,带宽越窄,可实现对极低频率信号的滤波。
α值的选取,应使得被测参数既不出现明显纹波(α要较大),反应又不太迟缓(α不能太大)。一阶惯性滤波通常与PI控制一同使用。(不完全微分PID算法中用到一阶惯性滤波环节);一阶惯性滤波用于高频及低频干扰信号的滤除。若α越大,则Tf越大,带宽越窄,可实现对极低频率信号的滤5、递推平均滤波法算术平均滤波法,每计算一次数据,需采样N次。对于采样速度较慢或要求数据计算速度较高的系统,该方法是无法使用的。例如某A/D芯片转换速率为10次/s,而要求每秒输入4次数据时,则N不能大于2。5、递推平均滤波法算术平均滤波法,每计算一次数据,需采递推平均滤波法,只需进行一次测量,就能得到当前算术平均滤波值。把N个采样数据看成一个队列,队列的长度固定为N,每进行一次新的采样,把采样结果放入队尾,而扔掉原来队首的一次数据。在队列中始终有N个的数据,计算滤波值时,只要把队列中的N个数据进行算术平均,就可得到新的滤波值。这样每进行一次采样,就可计算得到一个新的平均滤波值。递推平均滤波法,只需进行一次测量,就第n次采样值经滤波后的输出未经滤波的第n-i次采样值递推平均项数第n次采样值经滤波后的输出未经滤波的第n-i次采样值递推第6章-应用程序设计与实现技术-计算机控制技术-课件-递推平均滤波算法对周期性干扰有良好的抑制作用,平滑度高,灵敏度低;对偶然出现的脉冲性干扰的抑制作用差,不易消除由于脉冲干扰引起的采样值偏差,因此它不适用于脉冲干扰比较严重的场合,而适用于高频振荡的系统。递推平均滤波算法对周期性干扰有良好的抑制通过观察不同N值下递推平均的输出响应来选取N值,以便既少占用计算机时间,又能达到最好的滤波效果。
N的工程经验值如下:流量 12压力4液面4~12温度1~4通过观察不同N值下递推平均的输出响应来选取N6、加权递推平均滤波法算术平均滤波法和递推平均滤波法中,N次采样值在输出结果中的比重是均等的,即1/N。用这样的滤波算法,对于测量信号会引入滞后,N越大,滞后越严重。为了增加最新采样数据在递推平均中的比重,以提高系统对当前采样值的灵敏度,可以采用加权递推平均滤波算法。6、加权递推平均滤波法算术平均滤波法和递推平加权递推平均滤波算法是递推平均滤波算法的改进,即不同时刻的数据加以不同的权,通常越接近当前时刻的数据,权取得越大,N项加权递推平均滤波算法为加权递推平均滤波算法是递推平均滤波算法的改上式中,C0,C1,……,CN-1为常数,且满足如下条件:C0+C1+……+CN-1=1C0>C1>……>CN-1>0给予新的采样值的权系数较大,给予先前采样值权系数较小,从而提高了新的采样值在平均过程中的比重。上式中,C0,C1,……,CN-1为常数,且所以加权递推平均滤波算法适用于有较大纯滞后时间常数的对象和采样周期较短的系统,而对于纯滞后时间常数较小、采样周期较长、变化缓慢的信号,则不能迅速反映系统当前所受干扰的严重程度,滤波效果差。所以加权递推平均滤波算法适用于有较大纯滞后时间常数的对象和以上讨论了6种数字滤波方法,在实际应用中,究竞选取哪一种数字滤波方法,应视具体情况而定。平均值滤波法适用于周期性干扰中位值滤波法和限幅滤波法适用于偶然的脉冲干扰惯性滤波法适用于高频及低频的干扰信号加权平均值滤波法适用于纯迟延较大的被控制对象以上讨论了6种数字滤波方法,在实际应用中,究竞选取哪一种数字如果同时采用几种滤波方法,一般先用中位值滤波法或限幅滤波法,然后再用平均值滤波法。如果应用不恰当,非但达不到滤波效果,反而会降低控制品质。返回如果同时采用几种滤波方法,一般先用中位值滤波法或限幅滤波法,6.6.2开关量的软件抗干扰技术1、开关量(数字量)信号的输入抗干扰措施
干扰信号:毛刺状。措施:多次重复采集,连续两次以上结果一致。在满足实时性要求的前提下,各次采样之间应有时间间隔,以抑制较宽的干扰信号。6.6.2开关量的软件抗干扰技术1、开关量(数字量)信号2、开关量(数字量)信号的输出抗干扰措施①重复输出同一数据,重复周期尽可能短,及时防止错误动作的产生;②各类数据锁存器尽可能和CPU安装在同一电路板上,以锁存电位控制信号;③对重要的输出设备,建立检测通道,由CPU来检测输出结果是否正确。返回2、开关量(数字量)信号的输出抗干扰措施返回6.6.3指令冗余技术
原因:CPU受到干扰,将一些操作数当作指令来执行,引起程序混乱;
结果:弹飞的程序可能落在单字节指令上(程序纳入正轨),落在双字节或三字节指令的操作数上,则继续出错。6.6.3指令冗余技术原因:CPU受到干扰,将一些操作数措施:1、多用单字节指令;2、指令冗余:在程序中关键的地方人为地插入一些单字节指令(NOP)或将有效单字节指令重复书写。
①对程序流向起决定作用的指令前;②对系统工作状态起重要作用的指令前。缺点:①降低系统效率;②在弹飞期间仍会产生不良后果;③必须是在弹飞程序落入程序区,且执行到冗余指令时,才能使弹飞程序纳入正轨。返回措施:1、多用单字节指令;返回6.6.4软件陷阱技术
软件陷阱:是一条引导指令,强行将捕获的程序指向一个指定的地址,在那里有一段专门对出错进行处理的程序。设出错程序的入口标记为ERR,则软件陷阱:NOPNOPJMPERR
软件陷阱安排在以下四种地方:
①未使用的中断向量区;②未使用的大片ROM空间;③表格;④正常情况下执行不到的程序区。优点:不影响程序的执行效率。6.6.4软件陷阱技术软件陷阱:是一条引导指令,强行将捕1、未使用的中断向量区当干扰使程序弹飞到中断向量区时,将激活某个中断,引起系统程序的混乱。但如果在这些地方布上陷阱,就能够及时捕获到错误中断。2、未使用的大片ROM空间由于现在在微机控制系统使用的EPROM存储器芯片容量都很大,一般都很难将这些空间全部用完,对于剩余的大片未使用的ROM空间可以采用下面的处理方法。1、未使用的中断向量区当干扰使程序弹飞到中断对于8031单片机来说,0FFH就是一条单字节指令MOVR7,A。当程序弹飞到该区域时,将顺序执行下去,不会再发生跳转。出错处理程序一般可放置在中断向量表之后。使用全‘1’填充每隔一段距离设置一个陷阱设置错误处理程序对于8031单片机来说,0FFH就是一条单字节指3、表格表格可分为以下两类:数据表格散转表格由于表格中内容和检索值之间有一一对应关系,在表格中安排陷阱将会破坏其连续性和对应关系。因此只能在表格的最后安排陷阱。3、表格表格可分为以下两类:数据表格散转表格4、程序区程序区是由一系列的执行指令构成,一般不能在指令之间随意安排陷阱,否则正常执行的程序也将被抓走。但是由于程序区也不是完全的顺序执行程序,中间会有一些断裂点,在这些地方程序的走向将发生转移。这样的指令有LJMP、SJMP、AJMP、RET、RETI。因此可以在这些指令的后面安排陷阱,捕捉弹飞的程序,而又不会影响正常的程序执行。返回4、程序区程序区是由一系列的执行指令构成,一第六章结束第六章结束计算机控制技术
ComputerControlledSystem中南大学信息科学与工程学院袁艳Sunday,December11,2022计算机控制技术
ComputerControlledSy第六章应用程序设计与实现技术6.1程序设计技术
6.2数据结构及其应用技术(自学)6.3测量数据预处理技术6.4数字控制器的工程实现(自学)6.5系统的有限字长数值问题6.6软件抗干扰技术第六章应用程序设计与实现技术6.1程序设计技术一、计算机应用系统中的软件
软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合。程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能正常操纵信息的数据结构;文档是与程序开发,维护和使用有关的图文材料。主要包括系统软件、支持软件、应用软件。引言一、计算机应用系统中的软件引言系统软件用来管理计算机系统的资源,并以尽可能简便的形式向用户提供使用资源的服务,包括操作系统、系统实用程序、系统扩充程序(操作系统的扩充、汉化)、网络系统软件、设备驱动程序、通讯处理程序等。操作系统是最基本的系统软件,操作系统是一个功能强、规模大的管理程序。系统软件用来管理计算机系统的资源,并以尽可能简便的形式向用户支持软件辅助软件开发人员进行软件开发工作使用的各种工具软件,借以完成软件开发工作,提高软件生产效率,改善软件产品的质量等,它主要包括软件开发工具、软件评测工具、界面工具、转换工具、软件管理工具、语言处理程序、数据库管理系统、网络支持软件以及其他支持软件。支持软件辅助软件开发人员进行软件开发工作使用的各种工具软件,应用软件是软件公司或用户为解决某类应用问题而专门研制的软件。主要包括科学和工程计算机软件、文字处理软件、数据处理软件、图形软件、图象处理软件、应用数据库软件、事务管理软件、辅助类软件、控制类软件等。计算机控制系统软件属于应用软件,它主要实现企业对生产过程的实时控制和管理以及企业整体生产的管理控制。应用软件是软件公司或用户为解决某类应用问题而专门研制的软件。二、计算机控制系统中软件的发展1、小规模的、解决单一问题的应用程序。2、用于满足工业过程计算机控制系统不同控制规模的商品化软件。3、规范化、系统化的软件工程程序设计方法。二、计算机控制系统中软件的发展三、最基本的计算机控制系统应用软件1、直接(控制)程序参与系统的实际控制过程,完成各类信号的采集、处理和各类控制信号的输出任务。2、规范服务性程序如报表打印输出、报警输出、算法运行、各种画面显示等。3、辅助程序接口驱动程序、检验程序、设备自诊断程序等。三、最基本的计算机控制系统应用软件四、计算机控制系统软件功能实时数据采集:采集现场控制设备的数据,过程控制参数;控制策略:为控制系统提供可供选择的控制策略方案;闭环输出:在软件支持下进行闭环控制输出,以达到优化控制的目的;报警监视:处理数据报警及系统报警;画面显示:使来自设备的数据与计算机图形画面上的各元素关联起来;四、计算机控制系统软件功能报表输出:各类报表的生成和打印输出;数据存储:存储历史数据并支持历史数据的查询系统保护:自诊断、掉电处理、备用通道切换和为提高系统可靠性和维护性所采取的措施;通信功能:各控制单元间、操作站间、子系统间的数据通信功能;数据共享:具有与第三方程序的接口,方便数据共享。报表输出:各类报表的生成和打印输出;五、衡量一个控制系统软件性能优劣的主要指标系统功能是否完善,能否提供足够多的控制算法(包括若干种高级控制算法)。系统内各种功能能否完善地协调运行,如进行实时采样和控制输出的同时,又能同时显示画面,打印管理报表和进行数据通信操作。人机接口是否良好,有丰富的画面和报表形式,较多的操作指导信息。另外操作要方便、灵活。系统的可扩展性能如何,即是否能不断地满足用户的新要求和一些特殊的需求。五、衡量一个控制系统软件性能优劣的主要指标系统功能是否完善,六、程序设计步骤问题定义:明确计算机要完成那些任务、执行什么程序、决定输入输出的形式,与接口硬件电路的连接配合及出错处理方法。程序设计:利用程序对任务进行描述,使用的方法有模块程序设计法和结构化程序设计法;编码:选用一种适当的高级语言(或汇编语言)书写程序;调试:利用各种测试方法检查程序的正确性;改进和再设计:根据调试中的问题队员设计作修改,并对程序进行改进设计和补充。返回六、程序设计步骤返回6.1程序设计技术返回6.1.1模块化与结构化程序设计6.1.2高级语言与汇编语言混合编程6.1.3工业控制组态软件6.1程序设计技术返回6.1.1模块化与结构化程序设计6.1.1模块化与结构化程序设计设计过程:通过对软件的需求分析,要明确需要软件解决什么问题;而设计的作用,就是使开发出来的软件能够适用并真正解决问题。设计的两大过程:
总体设计:决定软件的总体结构;详细设计:决定软件中每一模块内部的逻辑过程。6.1.1模块化与结构化程序设计设计过程:通过对1、模块化程序设计
(1)概念:按适当的原则把一个复杂的软件划分为若干个相关而又相对独立的模块,每个模块执行单一的功能,并且具有单入口单出口结构。1、模块化程序设计软件划分模块时的原则每个模块应具有独立的功能,能产生一个明确的结果,即模块的高内聚性;模块之间的控制耦合应尽量简单,数据耦合应尽量少,即模块间的低耦合性;控制耦合:指模块进入和退出的条件及方式,数据耦合:指模块间的信息交换方式、交换信息量的多少及信息交换的频繁程度。模块长度适中,模块语句的长度通常在20~100条的范围较合适。软件划分模块时的原则模块化程序设计的优点单个模块结构的程序功能单一,因而易于编写、调试和修改。便于分工,可由多个程序设计人员同时进行编写、调试,可加快软件研制进度。使用频繁的子程序可以汇编成子程序库,以便于多个模块调用。程序的修改可局部进行,而其它部分则可以相对保持不变。程序可读性好,便于功能扩充和版本升级。模块化程序设计的优点主模块模块A模块B模块C模块E模块B模块D模块F模块G模块M模块D相同的子模块可以出现在不同的层次上。如图中模块B和模块C。每个模块应有模块说明,它包括实现模块功能所用的基本算法,模块入口参数与出口参数,模块的数据结构及调用子程序等。主模块模块A模块B模块C模块E模块B模块D模块F模块G模块M(2)自顶向下设计的方法程序设计者在开始设计时就有全局观点,对欲开发的软件有全面的了解;然后由顶层起逐层向下分解,直至所有的模块都达到便于管理的目的为止。
设计的大概步骤:①设计高层管理程序并进行测试,用“结点”代替未编码的底层模块;②对底层模块进行程序设计;③对最后形成的整个程序进行测试。此法适合于用高级语言来设计程序。(2)自顶向下设计的方法(3)自底向上设计方法首先对最低层模块进行编码、测试和调试;在这些模块正常工作的基础上,就可以用它们来开发较高层的模块。这种方法是汇编语言设计中常用的方法或是用于解决较小的问题。两种方法各有优缺点,实际工作中,将两种方法结合使用。(3)自底向上设计方法
2、结构化程序设计
结构化设计是一种程序设计技术,采用自顶向下逐步求精的设计方法和单入口单出口
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年公共关系学的学术前沿试题及答案
- 2025年道路工程试验检测师考试题及答案
- 区域城市更新与旧区改造策略考核试卷
- 农药生产记录保存期限与要求考核试卷
- 跨文化护理团队建设考核试卷
- 2024年新疆英吉沙县普通外科学(副高)考试题含答案
- 材料样品管理办法
- 打击窃电管理办法
- 房山疫情管理办法
- 村室财产管理办法
- 退工协商协议书范本
- 国家电投集团吉电股份招聘笔试题库2025
- 网络安全技术培训课件
- 烟花爆竹经营单位安全作业管理人员考核题库(含答案)
- 垃圾吊培训课件
- 2025-2030中国聚磷酸和聚磷酸铵行业需求状况与前景方向预测报告
- 学校信息化建设十五五规划方案
- 农药可追溯管理制度
- T/CCOA 56-2023拉面专用小麦粉
- 2025年中国冲压件行业市场情况研究及竞争格局分析报告
- 父子金钱赠予协议书
评论
0/150
提交评论