微型计算机控制技术-程序设计技术-课件

上传人:痛*** 文档编号:241326134 上传时间:2024-06-18 格式:PPTX 页数:57 大小:2.24MB
返回 下载 相关 举报
微型计算机控制技术-程序设计技术-课件_第1页
第1页 / 共57页
微型计算机控制技术-程序设计技术-课件_第2页
第2页 / 共57页
微型计算机控制技术-程序设计技术-课件_第3页
第3页 / 共57页
点击查看更多>>
资源描述
微型计算机控制技术6、1 程序设计技术 6 6、1 1、1 1 模块化与结构化程序设计 6 6、1 1、2 2 面向过程与面向对象的程序设计 6 6、1 1、3 3 高级语言I/OI/O控制台编程 6 6、1 1、1 1 模块化与结构化程序设计一个完整的程序设计过程能够用左图来说明。首先要分析用户的要求,这大约占整个程序设计工作量的10%10%;然后编写程序的说明,这大约也占10%10%;接着进行程序的设计与编码,这大约占30%30%左右,其中设计与编码几乎各占15%15%;最后进行测试和调试,这要花费整个程序设计工作量的40%40%以上。1 1、模块化程序设计 (1 1)自底向上模块化设计 首先对最低层模块进行编码、测试和调试。这些模块正常工作后,就能够用它们来开发较高层的模块。这种方法是汇编语言设计常用的方法。(2 2)自顶向下模块化设计 首先对最高层进行编码、测试和调试。为了测试这些最高层模块,能够用“结点”来代替还未编码的较低层模块,这些“结点”的输入和输出满足程序的说明部分要求,但功能少得多。该方法一般适合用高级语言来设计程序。2 2、结构化程序设计 1966 1966年,C C、Bohm Bohm 和G G、JacopiniJacopini证明了只用三种基本的控制结构就能实现任何单入口单出口的程序。这三种基本的控制结构是“顺序”、“选择”、“循环”。如右图所示。6 6、1 1、2 2 面向过程与面向对象的程序设计 1 1、面向过程的程序设计及其局限性 过程式程序设计是面向功能的。首先要定义所要实现的功能,然后设计为实现这些功能所要执行的步骤。这些步骤就是过程。编写代码实际上等于分解这些步骤,使每一步直截了当对应一行代码。这就是过程式编程中的“逐步求精”的过程。这种方式不利于中大型软件的开发与维护,小部分数据或功能的改变会涉及到特别多的相关程序。2 2、面向对象的程序设计 以上两种方法在概念上存在以下主要区别:(1 1)模块与对象 (2 2)过程调用和消息传递 (3 3)类型和类 (4 4)静态链接和动态链接 6 6、1 1、3 3 高级语言I/OI/O控制台编程 关于PCPC总线工业控制机,我们以Turbo CTurbo C为例来说明其访问I/OI/O端口的编程。Turbo CTurbo C通常有库函数,允许直截了当访问I/OI/O端口,头文件conioconio、h h中定义了I/OI/O端口例程。例如:a=inportw(0 x210)a=inportw(0 x210)b=b=inportb(0 x220)inportb(0 x220)第一条指令表示将端口210H210H的1616位二进制数(一个字)输入给变量a a,第二条指令表示将端口220H220H的8 8位二进制数(一个字节)输入给变量b b。在C C语言中,0 x0 x起头的是1616进制数。又如:outportw(0 x230,0 x3435)outportw(0 x230,0 x3435)outportb(0 x240,0 x26)outportb(0 x240,0 x26)第一条指令表示将二字节数3435H3435H输出到端口230H230H中,第二条指令表示将单字节数26H26H输出到端口240H240H中。6 6、2 2 测量数据预处理技术 6 6、2 2、1 1 误差自动校准 6 6、2 2、2 2 线性化处理和非线性补偿 6 6、2 2、3 3 标度变换方法 6 6、2 2、4 4 越限报警处理 6 6、2 2、5 5 量化误差来源 6 6、2 2、6 A/D6 A/D、D/AD/A及运算字长的选择 传感器把生产过程的信号转换成电信号,然后用A AD D转换器把模拟信号变成数字信号,读入计算机中。关于如此得到的数据,一般要进行一些预处理,其中最基本的处理有线性化处理、标度变换和误差自动校准。6 6、2 2、1 1 误差自动校准系统误差定义:是指在相同条件下,经过多次测量,误差的数值(包括大小符号)保持恒定,或按某种已知的规律变化的误差。特点:在一定的测量条件下,其变化规律是能够掌握的,产生误差的原因一般也是明白的。方法:偏移校准在实际中应用最多,同时常采纳程序来实现,称为数字调零。数字调零:在测量时,先把多路输入接到所需测量的一组输入电压上进行测量,测出这时的输入值为x x1 1,然后把多路开关的输入接地,测出零输入时A AD D转换器的输出为x x0 0,用x x1 1减去x x0 0即为实际输入电压x x。图6-36-3 除了数字调零外,还能够采纳偏移和增益误差的自动校准。1 1、全自动校准 采纳这种方法测得的V V与放大器的漂移和增益变化无关,与V V和R R的精度也无关。如此可大大提高测量精度,降低对电路器件的要求。先把开关接地,测出这时的输入值x x0 0,然后把开关接基准电压VRVR,测出输入值x x1 1,并存放x x1 1、x x0 0,在正式测量时,如测出的输入值为x x,则这时的V V可用下式计算 全自动校准只适于基准参数是电信号场合,同时不能校正由传感器引入的误差。为克服这种缺点,采纳人工自动校准。自动校准:自动测量基准参数,计算误差模型,获得并存储误差补偿因子。2、人工自动校准 人工自动校准只测一个标准输入信号y yR R,零信号的补偿由数字调零来完成。设数字调零后测出的数据分别为x xR R(接校准输入y yR R时)和x(x(接被测输入y y时),则可按下式来计算y y。假假如如在在校校准准时时,计计算算并并存存放放y y y yR R R Rx x x xR R R R的的值值,则则测测量量校校准准时时,只需行一次乘法即可。有时也可用只需行一次乘法即可。有时也可用y y y yi i i i代替代替y y y yR R R R 人人工工自自动动校校准准特特别别适适于于传传感感器器特特性性随随时时间间会会发发生生变化的场合。如常用的湿敏电容等湿度传感器。变化的场合。如常用的湿敏电容等湿度传感器。6 6、2 2、2 2 线性化处理和非线性补偿1 1、铂热电阻的阻值与温度的关系 离线计算温度与铂热电阻阻值对应关系表即分度表,然后分段进行线性化。2 2、热电偶的热电势与温度的关系 与热电阻方法相同。测量的参数为热电偶的热电势。3 3、孔板差压与流量的关系4 4、气体体积流量的非线性补偿 6 6、2 2、2 2 线性化处理和非线性补偿过程控制作业P102P102第3030题已知热电偶的分度号为K,K,工作时的冷端温度为3030,测得热电势以后,错用E E分度表查得工作端的温度715715、2 2,试求工作端实际温度是多少?解:首先求出工作端温度相对0 0 冷端的热电势的值,设该值为X X,按E E分度表,可列出方程:再通过查K K型热电偶分度表,可求得工作端实际温度t t6 6、2 2、3 3 标度变换方法 在工业测控系统中,如,压力的单位为PaPa,流量的单位为m m3 3h h,温度的单位为等,这些参数经传感器和A AD D转换后得到一系列的数码,这些数码值并不一定等于原来带有量纲的参数值,它仅仅对应于参数值的大小,故必须把它转换成带有量纲的工程值后才能运算、显示或打印输出,这种转换就是标度变换。标度变换有各种类型,它取决于被测参数的传感器的类型,应依照实际要求来选用适当的标度变换方法。1 1、线性变换公式 2 2、公式转换法 3 3、其它标度变换法 1 1、线性变换公式(前提:参数值与A/DA/D转换结果为线性关系)Y=(YY=(Ymaxmax-Y-Yminmin)(X-N)(X-Nminmin)(N(Nmaxmax-N-Nminmin)+Y)+Yminmin Y Y表示参数测量值,Y Ymaxmax表示参数量程最大值,Y Yminmin表示参数量程最小值,N Nmaxmax表示 Y Ymaxmax对应的A AD D转换后的输入值,N Nminmin表示量程起点Y Yminmin对应的A AD D转换后的输入值,X X表示测量值Y Y对应的A AD D转换值。XY(Nmin,Ymin)(Nmax,Ymax)(X,Y)例:P218 P218 第2 2题某热处理炉温度变化范围为0 0-1350-1350,经温度变送器变换为1-5V1-5V电压送至ADC0809ADC0809,ADC0809ADC0809的输入范围为0-0-5V5V。当t=t=某值时,ADC0809ADC0809的转换结果为6AH6AH,问此时炉内温度t=?t=?解法一:解法二:l过程控制作业P101第13题l有一台DDZ-型两线制差压变送器,已知其量程为20-100kPa,当输入信号为40kPa和70kPa时,变送器的输出信号分别是多少?l解:DDZ-型差压变送器输出信号:4-20mA,由于电流信号与测量信号呈线性关系,当输入信号为40kPa时,设变送器输出信号为X,可列出方程:当输入信号为70kPa时,可列出方程:1 1、线性变换公式 Y=(YY=(Ymaxmax-Y-Yminmin)(X-N)(X-Nminmin)(N(Nmaxmax-N-Nminmin)+Y)+Yminmin Y Y表示参数测量值,Y Ymaxmax表示参数量程最大值,Y Yminmin表示参数量程最小值,N Nmaxmax表示 Y Ymaxmax对应的A AD D转换后的输入值,N Nminmin表示量程起点Y Yminmin对应的A AD D转换后的输入值,X X表示测量值Y Y对应的A AD D转换值。2 2、公式转换法(非线性场合)可采纳直截了当按解析式来计算。3 3、其它标度变换法(非线性场合)可采纳多项式插值法,也能够用线性插值法或查表进行标度变换。6 6、2 2、4 4 越限报警处理 越限报警是工业控制过程常见而又实用的一种报警形式,它分为上限报警、下限报警及上下限报警。假如需要判断的报警参数是x xn n,该参数的上下限约束值分别是x xmaxmax和x xminmin,则上下限报警的物理意义如下:(1)(1)上限报警 若x xn nx xmaxmax,则上限报警,否则接着执行原定操作。(2)(2)下限报警 若x xn nx xminmin,则下限报警,否则接着执行原定操作。(3)(3)上下限报警 若x xn nx xmaxmax,则上限报警,否则对下式做判别;x xn nx xminmin否?若是则下限报警,否则接着原定操作。依照上述规定,程序能够实现对被控参数y y、偏差e e以及控制量u u进行上下限检查。所谓量化,就是采纳一组数码(如二进制码)来逼近离散模拟信号的幅值,将其转换为数字信号。将采样信号转换为数字信号的过程称为量化过程,执行量化动作的装置是A/DA/D转换器。2、量化6、2、5 量化误差来源量化单位量化单位:字长为n n的A/DA/D转换器把一定范围内变化的采样信号变换为数字0 02 2n n-1,-1,其最低有效位(LSBLSB)所对应的模拟量q q称为量化单位。量化过程实际上是一个用q q去度量采样值幅值高低的小数归整过程。如同单位一样。由于量化过程是小数归整过程,因而存在量化误差,量化误差(1/2)q,在A/D转换器的字长足够长,整量化误差足够小。例:设模拟电压为0 05V5V,分别采纳8 8位和1212位的A/DA/D转换器,则可表示的最小单位q q分别是:1 1、量化误差 通过A AD D转换可计算出模拟电压x x相当于多少个整量化单位,即:x=Lq+x=Lq+,式中L L为整数,关于余数(q)q)能够用截尾或舍入来处理 。所谓截尾就是舍掉数值中小于q q的余数(q)q),其截尾误差t t为:t t=x=xt t-x-x,式中x x为实际数值,x xt t为截尾后的数值。显然-q-qt t00。所谓舍入是指,当被舍掉的余数大于或等于量化单位的一半时,则最小有效位加1 1;而当余数小于量化单位的一半时,则舍掉。这时舍入误差为r r=x=xr r-x-x,式中x x为实际数值,x xr r舍入后的数值。显然,-q/2-q/2r rq/2q/2。2、量化误差来源 从下图能够看出,产生量化误差的原因主要有以下几个方面:(1)A/D(1)A/D转换的量化效应 (2)(2)控制规律计算中的量化效应。(3)(3)控制参数的量化效应 (4)D/A(4)D/A转换的量化效应-qt0-q/2rq/26 6、2 2、6 A/D6 A/D、D/AD/A及运算字长的选择 1 1、A/DA/D转换器的字长选择2 2、D/AD/A转换器的字长选择3 3、运算的字长选择1 1、A A/D D 转换器的字长选择 为把量化误差限制在所允许的范围内,应使A/DA/D转换器有足够的字长。确定字长要考虑的因素是:输入信号x x的动态范围和分辨率。(1)(1)输入信号的动态范围 设n n为A/DA/D转换器字长,为转换当量(相当于量化单位),),若已知输入信号的最大值和最小值之差,则可列出方程:则A/DA/D字长n n为:1 1、A/DA/D转换器的字长选择某炉温度变化范围0-15000-1500,要求分辨率为33,温度变送器输出范围为0-5V0-5V若A/DA/D转换器的输入范围也为0-5V0-5V,则求A/DA/D转换器字长应为多少?若A/DA/D转换器字长不变,现通过变送器零点迁移而将信号零点迁移到600600,此时系统对炉温的分辨率为多少?解:由公式:得或因此A/D转换器字长应为10位。1 1、A/DA/D转换器的字长选择 为把量化误差限制在所允许的范围内,应使A/DA/D转换器有足够的字长。确定字长要考虑的因素是:输入信号x x的动态范围和分辨率。(2)(2)分辨率分辨率:反映A/DA/D转换器对输入量微小变化响应的分辨能力,即指能使转换后数字量变化1 1的最小模拟输入量。本书对分辨率定义:若已知分辨率,则字长:书上例题:温度测量范围0-2000-200,要求分辨率为:0、005,求A/D转换器字长:2 2、D D/A A 转换器的字长选择u umaxmax为执行机构的最大输入值u uminmin为执行机构的最小输入值为执行机构的灵敏度某执行机构的输入变化范围为4-20mA4-20mA,灵敏度为0 0、05mA05mA,应选D/AD/A转换器的字长是多少?因此:取A/DA/D转换器字长为1010位。6 6、3 3 数字控制器的工程实现 6 6、3 3、1 1 给定值和被控量处理 6 6、3 3、2 2 偏差处理 6 6、3 3、3 3 控制算法的实现 6 6、3 3、4 4 控制量处理 6 6、3 3、5 5 自动/手动切换技术 数字控制器算法的工程实现中,应注意的问题,由以下五部分给出 :6 6、3 3、1 1 给定值和被控量处理 1 1、给定值处理 给定值处理包括选择给定值SVSV和给定值变化率限制SRSR两部分。通过选择软开关CLCLCRCR,能够构成内给定状态或外给定状态;通过选择软开关CASCASSCCSCC,能够构成串级控制或SCCSCC控制。(1)(1)内给定状态 当软开关CLCLCRCR切向CLCL位置时,选择操作员设置的给定值SVLSVL。这时系统处于单回路控制的内给定状态,利用给定值键能够改变给定值。(2)(2)外给定状态 当软开关CLCLCRCR切向CRCR位置时,给定值来自上位计算机、主回路或运算模块。这时系统处于外给定状态。在此状态下,能够实现以下两种控制方式。SCCSCC控制:当软开关CASCASSCCSCC切向SCCSCC位置时,接收来自上位计算机的给定值SVSSVS,以便实现二级计算机控制。串级控制:当软开关CASCASSCCSCC切向CASCAS位置时,给定值SVSSVS来自主调节模块,实现串级控制。(3)(3)给定值变化率限制 为了减少给定值突变对控制系统的扰动,防止比例、积分饱和,以实现平稳控制,需要对给定值的变化率SRSR加以限制。变化率的选取要适中,过小会使响应变慢,过大则达不到限制的目的。综 上 所 述,在 给 定 值 处 理 中,共 具 有 三 个 输 入 量(SVL(SVL,SVCSVC,SVS)SVS),两个输出量(SV(SV,CSV)CSV),两个开关量(CL(CLCRCR,CASCASSCC)SCC),一个变化率(SR)(SR)。为了便于PIDPID控制程序调用这些量,需要给每个PIDPID控制模块提供一段内存数据区,来存储以上变量。2 2、被控量处理 为了安全运行,需要对被控量PVPV进行上下限报警处理,即:当PVPVPH(PH(上限值)时,则上限报警状态(PHA)(PHA)为“1 1”;当PVPVPL(PL(下限值)时,则下限报警状态(PLA)(PLA)为“1 1”。当出现上、下限报警状态(PHA(PHA,PLA)PLA)时,它们通过驱动电路发出声或光,以便提醒操作员注意。为了不使PHAPHAPLAPLA的状态频繁改变,能够设置一定的报警死区(HY)(HY)。为了实现平稳控制,需要对参与控制的被控量的变化率PRPR加以限制。变化率的选取要适中,过小会使响应变慢,过大则达不到限制的目的。被控量处理数据区存放一个输入量PVPV,三个输出量PHAPHA、PLAPLA和CPVCPV,四个参数PHPH、PLPL、HYHY和PRPR。6、3、2 偏差处理 偏差处理分为计算偏差、偏差报警、非线性特性和输入补偿四部分,如下图所示。1 1、计算偏差:依照正反作用方式(D(DR)R)计算偏差DVDV,当D DR=0R=0,代表正作用,此时偏差DV=CPV-CSVDV=CPV-CSV;当D DR=1R=1,代表反作用,此时偏差DV=CSV-CPVDV=CSV-CPV;2 2、偏差报警:关于控制要求较高的对象,不仅要设置被控制量PVPV的上、下限报警,而且要设置偏差报警。当偏差绝对值|DV|DV|DLDL时,则偏差报警状态DLADLA为“1 1”。3 3、输入补偿 依照输入补偿方式ICMICM状态,决定偏差DVCDVC与输入补偿量ICVICV之间的关系,即 当ICM=0ICM=0,代表无补偿,此时CDV=DVCCDV=DVC;当ICM=1ICM=1,代表加补偿,此时CDV=DVC+ICV;CDV=DVC+ICV;当ICM=2ICM=2,代表减补偿,此时CDV=DVC-ICV;CDV=DVC-ICV;当ICM=3ICM=3,代表置换补偿,此时CDV=ICVCDV=ICV。利用加、减输入补偿,能够分别实现前馈控制和纯滞后补偿(Smith)(Smith)控制。4 4、非线性特性 为了实现非线性PIDPID控制或带死区的PIDPID控制,设置了非线性区-A-A至+A+A和非线性增益K K,非线性特性如图所示。即 当K=0K=0时,则为带死区的PIDPID控制;当0 0K K1 1时,则为非线性PIDPID控制;当K=1K=1时,则为正常的PIDPID控制。偏差处理数据区共存放一个输入补偿量ICVICV,两个输出量DLADLA和CDVCDV,两个状态量D DR R和ICMICM,以及四个参数DLDL、-A-A、+A+A和K K。6 6、3 3、3 3 控制算法的实现 在自动状态下,需要进行控制计算,即依照各种控制算法的差分方程,计算控制量U U,并进行上、下限限幅处理。以PIDPID控制算法为例,当软开关DVDVPVPV切向DVDV位置时,则选用偏差微分方式;当软开关DVDVPVPV切向PVPV位置时,则选用测量(即被控量)微分方式。在PIDPID计算数据区,不仅要存放PIDPID参数(K(KP P或,T TI I,T TD D)和采控制周期T T,还要存放微分方式DVDVPVPV、积分分离值,控制量上限限值MHMH和下限限值MLML,以及控制量U UK K。为了进行递推运算,还应保存历史数据,如e(k-1)e(k-1)、e(k-2)e(k-2)和u(k-1)u(k-1)。6 6、3 3、4 4 控制量处理 在输出控制量U UK K往常,还应经过各项处理和判断,以便扩展控制功能,实现安全平稳操作。1 1、输出补偿:依照输出补偿方式OCMOCM的状态,决定控制量UKUK与输出补偿量OCVOCV之间的关系,即:当OCM=0,OCM=0,代表无补偿,此时U Uc c=U=Uk k;当OCM=1,OCM=1,代表加补偿,此时U Uc c=U=Uk k+OCV+OCV;当OCM=2,OCM=2,代表减补偿,此时U Uc c=U=Uk k-OCV;-OCV;当OVM=3OVM=3,代表置换补偿,此时U Uc c=OCV=OCV、利用输出和输入补偿,能够扩大实际应用范围,灵活组成复杂的数字控制器,以便组成复杂的自动控制系统。2 2、变化率限制:为了实现平稳操作,需要对控制量的变化率MRMR加以限制。变化率的选取要适中,过小会使操作缓慢,过大则达不到限制的目的。3 3、输出保持:当软开关FHFHNHNH切向NHNH位置时,现时刻的控制量u(k)u(k)等于前一时刻的控制量u(k-1)u(k-1),也就是说,输出控制量保持不变。当软开关FHFHNHNH切向FHFH位置时,又恢复正常输出方式。软开关FHFHNHNH状态一般来自系统安全报警开关。4 4、安全输出:当软开关FSFSNSNS切向NSNS位置时,现时刻的控制量等于预置的安全输出量MSMS。当软开关FSFSNSNS切向FSFS位置时,又恢复正常输出方式。软开关FSFSNSNS状态一般来自系统安全报警开关。控制量处理数据区需要存放输出补偿量OCVOCV和补偿方式OCMOCM,变化率限制值MRMR,软开关FHFHNHNH和FSFSNSNS,安全输出量MSMS,以及控制量CMVCMV。6 6、3 3、5 5 自动手动切换技术 在正常运行时,系统处于自动状态;而在调试时期或出现故障时,系统处于手动状态。下图为自动/手动切换处理框图。1 1、软自动软手动 当软开关SASASMSM切向SASA位置时,系统处于正常的自动状态,称为软自动(SA)(SA);反之,切向SMSM位置时,控制量来自操作键盘或上位计算机,此时系统处于计算机手动状态,称为软手动(SM)(SM)。一般在调试时期,采纳软手动(SM)(SM)方式。2 2、控制量限幅 为了保证执行机构工作在有效范围内,需要对控制量U Us s进行上、下限限幅处理,使得MLMVMHMLMVMH,再经D DA A转换器输出0 010mADC10mADC或4 420mADC20mADC。3 3、自动手动 关于一般的计算机控制系统,可采纳手动操作器作为计算机的后备操作。当切换开关处于HAHA位置时,控制量MVMV通过D DA A输出,此时系统处于正常的计算机控制方式,称为自动状态(HA(HA状态);反之,若切向HMHM位置,则计算机不再承担控制任务,由运行人员通过手动操作器输出0 010mADC10mADC或4 420mADC20mADC信号,对执行机构进行远方操作,这称为手动状态(HM(HM状态)。4 4、无平衡无扰动切换 所谓无平衡无扰动切换,是指在进行手动到自动或自动到手动的切换之前,无须由人工进行手动输出控制信号与自动输出控制信号之间的对位平衡操作,就能够保证切换时可不能对执行机构的现有位置产生扰动。(1 1)从手动到自动的无平衡操作无扰动切换 (2 2)从自动(SA(SA与HA)HA)切向软手动(SM)(SM)时的无扰动切换。(3 3)从输出保持状态或安全输出状态切向正常的自动工作状态时,同样需要进行无扰动切换。自动手动切换数据区需要存放软手动控制量SMVSMV,软开关SASASMSM状态,控制量上限限值(MH)(MH)和下限限值(ML)(ML),控制量MVMV,切换开关HAHAHMHM状态,以及手动操作器输出VMVM。以上讨论了PIDPID控制程序的各部分功能及相应的数据区。完整的PIDPID控制模块数据区除了上述各部格外,还有被控量量程上限RHRH和量程下限RLRL,工程单位代码、采样(控制)周期等。该数据区是PIDPID控制模块存在的标志,可把它看作是数字PIDPID控制器的实体。只有正确地填写PIDPID数据区后,才能实现PIDPID控制系统。采纳上述数字控制器,不仅能够组成单回路控制系统,而且能够组成串级、前馈、纯滞后补偿(Smith)(Smith)等复杂控制系统,关于后面两种系统还应增加补偿器运算模块。利用该控制模块和各种功能运算模块的组合,能够组成各种控制系统来满足生产过程控制的要求。6 6、4 4 软件抗干扰技术1 1、测控系统软件的基本要求(1 1)易理解、易维护 指软件系统容易阅读和理解,容易发现和纠正错误,容易修改和补充。(2 2)实时性 要求系统及时响应外部事件的发生,并及时给出处理结果。(3 3)可测试性 两方面含义:其一是比较容易制定出测试准则,并依照这些准则对软件进行测试;其二软件设计完成后,首先在模拟环境下运行,经过静态分析和动态仿真运行,证明正确无误后才可投入实际运行。(4 4)准确性 算法选择、位数选择等要符合要求。(5 5)可靠性 最重要的指标之一,两方面含义:第一是运行参数环境发生变化时,软件能可靠运行并给出准确结果,即软件应具有自习惯性;第二是工业环境极其恶劣,干扰严重,软件必须保证在严重干扰条件下也能可靠运行。2 2、软件抗干扰研究的主要内容 (1)(1)采纳软件的方法抑制叠加在输入输出信号上噪声影响,如模拟输入信号的数字滤波技术;(2)(2)由于干扰而使程序发生混乱,导致程序乱飞或陷入死循环,采取使程序纳入正规的措施,如指令冗余、软件陷阱、“看门狗”技术等;(3)(3)发现程序失控后,解决系统恢复正常运行的方法,如重要信息的恢复,系统重入的条件等;(3)(3)数字滤波器能够依照信号的不同,采纳不同的滤波方法或滤波参数,具有灵活、方便、功能强的特点。6 6、4 4、1 1 数字滤波技术 所谓数字滤波所谓数字滤波,就是通过一定的计算或判断程序减少干扰就是通过一定的计算或判断程序减少干扰在有用信号中的比重。故实质上它是一种程序滤波。在有用信号中的比重。故实质上它是一种程序滤波。与模拟滤波器相比,有以下几个优点:(1)(1)数字滤波是用程序实现的,不需要增加硬设备,因此可靠性高,稳定性好。(2)(2)数字滤波能够对频率特别低(如0 0、01HZ)01HZ)的信号实现滤波,克服了模拟滤波器的缺陷。主要数字滤波算法:算术平均值法、中位值滤波法、限幅滤波法、惯性滤波法 1 1、算术平均值法第术平均值法是对输入的N个采样数据xi(i=1N),寻找如此一个y,使y与各采样值间的偏差的平方和为最小,使由一元函数求极值原理可得:例:某压力仪表采样数据如下:1234567891024252027246024252623序 号采样值采样数据明显存在被干扰现象(彩色数据)。采纳算术平均值滤波后,其采样值为:Y=(24+25+20+27+24+60+24+25+26+23)/10=28干扰被平均到采样值中去了 3 3)平均值滤波法一般适用于具有周期性干扰噪声的信号,但对偶然出现的脉冲干扰信号,滤波效果尚不理想。特点:1 1)N N值决定了信号平滑度和灵敏度。随着N N的增大,平滑度提高,灵敏度降低。应该视具体情况选择N N,以便得到满意的滤波效果。2 2)对每次采样值给出相同的加权系数,即1/N1/N。在不同采样时刻采集数据受到同样重视。实际上某些场合需要增加新采样值在平均值中的比重,可采纳加权平均值滤波法。滤波公式为:Y=RY=R0 0Y Y0 0+R+R1 1Y Y1 1+R+R2 2Y Y2 2+RmYm+RmYm。2 2、中位值滤波法 中位值滤波法的原理是对被测参数连续采样m m次(m3)(m3)且是奇数,并按大小顺序排列;再取中间值作为本次采样的有效数据。特点:中位值滤波法对脉冲干扰信号等偶然因素引发的干扰有良好的滤波效果。如对温度、液位等变化缓慢的被测参数采纳此法会收到良好的滤波效果;对流量、速度等快速变化的参数一般不宜采纳中位值滤波法 中位值滤波法和平均值滤波法结合起来使用,滤波效果会更好。即在每个采样周期,先用中位值滤波法得到m个滤波值,再对这m个滤波值进行算术平均,得到可用的被测参数。也称为去脉冲干扰平均值滤波法、123456789242520272460242526例:某压力仪表采样数据如下:序 号采样值采样数据明显存在被干扰现象(彩色数据)。采纳去脉冲干扰平均值滤波后,其采样值为:25对1、2、3次采样中位值滤波后值:24对4、5、6次采样中位值滤波后值:27对7、8、9次采样中位值滤波后值:253 3、限幅滤波法 由于大的随机干扰或采样器的不稳定,使得采样数据偏离实际值太远,为此采纳上、下限限幅,即 当y(n)yy(n)yH H时,则取y(n)=yy(n)=yH H(上限值);当y(n)yy(n)yL L时,则取y(n)=yy(n)=yL L(下限值);当y yL Ly(n)y(n)y yH H时,则取y(n)y(n)。而且采纳限速(亦称限制变化率),即 当|y(n)-y(n-1)|y|y(n)-y(n-1)|y0 0时,则取y(n);y(n);当|y(n)-y(n-1)|y(n)-y(n-1)|yy0 0时,则取y(n)=y(n-1)y(n)=y(n-1)。其中yy0 0为两次相邻采样值之差的估计最大变化量。yy0 0值的选取,取决于采样周期T T及被测参数y y应有的正常变化率。因此,一定要依照实际情况来确定yy0 0、y yH H及y yL L,否则,非但达不到滤波效果,反而会降低控制品质。4 4、惯性滤波法 RC RC滤波器的传递函数是 其中T Tf f=RC,=RC,它的滤波效果取决于滤波时间常数T Tf f。因此,RCRC滤波器不估计对极低频率的信号进行滤波。为此,人们模仿上式做成一阶惯性滤波器亦称低通滤波器。马上上式写成差分方程 稍加整理得 其中,称为滤波系数,且0 01 1,T Ts s为采样周期,T Tf f为滤波器时间常数。依照惯性滤波器的频率特性,若滤波系数越大,则带宽越窄,滤波频率也越低。因此,需要依照实际情况,适当选取值,使得被测参数既不出现明显的纹波,反应又不太迟缓。6、4、2 开关量的软件抗干扰技术 2 2、开关量(数字量)信号输出抗干扰措施 在软件上,最为有效的方法就是重复输出同一个数据。只要有估计,其重复周期尽估计短些。输出设备是电位控制型依然同步锁存型,对干扰的敏感性相差较大。前者有良好的抗“毛刺”干扰能力,后者不耐干扰,当锁存线上出现干扰时,它就会盲目锁存当前的数据,也不管此时数据是否有效。1 1、开关量(数字量)信号输入抗干扰措施 干扰信号多呈毛刺状,作用时间短,利用这一特点,我们在采集某一开关量信号时,可多次重复采集,直到连续两次或两次以上结果完全一致方为有效。6、4、3 指令冗余技术CPU受干扰后,往往将操作数当作操作码执行,造成程序混乱。当程序弹飞到一单字节指令上时,便自动纳入正轨;当程序弹飞到一双字节指令上时(操作码、操作数),有估计落到操作数上,从而接着出错;当程序弹飞到一三字节指令上时(操作码、操作数、操作数),因其有两个操作数,从而接着出错机会更大。应多采纳单字节指令,并在关键地方人为插入一些单字节指令,或将有效单字节指令重复书写,提高弹飞程序纳入正轨的机会,这便是指令冗余。实现方法:在一些对程序流向起决定作用的指令之前插入两条NOP指令,以保证弹飞的程序迅速纳入正确的控制轨道。这些指令有:RET、RETI、LCALL、LJMP、JZ/JNZ、JC/JNC、JB/JNB、JBC、CJNE、DJNZ等。如:利用减法比较两无符号数的大小程序(数放A、B中):无指令冗余程序:CLRCSUBB A,BJCBBIGBBIG:NOP、有指令冗余的情况:CLRCSUBB A,BNOPNOPJCBBIGBBIG:NOP、指令冗余缺点:降低指令执行效率指令冗余特点:1、降低正常程序执行的效率;2、能够减少程序弹飞的次数,使其特别快纳入程序轨道,使CPU按“操作码、操作数”方式运行,但不能保证失控期间不干坏事,更不能保证程序纳入正常轨道后太平无事。因为弹飞的程序差不多偏离正常顺序,做了不该做的事。解决这个问题还要靠软件容错技术,减少或消灭程序误动作。3、指令冗余使弹飞程序安定下来是有条件的,首先弹飞的程序要落到程序区,其次必须执行到冗余的指令。当程序弹飞到非程序区时,或弹飞的程序碰到冗余指令前已形成死循环,都会使冗余指令失去作用。感谢您的聆听!感谢您的聆听!
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!