测控系统原理与设计6-监控程序设计_第1页
测控系统原理与设计6-监控程序设计_第2页
测控系统原理与设计6-监控程序设计_第3页
测控系统原理与设计6-监控程序设计_第4页
测控系统原理与设计6-监控程序设计_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

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

文档简介

监控程序设计本章主要内容:监控程序的功能和组成监控主程序和初始化管理键盘管理显示、中断与时钟管理硬件故障的自检6.1监控程序的功能和组成

监控程序设计是指以空白的微处理器/控制器为基础,完成全部的软件设计,没有将系统软件和应用软件分开处理,其实时性和可靠性与设计人员的水平密切相关,适用于功能较为简单的中小型应用系统。测控系统(仪器)中软件的主要功能采集信息与外界对话(键盘和显示管理)记忆信息处理信息控制功能自我测试自补偿自适应/自校正自学习图6-1-1监控程序的基本组成监控主程序调用各模块,并将它们联系起来,形成一个有机整体,从而实现对系统的全部管理功能。测控算法程序主要实现测量与控制功能,它由描述一种或几种测控算法(如数字滤波,PID算法等)的功能模块构成,通常为实时中断程序或监控程序所调用。各功能模块又由各种下层模块(子程序)所支持。6.2监控主程序和初始化管理6.2.1监控主程序

监控主程序通常包括可编程器件、输入、输出端口和参数的初始化,自诊断管理模块,键盘显示管理模块,以及实时中断管理和处理模块等。除了初始化和自诊断外,监控主程序一般总是把其余部分联接起来,构成一个无限循环,测控系统的所有功能都在这一循环中周而复始地、或有选择地执行,除非掉电或按复位(RESET)键,测控系统不会跳出这一循环。由于各微机化测控系统的功能不同,硬件结构不同,程序编制方法不同,因而监控主程序没有统一的模式。图6-2-1监控主程序流程示例

6.2.2初始化管理

一、可编程器件初始化――对可编程硬件接口电路的工作模式的初始化微机化测控系统中常用的可编程器件有:键盘显示管理接口8279、I/O和RAM扩展接口8155,并行输入输出接口8255、定时计数器接口8253等。二、堆栈初始化――复位后首先在用户RAM中确定一个堆栈区域,由堆栈指示器SP来管理三、参数初始化指对测控系统的整定参数(如PID算法的Kp、Ti、Td三个参数的初值)、报警值以及过程输入通道的数据与过程输出通道的数据初始化。6.3键盘管理

6.3.1一键一义的键盘管理

一键一义,即一个按键代表一个确切的命令或一个数字,编程时只要根据当前按键的编码把程序直接分支到相应的处理模块的入口,而无需知道在此以前的按键情况。键盘信号的获得有三种方法:一、单纯查询法图6-3-1查询法程序流程(了解)功能:按下不同的按键会使SOUNDER发出不同频率的声音#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintsbitBEEP=P3^7;sbitK1=P1^4;sbitK2=P1^5;sbitK3=P1^6;sbitK4=P1^7;…..voidPlay(uchart){…..}voidmain(){P1=0xff;BEEP=0;while(1){if(K1==0)Play(1);if(K2==0)Play(2);if(K3==0)Play(3);if(K4==0)Play(4);二、键盘中断法

按下键盘任何键都引起一个中断请求,键码分析过程放在中断子程序中,这种方法需独自占用一个外部中断源,其监控程序结构如图6-3-2(a)所示。

图6-3-2中断法和定时法程序框图三、定时查询法

每隔一定时间查询一次键盘,由于时间间隔通常很短,对于操作者来说键盘的响应是实时的,键盘的查询过程安排在定时中断程序中完成,其监控程序的结构框图如图6-3-2(b)所示。

6.3.2一键多义的按键管理

一、一键多义:一个按键有多种功能,既可作多种命令键,又可作数字键。在一键多义的情况下,一个命令不是由一次按键,而是由一个按键序列所组成。换句话说,对一个按键含义的解释,除了取决于本次按键外,还取决于以前按了些什么键。因此对于一键多义的监控程序,首先要判断一个按键序列(而不是一次按键)是否已构成一个合法命令。若已构成合法命令,则执行命令,否则等待新按键输入。

二、一键多义的监控程序

一键多义的监控程序:要用多张转移表,组成一个命令的前几个按键起着引导的作用,把控制引向某张合适的转移表,根据最后一个按键编码查阅该转移表,就找到要求的子程序入口。按键的管理,可以用查询法也可以用中断法。

三、一键多义键服务程序流程实例

8回路微机温控仪键盘有6个按键:C键(回路号1~8,第8回路为环境温度补偿,其余为控温点)P键(参数号,有设定值,实测值,共8个参数)△

键(加1)▽键(减1)只用于设定值的修改R键(运行)S键(停止运行)第8回路(环境温度补偿回路)只有温度实测值一个参数,没有其它参数第1~7个回路有设定值(P、I、D参数,上、下限报警值)、温度实测值8个参数1、

程序流程――图6-3-32、

程序清单:参见教材。设键编码R:00H;S:01H;△:02H;▽:03H;C:04H和P:05H。内存RAM20H中高4位为通道(回路)号标记,低4位为参数号标记。假设8279命令口地址为7FFFH,数据口地址为7FFEH。7个回路(1~7),每个回路8个参数,共有56个转移入口,分别由56个键服务功能模块所支持。第8回路无参数,由其独立子程序C8单独处理。图6-3-3一键多义键服务程序流程6.3.3自动/手动切换

一、微机化控制系统的两种工作方式自动方式――微机化控制系统的基本工作方式。手动方式――在系统调试、测试时,用来调整输出控制值。二、自动/手动切换控制的基本功能是:①在手动方式时,能通过一定的手动操作来方便、准确地调整输出值;②能实现手动-自动的无扰动切换。三、实现手动操作的方法实现手动操作,有硬件方法和软件方法两种。目前大多数微机化系统采用软件方法,由操作面板上的几个按键来实现。监控程序通过判断手动-自动切换键的状态来判断是否进入手操方式。在手操方式时,系统的自动控制功能暂停,改由面板上的输出加、减两键来调整输出值。四、无扰动切换的实现在用户RAM区中开辟一个输出控制值单元,作为当前输出控制量的映象,无论是手操还是自动控制,都是对这一输出值的映象单元进行加或减,在输出模块程序作用下,输出通道把此值送到执行机构上去。6.4显示、中断与时钟管理

6.4.1显示管理一、微机化系统的主要显示方式模拟指示――用模拟表头作为显示手段,无需软件管理。数字显示――硬件方案的不同,软件显示管理方法也不同二、显示管理软件的基本任务1、显示更新的数据2、多参数的巡测和定点显示管理

巡回显示方式――每隔一定时间)改换一个新的显示参数

定点显示方式――只跟踪显示某一参数,不改换通道或参数3、指示灯显示管理通常可由与某一指示灯有关的功能模块直接管理。P0=DSY_CODE[DSY_Buffer[0]];P1=DSY_CODE[DSY_Buffer[1]];P2=DSY_CODE[DSY_Buffer[2]];DSY_Buffer[2]=Count/100;DSY_Buffer[1]=Count%100/10;DSY_Buffer[0]=Count%10;voidmain(){LED=1;EA=1;EX0=1;IT0=1;while(1);}//INT0中断函数voidEX_INT0()interrupt0{LED=~LED;//控制LED亮灭#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintsbitLED=P0^0;//主程序测控系统的中断源:过程通道实时时钟面板按键通信接口系统故障6.4.2中断管理一、一个中断源的中断过程:①暂时保护程序计数器的内容。②将中断服务程序的入口地址送入程序计数器。③在服务程序开始时,必须将服务程序需要使用的CPU寄存器(例如累加器、进位位、专用的暂存寄存器等)的内容暂时地保护起来,并在服务程序结束时再恢复其内容。④对于引起中断而将INT变为低电平的设备,系统必须进行适当的操作使INT再次变为高电平。⑤如果允许发生中断,则必须将允许中断触发器再次置位。⑥最后,恢复程序计数器原先被保存的内容,以便返回到被中断的程序。二、多个中断源的处理确定多个中断源的优先级,在软件上作出相应处理。当CPU在处理中断时,还要能响应更高级的中断请求,而屏蔽掉同级或较低级的中断请求。三、中断程序模块中断模块分中断管理模块和中断服务模块两部分。1、中断服务模块――具体服务内容,由各测控系统的功能所决定。2、中断管理模块中断管理软件模块,通常应包括以下功能:断点现场保护;识别中断源;判断优先级;如果允许中断嵌套,则再次开放中断(单片机除外);中断服务结束后恢复现场,如图6-4-1所示。图6-4-1中断流程四、多中断源识别通常,系统掉电总是作为最高级中断源。其它中断源的优先级,则由设计人员根据系统的功能特点来确定。当有两个以上中断源时,可以采用如下两种方法:①利用定时器/计数器的外部事件计数输入端(T0或T1),作为边沿触发的外部中断输入端,这时定时器/计数器应工作于计数器方式,计数寄存器应预置满度数。②每个中断源都接在同一个外部中断输入端(INT0或INT1)上,同时利用输入口来识别某装置的中断请求。图6-4-2多中断源识别电路6.4.3时钟管理

一、时钟作为定时器的用途①过程输入通道的数据采样周期定时;②过程输出通道控制周期的定时;③参数修改按键数字增减速度的定时;④多参数巡回显示时的显示周期定时;⑤动态保持方式输出过程通道的动态刷新周期定时;⑥电压-频率型A/D转换器定时电路;⑦故障监视电路(Watchdog)的定时信号。二、实现定时的方法1、硬件方法采用可编程定时/计数器接口电路(如CTC8253)以及单片机内的定时电路。这种定时方法的定时间隔不可能做得太长。采用实时时钟芯片。

2、软件方法。采用软件延时方案,无需硬件成本,但要占用大量CPU时间,且实时性差,定时精度低。3、软件与硬件相结合定时的方法这种方案几乎不影响测控系统的实时响应,而且能实现多种时间间隔的定时。首先由定时电路产生一个基本的脉冲。硬件定时时间到,产生一中断。监控主程序随即转入时钟中断管理模块。在设计软件结构时,可串行地或并行地设置几个软件定时器(在用户RAM区)。当硬件定时中断一到,这些软件时钟分别用累加或递减方法计时,并由软件来判断是否定时时间到。6.5硬件故障的自检

6.5.1自检方式一、自检的基本原理自检就是利用事先编制的程序对测控系统的主要部件进行自动检测,以确定是否有故障以及故障的内容和位置。故障诊断的基本原理是对被测部件输入一串数据——试验数据,然后观察相应的输出数据,并对观察结果进行分析,确定故障的内容和位置。试验数据、观察到的结果数据和故障的对应关系应在故障诊断前准备好。二、自检方式的三种类型:一、开机自检在电源接通或系统复位之后进行。自检中如果没发现问题,就进入测量程序,如果发现问题,则及时报警。2、周期性自检在测控系统运行过程中,间断插入的自检操作,这种操作可以保证测控系统在使用过程中一直处于正常状态。周期性自检不影响测控系统的正常工作,因而只有当出现故障给予报警时,用户才会觉察。键盘自检具有键盘自检功能的测控系统面板上应设有“自检”按键,当用户对系统的可信度发出怀疑时,便通过该键来启动一次自检过程。三、自检结果的提示――“出错代码”自检过程中,微机化测控系统一般都借用本身的显示器,以文字或数字的形式显示“出错代码”,出错代码通常以“ErrorX”字样表示,其中“X”为故障代号,操作人员根据“出错代码”,查阅操作手册便可确定故障内容。除了给出故障代号之外,往往还给出指示灯的闪烁或者音响报警信号,以提醒操作人员注意。6.5.2自检算法一、ROM或EPROM的检测ROM故障的检测常用“校验和”方法,具体作法是:在将程序机器码写入ROM的时候,保留一个单元(一般是最后一个单元),此单元不写程序机器码而是写“校验字”,“校验字”应能满足ROM中所有单元的每一列都具有奇数个1。自检程序的内容是:对每一列数进行异或运算,如果ROM无故障,各列的运算结果应都为“1”,即校验和等于FFH。二、RAM的检测常用的方法是“异或法”,即把RAM单元的内容求反并与原码进行“异或”运算,如果结果为FFH,则表明该RAM单元读写功能正常,否则,说明该单元有故障。最后再恢复原单元内容。RAM的自检流程如图6-5-1所示。图6-5-1RAM自检流程图三、总线的自检总线的自检是指对经过缓冲器的总线进行检测。设置两组锁存触发器,分别用于记忆地址总线和数据总线上的信息。这样,只要执行一

温馨提示

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

评论

0/150

提交评论