《微型计算机控制技术》于海生第6章.ppt
《《微型计算机控制技术》于海生第6章.ppt》由会员分享,可在线阅读,更多相关《《微型计算机控制技术》于海生第6章.ppt(58页珍藏版)》请在三一办公上搜索。
1、第章 应用程序设计与实现技术,6.1 程序设计技术 6.2 测量数据预处理技术 6.3 数字控制器的工程实现 6.4 系统的有限字长数值问题,软件是工业控制机的程序系统,它可分为系统软件和应用软件。所谓应用软件就是面向控制系统本身的程序,它是根据系统的具体要求,由用户自己设计的。软件设计的方法:利用计算机语言自己编制需要的应用程序;利用组态软件。,6.1 程序设计技术,6.1.1 模块化与结构化程序设计 6.1.2 面向过程与面向对象的程序设计 6.1.3 高级语言I/O控制台编程,6.1.1 模块化与结构化程序设计,一个完整的程序设计过程可以用左图来说明。首先要分析用户的要求,这大约占整个程
2、序设计工作量的10%;然后编写程序的说明,这大约也占10%;接着进行程序的设计与编码,这大约占30%左右,其中设计与编码几乎各占15%;最后进行测试和调试,这要花费整个程序设计工作量的40%以上。,1.模块化程序设计,(1)自底向上模块化设计 首先对最低层模块进行编码、测试和调试。这些模块正常工作后,就可以用它们来开发较高层的模块。这种方法是汇编语言设计常用的方法。(2)自顶向下模块化设计 首先对最高层进行编码、测试和调试。为了测试这些最高层模块,可以用“结点”来代替还未编码的较低层模块,这些“结点”的输入和输出满足程序的说明部分要求,但功能少得多。该方法一般适合用高级语言来设计程序。,2.结
3、构化程序设计,1966年,C.Bohm 和G.Jacopini证明了只用三种基本的控制结构就能实现任何单入口单出口的程序。这三种基本的控制结构是“顺序”、“选择”、“循环”。如右图所示。,6.1.2 面向过程与面向对象的程序设计,1.面向过程的程序设计及其局限性 过程式程序设计是面向功能的。首先要定义所要实现的功能,然后设计为实现这些功能所要执行的步骤。这些步骤就是过程。编写代码实际上等于分解这些步骤,使每一步直接对应一行代码。这就是过程式编程中的“逐步求精”的过程。这种方式不利于中大型软件的开发与维护,小部分数据或功能的改变会涉及到很多的相关程序。2.面向对象的程序设计 以上两种方法在概念上
4、存在以下主要区别:(1)模块与对象(2)过程调用和消息传递(3)类型和类(4)静态链接和动态链接,6.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的16位二进制数(一个字)输入给变量a,第二条指令表示将端口220H的8位二进制数(一个字节)输入给变量b。在C语言中,0 x起头的是16进制数。又如:outportw(0 x230,0
5、x3435)outportb(0 x240,0 x26)第一条指令表示将二字节数3435H输出到端口230H中,第二条指令表示将单字节数26H输出到端口240H中。,6.2 测量数据预处理技术,6.2.1 误差自动校准 6.2.2 线性化处理和非线性补偿 6.2.3 标度变换方法 6.2.4 越限报警处理 6.2.5 量化误差来源 6.2.6 A/D、D/A及运算字长的选择,传感器把生产过程的信号转换成电信号,然后用AD转换器把模拟信号变成数字信号,读入计算机中。对于这样得到的数据,一般要进行一些预处理,其中最基本的处理有线性化处理、标度变换和误差自动校准。,6.2.1 误差自动校准,系统误差
6、定义:是指在相同条件下,经过多次测量,误差的数值(包括大小符号)保持恒定,或按某种已知的规律变化的误差。特点:在一定的测量条件下,其变化规律是可以掌握的,产生误差的原因一般也是知道的。方法:偏移校准在实际中应用最多,并且常采用程序来实现,称为数字调零。数字调零:在测量时,先把多路输入接到所需测量的一组输入电压上进行测量,测出这时的输入值为x1,然后把多路开关的输入接地,测出零输入时AD转换器的输出为x0,用x1减去x0即为实际输入电压x。图6-3 除了数字调零外,还可以采用偏移和增益误差的自动校准。,1.全自动校准,采用这种方法测得的V与放大器的漂移和增益变化无关,与V和R的精度也无关。这样可
7、大大提高测量精度,降低对电路器件的要求。,先把开关接地,测出这时的输入值x0,然后把开关接基准电压VR,测出输入值x1,并存放x1、x0,在正式测量时,如测出的输入值为x,则这时的V可用下式计算,全自动校准只适于基准参数是电信号场合,并且不能校正由传感器引入的误差。为克服这种缺点,采用人工自动校准。,自动校准:自动测量基准参数,计算误差模型,获得并存储误差补偿因子。,2.人工自动校准,人工自动校准只测一个标准输入信号yR,零信号的补偿由数字调零来完成。设数字调零后测出的数据分别为xR(接校准输入yR时)和x(接被测输入y时),则可按下式来计算y。,如果在校准时,计算并存放yRxR的值,则测量校
8、准时,只需行一次乘法即可。有时也可用yi代替yR 人工自动校准特别适于传感器特性随时间会发生变化的场合。如常用的湿敏电容等湿度传感器。,6.2.2 线性化处理和非线性补偿,1铂热电阻的阻值与温度的关系 离线计算温度与铂热电阻阻值对应关系表即分度表,然后分段进行线性化。2热电偶的热电势与温度的关系 与热电阻方法相同。测量的参数为热电偶的热电势。3孔板差压与流量的关系4气体体积流量的非线性补偿,6.2.2 线性化处理和非线性补偿,过程控制作业P102第30题已知热电偶的分度号为K,工作时的冷端温度为30,测得热电势以后,错用E分度表查得工作端的温度715.2,试求工作端实际温度是多少?解:首先求出
9、工作端温度相对0 冷端的热电势的值,设该值为X,按E分度表,可列出方程:,再通过查K型热电偶分度表,可求得工作端实际温度t,6.2.3 标度变换方法,在工业测控系统中,如,压力的单位为Pa,流量的单位为m3h,温度的单位为等,这些参数经传感器和AD转换后得到一系列的数码,这些数码值并不一定等于原来带有量纲的参数值,它仅仅对应于参数值的大小,故必须把它转换成带有量纲的工程值后才能运算、显示或打印输出,这种转换就是标度变换。标度变换有各种类型,它取决于被测参数的传感器的类型,应根据实际要求来选用适当的标度变换方法。1线性变换公式 2公式转换法 3其它标度变换法,1.线性变换公式(前提:参数值与A/
10、D转换结果为线性关系)Y=(Ymax-Ymin)(X-Nmin)(Nmax-Nmin)+Ymin Y表示参数测量值,Ymax表示参数量程最大值,Ymin表示参数量程最小值,Nmax表示 Ymax对应的AD转换后的输入值,Nmin表示量程起点Ymin对应的AD转换后的输入值,X表示测量值Y对应的AD转换值。,X,Y,(Nmin,Ymin),(Nmax,Ymax),(X,Y),例:P218 第2题某热处理炉温度变化范围为0-1350,经温度变送器变换为1-5V电压送至ADC0809,ADC0809的输入范围为0-5V。当t=某值时,ADC0809的转换结果为6AH,问此时炉内温度t=?解法一:,解
11、法二:,过程控制作业P101第13题有一台DDZ-型两线制差压变送器,已知其量程为20-100kPa,当输入信号为40kPa和70kPa时,变送器的输出信号分别是多少?解:DDZ-型差压变送器输出信号:4-20mA,由于电流信号与测量信号呈线性关系,当输入信号为40kPa时,设变送器输出信号为X,可列出方程:,当输入信号为70kPa时,可列出方程:,1.线性变换公式 Y=(Ymax-Ymin)(X-Nmin)(Nmax-Nmin)+Ymin Y表示参数测量值,Ymax表示参数量程最大值,Ymin表示参数量程最小值,Nmax表示 Ymax对应的AD转换后的输入值,Nmin表示量程起点Ymin对应
12、的AD转换后的输入值,X表示测量值Y对应的AD转换值。2.公式转换法(非线性场合)可采用直接按解析式来计算。3.其它标度变换法(非线性场合)可采用多项式插值法,也可以用线性插值法或查表进行标度变换。,6.2.4 越限报警处理,越限报警是工业控制过程常见而又实用的一种报警形式,它分为上限报警、下限报警及上下限报警。如果需要判断的报警参数是xn,该参数的上下限约束值分别是xmax和xmin,则上下限报警的物理意义如下:(1)上限报警 若xnxmax,则上限报警,否则继续执行原定操作。(2)下限报警 若xnxmin,则下限报警,否则继续执行原定操作。(3)上下限报警 若xnxmax,则上限报警,否则
13、对下式做判别;xnxmin否?若是则下限报警,否则继续原定操作。根据上述规定,程序可以实现对被控参数y、偏差e以及控制量u进行上下限检查。,所谓量化,就是采用一组数码(如二进制码)来逼近离散模拟信号的幅值,将其转换为数字信号。将采样信号转换为数字信号的过程称为量化过程,执行量化动作的装置是A/D转换器。,2、量化,6.2.5 量化误差来源,量化单位,量化单位:字长为n的A/D转换器把一定范围内变化的采样信号变换为数字02n-1,其最低有效位(LSB)所对应的模拟量q称为量化单位。,量化过程实际上是一个用q去度量采样值幅值高低的小数归整过程。如同单位一样。,由于量化过程是小数归整过程,因而存在量
14、化误差,量化误差(1/2)q,在A/D转换器的字长足够长,整量化误差足够小。,例:设模拟电压为05V,分别采用8位和12位的A/D转换器,则可表示的最小单位q分别是:,1.量化误差 通过AD转换可计算出模拟电压x相当于多少个整量化单位,即:x=Lq+,式中L为整数,对于余数(q)可以用截尾或舍入来处理。所谓截尾就是舍掉数值中小于q的余数(q),其截尾误差t为:t=xt-x,式中x为实际数值,xt为截尾后的数值。显然-qt0。所谓舍入是指,当被舍掉的余数大于或等于量化单位的一半时,则最小有效位加1;而当余数小于量化单位的一半时,则舍掉。这时舍入误差为r=xr-x,式中x为实际数值,xr舍入后的数
15、值。显然,-q/2rq/2。,2.量化误差来源,从下图可以看出,产生量化误差的原因主要有以下几个方面:(1)A/D转换的量化效应(2)控制规律计算中的量化效应。(3)控制参数的量化效应(4)D/A转换的量化效应,-qt0,-q/2rq/2,6.2.6 A/D、D/A及运算字长的选择,1.A/D转换器的字长选择2.D/A转换器的字长选择3.运算的字长选择,1.A/D转换器的字长选择,为把量化误差限制在所允许的范围内,应使A/D转换器有足够的字长。确定字长要考虑的因素是:输入信号x的动态范围和分辨率。(1)输入信号的动态范围 设n为A/D转换器字长,为转换当量(相当于量化单位),若已知输入信号的最
16、大值和最小值之差,则可列出方程:,则A/D字长n为:,1.A/D转换器的字长选择,某炉温度变化范围0-1500,要求分辨率为3,温度变送器输出范围为0-5V若A/D转换器的输入范围也为0-5V,则求A/D转换器字长应为多少?若A/D转换器字长不变,现通过变送器零点迁移而将信号零点迁移到600,此时系统对炉温的分辨率为多少?,解:由公式:,得,或,所以A/D转换器字长应为10位。,1.A/D转换器的字长选择,为把量化误差限制在所允许的范围内,应使A/D转换器有足够的字长。确定字长要考虑的因素是:输入信号x的动态范围和分辨率。(2)分辨率,分辨率:反映A/D转换器对输入量微小变化响应的分辨能力,即
17、指能使转换后数字量变化1的最小模拟输入量。,本书对分辨率定义:,若已知分辨率,则字长:,书上例题:温度测量范围0-200,要求分辨率为:0.005,求A/D转换器字长:,2.D/A转换器的字长选择,umax为执行机构的最大输入值umin为执行机构的最小输入值为执行机构的灵敏度,某执行机构的输入变化范围为4-20mA,灵敏度为0.05mA,应选D/A转换器的字长是多少?,因此:取A/D转换器字长为10位。,6.3 数字控制器的工程实现,6.3.1 给定值和被控量处理 6.3.2 偏差处理 6.3.3 控制算法的实现 6.3.4 控制量处理 6.3.5 自动/手动切换技术,数字控制器算法的工程实现
18、中,应注意的问题,由以下五部分给出:,6.3.1 给定值和被控量处理,1.给定值处理 给定值处理包括选择给定值SV和给定值变化率限制SR两部分。通过选择软开关CLCR,可以构成内给定状态或外给定状态;通过选择软开关CASSCC,可以构成串级控制或SCC控制。(1)内给定状态 当软开关CLCR切向CL位置时,选择操作员设置的给定值SVL。这时系统处于单回路控制的内给定状态,利用给定值键可以改变给定值。,(2)外给定状态 当软开关CLCR切向CR位置时,给定值来自上位计算机、主回路或运算模块。这时系统处于外给定状态。在此状态下,可以实现以下两种控制方式。SCC控制:当软开关CASSCC切向SCC位
19、置时,接收来自上位计算机的给定值SVS,以便实现二级计算机控制。串级控制:当软开关CASSCC切向CAS位置时,给定值SVS来自主调节模块,实现串级控制。(3)给定值变化率限制 为了减少给定值突变对控制系统的扰动,防止比例、积分饱和,以实现平稳控制,需要对给定值的变化率SR加以限制。变化率的选取要适中,过小会使响应变慢,过大则达不到限制的目的。综上所述,在给定值处理中,共具有三个输入量(SVL,SVC,SVS),两个输出量(SV,CSV),两个开关量(CLCR,CASSCC),一个变化率(SR)。为了便于PID控制程序调用这些量,需要给每个PID控制模块提供一段内存数据区,来存储以上变量。,2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微型计算机控制技术 微型计算机 控制 技术 海生
链接地址:https://www.31ppt.com/p-5031755.html