应用程序设计与实现.ppt
《应用程序设计与实现.ppt》由会员分享,可在线阅读,更多相关《应用程序设计与实现.ppt(52页珍藏版)》请在三一办公上搜索。
1、第6章 应用程序设计与实现技术,6.1 程序设计技术 6.2 测量数据预处理技术 6.3 数字控制器的工程实现 6.4 系统的有限字长数值问题 6.5 软件抗干扰技术,软件是工业控制机的程序系统,它可分为系统软件和应用软件。所谓应用软件就是面向控制系统本身的程序,它是根据系统的具体要求,由用户自己设计的。软件设计的方法:利用计算机语言自己编制需要的应用程序;利用组态软件。,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)自顶向下模块化设计 首先对最高层进行编码、测试和调试。为了测试这些最高层模块,可以用“结点”来代替还未编码的较低层模块,这些“结点”的输入和输出满足程序的说明部分要求,但功能少得多。该方法一般适合用高
3、级语言来设计程序。,2.结构化程序设计,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进制数。又如:outpo
5、rtw(0 x230,0 x3435)outportb(0 x240,0 x26)第一条指令表示将二字节数3435H输出到端口230H中,第二条指令表示将单字节数26H输出到端口240H中。,6.2 测量数据预处理技术,6.2.1 误差自动校准 6.2.2 线性化处理和非线性补偿 6.2.3 标度变换方法 6.2.4 越限报警处理,传感器把生产过程的信号转换成电信号,然后用AD转换器把模拟信号变成数字信号,读入计算机中。对于这样得到的数据,一般要进行一些预处理,其中最基本的处理有线性化处理、标度变换和误差自动校准。,6.2.1 误差自动校准,定义:系统误差是指在相同条件下,经过多次测量,误差的
6、数值(包括大小符号)保持恒定,或按某种已知的规律变化的误差。特点:在一定的测量条件下,其变化规律是可以掌握的,产生误差的原因一般也是知道的。方法:偏移校准在实际中应用最多,并且常采用程序来实现,称为数字调零。数字调零:在测量时,先把多路输入接到所需测量的一组输入电压上进行测量,测出这时的输入值为x1,然后把多路开关的输入接地,测出零输入时AD转换器的输出为x0,用x1减去x0即为实际输入电压x。除了数字调零外,还可以采用偏移和增益误差的自动校准。,1.全自动校准,采用这种方法测得的V与放大器的漂移和增益变化无关,与V和R的精度也无关。这样可大大提高测量精度,降低对电路器件的要求。,先把开关接地
7、,测出这时的输入值x0,然后把开关接VR,测出输入值x1,并存放x1、x0,在正式测量时,如测出的输入值为x,则这时的V可用下式计算,2.人工自动校准,人工自动校准只测一个标准输入信号yR,零信号的补偿由数字调零来完成。设数字调零后测出的数据分别为xR(接校准输入yR时)和x(接被测输入y时),则可按下式来计算y。,如果在校准时,计算并存放yRxR的值,则测量校准时,只需行一次乘法即可。人工自动校准特别适于传感器特性随时间会发生变化的场合。如常用的湿敏电容等湿度传感器。,6.2.2 线性化处理和非线性补偿,1铂热电阻的阻值与温度的关系 2热电偶的热电势与温度的关系 3孔板差压与流量的关系4气体
8、体积流量的非线性补偿,6.2.3 标度变换方法,在工业测控系统中,如,压力的单位为Pa,流量的单位为m3h,温度的单位为等,这些参数经传感器和AD转换后得到一系列的数码,这些数码值并不一定等于原来带有量纲的参数值,它仅仅对应于参数值的大小,故必须把它转换成带有量纲的工程值后才能运算、显示或打印输出,这种转换就是标度变换。标度变换有各种类型,它取决于被测参数的传感器的类型,应根据实际要求来选用适当的标度变换方法。1线性变换公式 2公式转换法 3其它标度变换法,1.线性变换公式 Y=(Ymax-Ymin)(X-Nmin)(Nmax-Nmin)+Ymin Y表示参数测量值,Ymax表示参数量程最大值
9、,Ymin表示参数量程最小值,Nmax表示 Ymax对应的AD转换后的输入值,Nmin表示量程起点Ymin对应的AD转换后的输入值,X表示测量值Y对应的AD转换值。2.公式转换法 可采用直接按解析式来计算。3.其它标度变换法 可采用多项式插值法,也可以用线性插值法或查表进行标度变换。,6.2.4 越限报警处理,越限报警是工业控制过程常见而又实用的一种报警形式,它分为上限报警、下限报警及上下限报警。如果需要判断的报警参数是xn,该参数的上下限约束值分别是xmax和xmin,则上下限报警的物理意义如下:(1)上限报警 若xnxmax,则上限报警,否则继续执行原定操作。(2)下限报警 若xnxmin
10、,则下限报警,否则继续执行原定操作。(3)上下限报警 若xnxmax,则上限报警,否则对下式做判别;xnxmin否?若是则下限报警,否则继续原定操作。根据上述规定,程序可以实现对被控参数y、偏差e以及控制量u进行上下限检查。,6.3 数字控制器的工程实现,6.3.1 给定值和被控量处理 6.3.2 偏差处理 6.3.3 控制算法的实现 6.3.4 控制量处理 6.3.5 自动/手动切换技术,数字控制器算法的工程实现中,应注意的问题,由以下五部分给出:,6.3.1 给定值和被控量处理,1.给定值处理 给定值处理包括选择给定值SV和给定值变化率限制SR两部分。通过选择软开关CLCR,可以构成内给定
11、状态或外给定状态;通过选择软开关CASSCC,可以构成串级控制或SCC控制。(1)内给定状态 当软开关CLCR切向CL位置时,选择操作员设置的给定值SVL。这时系统处于单回路控制的内给定状态,利用给定值键可以改变给定值。,(2)外给定状态 当软开关CLCR切向CR位置时,给定值来自上位计算机、主回路或运算模块。这时系统处于外给定状态。在此状态下,可以实现以下两种控制方式。SCC控制:当软开关CASSCC切向SCC位置时,接收来自上位计算机的给定值SVS,以便实现二级计算机控制。串级控制:当软开关CASSCC切向CAS位置时,给定值SVS来自主调节模块,实现串级控制。(3)给定值变化率限制 为了
12、减少给定值突变对控制系统的扰动,防止比例、积分饱和,以实现平稳控制,需要对给定值的变化率SR加以限制。变化率的选取要适中,过小会使响应变慢,过大则达不到限制的目的。综上所述,在给定值处理中,共具有三个输入量(SVL,SVC,SVS),两个输出量(SV,CSV),两个开关量(CLCR,CASSCC),一个变化率(SR)。为了便于PID控制程序调用这些量,需要给每个PID控制模块提供一段内存数据区,来存储以上变量。,2.被控量处理,为了安全运行,需要对被控量PV进行上下限报警处理,即:当PVPH(上限值)时,则上限报警状态(PHA)为“1”;当PVPL(下限值)时,则下限报警状态(PLA)为“1”
13、。当出现上、下限报警状态(PHA,PLA)时,它们通过驱动电路发出声或光,以便提醒操作员注意。为了不使PHAPLA的状态频繁改变,可以设置一定的报警死区(HY)。为了实现平稳控制,需要对参与控制的被控量的变化率PR加以限制。变化率的选取要适中,过小会使响应变慢,过大则达不到限制的目的。被控量处理数据区存放一个输入量PV,三个输出量PHA、PLA和CPV,四个参数PH、PL、HY和PR。,7.4.2 偏差处理,偏差处理分为计算偏差、偏差报警、非线性特性和输入补偿四部分,如下图所示。1计算偏差:根据正反作用方式(DR)计算偏差DV,当DR=0,代表正作用,此时偏差DV=CPV-CSV;当DR=1,
14、代表反作用,此时偏差DV=CSV-CPV;2偏差报警:对于控制要求较高的对象,不仅要设置被控制量PV的上、下限报警,而且要设置偏差报警。当偏差绝对值|DV|DL时,则偏差报警状态DLA为“1”。,3输入补偿 根据输入补偿方式ICM状态,决定偏差DVC与输入补偿量ICV之间的关系,即 当ICM=0,代表无补偿,此时CDV=DVC;当ICM=1,代表加补偿,此时CDV=DVC+ICV;当ICM=2,代表减补偿,此时CDV=DVC-ICV;当ICM=3,代表置换补偿,此时CDV=ICV。利用加、减输入补偿,可以分别实现前馈控制和纯滞后补偿(Smith)控制。4非线性特性 为了实现非线性PID控制或带
15、死区的PID控制,设置了非线性区-A至+A和非线性增益K,非线性特性如图所示。即 当K=0时,则为带死区的PID控制;当0K1时,则为非线性PID控制;当K=1时,则为正常的PID控制。偏差处理数据区共存放一个输入补偿量ICV,两个输出量DLA和CDV,两个状态量DR和ICM,以及四个参数DL、-A、+A和K。,7.4.3 控制算法的实现,在自动状态下,需要进行控制计算,即按照各种控制算法的差分方程,计算控制量U,并进行上、下限限幅处理。以PID控制算法为例,当软开关DVPV切向DV位置时,则选用偏差微分方式;当软开关DVPV切向PV位置时,则选用测量(即被控量)微分方式。在PID计算数据区,
16、不仅要存放PID参数(KP或,TI,TD)和采控制周期T,还要存放微分方式DVPV、积分分离值,控制量上限限值MH和下限限值ML,以及控制量UK。为了进行递推运算,还应保存历史数据,如e(k-1)、e(k-2)和u(k-1)。,6.3.4 控制量处理,在输出控制量UK以前,还应经过各项处理和判断,以便扩展控制功能,实现安全平稳操作。1输出补偿:根据输出补偿方式OCM的状态,决定控制量UK与输出补偿量OCV之间的关系,即:当OCM=0,代表无补偿,此时Uc=Uk;当OCM=1,代表加补偿,此时Uc=Uk+OCV;当OCM=2,代表减补偿,此时Uc=Uk-OCV;当OVM=3,代表置换补偿,此时U
17、c=OCV.利用输出和输入补偿,可以扩大实际应用范围,灵活组成复杂的数字控制器,以便组成复杂的自动控制系统。,2变化率限制:为了实现平稳操作,需要对控制量的变化率MR加以限制。变化率的选取要适中,过小会使操作缓慢,过大则达不到限制的目的。3输出保持:当软开关FHNH切向NH位置时,现时刻的控制量u(k)等于前一时刻的控制量u(k-1),也就是说,输出控制量保持不变。当软开关FHNH切向FH位置时,又恢复正常输出方式。软开关FHNH状态一般来自系统安全报警开关。4安全输出:当软开关FSNS切向NS位置时,现时刻的控制量等于预置的安全输出量MS。当软开关FSNS切向FS位置时,又恢复正常输出方式。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 应用 程序设计 实现
链接地址:https://www.31ppt.com/p-4910585.html