《微型计算机控制技术》于海生第6章.pptx
《《微型计算机控制技术》于海生第6章.pptx》由会员分享,可在线阅读,更多相关《《微型计算机控制技术》于海生第6章.pptx(58页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、6.1 程序设计技术 6.1.1 6.1.1 模块化与结构化程序设计模块化与结构化程序设计 6.1.2 6.1.2 面向过程与面向对象的程序设计面向过程与面向对象的程序设计 6.1.3 6.1.3 高级语言高级语言I/OI/O控制台编程控制台编程 第1页/共58页6.1.1 6.1.1 模块化与结构化程序设计一个完整的程序设计过程可以用左图来说明。一个完整的程序设计过程可以用左图来说明。首先要分析用户的要求,这大约占整个程序设首先要分析用户的要求,这大约占整个程序设计工作量的计工作量的10%10%;然后编写程序的说明,这大约也占然后编写程序的说明,这大约也占10%10%;接着进行程序的设计与编
2、码,这大约占接着进行程序的设计与编码,这大约占30%30%左左右,其中设计与编码几乎各占右,其中设计与编码几乎各占15%15%;最后进行测试和调试,这要花费整个程序设计最后进行测试和调试,这要花费整个程序设计工作量的工作量的40%40%以上。以上。第2页/共58页1.1.模块化程序设计 (1 1)自底向上模块化设计自底向上模块化设计 首先对最低层模块进行编码、测试和调试。这些模首先对最低层模块进行编码、测试和调试。这些模块正常工作后,就可以用它们来开发较高层的模块。这块正常工作后,就可以用它们来开发较高层的模块。这种方法种方法是汇编语言设计常用的方法是汇编语言设计常用的方法。(2 2)自顶向下
3、模块化设计)自顶向下模块化设计 首先对最高层进行编码、测试和调试。为了测试这首先对最高层进行编码、测试和调试。为了测试这些最高层模块,可以用些最高层模块,可以用“结点结点”来代替还未编码的较低来代替还未编码的较低层模块,这些层模块,这些“结点结点”的输入和输出满足程序的说明部的输入和输出满足程序的说明部分要求,但功能少得多。分要求,但功能少得多。该方法一般该方法一般适合用高级语言来设计程序适合用高级语言来设计程序。第3页/共58页2.2.结构化程序设计 1966 1966年,年,C.Bohm C.Bohm 和和G.JacopiniG.Jacopini证明证明了只用三种基本的了只用三种基本的控制
4、结构就能实现控制结构就能实现任何单入口单出口任何单入口单出口的程序。这三种基的程序。这三种基本的控制结构是本的控制结构是“顺序顺序”、“选择选择”、“循环循环”。如右图。如右图所示。所示。第4页/共58页6.1.2 6.1.2 面向过程与面向对象的程序设计 1.1.面向过程的程序设计及其局限性面向过程的程序设计及其局限性 过程式程序设计是面向功能的。首先要定义所要实现的功过程式程序设计是面向功能的。首先要定义所要实现的功能,然后设计为实现这些功能所要执行的步骤。这些步骤就是能,然后设计为实现这些功能所要执行的步骤。这些步骤就是过程。编写代码实际上等于分解这些步骤,使每一步直接对应过程。编写代码
5、实际上等于分解这些步骤,使每一步直接对应一行代码。这就是过程式编程中的一行代码。这就是过程式编程中的“逐步求精逐步求精”的过程。的过程。这种方式不利于中大型软件的开发与维护,小部分数据或这种方式不利于中大型软件的开发与维护,小部分数据或功能的改变会涉及到很多的相关程序。功能的改变会涉及到很多的相关程序。2.2.面向对象的程序设计面向对象的程序设计 以上两种方法在概念上存在以下主要区别:以上两种方法在概念上存在以下主要区别:(1 1)模块与对象)模块与对象 (2 2)过程调用和消息传递)过程调用和消息传递 (3 3)类型和类)类型和类 (4 4)静态链接和动态链接)静态链接和动态链接 第5页/共
6、58页6.1.3 6.1.3 高级语言I/OI/O控制台编程 对于对于PCPC总线工业控制机,我们以总线工业控制机,我们以Turbo CTurbo C为例来说明其访问为例来说明其访问I/OI/O端口的编程。端口的编程。Turbo CTurbo C通常有库函数,允许直接访问通常有库函数,允许直接访问I/OI/O端口,头文件端口,头文件conio.hconio.h中定义了中定义了I/OI/O端口例程。端口例程。例如例如:a=inportw(0 x210)a=inportw(0 x210)b=b=inportb(0 x220)inportb(0 x220)第一条指令表示将端口第一条指令表示将端口21
7、0H210H的的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输出到端口输出到端口230H23
8、0H中,第二条中,第二条指令表示将单字节数指令表示将单字节数26H26H输出到端口输出到端口240H240H中。中。第6页/共58页6.2 6.2 测量数据预处理技术 6.2.1 6.2.1 误差自动校准误差自动校准 6.2.2 6.2.2 线性化处理和非线性补偿线性化处理和非线性补偿 6.2.3 6.2.3 标度变换方法标度变换方法 6.2.4 6.2.4 越限报警处理越限报警处理 6.2.5 6.2.5 量化误差来源量化误差来源 6.2.6 A/D6.2.6 A/D、D/AD/A及运算字长的选择及运算字长的选择 传感器把生产过程的信号转换成电信号,然后用传感器把生产过程的信号转换成电信号,
9、然后用A AD D转换器转换器把模拟信号变成数字信号,读入计算机中。把模拟信号变成数字信号,读入计算机中。对于这样得到的数据,一般要进行一些预处理,其中最基本对于这样得到的数据,一般要进行一些预处理,其中最基本的处理有的处理有线性化处理线性化处理、标度变换标度变换和和误差自动校准误差自动校准。第7页/共58页6.2.1 6.2.1 误差自动校准系统误差系统误差定义:定义:是指在相同条件下,经过多次测量,误差是指在相同条件下,经过多次测量,误差的数值的数值(包括大小符号包括大小符号)保持恒定,或按某种已知的规律变保持恒定,或按某种已知的规律变化的误差。化的误差。特点:特点:在一定的测量条件下,其
10、变化规律是可以掌握在一定的测量条件下,其变化规律是可以掌握的,产生误差的原因一般也是知道的。的,产生误差的原因一般也是知道的。方法:方法:偏移校准在实际中应用最多,并且常采用偏移校准在实际中应用最多,并且常采用程序程序来实现,称为数字调零。来实现,称为数字调零。数字调零:数字调零:在测量时,先把多路输入接到在测量时,先把多路输入接到所需测量所需测量的的一组输入电压上进行测量,测出这时的输入值为一组输入电压上进行测量,测出这时的输入值为x x1 1,然后然后把多路开关的输入接地,测出把多路开关的输入接地,测出零输入零输入时时A AD D转换器的输出转换器的输出为为x x0 0,用,用x x1 1
11、减去减去x x0 0即为实际输入电压即为实际输入电压x x。图。图6-36-3 除了数字调零外,还可以采用偏移和增益误差的除了数字调零外,还可以采用偏移和增益误差的自动自动校准校准。第8页/共58页1.1.全自动校准 采用这种方法测得的采用这种方法测得的V V与放大器的漂移和增益变化无关,与与放大器的漂移和增益变化无关,与V V和和R R的精度也无关。这样可大大提高测量精度,降低对电路器件的精度也无关。这样可大大提高测量精度,降低对电路器件的要求。的要求。先把先把开关接地开关接地,测出这时的输入值,测出这时的输入值x x0 0,然后把开关接,然后把开关接基准基准电压电压VRVR,测出输入值,测
12、出输入值x x1 1,并存放,并存放x x1 1、x x0 0,在,在正式测量正式测量时,如测时,如测出的输入值为出的输入值为x x,则这时的,则这时的V V可用下式计算可用下式计算 全自动校准只适于基准参数是全自动校准只适于基准参数是电信号电信号场合,并且不能校正由场合,并且不能校正由传感器传感器引入的误差。为克服这种缺点,采用人工自动校准。引入的误差。为克服这种缺点,采用人工自动校准。自动校准:自动测量基准参数,计算误差模型,获得并存储误差补偿因子自动校准:自动测量基准参数,计算误差模型,获得并存储误差补偿因子。第9页/共58页2.人工自动校准 人人工工自自动动校校准准只只测测一一个个标标
13、准准输输入入信信号号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的的的的值值值值,则则则则测测测测量量量量校准时,只需行一次乘法即可。有时也可用校准时,只需行一次乘法即可。有时也可用校准时,只需行一次乘法即可。有时也可用校准时,
14、只需行一次乘法即可。有时也可用y y y yi i i i代替代替代替代替y y y yR R R R 人人人人工工工工自自自自动动动动校校校校准准准准特特特特别别别别适适适适于于于于传传传传感感感感器器器器特特特特性性性性随随随随时时时时间间间间会会会会发发发发生生生生变化的场合。如常用的湿敏电容等湿度传感器。变化的场合。如常用的湿敏电容等湿度传感器。变化的场合。如常用的湿敏电容等湿度传感器。变化的场合。如常用的湿敏电容等湿度传感器。第10页/共58页6.2.2 6.2.2 线性化处理和非线性补偿1 1铂热电阻的阻值与温度的关系铂热电阻的阻值与温度的关系 离线计算温度与铂离线计算温度与铂热电
15、阻阻值热电阻阻值对应关系表即对应关系表即分度表分度表,然后分段进行线性化。然后分段进行线性化。2 2热电偶的热电势与温度的关系热电偶的热电势与温度的关系 与热电阻方法相同。测量的参数为热电偶的与热电阻方法相同。测量的参数为热电偶的热电势热电势。3 3孔板差压与流量的关系孔板差压与流量的关系4 4气体体积流量的非线性补偿气体体积流量的非线性补偿 第11页/共58页6.2.2 6.2.2 线性化处理和非线性补偿过程控制作业过程控制作业P102P102第第3030题题已知热电偶的分度号为已知热电偶的分度号为K,K,工作时的冷端温度为工作时的冷端温度为3030,测,测得得热电势热电势以后,以后,错用错
16、用E E分度表查得工作端的温度分度表查得工作端的温度715.2 715.2,试求工作端实际温度是多少?,试求工作端实际温度是多少?解:首先求出工作端温度解:首先求出工作端温度相对相对0 0 冷端的冷端的热电势的值,热电势的值,设该值为设该值为X X,按,按E E分度表分度表,可列出方程:,可列出方程:再通过查再通过查K K型型热电偶分度表热电偶分度表,可求得工作端实际温度可求得工作端实际温度t t第12页/共58页6.2.3 6.2.3 标度变换方法 在工业测控系统中,如,压力的单位为在工业测控系统中,如,压力的单位为PaPa,流量的,流量的单位为单位为m m3 3h h,温度的单位为,温度的
17、单位为等,这些参数经传感器和等,这些参数经传感器和A AD D转换后得到一系列的数码,这些数码值并不一定等于转换后得到一系列的数码,这些数码值并不一定等于原来带有量纲的参数值,它仅仅对应于参数值的大小,故原来带有量纲的参数值,它仅仅对应于参数值的大小,故必须把它必须把它转换成带有量纲的工程值转换成带有量纲的工程值后才能运算、显示或打后才能运算、显示或打印输出,这种转换就是印输出,这种转换就是标度变换标度变换。标度变换有各种类型,它取决于被测参数的传感器标度变换有各种类型,它取决于被测参数的传感器的类型,应根据实际要求来选用适当的标度变换方法。的类型,应根据实际要求来选用适当的标度变换方法。1
18、1线性变换公式线性变换公式 2 2公式转换法公式转换法 3 3其它标度变换法其它标度变换法 第13页/共58页 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转转换
19、换后后的的输输入入值值,N Nminmin表表示示量量程程起起点点Y Yminmin对对应应的的A AD D转换后的输入值,转换后的输入值,X X表示测量值表示测量值Y Y对应的对应的A AD D转换值。转换值。XY(Nmin,Ymin)(Nmax,Ymax)(X,Y)第14页/共58页例:例:P218 P218 第第2 2题题某热处理炉温度变化范围为某热处理炉温度变化范围为0 0-1350-1350,经温度变经温度变送器变换为送器变换为1-5V1-5V电压送至电压送至ADC0809ADC0809,ADC0809ADC0809的输入的输入范围为范围为0-5V0-5V。当。当t=t=某值时,某值
20、时,ADC0809ADC0809的转换结果为的转换结果为6AH6AH,问此时炉内温度,问此时炉内温度t=?t=?解法一:解法一:解法二:解法二:第15页/共58页过程控制作业P101第13题有一台DDZ-型两线制差压变送器,已知其量程为20-100kPa,当输入信号为40kPa和70kPa时,变送器的输出信号分别是多少?解:DDZ-型差压变送器输出信号:4-20mA,由于电流信号与测量信号呈线性关系,当输入信号为40kPa时,设变送器输出信号为X,可列出方程:当输入信号为70kPa时,可列出方程:第16页/共58页 1.1.线性变换公式线性变换公式 Y=(YY=(Ymaxmax-Y-Yminm
21、in)(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.公式转换法(公式转换法(非线性场合非线性场合)可采用
22、直接按解析式来计算。可采用直接按解析式来计算。3.3.其它标度变换法(其它标度变换法(非线性场合非线性场合)可采用多项式插值法,也可以用线性插值法或查表可采用多项式插值法,也可以用线性插值法或查表进行标度变换。进行标度变换。第17页/共58页6.2.4 6.2.4 越限报警处理 越越限限报报警警是是工工业业控控制制过过程程常常见见而而又又实实用用的的一一种种报报警警形形式式,它它分分为为上上限限报报警警、下下限限报报警警及及上上下下限限报报警警。如如果果需需要要判判断断的的报报警警参参数数是是x xn n,该该参参数数的的上上下下限限约约束束值值分分别别是是x xmaxmax和和x xminm
23、in,则则上下限报警的物理意义如下:上下限报警的物理意义如下:(1)(1)上限报警上限报警 若若x xn nx xmaxmax,则上限报警,否则继续执行原定操作。,则上限报警,否则继续执行原定操作。(2)(2)下限报警下限报警 若若x xn nx xminmin,则下限报警,否则继续执行原定操作。,则下限报警,否则继续执行原定操作。(3)(3)上下限报警上下限报警 若若x xn nx xmaxmax,则上限报警,否则对下式做判别;,则上限报警,否则对下式做判别;x xn nx xminmin否否?若是则下限报警,否则继续原定操作。若是则下限报警,否则继续原定操作。根据上述规定,程序可以实现对被
24、控参数根据上述规定,程序可以实现对被控参数y y、偏差、偏差e e以及以及控制量控制量u u进行上下限检查。进行上下限检查。第18页/共58页 所谓量化,就是采用一组数码所谓量化,就是采用一组数码(如二进制码如二进制码)来逼来逼近离散模拟信号的幅值,将其转换为数字信号。将采近离散模拟信号的幅值,将其转换为数字信号。将采样信号转换为数字信号的过程称为量化过程,执行量样信号转换为数字信号的过程称为量化过程,执行量化动作的装置是化动作的装置是A/DA/D转换器。转换器。2、量化6.2.5 量化误差来源第19页/共58页量化单位量化单位:字长为量化单位:字长为n n的的A/DA/D转换器把转换器把一定
25、范围内一定范围内变化的采变化的采样信号变换为数字样信号变换为数字0 02 2n n-1,-1,其其最低有效位最低有效位(LSBLSB)所对)所对应的应的模拟量模拟量q q称为量化单位。称为量化单位。量化过程实际上是一个用量化过程实际上是一个用q q去度量采样值幅值高低的小去度量采样值幅值高低的小数归整过程。如同单位一样。数归整过程。如同单位一样。由于量化过程是小数归整过程,因而存在量化误差,由于量化过程是小数归整过程,因而存在量化误差,量化误差量化误差(1/2)q,在,在A/D转换器的字长足够长,整量化误差足够小。转换器的字长足够长,整量化误差足够小。例:设模拟电压为例:设模拟电压为0 05V
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微型计算机控制技术 微型计算机 控制 技术 海生
限制150内