微型计算机控制技术_第6章 [兼容模式].pdf
《微型计算机控制技术_第6章 [兼容模式].pdf》由会员分享,可在线阅读,更多相关《微型计算机控制技术_第6章 [兼容模式].pdf(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、国家精品课程计算机控制技术国家精品课程计算机控制技术第6章应用程序设计与实现技术6.1 程序设计技术6.2 测量数据预处理技术6.3 数字控制器的工程实现6.4 系统的有限字长数值问题软件是工业控制机的程序系统,它可分为系统软件和应用软件。所谓应用软件就是面向控制系统本身的程序,它是根据系统的具体要求,由用户自己设计的。软件设计的方法:利用计算机语言自己编制需要的应用程序;利用组态软件。6.1 程序设计技术6.2 测量数据预处理技术6.3 数字控制器的工程实现6.4 系统的有限字长数值问题软件是工业控制机的程序系统,它可分为系统软件和应用软件。所谓应用软件就是面向控制系统本身的程序,它是根据系
2、统的具体要求,由用户自己设计的。软件设计的方法:利用计算机语言自己编制需要的应用程序;利用组态软件。国家精品课程计算机控制技术国家精品课程计算机控制技术6.1 程序设计技术6.1.1 模块化与结构化程序设计6.1.2 面向过程与面向对象的程序设计6.1.3 高级语言I/O控制台编程6.1.1 模块化与结构化程序设计6.1.2 面向过程与面向对象的程序设计6.1.3 高级语言I/O控制台编程国家精品课程计算机控制技术国家精品课程计算机控制技术6.1.1 模块化与结构化程序设计6.1.1 模块化与结构化程序设计一个完整的程序设计过程可以用左图来说明。首先要分析用户的要求,这大约占整个程序设计工作量
3、的10%;然后编写程序的说明,这大约也占10%;接着进行程序的设计与编码,这大约占30%左右,其中设计与编码几乎各占15%;最后进行测试和调试,这要花费整个程序设计工作量的40%以上。一个完整的程序设计过程可以用左图来说明。首先要分析用户的要求,这大约占整个程序设计工作量的10%;然后编写程序的说明,这大约也占10%;接着进行程序的设计与编码,这大约占30%左右,其中设计与编码几乎各占15%;最后进行测试和调试,这要花费整个程序设计工作量的40%以上。国家精品课程计算机控制技术国家精品课程计算机控制技术1.模块化程序设计1.模块化程序设计(1)自底向上模块化设计首先对最低层模块进行编码、测试和
4、调试。这些模块正常工作后,就可以用它们来开发较高层的模块。这种方法(1)自底向上模块化设计首先对最低层模块进行编码、测试和调试。这些模块正常工作后,就可以用它们来开发较高层的模块。这种方法是汇编语言设计常用的方法是汇编语言设计常用的方法。(2)自顶向下模块化设计首先对最高层进行编码、测试和调试。为了测试这些最高层模块,可以用“。(2)自顶向下模块化设计首先对最高层进行编码、测试和调试。为了测试这些最高层模块,可以用“结点结点”来代替还未编码的较低层模块,这些“结点”的输入和输出满足程序的说明部分要求,但功能少得多。该方法一般”来代替还未编码的较低层模块,这些“结点”的输入和输出满足程序的说明部
5、分要求,但功能少得多。该方法一般适合用高级语言来设计程序适合用高级语言来设计程序。国家精品课程计算机控制技术国家精品课程计算机控制技术2.结构化程序设计2.结构化程序设计1966年,C.Bohm 和G.Jacopini证明了只用三种基本的控制结构就能实现任何单入口单出口的程序。这三种基本的控制结构是“顺序”、“选择”、“循环”。如右图所示。1966年,C.Bohm 和G.Jacopini证明了只用三种基本的控制结构就能实现任何单入口单出口的程序。这三种基本的控制结构是“顺序”、“选择”、“循环”。如右图所示。国家精品课程计算机控制技术国家精品课程计算机控制技术6.1.2 面向过程与面向对象的程
6、序设计6.1.2 面向过程与面向对象的程序设计1.面向过程的程序设计及其局限性过程式程序设计是面向功能的。首先要定义所要实现的功能,然后设计为实现这些功能所要执行的步骤。这些步骤就是过程。编写代码实际上等于分解这些步骤,使每一步直接对应一行代码。这就是过程式编程中的“逐步求精”的过程。这种方式不利于中大型软件的开发与维护,小部分数据或功能的改变会涉及到很多的相关程序。2.面向对象的程序设计以上两种方法在概念上存在以下主要区别:(1)模块与对象(2)过程调用和消息传递(3)类型和类(4)静态链接和动态链接1.面向过程的程序设计及其局限性过程式程序设计是面向功能的。首先要定义所要实现的功能,然后设
7、计为实现这些功能所要执行的步骤。这些步骤就是过程。编写代码实际上等于分解这些步骤,使每一步直接对应一行代码。这就是过程式编程中的“逐步求精”的过程。这种方式不利于中大型软件的开发与维护,小部分数据或功能的改变会涉及到很多的相关程序。2.面向对象的程序设计以上两种方法在概念上存在以下主要区别:(1)模块与对象(2)过程调用和消息传递(3)类型和类(4)静态链接和动态链接国家精品课程计算机控制技术国家精品课程计算机控制技术6.1.3 高级语言I/O控制台编程6.1.3 高级语言I/O控制台编程对于PC总线工业控制机,我们以Turbo C为例来说明其访问I/O端口的编程。Turbo C通常有库函数,
8、允许直接访问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 x3435)outportb(0 x240,0 x26)第一条指令表示将二字节数3435H输出到端口230H中,第二条指令表示将单字节数26H输出到端口240H中。对于PC总线工业控制机,我们以Turbo C为例来说明其访问I/O端口的编程。
9、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 x3435)outportb(0 x240,0 x26)第一条指令表示将二字节数3435H输出到端口230H中,第二条指令表示将单字节数26H输出到端口240H中。国家精品课程计算机控制技术国家精品课程计算机控制技
10、术6.2 测量数据预处理技术6.2 测量数据预处理技术6.2.1 误差自动校准6.2.2 线性化处理和非线性补偿6.2.3 标度变换方法6.2.4 越限报警处理6.2.5 量化误差来源6.2.6 A/D、D/A及运算字长的选择6.2.1 误差自动校准6.2.2 线性化处理和非线性补偿6.2.3 标度变换方法6.2.4 越限报警处理6.2.5 量化误差来源6.2.6 A/D、D/A及运算字长的选择传感器把生产过程的信号转换成电信号,然后用AD转换器把模拟信号变成数字信号,读入计算机中。对于这样得到的数据,一般要进行一些预处理,其中最基本的处理有传感器把生产过程的信号转换成电信号,然后用AD转换器
11、把模拟信号变成数字信号,读入计算机中。对于这样得到的数据,一般要进行一些预处理,其中最基本的处理有线性化处理线性化处理、标度变换标度变换和和误差自动校准误差自动校准。国家精品课程计算机控制技术国家精品课程计算机控制技术6.2.1 误差自动校准6.2.1 误差自动校准定义:定义:系统误差是指在相同条件下,经过多次测量,误差的数值(包括大小符号)保持恒定,或按某种已知的规律变化的误差。系统误差是指在相同条件下,经过多次测量,误差的数值(包括大小符号)保持恒定,或按某种已知的规律变化的误差。特点:特点:在一定的测量条件下,其变化规律是可以掌握的,产生误差的原因一般也是知道的。在一定的测量条件下,其变
12、化规律是可以掌握的,产生误差的原因一般也是知道的。方法:方法:偏移校准在实际中应用最多,并且常采用程序来实现,称为数字调零。偏移校准在实际中应用最多,并且常采用程序来实现,称为数字调零。数字调零:数字调零:在测量时,先把多路输入接到所需测量的一组输入电压上进行测量,测出这时的输入值为x在测量时,先把多路输入接到所需测量的一组输入电压上进行测量,测出这时的输入值为x1 1,然后把多路开关的输入接地,测出零输入时AD转换器的输出为x,然后把多路开关的输入接地,测出零输入时AD转换器的输出为x0 0,用x,用x1 1减去x减去x0 0即为实际输入电压x。除了数字调零外,还可以采用偏移和增益误差的自动
13、校准。即为实际输入电压x。除了数字调零外,还可以采用偏移和增益误差的自动校准。国家精品课程计算机控制技术国家精品课程计算机控制技术1.全自动校准1.全自动校准RVV)(010 xxxx采用这种方法测得的V与放大器的漂移和增益变化无关,与V和R的精度也无关。这样可大大提高测量精度,降低对电路器件的要求。采用这种方法测得的V与放大器的漂移和增益变化无关,与V和R的精度也无关。这样可大大提高测量精度,降低对电路器件的要求。先把开关接地,测出这时的输入值先把开关接地,测出这时的输入值x x0,然后把开关接VR,测出输入值0,然后把开关接VR,测出输入值x x1,并存放1,并存放x x1、1、x x0,
14、在正式测量时,如测出的输入值为0,在正式测量时,如测出的输入值为x x,则这时的V可用下式计算,则这时的V可用下式计算国家精品课程计算机控制技术国家精品课程计算机控制技术2.人工自动校准人工自动校准只测一个标准输入信号y人工自动校准只测一个标准输入信号yR R,零信号的补偿由数字调零来完成。设数字调零后测出的数据分别为x,零信号的补偿由数字调零来完成。设数字调零后测出的数据分别为xR R(接校准输入y(接校准输入yR R时)和x(接被测输入y时),则可按下式来计算y。时)和x(接被测输入y时),则可按下式来计算y。xxyyRR如果在校准时,计算并存放y如果在校准时,计算并存放yR RxxR R
15、的值,则测量校准时,只需行一次乘法即可。人工自动校准特别适于传感器特性随时间会发生变化的场合。如常用的湿敏电容等湿度传感器。的值,则测量校准时,只需行一次乘法即可。人工自动校准特别适于传感器特性随时间会发生变化的场合。如常用的湿敏电容等湿度传感器。国家精品课程计算机控制技术国家精品课程计算机控制技术6.2.2 线性化处理和非线性补偿6.2.2 线性化处理和非线性补偿1铂热电阻的阻值与温度的关系2热电偶的热电势与温度的关系3孔板差压与流量的关系4气体体积流量的非线性补偿1铂热电阻的阻值与温度的关系2热电偶的热电势与温度的关系3孔板差压与流量的关系4气体体积流量的非线性补偿国家精品课程计算机控制技
16、术国家精品课程计算机控制技术6.2.3 标度变换方法6.2.3 标度变换方法在工业测控系统中,如,压力的单位为Pa,流量的单位为m在工业测控系统中,如,压力的单位为Pa,流量的单位为m3 3h,温度的单位为等,这些参数经传感器和AD转换后得到一系列的数码,这些数码值并不一定等于原来带有量纲的参数值,它仅仅对应于参数值的大小,故必须把它转换成带有量纲的工程值后才能运算、显示或打印输出,这种转换就是h,温度的单位为等,这些参数经传感器和AD转换后得到一系列的数码,这些数码值并不一定等于原来带有量纲的参数值,它仅仅对应于参数值的大小,故必须把它转换成带有量纲的工程值后才能运算、显示或打印输出,这种转
17、换就是标度变换标度变换。标度变换有各种类型,它取决于被测参数的传感器的类型,应根据实际要求来选用适当的标度变换方法。标度变换有各种类型,它取决于被测参数的传感器的类型,应根据实际要求来选用适当的标度变换方法。1线性变换公式2公式转换法3其它标度变换法1线性变换公式2公式转换法3其它标度变换法国家精品课程计算机控制技术国家精品课程计算机控制技术1.线性变换公式Y=(Y1.线性变换公式Y=(Ymaxmax-Y-Yminmin)(X-N)(X-Nminmin)(N)(Nmaxmax-N-Nminmin)+Y)+YminminY表示参数测量值,YY表示参数测量值,Ymaxmax表示参数量程最大值,Y表
18、示参数量程最大值,Yminmin表示参数量程最小值,N表示参数量程最小值,Nmaxmax表示 Y表示 Ymaxmax对应的AD转换后的输入值,N对应的AD转换后的输入值,Nminmin表示量程起点Y表示量程起点Yminmin对应的AD转换后的输入值,X表示测量值Y对应的AD转换值。2.公式转换法可采用直接按解析式来计算。3.其它标度变换法可采用多项式插值法,也可以用线性插值法或查表进行标度变换。对应的AD转换后的输入值,X表示测量值Y对应的AD转换值。2.公式转换法可采用直接按解析式来计算。3.其它标度变换法可采用多项式插值法,也可以用线性插值法或查表进行标度变换。国家精品课程计算机控制技术国
19、家精品课程计算机控制技术6.2.4 越限报警处理6.2.4 越限报警处理越限报警是工业控制过程常见而又实用的一种报警形式,它分为上限报警、下限报警及上下限报警。如果需要判断的报警参数是x越限报警是工业控制过程常见而又实用的一种报警形式,它分为上限报警、下限报警及上下限报警。如果需要判断的报警参数是xn n,该参数的上下限约束值分别是x,该参数的上下限约束值分别是xmaxmax和x和xminmin,则上下限报警的物理意义如下:(1)上限报警若x,则上下限报警的物理意义如下:(1)上限报警若xn nxxmaxmax,则上限报警,否则继续执行原定操作。(2)下限报警若x,则上限报警,否则继续执行原定
20、操作。(2)下限报警若xn nxxminmin,则下限报警,否则继续执行原定操作。(3)上下限报警若x,则下限报警,否则继续执行原定操作。(3)上下限报警若xn nxxmaxmax,则上限报警,否则对下式做判别;x,则上限报警,否则对下式做判别;xn nxxminmin否?若是则下限报警,否则继续原定操作。根据上述规定,程序可以实现对被控参数y、偏差e以及控制量u进行上下限检查。否?若是则下限报警,否则继续原定操作。根据上述规定,程序可以实现对被控参数y、偏差e以及控制量u进行上下限检查。国家精品课程计算机控制技术国家精品课程计算机控制技术6.2.5 量化误差来源1.量化误差量化单位q,也就是
21、机内数的最小单位。举例,8位和12位的A/D转换器,在01.量化误差量化单位q,也就是机内数的最小单位。举例,8位和12位的A/D转换器,在05V时的q通过AD转换可计算出模拟电压x相当于多少个整量化单位,即:5V时的q通过AD转换可计算出模拟电压x相当于多少个整量化单位,即:x=Lq+x=Lq+,式中L为整数,对于余数(q)可以用截尾或舍入来处理。所谓截尾就是舍掉数值中小于q的余数(q),其截尾误差,式中L为整数,对于余数(q)可以用截尾或舍入来处理。所谓截尾就是舍掉数值中小于q的余数(q),其截尾误差t t为:为:t t=x=xt t-x,式中x为实际数值,x-x,式中x为实际数值,xt
22、t为截尾后的数值。显然-q为截尾后的数值。显然-qt t0。所谓舍入是指,当被舍掉的余数大于或等于量化单位的一半时,则最小有效位加1;而当余数小于量化单位的一半时,则舍掉。这时舍入误差为0。所谓舍入是指,当被舍掉的余数大于或等于量化单位的一半时,则最小有效位加1;而当余数小于量化单位的一半时,则舍掉。这时舍入误差为r r=x=xr r-x,式中x为实际数值,x-x,式中x为实际数值,xr r舍入后的数值。显然,-q/2舍入后的数值。显然,-q/2r rq/2。q/2。112121nnq国家精品课程计算机控制技术国家精品课程计算机控制技术2.量化误差来源从下图可以看出,产生量化误差的原因主要有以
23、下几个方面:(1)A/D转换的量化效应(2)控制规律计算中的量化效应。(3)控制参数的量化效应(4)D/A转换的量化效应从下图可以看出,产生量化误差的原因主要有以下几个方面:(1)A/D转换的量化效应(2)控制规律计算中的量化效应。(3)控制参数的量化效应(4)D/A转换的量化效应国家精品课程计算机控制技术国家精品课程计算机控制技术6.2.6 A/D、D/A及运算字长的选择6.2.6 A/D、D/A及运算字长的选择1.A/D转换器的字长选择2.D/A转换器的字长选择3.运算的字长选择1.A/D转换器的字长选择2.D/A转换器的字长选择3.运算的字长选择国家精品课程计算机控制技术国家精品课程计算
24、机控制技术1.A/D 转 换 器 的 字 长 选 择1.A/D 转 换 器 的 字 长 选 择为把量化误差限制在所允许的范围内,应使A/D转换器有足够的字长。确定字长要考虑的因素是:输入信号x的动态范围和分辨率。(1)输入信号的动态范围为转换当量(2)分辨率为把量化误差限制在所允许的范围内,应使A/D转换器有足够的字长。确定字长要考虑的因素是:输入信号x的动态范围和分辨率。(1)输入信号的动态范围为转换当量(2)分辨率)1(logminmax21 xxn)11(021Dlogn国家精品课程计算机控制技术国家精品课程计算机控制技术2.D/A 转 换 器 的 字 长 选 择2.D/A 转 换 器
25、的 字 长 选 择)1(logminmax21uun执行机构的最大输入值为u执行机构的最大输入值为umaxmax最小输入值为u最小输入值为uminmin灵敏度为 灵敏度为 国家精品课程计算机控制技术国家精品课程计算机控制技术6.3 数字控制器的工程实现6.3 数字控制器的工程实现6.3.1 给定值和被控量处理6.3.2 偏差处理6.3.3 控制算法的实现6.3.4 控制量处理6.3.5 自动/手动切换技术6.3.1 给定值和被控量处理6.3.2 偏差处理6.3.3 控制算法的实现6.3.4 控制量处理6.3.5 自动/手动切换技术数字控制器算法的工程实现中,应注意的问题,由以下五部分给出:数字
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 兼容模式 微型计算机控制技术_第6章 兼容模式 微型计算机 控制 技术 兼容 模式
限制150内