《计算机控制系统软件设计.ppt》由会员分享,可在线阅读,更多相关《计算机控制系统软件设计.ppt(94页珍藏版)》请在三一办公上搜索。
1、第七章 计算机控制系统软件设计,软件是工业控制机的程序系统,它可分为系统软件和应用软件。所谓应用软件就是面向控制系统本身的程序,它是根据系统的具体要求,由用户自己设计的。软件设计的方法:利用计算机语言自己编制需要的应用程序;利用组态软件。,7.1 程序设计技术,7.1.1 模块化与结构化程序设计 7.1.2 面向过程与面向对象的程序设计 7.1.3 高级语言I/O控制台编程,7.1.1 模块化与结构化程序设计,一个完整的程序设计过程可以用左图来说明。首先要分析用户的要求,这大约占整个程序设计工作量的10%;然后编写程序的说明,这大约也占10%;接着进行程序的设计与编码,这大约占30%左右,其中
2、设计与编码几乎各占15%;最后进行测试和调试,这要花费整个程序设计工作量的40%以上。,1.模块化程序设计,(1)自底向上模块化设计 首先对最低层模块进行编码、测试和调试。这些模块正常工作后,就可以用它们来开发较高层的模块。这种方法是汇编语言设计常用的方法。(2)自顶向下模块化设计 首先对最高层进行编码、测试和调试。为了测试这些最高层模块,可以用“结点”来代替还未编码的较低层模块,这些“结点”的输入和输出满足程序的说明部分要求,但功能少得多。该方法一般适合用高级语言来设计程序。,2.结构化程序设计,1966年,C.Bohm 和G.Jacopini证明了只用三种基本的控制结构就能实现任何单入口单
3、出口的程序。这三种基本的控制结构是“顺序”、“选择”、“循环”。如右图所示。,结构化程序设计是一种程序设计技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制结构。Niklaus Wirth曾做如下声明:“我们对付复杂问题的最重要的办法就是抽象,因此,对一个复杂问题不应该立即用计算机指令、数字和逻辑符号来表示,而应该用比较自然的抽象语句来表示,从而得出抽象程序。抽象程序对抽象的数据进行某些特定的运算并用某些合适的记号来表示。对抽象程序做进一步分解,并进入下一个抽象层次,这样的精细化过程一直进行下去,直到程序能被计算机接受为止。”,总体设计阶段:自顶向下逐步求精,复杂问题分解和细化成多个模
4、块。详细设计或编码阶段:自顶向下逐步求精,将模块功能分解细化为一系列具体的处理步骤或某种高级语言的语句。程序设计5个步骤:问题定义 程序设计 编码 调试 改进再设计,7.1.2 面向过程与面向对象的程序设计,1.面向过程的程序设计及其局限性 过程式程序设计是面向功能的。首先要定义所要实现的功能,然后设计为实现这些功能所要执行的步骤。这些步骤就是过程。编写代码实际上等于分解这些步骤,使每一步直接对应一行代码。这就是过程式编程中的“逐步求精”的过程。这种方式不利于中大型软件的开发与维护,小部分数据或功能的改变会涉及到很多的相关程序。1.过程和数据分离为相互独立的实体,程序员在编程时必须时刻考虑所要
5、处理数据的格式,程序可重用性不好。2.存在使用错误数据调用正确的程序模块,或者使用正确的数据调用错误的程序模块的危险,要求程序员必须尽可能保持数据与程序间的相容性和一致性。,2.面向对象的程序设计 可以应用面向对象方法,解决结构化程序存在问题。面向对象方法强调运用人类在逻辑思维中经常采用的思想方法与原则,如抽象、分类、继承、封装等,使解决问题的程序一般人也能够理解。两种方法在概念上存在以下主要区别:(1)模块与对象:结构化方法中模块是对功能的抽象;面向对象方法的对象包含了模块的概念,包括数据和操作的整体,是对数据和功能的抽象和统一。(2)过程调用和消息传递:过程是一个独立实体,可以被其它过程调
6、用;方法隶属于对象,是对象功能的体现,不能独立存在。(3)类型和类:类型偏重操作抽象;类集成了数据抽象和操作抽象,引入了继承机制,实现了可扩充性。(4)静态链接和动态链接:面向对象系统中,通过消息的激活机制,可以把对象间的动态链接联系在一起,使整个机体运转起来,实现系统的动态链接。,7.1.3 高级语言I/O控制台编程,对于PC总线工业控制机,我们以Turbo C为例来说明其访问I/O端口的编程。Turbo C通常有库函数,允许直接访问I/O端口,头文件conio.h中定义了I/O端口例程。例如:a=inportw(0 x210)b=inportb(0 x220)第一条指令表示将端口210H的
7、16位二进制数(一个字)输入给变量a,第二条指令表示将端口220H的8位二进制数(一个字节)输入给变量b。在C语言中,0 x起头的是16进制数。又如:outportw(0 x230,0 x3435)outportb(0 x240,0 x26)第一条指令表示将二字节数3435H输出到端口230H中,第二条指令表示将单字节数26H输出到端口240H中。,7.2 人机接口(HMI/SCADA)技术,7.2.1 HMI/SCADA的含义7.2.2 基于工业控制组态软件设计人机交互界面7.2.3 基于VB/VC+语言设计人机交互界面,7.2.1 HMI/SCADA的含义,HMI(Human Machin
8、e Interface)广义的解释就是“使用者与机器间沟通、传达及接收信息的一个接口”。一般而言,HMI系统必须有几项基本的能力:实时资料趋势显示:把获取的资料立即显示在屏幕上 历史资料趋势显示:把数据库中的资料作可视化的呈现。自动记录资料:自动将资料存储至数据库中,以便日后查看。警报的产生与记录:使用者可以定义一些警报产生的条件,比如说温度过度或压力超过临界值,系统会产生警报,通知作业员处理。报表的产生与打印:把资料转换成报表的格式,并且能够打印出来。图形接口控制:操作者能够透过图形接口直接控制机台等装置。,凡是具有系统监控和数据采集功能的软件,都可称为 SCADA(Supervisor C
9、ontrol And Data Acqusition)软件。建立在PC基础之上,具有以下基本特征:图形界面、系统状态动态模拟、实时资料和历史趋势、报警处理系统、数据采集和记录、数据分析、报表输出。SCADA软件和硬件设备的连接方式主要可归纳为三种:(1)标准通讯协议。工业领域常用的标准协议有:ARCNET,CAN bus,Device Net,Lonworks,Modus,Profibus.SCADA软件和硬件设备只要使用相同的通信协议,就可以直接通信,不需安装其它驱动程序。(2)标准的资料交换接口。常用的有:DDE和OPC(3)绑定驱动(Native driver)。对特定硬件和目标设计的驱
10、动。优点:执行效率高;缺点:兼容性差,制造商必须针对每一种SCADA 软件提供特定的驱动程序。,对控制系统进行监控两种方法:1.组态软件监控 利用组态软件提供的硬件驱动功能直接访问硬件进行通信,不需编写通信程序,功能强大,灵活性好,可靠性高,但软件价格高,对硬件的依赖比较大,当组态软件不支持相关硬件时就会受到限制。2.第三方软件编制的监控软件监控 用第三方软件(面向对象的可视化编程语言VB或VC)编制的监控软件实现监控,包括数据通信、界面实现、数据处理和数据库功能等,灵活性好,系统投资低,能适用于各种系统。但开发工作量大,特别是要实现工业生产中复杂的流程和工艺的逼真显示要花费大量的时间,可靠性
11、难保证,对设计人员的经验和技术水平的要求高,需要自行编写通信程序。,7.2.2 基于工业控制组态软件设计人机交互界面,计算机控制系统的组态功能可分为两个主要方面,即硬件组态和软件组态。硬件组态常以总线式(PC总线或STD总线)工业控制机为主进行选择和配置。根据不同的控制对象,选择相应的功能模块,组成各种不同的应用系统,只需要对各种功能模板安装与接线即可。软件组态以工业控制组态软件实现。工业控制组态软件是标准化、规模化、商品化的通用过程控制软件。组态软件主要包括:控制组态、图形生成系统、显示组态、IO通道登记、单位名称登记、趋势曲线登记、报警系统登记、报表生成系统共8个方面的内容。,1.控制组态
12、,控制算法的组态生成在软件上可以分为两种实现方式:一种方式是采用模块宏的方式,即一个控制规律模块(如PID运算)对应一个宏命令(子程序),在组态生成时,每用到一个控制模块,则组态生成控制算法,产生的执行文件中就将该宏所对应的算法换入执行文件。另一种常用的方式是将各控制算法编成各个独立的可以反复调用的功能模块,对应每一模块有一个数据结构,该数据结构定义了该控制算法所需要的各个参数。因此,只要这些参数定义了,控制规律就定了。有了这些算法模块,就可以生成绝大多数的控制功能。,2.图形生成系统,计算机控制系统的人机界面越来越多地采用图形显示技术。图形画面主要是用来监视生产过程的状况,并可通过对画面上对
13、象的操作,实现对生产过程的控制。图形画面一般有两种即静态画面(或背景画面)和动态画面。静态画面一般用来反映监视对象的环境和相互关系,它的显示是不随时间的变化的。动态画面一般用以反映被监视对象和被控对象的状态和数值等,它在显示过程中是随现场被监控对象的变化而变化的。在生成图形画面时,不但要有静态画面,而且还要有“活”的部分即动态画面。,3.显示组态,(1)选择模拟显示表(2)定义模拟显示表(3)显示登记法(4)IO通道登记(5)单位名称登记(6)趋势曲线登记(7)报警系统登记(8)报表生成系统,计算机控制系统的画面显示一般分为三级即总貌画面、组貌画面、回路画面。若想构成这些画面,就要进行显示组态
14、操作。显示组态操作包括选择模拟显示表、定义显示表及显示登记方法等操作。,(1)选择模拟显示表 由于计算机控制系统显示画面常采用各种模拟显示表来显示测量值、设定值和输出值,因此,显示组态一般可用6种模拟显示表,即调节控制表、报警显示表、阀位操作表、监视操作表、比率设定表、流量累计表。,返回,返回,(2)选择了回路的模拟显示表后,尚须对显示表的每一个参数进行确定,并在画面上设定相应的值。,(3)显示登记法 显示登记法是进入系统显示登记画面。选择过程控制站站号及工作方式;登记控制组号、组名,该组员的回路号,进行分组登记操作;显示表登记(登记每一个控制回路所用的模拟显示表);将显示登记文件存入后备文件
15、或打印。,(4)IO通道登记 计算机控制系统能支持多种类型的信号输入和输出。从生产过程来看,每一输入输出都有不同的名称和意义,因此需将输入输出定义成特定的含义,这就是IO通道登记。IO通道主要是模拟量IO和开关量IO等通道。,(5)单位名称登记 对系统各种画面中需要显示的工程单位名称采用登记的方法,可使用中英文一切符号,登记生成自己特有的单位名称,主要登记编号和单位名。,系统的硬盘中保存有三种趋势曲线数据,即当天的、昨天的和历史的数据。当天的趋势曲线数据,系统以一定的周期将数据保存起来。到第二天就 将当天的数据覆盖昨天的数据。历史数据是当你需要某天的数据时,从硬盘拷贝到软盘保存起来。趋势曲线的
16、规格主要有:趋势曲线幅数、趋势曲线每幅条数、每条时间、显示精度。趋势曲线登记表的内容主要有:幅号、幅名、编号、颜色、曲线名称、来源、工程量上限和下限。,(6)趋势曲线登记,返回,报警显示画面分成三级即报警概况画面、报警信息画面、报警画面。报警概况画面是第一级,它显示系统中所有报警点的名称和报警次数;报警信息画面是第二级,它是第一级画面的展开与细化,可调出相应报警信息画面,即可观察到报警时间,消警时间,报警点名称和报警原因等;报警画面是第三级,可调出与报警点相应的各显示画面,包括总貌画面、组画面、回路画面、趋势曲线画面等。为了完成报警登记,还要填写登记表。内容包括:编号、名称、原因类型、原因参数
17、、画面类型、画面参数。,(7)报警系统登记,返回,(8)报表生成系统 报表生成系统用于系统的报表及打印输出。因而报表系统主要功能是定义各种报表的数据来源、运算方式以及报表打印格式和时间特性。,返回,7.2.3 基于VB/VC+语言设计人机交互界面,1.Visual Basic 是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。从任何标准来说,VB都是世界上使用人数最多的语言不仅是盛赞VB的开发者还是抱怨VB的开发者的数量。它源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建Active
18、X控件。程序员可以轻松的使用VB提供的组件快速建立一个应用程序。2.VC+VC+是微软公司开发的一个集成开发环境(IDE),就是使用c+的一个开发平台。VC+是Windows平台上的C+编程环境,学习VC要了解很多Windows平台的特性并且还要掌握MFC、ATL、COM等的知识,难度比较大。Windows下编程需要了解Windows的消息机制以及回调(callback)函数的原理;MFC是Win32API的包装类,需要理解文档视图类的结构,窗口类的结构,消息流向等等;COM是代码共享的二进制标准,需要掌握其基本原理等等。应用VC+能够开发出各式各样的适应用户要求的监控界面。,7.3 测量数据
19、预处理技术,传感器把生产过程的信号转换成电信号,然后用AD转换器把模拟信号变成数字信号,读入计算机中。对于这样得到的数据,一般要进行一些预处理,其中最基本的处理有线性化处理、标度变换和误差自动校准。,7.3.1 误差自动校准,定义:系统误差是指在相同条件下,经过多次测量,误差的数值(包括大小符号)保持恒定,或按某种已知的规律变化的误差。特点:在一定的测量条件下,其变化规律是可以掌握的,产生误差的原因一般也是知道的。方法:偏移校准在实际中应用最多,并且常采用程序来实现,称为数字调零。数字调零:在测量时,先把多路输入接到所需测量的一组输入电压上进行测量,测出这时的输入值为x1,然后把多路开关的输入
20、接地,测出零输入时AD转换器的输出为x0,用x1减去x0即为实际输入电压x。除了数字调零外,还可以采用偏移和增益误差的自动校准。,1.全自动校准,采用这种方法测得的V与放大器的漂移和增益变化无关,与V和R的精度也无关。这样可大大提高测量精度,降低对电路器件的要求。,先把开关接地,测出这时的输入值x0,然后把开关接VR,测出输入值x1,并存放x1、x0,在正式测量时,如测出的输入值为x,则这时的V可用下式计算,2.人工自动校准,人工自动校准只测一个标准输入信号yR,零信号的补偿由数字调零来完成。设数字调零后测出的数据分别为xR(接校准输入yR时)和x(接被测输入y时),则可按下式来计算y。,如果
21、在校准时,计算并存放yRxR的值,则测量校准时,只需行一次乘法即可。人工自动校准特别适于传感器特性随时间会发生变化的场合。如常用的湿敏电容等湿度传感器。,7.3.2 线性化处理和非线性补偿,1铂热电阻的阻值与温度的关系 2热电偶的热电势与温度的关系 3孔板差压与流量的关系4气体体积流量的非线性补偿,线性化处理,概述计算机从模拟量输入通道得到的检测信号与该信号所代表的物理量之间不一定成线性关系。线性化处理后,方便运算并且便于数字显示。计算法孔板差压与流量 热电偶的热电势与温度,线性化处理,插值法实质是找出一种简单、便于计算处理的近似表达式代替非线性参数。常用的插值公式有多项式插值公式、拉格朗日插
22、值公式、线性插值公式等。折线法上述两法都可能会带来大量运算,为简单起见,可分段进行线性化,即用多段折线代替曲线。过程:先判断测量数据处于哪一折线段内,然后按相应段的线性化公式计算出线性值。折线段分法不是惟一的,可视具体要求定。一般折线段数越多,线性化精度越高。,Pt100 Pt100 Pt100-50 80.31 10 103.90 80 130.90-40 84.27 20 107.80 90 134.70-30 88.22 30 111.67 100 138.50-20 92.16 40 115.54 150 157.31-20 92.16 50 119.40 200 175.84-10
23、96.09 60 123.24 0 100.00 70 127.07,热电阻分度表,线性化处理,查表法 为提高运算速度,可将非线性关系转化为表格形式 存在计算机内,在线工作量仅是根据采样值查表,校正运算,有时来自被控对象的某些检测信号与真实值有偏差,这时需要对这些检测信号进行补偿,力求补偿后的检测值能反映真实情况。用孔板测气体体积流量的温度、压力补偿,To为设计孔板的基准绝对温度(单位为);为设计孔板的基准绝对压力;为被测气体的实际绝对温度;为被测气体的实际绝对压力,7.3.3 标度变换方法,在工业测控系统中,如,压力的单位为Pa,流量的单位为m3h,温度的单位为等,这些参数经传感器和AD转换
24、后得到一系列的数码,这些数码值并不一定等于原来带有量纲的参数值,它仅仅对应于参数值的大小,故必须把它转换成带有量纲的工程值后才能运算、显示或打印输出,这种转换就是标度变换。标度变换有各种类型,它取决于被测参数的传感器的类型,应根据实际要求来选用适当的标度变换方法。,1.线性变换公式 Y=(Ymax-Ymin)(X-Nmin)(Nmax-Nmin)+Ymin Y表示参数测量值,Ymax表示参数量程最大值,Ymin表示参数量程最小值,Nmax表示 Ymax对应的AD转换后的输入值,Nmin表示量程起点Ymin对应的AD转换后的输入值,X表示测量值Y对应的AD转换值。2.公式转换法 可采用直接按解析
25、式来计算。一次仪表测量值与A/D转换结果是非线性关系根据差压变送器信号P与流量F的关系,可得测量流量时的标度变换式 3.其它标度变换法 可采用多项式插值法,也可以用线性插值法或查表进行标度变换。,7.3.4 越限报警处理,越限报警是工业控制过程常见而又实用的一种报警形式,它分为上限报警、下限报警及上下限报警。如果需要判断的报警参数是xn,该参数的上下限约束值分别是xmax和xmin,则上下限报警的物理意义如下:(1)上限报警 若xnxmax,则上限报警,否则继续执行原定操作。(2)下限报警 若xnxmin,则下限报警,否则继续执行原定操作。(3)上下限报警 若xnxmax,则上限报警,否则对下
26、式做判别;xnxmin否?若是则下限报警,否则继续原定操作。根据上述规定,程序可以实现对被控参数y、偏差e以及控制量u进行上下限检查。,越限报警处理,如图所示锅炉水位调节系统。图中锅炉正常工作的主要指标是汽包水位:液面太高会影响汽包的蒸汽产量;水位过低则有爆炸的危险。,设计方法全软件报警程序 直接报警程序(硬件申请中断),7.4 数字控制器的工程实现,数字控制器算法的工程实现中,应注意的问题,由以下五部分给出:,7.4.1 给定值和被控量处理,1.给定值处理 给定值处理包括选择给定值SV和给定值变化率限制SR两部分。通过选择软开关CLCR,可以构成内给定状态或外给定状态;通过选择软开关CASS
27、CC,可以构成串级控制或SCC控制。(1)内给定状态 当软开关CLCR切向CL位置时,选择操作员设置的给定值SVL。这时系统处于单回路控制的内给定状态,利用给定值键可以改变给定值。,(2)外给定状态 当软开关CLCR切向CR位置时,给定值来自上位计算机、主回路或运算模块。这时系统处于外给定状态。在此状态下,可以实现以下两种控制方式。SCC控制:当软开关CASSCC切向SCC位置时,接收来自上位计算机的给定值SVS,以便实现二级计算机控制。串级控制:当软开关CASSCC切向CAS位置时,给定值SVS来自主调节模块,实现串级控制。(3)给定值变化率限制 为了减少给定值突变对控制系统的扰动,防止比例
28、、积分饱和,以实现平稳控制,需要对给定值的变化率SR加以限制。变化率的选取要适中,过小会使响应变慢,过大则达不到限制的目的。综上所述,在给定值处理中,共具有三个输入量(SVL,SVC,SVS),两个输出量(SV,CSV),两个开关量(CLCR,CASSCC),一个变化率(SR)。为了便于PID控制程序调用这些量,需要给每个PID控制模块提供一段内存数据区,来存储以上变量。,2.被控量处理,为了安全运行,需要对被控量PV进行上下限报警处理,即:当PVPH(上限值)时,则上限报警状态(PHA)为“1”;当PVPL(下限值)时,则下限报警状态(PLA)为“1”。当出现上、下限报警状态(PHA,PLA
29、)时,它们通过驱动电路发出声或光,以便提醒操作员注意。为了不使PHAPLA的状态频繁改变,可以设置一定的报警死区(HY)。为了实现平稳控制,需要对参与控制的被控量的变化率PR加以限制。变化率的选取要适中,过小会使响应变慢,过大则达不到限制的目的。被控量处理数据区存放一个输入量PV,三个输出量PHA、PLA和CPV,四个参数PH、PL、HY和PR。,7.4.2 偏差处理,偏差处理分为计算偏差、偏差报警、非线性特性和输入补偿四部分,如下图所示。1计算偏差 根据正反作用方式(DR)计算偏差DV,当DR=0,代表正作用,此时偏差DV=CPV-CSV;当DR=1,代表反作用,此时偏差DV=CSV-CPV
30、;2偏差报警:对于控制要求较高的对象,不仅要设置被控制量PV的上、下限报警,而且要设置偏差报警。当偏差绝对值|DV|DL时,则偏差报警状态DLA为“1”。,3输入补偿 根据输入补偿方式ICM状态,决定偏差DVC与输入补偿量ICV之间的关系,即 当ICM=0,代表无补偿,此时CDV=DVC;当ICM=1,代表加补偿,此时CDV=DVC+ICV;当ICM=2,代表减补偿,此时CDV=DVC-ICV;当ICM=3,代表置换补偿,此时CDV=ICV。利用加、减输入补偿,可以分别实现前馈控制和纯滞后补偿(Smith)控制。4非线性特性 为了实现非线性PID控制或带死区的PID控制,设置了非线性区-A至+
31、A和非线性增益K,非线性特性如图所示。即 当K=0时,则为带死区的PID控制;当0K1时,则为非线性PID控制;当K=1时,则为正常的PID控制。偏差处理数据区共存放一个输入补偿量ICV,两个输出量DLA和CDV,两个状态量DR和ICM,以及四个参数DL、-A、+A和K。,7.4.3 控制算法的实现,在自动状态下,需要进行控制计算,即按照各种控制算法的差分方程,计算控制量U,并进行上、下限限幅处理。以PID控制算法为例,当软开关DVPV切向DV位置时,则选用偏差微分方式;当软开关DVPV切向PV位置时,则选用测量(即被控量)微分方式。在PID计算数据区,不仅要存放PID参数(KP或,TI,TD
32、)和采控制周期T,还要存放微分方式DVPV、积分分离值,控制量上限限值MH和下限限值ML,以及控制量UK。为了进行递推运算,还应保存历史数据,如e(k-1)、e(k-2)和u(k-1)。,7.4.4 控制量处理,在输出控制量UK以前,还应经过各项处理和判断,以便扩展控制功能,实现安全平稳操作。1输出补偿:根据输出补偿方式OCM的状态,决定控制量UK与输出补偿量OCV之间的关系,即:当OCM=0,代表无补偿,此时Uc=Uk;当OCM=1,代表加补偿,此时Uc=Uk+OCV;当OCM=2,代表减补偿,此时Uc=Uk-OCV;当OVM=3,代表置换补偿,此时Uc=OCV.利用输出和输入补偿,可以扩大
33、实际应用范围,灵活组成复杂的数字控制器,以便组成复杂的自动控制系统。,2变化率限制:为了实现平稳操作,需要对控制量的变化率MR加以限制。变化率的选取要适中,过小会使操作缓慢,过大则达不到限制的目的。3输出保持:当软开关FHNH切向NH位置时,现时刻的控制量u(k)等于前一时刻的控制量u(k-1),也就是说,输出控制量保持不变。当软开关FHNH切向FH位置时,又恢复正常输出方式。软开关FHNH状态一般来自系统安全报警开关。4安全输出:当软开关FSNS切向NS位置时,现时刻的控制量等于预置的安全输出量MS。当软开关FSNS切向FS位置时,又恢复正常输出方式。软开关FSNS状态一般来自系统安全报警开
34、关。控制量处理数据区需要存放输出补偿量OCV和补偿方式OCM,变化率限制值MR,软开关FHNH和FSNS,安全输出量MS,以及控制量CMV。,7.4.5 自动手动切换技术,在正常运行时,系统处于自动状态;而在调试阶段或出现故障时,系统处于手动状态。下图为自动/手动切换处理框图。1.软自动软手动 当软开关SASM切向SA位置时,系统处于正常的自动状态,称为软自动(SA);反之,切向SM位置时,控制量来自操作键盘或上位计算机,此时系统处于计算机手动状态,称为软手动(SM)。一般在调试阶段,采用软手动(SM)方式。,2.控制量限幅 为了保证执行机构工作在有效范围内,需要对控制量Us进行上、下限限幅处
35、理,使得MLMVMH,再经DA转换器输出010mADC或420mADC。3.自动手动 对于一般的计算机控制系统,可采用手动操作器作为计算机的后备操作。当切换开关处于HA位置时,控制量MV通过DA输出,此时系统处于正常的计算机控制方式,称为自动状态(HA状态);反之,若切向HM位置,则计算机不再承担控制任务,由运行人员通过手动操作器输出010mADC或420mADC信号,对执行机构进行远方操作,这称为手动状态(HM状态)。,4.无平衡无扰动切换 所谓无平衡无扰动切换,是指在进行手动到自动或自动到手动的切换之前,无须由人工进行手动输出控制信号与自动输出控制信号之间的对位平衡操作,就可以保证切换时不
36、会对执行机构的现有位置产生扰动。为了实现从手动到自动的无平衡操作无扰动切换,在手动(SM或HM)状态下,尽管并不进行PID计算,但应使给定值(CSV)跟踪被控量(CPV),同时也要把历史数据,如e(k-1)和e(k-2)清零,还要使u(k-1)跟踪手动控制量(MV或VM)。这样,一旦切向自动而u(k-1)又等于切换瞬间的手动控制量,这就保证了PID控制量的连续性。当然,这一切需要有相应的硬件电路配合。当从自动(SA与HA)切向软手动(SM)时,只要计算机应用程序工作正常,就能自动保证无扰动切换。当从自动(SA与HA)切向硬手动(HM)时,通过手动操作器电路,也能保证无扰动切换。,以上讨论了PI
37、D控制程序的各部分功能及相应的数据区。完整的PID控制模块数据区除了上述各部分外,还有被控量量程上限RH和量程下限RL,工程单位代码、采样(控制)周期等。该数据区是PID控制模块存在的标志,可把它看作是数字PID控制器的实体。只有正确地填写PID数据区后,才能实现PID控制系统。采用上述数字控制器,不仅可以组成单回路控制系统,而且可以组成串级、前馈、纯滞后补偿(Smith)等复杂控制系统,对于后面两种系统还应增加补偿器运算模块。利用该控制模块和各种功能运算模块的组合,可以组成各种控制系统来满足生产过程控制的要求。,7.5 系统的有限字长数值问题,7.5.1 量化误差来源7.5.2 A/D、D/
38、A及运算字长的选择,7.5.1 量化误差来源,计算机控制系统的典型结构,1.信号时间上的离散化问题2.幅值上的量化效应,7.5.1 量化误差来源,1.量化误差 量化单位q,也就是机内数的最小单位。举例,8位和12位的A/D转换器,在05V时,最小量化单位q分别是:通过AD转换可计算出模拟电压x相当于多少个整量化单位,即:x=Lq+式中L为整数,对于余数(q)可以用截尾或舍入来处理。,7.5.1 量化误差来源,所谓截尾就是舍掉数值中小于q的余数(q),其截尾误差t为:t=xt-x,式中x为实际数值,xt为截尾后的数值。显然-qt0。所谓舍入是指,当被舍掉的余数大于或等于量化单位的一半时,则最小有
39、效位加1;而当余数小于量化单位的一半时,则舍掉。这时舍入误差为r=xr-x,式中x为实际数值,xr舍入后的数值。显然,-q/2rq/2。,7.5.1 量化误差来源,计算机控制系统中数值误差源:1.被测参数(模拟量)经A/D转换器变成数字量时产生第一次量化误差。2.运算过程中,产生的误差。CPU内产生的第二次量化误差。3.计算机输出的数字控制量经D/A转换器变成模拟量,在模拟量输出装置内产生了第三次量化误差。,2.量化误差来源,从下图可以看出,产生量化误差的原因主要有以下几个方面:(1)A/D转换的量化效应(2)控制规律计算中的量化效应。(3)控制参数的量化效应(4)D/A转换的量化效应,(1)
40、A/D转换的量化效应 如图示,a为舍入,b为截尾。q为量化单位,它的大小取决于A/D转换信号的最大幅度及转换字长,设y(k)的最大信号为,转换字长为n1.则量化单位q的大小为,q的大小反映了A/D转换装置的分辨能力,通常称为A/D转换的分辨率,典型A/D转换的位数为8、10、12或14,其分变率分别为0.4%、0.1%、0.025%、或0.006%,(2)控制规律计算中的量化效应 经过量化的数字信号送入计算机的中央处理单元进行控制规律计算,设计算所用的字长为,一般,由于计算机所用字长也是有限的,因此计算过程中也产生量化误差。定点运算和浮点运算 浮点运算采用双倍字长,精确,量化误差很小,但是运算
41、速度慢。定点运算速度快,但结果数只能用单字长表示,结果如果超过字长则低位可以采用舍入或截尾两种方法进行处理。,(3)控制参数的量化效应 控制规律计算时,其中部分参数与要求参数存在一定的误差,字长越长,误差便越小。若控制本身对控制器参数很灵敏,则参数的量化效应对系统性能产生较大影响。(4)D/A转换的量化效应 计算机所用字长通常比A/D转换的字长要长,因此,经过D/A转换后,从 到u(k)之间也存在量化效应。,7.5.2 A/D、D/A及运算字长的选择,1.A/D转换器的字长选择2.D/A转换器的字长选择3.运算的字长选择,1.A/D转换器的字长选择,为把量化误差限制在所允许的范围内,应使A/D
42、转换器有足够的字长。确定字长要考虑的因素是:输入信号x的动态范围和分辨率。(1)输入信号的动态范围,设输入信号的最大值和最小值之差为,式中,n1为A/D转换器的字长;为转换当量(单位:mv/bit).则动态范围为:,因此,A/D转换器字长,(2)分辨率,分辨率定义为,例,8位的分辨率,16位的分辨率,如果要求的分辨率为,则字长,例题:,某温度控制系统的温度范围为0-200,要求分辨率为0.005,则A/D转换器的字长至少应该为几位?,2.D/A转换器的字长选择,执行机构的最大输入值为umax最小输入值为umin 灵敏度为,D/A转换器输出一般都通过功率放大器推动执行机构,D/A转换器的字长,常
43、用的A/D和D/A转换器字长为8位、10位和12位,按上述公式估算出字长取整后再选取这三种之一。,3.运算的字长选择,由8位或12位A/D变换器采集数据之后,为了保证运算精度,在CPU内几乎毫无例外的至少采用16位字长运算。运算精度不仅取决于字长,而且还取决于采用定点数或浮点数。如果采用浮点数,运算精度可以大大提高。不管采用定点还是浮点数,输入标准数0至1对应A/D转换结果的全0至全1;输出标准数0至1对应D/A转换器数字位状态的全0至全1。,7.6 软件抗干扰技术,1.测控系统软件的基本要求,(1)易理解、易维护,指软件系统容易阅读和理解,容易发现和纠正错误,容易修改和补充。,(2)实时性,
44、要求系统及时响应外部事件的发生,并及时给出处理结果。,(3)可测试性,两方面含义:其一是比较容易制定出测试准则,并根据这些准则对软件进行测试;其二软件设计完成后,首先在模拟环境下运行,经过静态分析和动态仿真运行,证明正确无误后才可投入实际运行。,(4)准确性,算法选择、位数选择等要符合要求。,(5)可靠性,最重要的指标之一,两方面含义:第一是运行参数环境发生变化时,软件能可靠运行并给出准确结果,即软件应具有自适应性;第二是工业环境极其恶劣,干扰严重,软件必须保证在严重干扰条件下也能可靠运行。,2.软件抗干扰研究的主要内容,(1)采用软件的方法抑制叠加在输入输出信号上噪声影响,如模拟输入信号的数
45、字滤波技术;,(2)由于干扰而使程序发生混乱,导致程序乱飞或陷入死循环,采取使程序纳入正规的措施,如指令冗余、软件陷阱、“看门狗”技术等;,(3)发现程序失控后,解决系统恢复正常运行的方法,如重要信息的恢复,系统重入的条件等;,(3)数字滤波器可以根据信号的不同,采用不同的滤波方法或滤波参数,具有灵活、方便、功能强的特点。,7.6.1 数字滤波技术,所谓数字滤波,就是通过一定的计算或判断程序减少干扰在有用信号中的比重。故实质上它是一种程序滤波。,与模拟滤波器相比,有以下几个优点:,(1)数字滤波是用程序实现的,不需要增加硬设备,所以可靠性高,稳定性好。,(2)数字滤波可以对频率很低(如001H
46、Z)的信号实现滤波,克服了模拟滤波器的缺陷。,主要数字滤波算法:算术平均值法、中位值滤波法、限幅滤波法、惯性滤波法,1.算术平均值法,第术平均值法是对输入的N个采样数据xi(i=1N),寻找这样一个y,使y与各采样值间的偏差的平方和为最小,使,由一元函数求极值原理可得:,设测量值包含信号成分 和噪声成分,则进行N次测量信号成分之和为 噪声的强度是用均方根来衡量的,当噪声为随机信号时,进行N次测量的噪声强度之和为 s、C分别表示进行N次测量后信号和噪声的平均幅度。N次测量进行算术平均后信噪比为,例:某压力仪表采样数据如下:,序 号采样值,采样数据明显存在被干扰现象(彩色数据)。,采用算术平均值滤
47、波后,其采样值为:,Y=(24+25+20+27+24+60+24+25+26+23)/10=28,干扰被平均到采样值中去了,3)平均值滤波法一般适用于具有周期性干扰噪声的信号,但对偶然出现的脉冲干扰信号,滤波效果尚不理想。,特点:,1)N值决定了信号平滑度和灵敏度。随着N的增大,平滑度提高,灵敏度降低。应该视具体情况选择N,以便得到满意的滤波效果。,2)对每次采样值给出相同的加权系数,即1/N。在不同采样时刻采集数据受到同样重视。实际上某些场合需要增加新采样值在平均值中的比重,可采用加权平均值滤波法。滤波公式为:Y=R0Y0+R1Y1+R2Y2+RmYm。,2.中位值滤波法,中位值滤波法的原
48、理是对被测参数连续采样m次(m3)且是奇数,并按大小顺序排列;再取中间值作为本次采样的有效数据。,特点:中位值滤波法对脉冲干扰信号等偶然因素引发的干扰有良好的滤波效果。如对温度、液位等变化缓慢的被测参数采用此法会收到良好的滤波效果;对流量、速度等快速变化的参数一般不宜采用中位值滤波法,中位值滤波法和平均值滤波法结合起来使用,滤波效果会更好。即在每个采样周期,先用中位值滤波法得到m个滤波值,再对这m个滤波值进行算术平均,得到可用的被测参数。也称为去脉冲干扰平均值滤波法.,例:某压力仪表采样数据如下:,序 号采样值,采样数据明显存在被干扰现象(彩色数据)。,采用去脉冲干扰平均值滤波后,其采样值为:
49、25,对1、2、3次采样中位值滤波后值:24对4、5、6次采样中位值滤波后值:27对7、8、9次采样中位值滤波后值:25,3.限幅滤波法,由于大的随机干扰或采样器的不稳定,使得采样数据偏离实际值太远,为此采用上、下限限幅,即 当y(n)yH时,则取y(n)=yH(上限值);当y(n)yL时,则取y(n)=yL(下限值);当yLy(n)yH时,则取y(n)。而且采用限速(亦称限制变化率),即 当|y(n)-y(n-1)|y0时,则取y(n);当|y(n)-y(n-1)|y0时,则取y(n)=y(n-1)。其中y0为两次相邻采样值之差的可能最大变化量。y0值的选取,取决于采样周期T及被测参数y应有
50、的正常变化率。因此,一定要按照实际情况来确定y0、yH及yL,否则,非但达不到滤波效果,反而会降低控制品质。,4.惯性滤波法,RC滤波器的传递函数是 其中Tf=RC,它的滤波效果取决于滤波时间常数Tf。因此,RC滤波器不可能对极低频率的信号进行滤波。为此,人们模仿上式做成一阶惯性滤波器亦称低通滤波器。即将上式写成差分方程 稍加整理得 其中,称为滤波系数,且01,Ts为采样周期,Tf为滤波器时间常数。根据惯性滤波器的频率特性,若滤波系数越大,则带宽越窄,滤波频率也越低。因此,需要根据实际情况,适当选取值,使得被测参数既不出现明显的纹波,反应又不太迟缓。,5.加权平均滤波算术平均值滤波对每个采样值