页数:28页文件大小:175.1 KB来源: 计算机控制技术ppt课件
本课件为《计算机控制技术》课程的第6章应用程序设计与实现技术(一),围绕6.1 程序设计技术、6.2 测量数据预处理技术第6章应用程序设计与实现技术(一)与工程实现展开讲解,逐页呈现原理框图、接口电路与程序示例,并给出完整文字版
第24讲第6章应用程序设计与实现技术(一
软件是工业控制机的程序系统:它可分为系统软件和应用软件。所谓应用软件就是面向控制系统本身的程序,它是根据系统的具体要求,由用户自己设计的。软件设计的方法:利用计算机语言自己编制特定功能的应用程序;也可以利用组态软件工具开发应用程序。
6.1 程序设计技术6.2测量数据预处理
6.1.1 模块化与结构化程序设计一个完:过程可以用左图来说明。首先要分析用户的要求,这大约占整个程序设计工作量的10%;然后编写程序的说明文件,这大约也占10%;接着进行程序的设计与编码,这大约占30%左右,其中设计与编码几乎各占15%;最后进行测试和调试,这要花费整个程序设计工作量的40%以上。
1 模块化程序设计
2 结构化程序设计1966年:C.Bohm和G.Jacopini证明了只用三种基本的控制结构就能实现任何单入口单出口的程序。这三种基本的控制结构是“顺序”、“选择”、“循环”。如图所示。
2 结构化程序设计
2 结构化程序设计
6.1.2 面向过程与面向对象的程序设计
6.1.3 高级语言I/O控制台编程对于
6.1.3高级语言I/O控制台编程对于PC总线工业控制机,我们以Turbo C为例来说明其访问I/O端口的编程。Turbo C通常有库函数,允许直接访问I/O端口,头文件〈conio.h〉中定义了I/O端口例程。例如:a=inportw(0x210)b=inportb(0x220)第一条指令表示将端口210H的16位二进制数(一个字)输入给变量a,第二条指令表示将端口220H的8位二进制数(一个字节)输入给变量b。在C语言中,0x起头的是16进制数。-6.1.3 高级语言I/O控制台编程又如
6.1.3高级语言I/O控制台编程又如:outportw(0x230,0x3435)outportb(0x240,0x26)第一条指令表示将二字节数3435H输出到端口230H中第二条指令表示将单字节数26H输出到端口240H中。传感器把生产过程的信号转换成电信号:然后用A/D转换器把模拟信号变成数字信号,读入计算机中。对于这样得到的数据,一般要进行一些预处理,其中最基本的处理有:误差自动校准线性化处理标度变换
6.2.1 误差自动校准定义
数字调零:在测量时,先把多路输入接到所需测量的一组输入电压上进行测量,测出这时的输入值为x1,然后把多路开关的输入接地,测出零输入时A/D转换器的输出为x0,用x1减去x0即为实际输入电压x。除了数字调零外,还可以采用偏移和增益误差的自动校准。
1 全自动校准先把开关接地:测出这时的输入值x0,然后把开关接VR,测出输入值x1,并存放x1、x0,在正式测量时,如测出的输入值为x,则这时的V可用下式计算
1 全自动校准采用这种方法测得的V与放大:漂移和增益变化无关,与V和R的精度也无关。这样可大大提高测量精度,降低对电路器件的要求。
2 人工自动校准:人工自动校准只测一个标准输入信号yR,零信号的补偿由数字调零来完成。设数字调零后测出的数据分别为xR(接校准输入yR时)和x(接被测输入y时),则可按下式来计算y。如果在校准时,计算并存放yR/xR的值,则测量校准时,只需行一次乘法即可。人工自动校准特别适于传感器特性随时间会发生变化的场合。如常用的湿敏电容等湿度传感器。
6.2.2 线性化处理和非线性补偿
6.2.3 标度变换方法在工业测控系统中:如,压力的单位为Pa,流量的单位为m3/h,温度的单位为℃等,这些参数经传感器和A/D转换后得到一系列的数码,这些数码值并不一定等于原来带有量纲的参数值,它仅仅对应于参数值的大小,故必须把它转换成带有量纲的工程值后才能运算、显示或打印输出,这种转换就是标度变换。标度变换有各种类型,它取决于被测参数的传感器的类型,应根据实际要求来选用适当的标度变换方法。
1 线性变换公式Y=(Ymax-Ymin
6.2.4 越限报警处理:越限报警是工业控制过程常见而又实用的一种报警形式,它分为上限报警、下限报警及上下限报警。如果需要判断的报警参数是xn,该参数的上下限约束值分别是xmax和xmin,则上下限报警的物理意义如下: (1)上限报警若xn>xmax,则上限报警,否则继续执行原定操作。(2)下限报警若xn<xmin,则下限报警,否则继续执行原定操作。(3)上下限报警若xn>xmax,则上限报警,否则对下式做判别;xn<xmin否?若是则下限报警,否则继续原定操作。根据上述规定,程序可以实现对被控参数y、偏差e以及控制量u进行上下限检查。
6.2.5 量化误差来源:1.量化误差量化单位q,也就是机内数的最小单位。举例,8位和12位的A/D转换器,在0-5V时的q通过A/D转换可计算出模拟电压x相当于多少个整量化单位,即:x=Lq+ε,式中L为整数,对于余数ε(ε<q)可以用截尾或舍入来处理。
6.2.5 量化误差来源:1.量化误差所谓截尾就是舍掉数值中小于q的余数ε(ε<q),其截尾误差εt为:εt=xt-x,式中x为实际数值,xt为截尾后的数值。显然-q<εt≤0。所谓舍入是指,当被舍掉的余数ε大于或等于量化单位的一半时,则最小有效位加1;而当余数ε小于量化单位的一半时,则舍掉ε。这时舍入误差为εr=xr-x,式中x为实际数值,xr舍入后的数值。显然,-q/2≤εr≤q/2。
2 量化误差来源从下图可以看出:产生量化误差的原因主要有以下几个方面:(1)A/D转换的量化效应(2)控制规律计算中的量化效应。(3)控制参数的量化效应(4)D/A转换的量化效应
1 A/D转换器的字长选择为把量化误差限:所允许的范围内,应使A/D转换器有足够的字长。确定字长要考虑的因素是:输入信号x的动态范围和分辨率。 (1)输入信号的动态范围λ为转换当量(2)分辨率D06.2.6 A/D、D/A及运算字长的选择
2 D/A转换器的字长选择执行机构的最大:值为umax最小输入值为umin灵敏度为λ
3 运算的字长选择由8位或12位A/D变:采集数据之后,为了保证运算精度,在CPU内几乎毫无例外的至少采用16位字长运算。运算精度不仅取决于字长,而且还取决于采用定点数或浮点数。如果采用浮点数,运算精度可以大大提高。不管采用定点还是浮点数,输入标准数0至1对应A/D转换结果的全0至全1;输出标准数0至1对应D/A转换器数字位状态的全0至全1。
本讲结束:本页为本讲内容的收束页。
下载地址:{{downurl}}
{{{a}}}
{{#b}}{{{b}}}
{{/b}} {{/title}} {{#nolog}}登陆注册
{{/nolog}} {{#djsx}}点我刷新
{{/djsx}} {{#gocz}} {{/gocz}} {{#ffqr}} {{/ffqr}}