控制系统的软件和常用控制程序设计.ppt_第1页
控制系统的软件和常用控制程序设计.ppt_第2页
控制系统的软件和常用控制程序设计.ppt_第3页
控制系统的软件和常用控制程序设计.ppt_第4页
控制系统的软件和常用控制程序设计.ppt_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章 控制系统的软件和常 用控制程序设计,第一节 控制系统的软件分类 第二节 常用控制程序设计,计算机控制系统除了要有较好性能的硬件配置之外,还需配置功能齐全的软件,以实现实时监控、数值计算、数据处理及各种控制算法等功能。 计算机控制系统的软件由于其系统功能的要求应当具有以下特点: 1、实时性 对系统的一组特定的输入,在未发生变化前,系统能作出适当的反应。 2、并发性 能支持多任务并行操作,具有资源共享、保护功能并能有效地进行联网通信。 3、随机性 能及时响应偶发性事件,并能对这些事件做出正确的判断和处理。,4、良好的界面 软件应当有友好的界面,以利于参数的调整和操作人员的操作。 第一节 控制系统的软件分类 计算机控制系统的软件分为系统软件和应用软件两大类。 一、系统软件 系统软件包括操作系统,编辑、编译软件,各类工具软件及诊断系统等;其核心是操作系统。 操作系统是一组程序的集合,它控制计算机系统中用户程序的执行次序,为用户程序与系统硬件之间提供软件接口,并允许程序之间的信息交换。 根据计算机控制系统的结构、控制功能情况选用不同的操作系统。,在以8088为CPU的工控机中,一般选用DOS单任务的操作系统;而对于以386、486和586为CPU的工业控制机或其它高档控制机,则选用多任务的Windows98、WindowsNT或UNIX更适合。 目前在DDS、SCC、DCS中用的计算机常选用WindowsNT作为操作系统。 WindowsNT是具有抢先多任务方式和存储保护方式的32位操作系统,支持多任务处理和联网,其主要特点如下: (1) 抢先多任务,可同时执行多个任务,当磁盘在后台存取 或打印任务被提交时,用户仍可执行其它任务。 (2) 存储器保护可保证多个程序运行在各自的内存区域,不 受其它应用程序在使用时的影响。 (3) 网络特性提供了用户资源的共享。,WindowsNT还提供了文件保护功能,检测并使已损坏的磁盘扇区无效,在电源故障时进行存储处理和信息的保护等。 当控制系统比较简单,例如由单片机构成的简单控制器中往往不用操作系统的支持,只需为系统配置一个监控程序即可达到控制的目标。监控程序可以是买硬件时附带,即由厂家提供,也可以由用户自己编写。 监控程序应当由以下几个部分组成:初始化程序,键盘和显示程序,中断处理程序,信息输入/输出程序。 1、初始化程序 包括各种可编程接口芯片的初始化,堆栈、寄存器和数据缓冲器的设定,中断类别和优先级的设定。,2、键盘和显示程序 用于监测键盘的操作,执行键盘的功能程序及控制系统中所用各类显示器的显示。 3、中断处理程序 完成中断的申请、判断中断优先级和中断服务程序的执行。 4、信息输入/输出程序 如模拟量的A/D转换,开关量的输入/输出等。 二、计算机控制系统的应用程序 1、分类 微机控制系统的应用程序从功能分大致可划分为两大类: 专用控制程序:如数据采集程序,实时控制程序,控制算法程序等。 常用控制程序:如数据处理,数字滤波,标度变换,显示和键盘程序,通信,报警程序等。,几种专用控制程序: l 数据采集程序 数据采集包括现场信息的采集、放大、量化、编码、A/D等过程,配合硬件系统完成数据采集所编写的程序。 l 实时控制程序 通常指计算机输出量控制执行器的执行编写的程序,如交流电机控制程序,步进电机控制程序等。 l 控制算法程序 解决计算机控制系统的控制方法,并且用软件来实现。如为实现PID控制、直接数字控制、最优控制和智能控制编写的程序。,2、 编写控制系统应用程序常用的语言 控制系统对实时性和可靠性有特殊的要求,因此在编写控制系统的应用软件时应当考虑使用的编程语言。 控制系统常用的语言有汇编语言和C、PL/M等高级语言。 (1)汇编语言 汇编语言是一种介于高级语言和机器语言之间的语言,其特点是与机器语言一一对应。由于该语言直接与计算机的硬件相联系,因此用汇编语言编写的程序执行速度快,节省存储空间,适用于各种实时控制系统中。目前常用的微型计算机的汇编程序有MASM、MC6800、MCS-51、MCS-96等。,(2)高级语言 常用于控制系统的高级语言有C语言和PL/M语言。 1 、C语言 C语言是一种能取代汇编语言,又具有高级语言特点的语 言。C语言的特点是: 结构化语言,适合于模块化设计 数据类型和运算符丰富,具有较强的汇编特性 丰富的库函数为用户提供良好的软件开发环境 C语言广泛用于系统软件和控制软件的开发中。,2 、 PL/M语言 PL/M语言是Intel从8080微处理器开始为其系列产品开发的编程语言 ,用于微机系列、单片机和系统软件编程的一种高级语言,PL/M语言的特点是: 模块化结构,可读性好,可靠性高,便于维护 占用内存小,运行速度快,开发成本低 支持多种数据类型的运算 可与汇编语言和其它高级语言连接生成目标代码 PL/M语言适用于控制系统的应用软件编程开发。,3、 实时工业控制软件FIX FIX DMACS控制软件由美国Intellution公司推出,是具有数据采集及控制、报警、图形数据显示等功能的工业自动化软件。 (1)主要功能 l 数据采集和控制功能: FIX提供监控生产过程的实时数据库。数据以文本、模拟量或数字量的形式从控制现场采集得到,通过对实时数据的操作实现监视或控制功能。 l 统计及数据处理功能: FIX有统计选项和数据的实时处理功能,操作人员可由此功能监视和调整生产过程。 l 图像化组态: FIX允许使用图像化的组态方式进行系统控制的配置,便于开发和应用系统的维护。,l 报警和管理:FIX可对生产过程的重要部分进行实时监控并报警。报警信息可用图像画面或打印机输出,并形成文件存储。操作人员可根据报警信息对生产过程出现的问题进行确认分析和判断,及时对过程进行调整,并监视调整后的结果。 l 历史趋势再现:软件可提供历史数据和趋势显示功能供离线分析用,历史数据和趋势可用曲线表示并指示不同变量间的动态关系供详细的分析和判断。 l 安全保护: FIX提供用户操作的安全功能,用户被定义为独立和组特权,能够控制对系统应用和数据的访问。 l 交叉平台集成功能:该软件可兼顾不同的操作系统,生成的数据库、操作员画面和历史文件能在不同的操作系统(Windows,OS/2,VMS)之间实现传递和共享,简化了多个操作系统共存时的网络设置。,(2)主要接口 l 图形化用户接口 : FIX提供了一个直观的基于对象的图形化用户接口(GUI),使用户可用图标和对话框设置整个系统。在建立图面时,用户可定义某些功能特性,生成所需的画面形状。画面中的对象可以旋转、改变尺寸、填充颜色等。GUI还提供常用设备的字符集,供生成画面时调用。 l 通信接口: FIX提供通用的通信接口,可以和不同的硬件设备连接进行数据通信。 l 报表接口 : 通过一个双向接口,使数据库的数据与应用程序连接并共享,便于用户用电子表格或字处理程序生成各种报表和图形。,l 实时SQL接口: 该接口允许FIX与符合SQL标准的其它关系数据之间进行双向和实时的数据互访。 l 可编程接口 : 允许用户用C语言编程访问FIX的数据库和各类实时历史数据,以达到特定的目标值分析和获取最佳控制。 目前,类似FIX DMACS类型的控制软件系列已经引入国内,企业在应用中取得了良好的经济效果。,第二节 常用控制程序设计 生产对象种类繁多,要求各异,常用控制程序的类型和内容也十分丰富。本节仅选择一些最基本和常用的程序进行简单的介绍: (1)查表法实现数值计算 (2)数字滤波程序 (3)标度变换程序 (4)非线性参数补偿方法 (5)报警程序 用软件实现常用控制功能的优点是:灵活性好,精度高,稳定可靠,不受外界干扰。,一、查表法实现数值计算 在计算机控制系统中,有些参数的计算非常复杂,直接计算要耗费较多的时间。影响控制的实时性。为了解决上述问题,可采用查表法。 l 查表法是将事先计算或测得的数据按一定顺序编制成表格,根据任务的需要从被测参数的值或中间结果中找出所需要的结果。 l 查表是一种非数值计算方法,利用此方法可完成数据的计算、转换、补偿等工作,具有程序简单、执行速度快等优点。 l 表格的排列有两种方法:(1)无序排列 (2)有序排列。表格的排列方法对查表的速度和繁简程度有影响。 l 常用的查表方法有:(1)顺序查表法 (2)计算查表法 (3)对分搜索法。,1、 顺序查表法 对无顺序排列的表格,一般采用顺序查表法。在51单片机中,用CJNE比较指令对要查找数据的表中的数进行比较,然后用MOVC A,A+PC(DPTR)指令进行查找。 顺序查表的步骤如下: (1)表的起始位置送PC和DPTR (2)表格的长度存放在某个寄存器中 (3)要查找的关键字放在某一内存单元 (4)用CJNE A,direct, rel指令进行查找 把A当中的值和直接地址中的值比较, 若相同则继续执行。,例6-1 以DATA为首地址的存储单元中,存放一长度为100个字节的无序表格,要寻找的关键字存放在HWORD单元。编程进行查找,若找到,则将关键字所在内存单元地址存到R2、R3中,若未找到,将R2、R3清零。 解:,顺序查表 (CHE) 关键字 (R4) 表长度 取表中数 与关键字相等? 地址修正 (R2、R3) 地址 查完? (R2、R3) 0 END,N,N,ORG 8000H START:MOV CHE,HWORD DONE:RET MOV R4,#100 A1: POP A MOV A,#0 INC A MOV DPTR,#TABLE LOOP:PUSH A DJNZ R4 , LOOP MOVC A,A+DPTR MOV R2 , #0 CJNE A, CHE, A1 MOV R3 , #0 MOV R2, DPH AJMP DONE MOV R3, DPL TABLE:DB xx CHE EQU 20H HWORD EQU 21H,2、计算查表法 根据所给元素,通过一定规律的计算,求出元素所对应的数值的地址,将该地址单元的内容取出。 计算查表法要求表格有序,各个元素在表中排列与占用的地址空间一致。 例 6-2 用计算查表法求整数的平方根。 见课本P189.,START,建立平方值表,AX所求元素值,BX平方值表首地址,BXBX+AX平方值所在地址,YBX,END,3、对分查表法 当实际应用中表格较长,又难以用计算法时,可用对分查表法。对分查表法要求表格从大小或从小大的顺序排列。对分查表法比顺序查表法快很多倍。 l 设一个线性表字节长度为n,采用顺序法平均查表次数=N/2,采用对分查表法最多查找2 N-1次。 l 具体方法:设表格中数据从小大的顺序排列,先取中间值D = n/2,与要搜索的X值进行比较,若Xn/2,则下次取 n/2n 中间值即3/4n进行比较,若Xn/2,取1/4 n比较,一直到找到。 l 程序设计步骤如下: (1)设R2中存放元素表中下限元素的序号(R2=0),R3存放上限元素的序号(R3=n),(2) 计算中点元素序号 R4 = ( R3 + R2 ) / 2 (3) 计算中点元素的地址 (MIADR)= 表首地址+字节数* R4 (4)要查找的元素与中点元素比较,若XMIADR,R3不变, (R2)(R4);转到(2)。 (5)直到X = R4,使某标志位(CY)置1。,程序流程图(图4-3),对分查表程序 (R2)0,(R3)n (R4) (R2 ) +(R3 )/2 MIADR基地址+字 节数*(R4) X=MIADR XMIADR,R3(R4),R2(R4),置CY=1,END,Y,Y,N,N,二、数字滤波程序 在工业控制系统中,由于环境恶劣,常存有各种干扰源,使采样值偏离真实值。对于这种随机出现的干扰信号,可采用数字滤波程序,对多次采样信号进行滤波,提高采用值的准确度,减少各种干扰,保证系统可靠工作。 数字滤波与RC滤波相比,有以下优点: l 无需增加硬件,只需编写一段数字滤波程序 l 可多通道共享,不存在阻抗匹配问题,可靠性高 l 滤波的频率范围宽,如可对001HZ的信号进行滤波 l 可改变参数或选择不同的方法进行修改,使用方便灵活 数字滤波方法很多,常用的有:程序判断滤波,中值滤波,算术平均值滤波,加权平均值滤波等。,1、程序判断滤波 现场的许多量的变化都需要一定的时间,相邻两次采样值之间的变化有一定的限度。程序判断滤波的方法是根据生产经验确定出相邻两次采样信号之间可能出现的最大偏差,并以此来判断本次采样的取舍。当采样信号由于随机干扰造成尖峰干扰或检测严重失真时,可采用此方法。 程序判断滤波可分为限幅和限速滤波两种。 (1)限幅滤波 方法:两次相邻的采样值相减,其增量(绝对值)与允许的 最大差值(由经验确定)相比: Y(K) Y(K-1) Y, 则取本次采样值Y(K); Y(K) Y(K-1) Y ,则取上次采样值Y(K-1);,限幅滤波使用范围: 限幅滤波使用于比较缓慢变化的参数,如温度、位置等测量系统。限幅滤波中的Y选取是关键;太大,干扰信号可能进入,太小,采样信号进不来;可由经验和实验获得。 (2) 限速滤波 方法:采用三次采样值决定采样结果。 Y(2) Y(1) Y时,取Y(2) 输入计算机; Y(2) Y(1) Y时,继续采样Y(3); Y(3)Y(2) Y时,取Y(3) 输入计算机; Y(3) Y(2) Y时,取Y(3)+Y(2) / 2 输入计算机。 限速滤波方法兼顾了采样的实时性和采样值变化的连续性,所以可以得到较好的滤波效果。,在限速滤波中, Y的取值仍是个较困难的问题,在实际应用中,可取 Y(1) Y(2) + Y(2) Y(3) / 2 取代Y 。 2、中值滤波 方法:某参数连续采样n次(奇数),将n次采样值排序,取 中间值作为本次采样值。 中值滤波方法对脉冲引起的不稳定较有效,但只使用于变化缓慢的量。在编程时,先将采样值从大到小或从小到大排序,再取中间值。 用MCS-51单片机汇编语言编写中值滤波程序时,先对N个采样值进行排序,再取中间值。,3、算术平均值滤波 公式:Y(K) = 其中 Y(K) : 第k次N个采样值的算术平均值 X( i ) : 第i次采样值 为提高精度,可采用多字节浮点运算。 算术平均值滤波可对压力、流量等周期性脉动的采样值进行平滑加工,对脉冲干扰则不理想。当采样值N增大时,平滑度提高,但系统的灵敏度下降。,4、加权平均值滤波 公式:Y(K) = 其中:Ci 为各次采样值的系数,它可体现各次采样值在平均值中所占的比例,又称权 。 采用加权平均值滤波时,计算上常将采样次数愈靠后的值取的比例愈大,目的是增加新的采样值在平均值中的比例。 加权平均值滤波可根据需要改变采样值的权的轻重,从而突出采样信号的某些部分,抑制另一部分,运用得当可获得较好的滤波效果。 其它滤波方式:滑动平均值滤波、复合数字滤波、RC滤波等,5、各种滤波性能的比较 (1)滤波效果 对于变化比较慢的参数(如温度、位置)和随机干扰,可选用程序判断滤波和中值滤波。 对于变化较快和周期性脉动的参数(如压力、流量等),可选用算术平均滤波和加权平均滤波,特别是加权平均滤波,选取合适的值可得到较好的滤波效果。 (2)滤波时间 应当尽量采用较短的程序,使滤波时间缩短。,三、非线性参数补偿方法 在控制系统中,许多参数都是非线性的。 非线性参数很难用数学式来表示,因此,其计算和处理都较困难。即使有时可用解析表达式表示,但由于解析式复杂,计算时不但麻烦,而且误差也较大。 用软件进行非线性参数的补偿不仅可节省硬件开支,而且可使测量的精度提高。 1、 线性插值算法 如图6-10所示,用直线AB代替曲线AB,当间隔取小时,误差减少。实际应用中,为提高精度可采用多条直线或曲线代替一条曲线,故又称分段插值法。 2、 分段插值法设计方法 分段插值法将函数根据变化分成多段,然后用不同的方法逼 近曲线。常用的有线性插值和抛物线插值两种。 线性插值法设计方法如下:(以传感器的输出变化曲线为例) (1)用实验法测量出传感器的输出变化曲线,操作上需反复 测量,求出较准确的实际值。 (2)将曲线分段,选取插值基点,分段时可用以下方法:, 等距离分段:使 (X-Xi) 等于常数。其优点是可简化计算,但当曲率或斜率变化大时,易产生误差;若将基点分得多些,将占用较多的内存; 变距离分段:根据曲线特点,采用变距离分段,采用此种方法时,当曲率变化大时,插值距离可减小,反之,则增大;采用变距离分段插值点的选取麻烦,计算也比较复杂。 ()根据各插值基点的值,使用插值公式,求出的近似表达式。 ()编写程序计算。,四、报警程序 在微机控制系统中,为了安全可靠,对一些重要的参数和系统的部件应当设有紧急报警系统,以便在发生问题时提醒操作人员注意,避免事故的发生。 通常的方法是将计算机采集的数据与给定的上、下限值进行比较,如果高于上限或低于下限值则进行报警。 在控制系统中可采用声、光及语言报警。 声音报警可由简单的电铃、电笛或频率可调的蜂鸣振荡器提供 模拟声音集成电路芯片KD-956X系列,其特点是: (1)工作电压范围宽、静态电流低 (2)外接电阻可调节声音的节奏, 光报警常用发光二极管或闪烁的白炽灯 微机输出经锁存和放大驱动发光二极管或闪烁的白炽灯。 语言报警需要进行语音的采集、处理、合成等技术,虽然较生动,报警也准确,但硬、软件都较复杂。,(3)通过外接三极管可驱动扬声器,SEL2 VDD OSC2 KD9561 SEL1 VSS OSC1,3-4.5V,KD9561由振荡器、节拍器、音色发生器、控制和输出等组成。改变SEL1、2可发出不同的音响。, 报警程序举例: 锅炉水位自动调节系统 汽包的水位是锅炉正常工作的主要指标,液面太高将影响汽水分离,产生蒸汽带液现象;水位若过低,水的汽化会很快,如果不及时调节液面,就会使汽包内液体全部汽化,可能导致锅炉烧坏以致发生严重的爆炸事故。所以,锅炉液面是一个非常重要的参数,一般采用双冲量或如图所示的三冲量自动调节系统。 为了使现场人员能够及时地监视锅炉的生产情况,整个系统设计有三个参数报警系统,即水位上、下限,炉膛温度上、下限,以及蒸汽压力下限报警,如图6-14所示。,在图6-14中,要求系统各参数全部正常时,绿灯亮。若某个参数不正常,将发出声光报警信号。由于各位都接有反向驱动器,所以,当某位为“1”时,该位发光二极管亮。 本程序的设计思想是设置一个报警模型标志单元20H,然后把各参数的采样值分别与上、下限值进行比较。若某一位需要报警,则将该位置1,所有参数判完以后,再看报警模型单元(20H)的内容是否为00H。如果为00H,说明所有参数均正常,绿灯发光。如果20H单元的内容不等于00H,则说明有参数越限,输出报警模型,其程序流程如图6-15所示。 设三个参数的采样值X1(水位)、X2(炉膛温度)、X3(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论