监控程序设计.

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第六章监控程序设计微机化测控系统分为硬件和软件两大部分。按其功能来说,软件又分为监控程序和功能程序两部分。监控程序:用于管理整个系统正常工作的程序功能程序:用于执行所要求任务的程序。6.1监控程序的功能和组成监控程序的主要作用是能及时的响应来自系统的各种服务请求,有效地管理测控系统自身软、硬件及人一机联系设备,与系统中其它设备交换信息,并在系统一旦出现故障时,及时作出相应的处理。1.监控程序的具体功能:①进行键盘和显示管理,按键入的命令转入相应的键服务;②接收因过程(输入输出)通道或时钟等引起的中断请求信号,区分优先级,实现中断嵌套,并转入相应的实时测量、控制功能子程序;③处理硬件定时器及软件定时器;④实现对系统自身的诊断处理;⑤初始化,自动/手动切换,掉电保护等。2.监控程序的组成主要取决于测控系统的组成规模,以及系统的硬件配备与功能。一般组成如图6一1一1所示。监控主程序调用各模块,并将它们联系起来,形成一个有机整体,从而实现对系统的全部管理功能。3.测控算法程序主要实现测量与控制功能,它由描述一种或几种测控算法(如数字滤波、PID算法等)的功能模块构成,通常为实时中断程序或监控程序所调用。6.2监控主程序和初始化管理1.监控主程序上电复位后首先进入监控主程序。监控主程序一般都放在0号单元开始的ROM中,它的任务是识别命令、解释命令并获得完成该命令的相应模块的入口。监控主程序通常包括可编程器件、输入输出端口和参数的初始化,自诊断管理模块,键盘显示管理模块以及实时中断管理和处理模块等,是“自顶向下”结构化设计中的第一层次。除了初始化和自诊断外,监控主程序一般总是把其余部分联接起来,构成一个无限循环圈,测控系统的所有功能都在这一循环圈中周而复始地或有选择地执行,除非掉电或按复位(RESET)键,否则测控系统不会跳出这一循环圈。由于各个微机化测控系统的功能不同,硬件结构不同,程序编制方法不同,因而监控主程序没有统一的模式。下图为一个微机温控仪监控主程序流程示例。6.2.2初始化管理•初始化管理主要包括可编程器件初始化、堆栈初始化和参数初始化三部分。•可编程器件初始化是指对可编程硬件接口电路的工作模式的初始化。微机化测控系统中常用的可编程器件有键盘显示管理接口8279、I/O和RAM扩展接口8155、并行输入输出接口8255、定时计数器接口8253等,这些器件的初始化都有固定的格式,只是格式中的初始化参数随应用方式不同而异,因此,都可编成一定的子程序模块,随时调用。•堆栈初始化就是复位后首先在用户RAM中确定一个堆栈区域。堆栈是实现实时中断处理的必不可少的一种数据结构。大多数微处理器允许设计人员在用户RAM中任意开辟堆栈区域并采用向上或向下生长的堆栈结构,由堆栈指示器SP来管理。•参数初始化是指对测控系统的整定参数(如PID算法的KP、TI、TD3个参数的初值)、报警值以及过程输入通道的数据与过程输出通道的数据初始化。•初始化管理模块作为监控程序的第二层次,通过分别调用上述三类初始化功能模块(第三层次),实现对整个测控系统中有关器件的初始化。6.3键盘管理1.一键一义的键盘管理微机化测控系统的按键定义都比较简单,属一键一义,即:一个按键代表一个确切的命令或一个数字.编程时只要根据当前按键的编码把程序直接分支到相应的处理模块的入口。•键盘信号的获得有三种方法:(1)查询法主程序用扫描键盘等手段来获取键盘信息。微处理器(机)周而复始地扫描键盘,当发现按键时,首先判别是命令键还是数字键,•若是数字键,则把按键读数读入存储器,通常还进行显示;•若是命令键,则根据按键读数查阅转移表,以获得处理子程序的入口。处理子程序执行完后继续扫描键盘,如图6-3-1(a)所示。进行一键一义的键盘管理的核心是一张一维的转移表,如图6-3-1(b)所示,在转移表内顺序登记了各个处理子程序的转移指令。下面是查询法处理的一键一义监控程序。进入该程序时,累加器A内包含了键盘的某按键编码,当键码小于10H时为数字键,等于或大于10H时为命令键,全部按键编码小于20H。MOVRI,ACLRCSUBBA,#I0H;判断是何种闭合键JCDIGIT;是数字键,转DIGITMOVDPTR,#TBJ2;转换表首址一DPTRMOVA,RIANLA,#0FH;取出命令键码ADDA,A;键码加倍JNCNADDINCDPH;大于或等于256时,DPH内容加1NADD:JMP@A十DPTR;执行处理子程序TBJ2:AJMPPROGI;转移表AJMPPROG2……AJMPPROGnDIGIT:……;数字送显示缓冲器,并显示(2)中断方法按下任何键都引起一个中断请求,键码分析过程放在中断子程序中,这种方法需独自占用一个外部中断源,其监控程序结构如图6一3一2(a)所示。(3)定时查询方法每隔一定时间查询一次键盘,由于时间间隔通常很短,对于操作者来说键盘的响应是实时的,键盘的查询过程安排在定时中断程序中完成,其监控程序的结构框图如图6一3一2(b)所示。6.3.2一键多义的键盘管理有些键盘设计成一键多义,一个按键有多种功能,既可作多种命令键,又可作数字键。在一键多义的情况下,一个命令不是由一次按键,而是由一个按键序列所组成。换句话说,对一个按键含义的解释,除了取决于本次按键外,还取决于以前按了些什么键。因此对于一键多义的监控程序,首先要判断一个按键序列(而不是一次按键)是否已构成一个合法命令。若已构成合法命令,则执行命令,否则等待新按键输入。一键多义的按键管理,可以用查询法也可以用中断法。微机化系统监控程序具有实时性,一般按键中断不应干扰正在进行的控制运算(控制运算一般比按键具有更高的优先级,除非是“停止运行”等一类按键)。考虑到这些因素,常常把键服务设计成比过程通道中断低一级的中断源。•例:一键多义键服务处理方法:设一个8回路微机温控仪有6个按键:C----回路号1-8,第8回路为环境温度补偿,其余为控温点p----参数号,有设定值,实测值,P、l、D参数值,上、下限报警值,输出控制值等8个参数△---加l;▽----减1;R---运行;S---停止运行。显然,按键都是一键多义的。•C键对应了8个回路,且第8回路(环境温度补偿回路)与其余7个回路不同,它只有实测值一个参数,没有其它参数。•p键对应了每一回路(除第8回路外)的8个参数。这些参数,有的能执行士1功能,如设定值,P、l、D参数,上、下限报警值;有的不能修改,如实测温度值。•△和▽键的功能执行与否,取决于在它们前面按过的C和p键;•R键的功能执行与否,则取决于当前的C值。键功能流程见图6一3一3所示。6.3.3自动/手动切换微机化控制系统的基本工作方式是自动控制。但在系统调试、测试和系统投运时,往往要用手动操方式来调整输出控制值。自动/手动切换控制的基本功能:①在手动操方式时,能通过一定的手动操作来方便、准确地调整输出值;②能实现手动/自动的无扰动切换。实现手动操作,有硬件方法和软件方法两种。目前大多数微机化系统采用软件方法,由操作面板上的几个按键来实现。这几个键分别是:手动/自动切换键;手操输出加;手操输出减。缺点:当主机、输出通道等硬件电路发生故障时,手动控制也就无法实现了。6.4显示、中断与时钟管理1.显示管理微机化系统的显示方式目前主要有模拟指示、数字显示和模拟数字混合显示三种。•对于选用模拟表头作为显示手段的,一般只要在过程输入通道的模拟量部分取出信号送入指示表即可,无需软件管理。•对于数字式显示,需软件管理。多数微机化测控系统,显示管理软件的基本任务有如下三个方面:(l)显示更新的数据(2)多参数的巡测和定点显示管理一个多路系统,通常都采用巡回显示的方法辅以定点显示功能,即在一般情况下作巡回显示,而当操作人员对某一参数特别感兴趣时,可中止巡回方式,进入定点跟踪方式。方式的切换由面板按键控制。(3)指示灯显示管理微机化测控系统常在面板上设置一定数量的指示灯(发光二极管)。通常可由与某一指示灯有关的功能模块直接管理,例如,上下限报警模块直接管理上下报警指示灯,也可在用户RAM中开辟一个指示灯状态映像区,由各功能模块改变映像区的状态,该模块由监控主程序中的显示管理模块来管理。2.中断管理为了能及时处理各种可能事件,提高实时处理能力,所有的微机化测控系统几乎都具有中断功能。•微机化测控系统中常见的中断源有:过程通道、实时时钟、面板按键、通信接口和系统故障。通常,微机化测控系统开机时,处于自动封锁中断状态,初始化结束后,监控主程序执行一条“开放中断”命令,使测控系统在一旦发现中断后,即能进入中断工作方式。中断过程如下:①必须暂时保护程序计数器的内容,以便使CPU在服务程序执行完时能回到它在产生中断之前所处的状态。②必须将中断服务程序的入口地址送入程序计数器。这个服务程序能够准确地完成申请中断的设备所要求的操作。③在服务程序开始时,必须将服务程序需要使用的CPU寄存器(例如累加器、进位位、专用的暂存寄存器等)的内容暂时地保护起来,并在服务程序结束时再恢复其内容。④对于引起中断而将变为低电平的设备,系统必须进行适当的操作使再次变为高电平。⑤如果允许发生中断,则必须将允许中断触发器再次置位。⑥最后,恢复程序计数器原先保存的内容,以便返回到被中断的程序。INTINT在实际系统中往往有两个以上的中断源。因此设计者要根据测控系统的功能特点,确定多个中断源的优先级,当多个中断源同时提出申请时,主机要识别出哪些中断源在申请中断,辨别和比较它们的优先级,优先响应级别高的中断请求。另外,当CPU在处理中断时,还要能响应更高级的中断请求,而屏蔽掉同级或较低级的中断请求。中断管理软件模块,通常应包括以下功能:断点现场保护,识别中断源和判断优先级;如果允许中断嵌套,则再次开放中断(单片机除外),中断服务结束后恢复现场,如图6-4-1所示。通常,系统掉电总是作为最高级中断源。至于其它中断源的优先级,则由设计人员根据系统的功能特点来确定。例:MCS一51单片机有两个外部中断输入端,当有两个以上中断源时,可以采用如下两种方法:①利用定时器/计数器的外部事件计数输入端(T0或Tl),作为边沿触发的外部中断输入端,这时定时器/计数器应工作于计数器方式,计数寄存器应预置满度数。②每个中断源都接在同一个外部中断输入端(INT0或INT1)上,同时利用输入口来识别某装置的中断请求,具体线路见图6-4-2。INT1INT03.时钟管理•时钟主要作为定时器,用于以下7个方面:•①过程输入通道的数据采样周期定时;②过程输出通道控制周期的定时;③参数修改按键数字增减速度的定时(对一些采用+/一两个按键来修改参数的测控系统,通常总是先慢加减几步,然后快加减或呈指数速度变化);•④多参数巡回显示时的显示周期定时;⑤动态保持方式输出过程通道的动态刷新周期定时;⑥电压一频率型A/D转换器定时电路;⑦故障监视电路(Watchdog)的定时信号。微机化测控系统广泛采用的定时方法是软件与硬件相结合的方法。首先由定时电路产生一个基本的脉冲。硬件定时时间到,产生一中断。监控主程序随即转入时钟中断管理模块。在设计软件结构时,可串行地或并行地设置几个软件定时器(在用户RAM区)。若一个定时间隔是另一个的整数倍,软件定时器可设计成串行的;若不是整数倍,则可设计成并行的。当硬件定时中断一到,这些软件时钟分别用累加或递减方法计时,并由软件来判断是否溢出或回零(即定时时间到),这一程序段一般不会很长,故对测控系统的实时性影响极小。采用这一方法,可方便地实现多个定时器功能。时钟管理模块的任务仅是在监控主程序中对各定时器预置初值和在响应时钟中断过程中判断是否时间到。一旦时间到,则重新预置初值,并建立一个标志,以提示应该执行前述7种功能中的某项服务程序。服务程序的执行一般都安排在时钟中断返回以后进行。由查询中断中建立的标志状态来决定是否执行该功能。6.5硬件故障的自检1.自检方式•自检就是利用事先编制的程序对测控系统的主要部件进行自动检测,以确定是否有故障以及故障的内容和位置。•故障诊断的基本原理

1 / 46
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功