收藏 分享(赏)

第四章 控制系统的软件和常用控制程序设计.ppt

上传人:hyngb9260 文档编号:8160215 上传时间:2019-06-11 格式:PPT 页数:43 大小:1.24MB
下载 相关 举报
第四章 控制系统的软件和常用控制程序设计.ppt_第1页
第1页 / 共43页
第四章 控制系统的软件和常用控制程序设计.ppt_第2页
第2页 / 共43页
第四章 控制系统的软件和常用控制程序设计.ppt_第3页
第3页 / 共43页
第四章 控制系统的软件和常用控制程序设计.ppt_第4页
第4页 / 共43页
第四章 控制系统的软件和常用控制程序设计.ppt_第5页
第5页 / 共43页
点击查看更多>>
资源描述

1、第四章 控制系统的软件和常 用控制程序设计,第一节 控制系统的软件分类 第二节 常用控制程序设计,计算机控制系统除了要有较好性能的硬件配置之外,还需配置功能齐全的软件,以实现实时监控、数值计算、数据处理及各种控制算法等功能。计算机控制系统的软件由于其系统功能的要求应当具有以下特点:1、实时性对系统的一组特定的输入,在未发生变化前,系统能作出适当的反应。2、并发性能支持多任务并行操作,具有资源共享、保护功能并能有效地进行联网通信。3、随机性能及时响应偶发性事件,并能对这些事件做出正确的判断和处理。,4、良好的界面软件应当有友好的界面,以利于参数的调整和操作人员的操作。第一节 控制系统的软件分类计

2、算机控制系统的软件分为系统软件和应用软件两大类。 一、系统软件系统软件包括操作系统,编辑、编译软件,各类工具软件及诊断系统等;其核心是操作系统。操作系统是一组程序的集合,它控制计算机系统中用户程序的执行次序,为用户程序与系统硬件之间提供软件接口,并允许程序之间的信息交换。根据计算机控制系统的结构、控制功能情况选用不同的操作系统。,在以8088为CPU的工控机中,一般选用DOS单任务的操作系统;而对于以386、486和586为CPU的工业控制机或其它高档控制机,则选用多任务的Windows98、WindowsNT或UNIX更适合。目前在DDS、SCC、DCS中用的计算机常选用WindowsNT作

3、为操作系统。WindowsNT是具有抢先多任务方式和存储保护方式的32位操作系统,支持多任务处理和联网,其主要特点如下: (1) 抢先多任务,可同时执行多个任务,当磁盘在后台存取 或打印任务被提交时,用户仍可执行其它任务。 (2) 存储器保护可保证多个程序运行在各自的内存区域,不 受其它应用程序在使用时的影响。 (3) 网络特性提供了用户资源的共享。,WindowsNT还提供了文件保护功能,检测并使已损坏的磁盘扇区无效,在电源故障时进行存储处理和信息的保护等。当控制系统比较简单,例如由单片机构成的简单控制器中往往不用操作系统的支持,只需为系统配置一个监控程序即可达到控制的目标。监控程序可以是买

4、硬件时附带,即由厂家提供,也可以由用户自己编写。监控程序应当由以下几个部分组成:初始化程序,键盘和显示程序,中断处理程序,信息输入/输出程序。 1、初始化程序包括各种可编程接口芯片的初始化,堆栈、寄存器和数据缓冲器的设定,中断类别和优先级的设定。,2、键盘和显示程序用于监测键盘的操作,执行键盘的功能程序及控制系统中所用各类显示器的显示。3、中断处理程序完成中断的申请、判断中断优先级和中断服务程序的执行。4、信息输入/输出程序如模拟量的A/D转换,开关量的输入/输出等。二、计算机控制系统的应用程序1、分类微机控制系统的应用程序从功能分大致可划分为两大类: 专用控制程序:如数据采集程序,实时控制程

5、序,控制算法程序等。 常用控制程序:如数据处理,数字滤波,标度变换,显示和键盘程序,通信,报警程序等。,几种专用控制程序: l 数据采集程序数据采集包括现场信息的采集、放大、量化、编码、A/D等过程,配合硬件系统完成数据采集所编写的程序。 l 实时控制程序通常指计算机输出量控制执行器的执行编写的程序,如交流电机控制程序,步进电机控制程序等。 l 控制算法程序解决计算机控制系统的控制方法,并且用软件来实现。如为实现PID控制、直接数字控制、最优控制和智能控制编写的程序。,2、 编写控制系统应用程序常用的语言控制系统对实时性和可靠性有特殊的要求,因此在编写控制系统的应用软件时应当考虑使用的编程语言

6、。控制系统常用的语言有汇编语言和C、PL/M等高级语言。 (1)汇编语言汇编语言是一种介于高级语言和机器语言之间的语言,其特点是与机器语言一一对应。由于该语言直接与计算机的硬件相联系,因此用汇编语言编写的程序执行速度快,节省存储空间,适用于各种实时控制系统中。目前常用的微型计算机的汇编程序有MASM、MC6800、MCS-51、MCS-96等。,(2)高级语言常用于控制系统的高级语言有C语言和PL/M语言。1 、C语言C语言是一种能取代汇编语言,又具有高级语言特点的语言。C语言的特点是: 结构化语言,适合于模块化设计 数据类型和运算符丰富,具有较强的汇编特性 丰富的库函数为用户提供良好的软件开

7、发环境C语言广泛用于系统软件和控制软件的开发中。,2 、 PL/M语言PL/M语言是Intel从8080微处理器开始为其系列产品开发的编程语言 ,用于微机系列、单片机和系统软件编程的一种高级语言,PL/M语言的特点是:模块化结构,可读性好,可靠性高,便于维护占用内存小,运行速度快,开发成本低支持多种数据类型的运算可与汇编语言和其它高级语言连接生成目标代码PL/M语言适用于控制系统的应用软件编程开发。,3、 实时工业控制软件FIXFIX DMACS控制软件由美国Intellution公司推出,是具有数据采集及控制、报警、图形数据显示等功能的工业自动化软件。 (1)主要功能 l 数据采集和控制功能

8、: FIX提供监控生产过程的实时数据库。数据以文本、模拟量或数字量的形式从控制现场采集得到,通过对实时数据的操作实现监视或控制功能。 l 统计及数据处理功能: FIX有统计选项和数据的实时处理功能,操作人员可由此功能监视和调整生产过程。 l 图像化组态: FIX允许使用图像化的组态方式进行系统控制的配置,便于开发和应用系统的维护。,l 报警和管理:FIX可对生产过程的重要部分进行实时监控并报警。报警信息可用图像画面或打印机输出,并形成文件存储。操作人员可根据报警信息对生产过程出现的问题进行确认分析和判断,及时对过程进行调整,并监视调整后的结果。 l 历史趋势再现:软件可提供历史数据和趋势显示功

9、能供离线分析用,历史数据和趋势可用曲线表示并指示不同变量间的动态关系供详细的分析和判断。 l 安全保护: FIX提供用户操作的安全功能,用户被定义为独立和组特权,能够控制对系统应用和数据的访问。 l 交叉平台集成功能:该软件可兼顾不同的操作系统,生成的数据库、操作员画面和历史文件能在不同的操作系统(Windows,OS/2,VMS)之间实现传递和共享,简化了多个操作系统共存时的网络设置。,(2)主要接口l 图形化用户接口 : FIX提供了一个直观的基于对象的图形化用户接口(GUI),使用户可用图标和对话框设置整个系统。在建立图面时,用户可定义某些功能特性,生成所需的画面形状。画面中的对象可以旋

10、转、改变尺寸、填充颜色等。GUI还提供常用设备的字符集,供生成画面时调用。l 通信接口: FIX提供通用的通信接口,可以和不同的硬件设备连接进行数据通信。l 报表接口 : 通过一个双向接口,使数据库的数据与应用程序连接并共享,便于用户用电子表格或字处理程序生成各种报表和图形。,l 实时SQL接口: 该接口允许FIX与符合SQL标准的其它关系数据之间进行双向和实时的数据互访。l 可编程接口 : 允许用户用C语言编程访问FIX的数据库和各类实时历史数据,以达到特定的目标值分析和获取最佳控制。目前,类似FIX DMACS类型的控制软件系列已经引入国内,企业在应用中取得了良好的经济效果。,第二节 常用

11、控制程序设计生产对象种类繁多,要求各异,常用控制程序的类型和内容也十分丰富。本节仅选择一些最基本和常用的程序进行简单的介绍:(1)查表法实现数值计算(2)数字滤波程序(3)标度变换程序(4)非线性参数补偿方法(5)报警程序用软件实现常用控制功能的优点是:灵活性好,精度高,稳定可靠,不受外界干扰。,一、查表法实现数值计算在计算机控制系统中,有些参数的计算非常复杂,直接计算要耗费较多的时间。影响控制的实时性。为了解决上述问题,可采用查表法。l 查表法是将事先计算或测得的数据按一定顺序编制成表格,根据任务的需要从被测参数的值或中间结果中找出所需要的结果。l 查表是一种非数值计算方法,利用此方法可完成

12、数据的计算、转换、补偿等工作,具有程序简单、执行速度快等优点。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指令进行查找把

13、A当中的值和直接地址中的值比较, 若相同则继续执行。,例6-1 以DATA为首地址的存储单元中,存放一长度为100个字节的无序表格,要寻找的关键字存放在HWORD单元。编程进行查找,若找到,则将关键字所在内存单元地址存到R2、R3中,若未找到,将R2、R3清零。 解:,顺序查表 (CHE) 关键字 (R4) 表长度取表中数与关键字相等? 地址修正 (R2、R3) 地址 查完?(R2、R3) 0END,N,N,ORG 8000H START:MOV CHE,HWORD DONE:RET MOV R4,#100 A1: POP AMOV A,#0 INC AMOV DPTR,#TABLE LOOP

14、:PUSH A DJNZ R4 , LOOPMOVC A,A+DPTR MOV R2 , #0CJNE A, CHE, A1 MOV R3 , #0MOV R2, DPH AJMP DONEMOV R3, DPL TABLE:DB xx CHE EQU 20HHWORD EQU 21H,2、计算查表法根据所给元素,通过一定规律的计算,求出元素所对应的数值的地址,将该地址单元的内容取出。计算查表法要求表格有序,各个元素在表中排列与占用的地址空间一致。例 6-2 用计算查表法求整数的平方根。见课本P189.,START,建立平方值表,AX所求元素值,BX平方值表首地址,BXBX+AX平方值所在地址

15、,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

16、= ( 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 )/2MIADR基地址+字 节数*(R4)X=MIADRXMIADR,R3(R4),R2(R4),置CY=1,END,Y,Y,N,N,二、数字滤波程序在工业控制系统中,由于环境恶劣,常存有各种干扰源,使采样值偏离真实值。对于这种随机出现的干扰信号,可采用数字

17、滤波程序,对多次采样信号进行滤波,提高采用值的准确度,减少各种干扰,保证系统可靠工作。数字滤波与RC滤波相比,有以下优点:l 无需增加硬件,只需编写一段数字滤波程序l 可多通道共享,不存在阻抗匹配问题,可靠性高l 滤波的频率范围宽,如可对001HZ的信号进行滤波l 可改变参数或选择不同的方法进行修改,使用方便灵活数字滤波方法很多,常用的有:程序判断滤波,中值滤波,算术平均值滤波,加权平均值滤波等。,1、程序判断滤波现场的许多量的变化都需要一定的时间,相邻两次采样值之间的变化有一定的限度。程序判断滤波的方法是根据生产经验确定出相邻两次采样信号之间可能出现的最大偏差,并以此来判断本次采样的取舍。当

18、采样信号由于随机干扰造成尖峰干扰或检测严重失真时,可采用此方法。程序判断滤波可分为限幅和限速滤波两种。(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

19、) 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单片机汇编语言编写中值

20、滤波程序时,先对N个采样值进行排序,再取中间值。,3、算术平均值滤波公式:Y(K) =其中 Y(K) : 第k次N个采样值的算术平均值X( i ) : 第i次采样值为提高精度,可采用多字节浮点运算。算术平均值滤波可对压力、流量等周期性脉动的采样值进行平滑加工,对脉冲干扰则不理想。当采样值N增大时,平滑度提高,但系统的灵敏度下降。,4、加权平均值滤波公式:Y(K) =其中:Ci 为各次采样值的系数,它可体现各次采样值在平均值中所占的比例,又称权 。采用加权平均值滤波时,计算上常将采样次数愈靠后的值取的比例愈大,目的是增加新的采样值在平均值中的比例。加权平均值滤波可根据需要改变采样值的权的轻重,从

21、而突出采样信号的某些部分,抑制另一部分,运用得当可获得较好的滤波效果。 其它滤波方式:滑动平均值滤波、复合数字滤波、RC滤波等,5、各种滤波性能的比较 (1)滤波效果对于变化比较慢的参数(如温度、位置)和随机干扰,可选用程序判断滤波和中值滤波。对于变化较快和周期性脉动的参数(如压力、流量等),可选用算术平均滤波和加权平均滤波,特别是加权平均滤波,选取合适的值可得到较好的滤波效果。 (2)滤波时间应当尽量采用较短的程序,使滤波时间缩短。,三、非线性参数补偿方法在控制系统中,许多参数都是非线性的。非线性参数很难用数学式来表示,因此,其计算和处理都较困难。即使有时可用解析表达式表示,但由于解析式复杂

22、,计算时不但麻烦,而且误差也较大。用软件进行非线性参数的补偿不仅可节省硬件开支,而且可使测量的精度提高。 1、 线性插值算法如图6-10所示,用直线AB代替曲线AB,当间隔取小时,误差减少。实际应用中,为提高精度可采用多条直线或曲线代替一条曲线,故又称分段插值法。 2、 分段插值法设计方法分段插值法将函数根据变化分成多段,然后用不同的方法逼 近曲线。常用的有线性插值和抛物线插值两种。 线性插值法设计方法如下:(以传感器的输出变化曲线为例) (1)用实验法测量出传感器的输出变化曲线,操作上需反复 测量,求出较准确的实际值。 (2)将曲线分段,选取插值基点,分段时可用以下方法:, 等距离分段:使

23、(X-Xi) 等于常数。其优点是可简化计算,但当曲率或斜率变化大时,易产生误差;若将基点分得多些,将占用较多的内存; 变距离分段:根据曲线特点,采用变距离分段,采用此种方法时,当曲率变化大时,插值距离可减小,反之,则增大;采用变距离分段插值点的选取麻烦,计算也比较复杂。 ()根据各插值基点的值,使用插值公式,求出的近似表达式。 ()编写程序计算。,四、报警程序在微机控制系统中,为了安全可靠,对一些重要的参数和系统的部件应当设有紧急报警系统,以便在发生问题时提醒操作人员注意,避免事故的发生。通常的方法是将计算机采集的数据与给定的上、下限值进行比较,如果高于上限或低于下限值则进行报警。 在控制系统

24、中可采用声、光及语言报警。 声音报警可由简单的电铃、电笛或频率可调的蜂鸣振荡器提供模拟声音集成电路芯片KD-956X系列,其特点是: (1)工作电压范围宽、静态电流低 (2)外接电阻可调节声音的节奏, 光报警常用发光二极管或闪烁的白炽灯 微机输出经锁存和放大驱动发光二极管或闪烁的白炽灯。 语言报警需要进行语音的采集、处理、合成等技术,虽然较生动,报警也准确,但硬、软件都较复杂。,(3)通过外接三极管可驱动扬声器,SEL2 VDD OSC2KD9561SEL1 VSS OSC1,3-4.5V,KD9561由振荡器、节拍器、音色发生器、控制和输出等组成。改变SEL1、2可发出不同的音响。, 报警程

25、序举例: 锅炉水位自动调节系统汽包的水位是锅炉正常工作的主要指标,液面太高将影响汽水分离,产生蒸汽带液现象;水位若过低,水的汽化会很快,如果不及时调节液面,就会使汽包内液体全部汽化,可能导致锅炉烧坏以致发生严重的爆炸事故。所以,锅炉液面是一个非常重要的参数,一般采用双冲量或如图所示的三冲量自动调节系统。为了使现场人员能够及时地监视锅炉的生产情况,整个系统设计有三个参数报警系统,即水位上、下限,炉膛温度上、下限,以及蒸汽压力下限报警,如图6-14所示。,在图6-14中,要求系统各参数全部正常时,绿灯亮。若某个参数不正常,将发出声光报警信号。由于各位都接有反向驱动器,所以,当某位为“1”时,该位发

26、光二极管亮。本程序的设计思想是设置一个报警模型标志单元20H,然后把各参数的采样值分别与上、下限值进行比较。若某一位需要报警,则将该位置1,所有参数判完以后,再看报警模型单元(20H)的内容是否为00H。如果为00H,说明所有参数均正常,绿灯发光。如果20H单元的内容不等于00H,则说明有参数越限,输出报警模型,其程序流程如图6-15所示。设三个参数的采样值X1(水位)、X2(炉膛温度)、X3(蒸汽压力)依次存放在以SAMP为首地址的存储单元中,5个极限值MAX1、MIN1、MAX2、MIN2和 MIN3分别存放在30H-34H的内部RAM区域中。,根据图4-11可写出报警程序如下: ORG

27、8000H ALARM: MOV DPTR,#SAMP ;采样值存放地址指针DPTRMOVX A ,DPTR ;取X1MOV 20H , #00H ;报警模型单元清零 ALARM0: CJNE A , 30H ,AA ;X1MAX1吗? ALARM1: CJNE A , 31H , BB ;X1MAX2吗? ALARM3: CJNE A , 33H , DD ;X2MIN2吗?,ALARM4: INC DPTR ;指向X3MOVX A , DPTR ;取X3CJNE A , 34H , EE ;X3MIN3吗? DONE: MOV A , #00H ;判断是否有报警参数CJNE A , 20H

28、 , FF ;若有则转FFMOV A , 20H ;若无,置绿灯亮模型MOV P1,A ;输出绿灯亮模型RET FF: MOV A , 80H ;置电笛响标志位MOV P1 , A ;输出报警信号RET,SAMP EQU 8100HAA: JNC AOUT1 ;X1MAX1,转AOUT1AJMP ALARM1BB: JC AOUT2 ;X1MAX2,转AOUT3AJMP ALARM3AJMP DONEDD: JC AOUT4 ;X2MIN2,转AOUT4AJMP ALARM4EE: JC AOUT5,AOUT1: SETB 00H ;置X1上限报警标志AJMP ALARM1 AOUT2: SETB 01H ;置X1下限报警标志AJMP ALARM2 AOUT3: SETB 02H ;置X2上限报警标志AJMP ALARM3 AOUT4: SETB 03H ;置X2下限报警标志AJMP ALARM4 AOUT5: SETB 04H ;置X3下限报警标志AJMP DONE (本章完),

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报