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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
断和处理。
4、良好的界面 软件应当有友好的界面,以利于参数的调整和操作人员的 操作。 第一节 控制系统的软件分类 计算机控制系统的软件分为系统软件和应用软件两大类。 一、系统软件 系统软件包括操作系统,编辑、编译软件,各类工具软件 及诊断系统等;其核心是操作系统。 操作系统是一组程序的集合,它控制计算机系统中用户程 序的执行次序,为用户程序与系统硬件之间提供软件接口,并 允许程序之间的信息交换。 根据计算机控制系统的结构、控制功能情况选用不同的操 作系统。
第二节 常用控制程序设计 生产对象种类繁多,要求各异,常用控制程序的类型和内 容也十分丰富。本节仅选择一些最基本和常用的程序进行简单 的介绍: (1)查表法实现数值计算 (2)数字滤波程序
(3)标度变换程序
(4)非线性参数补偿方法 (5)报警程序 用软件实现常用控制功能的优点是:灵活性好,精度高, 稳定可靠,不受外界干扰。
l 程序设计步骤如下:
(1)设R2 中存放元素表中下限元素的序号(R2=0),R3 存放 上限元素的序号(R3=n)
(2) 计算中点元素序号
R4 = ( R3 + R2 ) / 2 (3) 计算中点元素的地址 (MIADR)= 表首地址+字节数* R4 (4)要查找的元素与中点元素比较,若X<[MIADR],R2
(1)表的起始位置送PC和DPTR
(2)表格的长度存放在某个寄存器中 (3)要查找的关键字放在某一内存单元 (4)用CJNE A,direct, rel指令进行查找 把A当中的值和直接地址中的值比较, 若相同则继续执行。
例6-1 以DATA为首地址的存储单元中,存放一长度为100个字节的无序表 格,要寻找的关键字存放在HWORD单元。编程进行查找,若找到,则将 关键字所在内存单元地址存到R2、R3中,若未找到,将R2、R3清零。 解: 顺序查表 (CHE) 关键字 (R4) 表长度
提供,也可以由用户自己编写。
监控程序应当由以下几个部分组成:初始化程序,键盘和 显示程序,中断处理程序,信息输入/输出程序。
1、初始化程序
包括各种可编程接口芯片的初始化,堆栈、寄存器和数据 缓冲器的设定,中断类别和优先级的设定。
2、键盘和显示程序 用于监测键盘的操作,执行键盘的功能程序及控制系统中 所用各类显示器的显示。 3、中断处理程序 完成中断的申请、判断中断优先级和中断服务程序的执行。 4、信息输入/输出程序 如模拟量的A/D转换,开关量的输入/输出等。 二、计算机控制系统的应用程序 1、分类 微机控制系统的应用程序从功能分大致可划分为两大类: ● 专用控制程序:如数据采集程序,实时控制程序,控制 算法程序等。 ● 常用控制程序:如数据处理,数字滤波,标度变换,显 示和键盘程序,通信,报警程序等。
2、 编写控制系统应用程序常用的语言 控制系统对实时性和可靠性有特殊的要求,因此在编写控 制系统的应用软件时应当考虑使用的编程语言。 控制系统常用的语言有汇编语言和C、PL/M等高级语言。 (1)汇编语言 汇编语言是一种介于高级语言和机器语言之间的语言,其 特点是与机器语言一一对应。由于该语言直接与计算机的硬件 相联系,因此用汇编语言编写的程序执行速度快,节省存储空 间,适用于各种实时控制系统中。目前常用的微型计算机的汇
Y
置CY=1
END
二、数字滤波程序 在工业控制系统中,由于环境恶劣,常存有各种干扰源 ,使采样值偏离真实值。对于这种随机出现的干扰信号,可 采用数字滤波程序,对多次采样信号进行滤波,提高采用值 的准确度,减少各种干扰,保证系统可靠工作。 数字滤波与RC滤波相比,有以下优点: l 无需增加硬件,只需编写一段数字滤波程序 l 可多通道共享,不存在阻抗匹配问题,可靠性高 l 滤波的频率范围宽,如可对0.01HZ的信号进行滤波
在以8088为CPU的工控机中,一般选用DOS单任务的操 作系统;而对于以386、486和586为CPU的工业控制机或其它 高 档 控 制 机 , 则 选 用 多 任 务 的 Windows98、WindowsNT 或 UNIX更适合。
目前在DDS、SCC、DCS中用的计算机常选用WindowsNT 作为操作系统。
l 表格的排列有两种方法:(1)无序排列 (2)有序排列。 表格的排列方法对查表的速度和繁简程度有影响。 l 常用的查表方法有:(1)顺序查表法 (3)对分搜索法。 (2)计算查表法
1、 顺序查表法 对无顺序排列的表格,一般采用顺序查表法。在51单片机 中,用CJNE比较指令对要查找数据的表中的数进行比较,然后 用MOVC A,@A+PC(DPTR)指令进行查找。 顺序查表的步骤如下:
MOVC A,@A+DPTR
CJNE A, CHE, A1 MOV R2, DPH
MOV R2 , #0
MOV R3 , #0 AJMP DONE
MOV R3, DPL
TABLE:DB xx …
CHE EQU 20H
HWORD EQU 21H
2、计算查表法 根据所给元素,通过一定规律 的计算,求出元素所对应的数值的 地址,将该地址单元的内容取出。 计算查表法要求表格有序,各 个元素在表中排列与占用的地址空 间一致。
(2)主要接口 l 图形化用户接口 : FIX提供了一个直观的基于对象的 图形化用户接口(GUI),使用户可用图标和对话框设置整 个系统。在建立图面时,用户可定义某些功能特性,生成 所需的画面形状。画面中的对象可以旋转、改变尺寸、填 充颜色等。GUI还提供常用设备的字符集,供生成画面时调 用。 l 通信接口: FIX提供通用的通信接口,可以和不同的 硬件设备连接进行数据通信。
START 建立平方值表 AX←所求元素值
BX←平方值表首 地址
BX←BX+AX 平 方值所在地址 Y←[BX] END
例 6-2 用计算查表法求整数的平 方根。
见课本P189.
3、对分查表法 当实际应用中表格较长,又难以用计算法时,可用对分查 表法。对分查表法要求表格从大→小或从小→大的顺序排列。 对分查表法比顺序查表法快很多倍。
几种专用控制程序: l 数据采集程序 数据采集包括现场信息的采集、放大、量化、编码、 A/D等过程,配合硬件系统完成数据采集所编写的程序。 l 实时控制程序 通常指计算机输出量控制执行器的执行编写的程序, 如交流电机控制程序,步进电机控制程序等。 l 控制算法程序 解决计算机控制系统的控制方法,并且用软件来实现。 如为实现PID控制、直接数字控制、最优控制和智能控制 编写的程序。
● WindowsNT是具有抢先多任务方式和存储保护方式的32
位操作系统,支持多任务处理和联网,其主要特点如下: (1) 抢先多任务,可同时执行多个任务,当磁盘在后台存取 或打印任务被提交时,用户仍可执行其它任务。 (2) 存储器保护可保证多个程序运行在各自的内存区域,不 受其它应用程序在使用时的影响。
不变,(R3)←(R4);若X>[MIADR],R3不变,
(R2)←(R4);转到(2)。 (5)直到X = R4,使某标志位(CY)置1表程序 (R2)←0,(R3)←n (R4) ←((R2 ) +(R3 ))/2 MIADR←基地址+字 节数*(R4)
X=[MIADR] N Y R3←(R4) R2←(R4) X<[MIADR] N
3、 实时工业控制软件FIX FIX DMACS控制软件由美国Intellution公司推出,是具有 数据采集及控制、报警、图形数据显示等功能的工业自动化软 件。 (1)主要功能 l 数据采集和控制功能: FIX提供监控生产过程的实时数据 库。数据以文本、模拟量或数字量的形式从控制现场采集得到, 通过对实时数据的操作实现监视或控制功能。 l 统计及数据处理功能: FIX有统计选项和数据的实时处理 功能,操作人员可由此功能监视和调整生产过程。
l 设一个线性表字节长度为n,采用顺序法平均查表次数 =N/2,采用对分查表法最多查找㏒2 N-1次。
l 具体方法:设表格中数据从小→大的顺序排列,先取中间 值D = n/2,与要搜索的X值进行比较,若X﹥n/2,则下次取 n/2~n 中间值即3/4n进行比较,若X﹤n/2,取1/4 n比较,一直到 找到。
一、查表法实现数值计算 在计算机控制系统中,有些参数的计算非常复杂,直接计 算要耗费较多的时间。影响控制的实时性。为了解决上述问题 ,可采用查表法。 l 查表法是将事先计算或测得的数据按一定顺序编制成表格 ,根据任务的需要从被测参数的值或中间结果中找出所需要的 结果。
l 查表是一种非数值计算方法,利用此方法可完成数据的计 算、转换、补偿等工作,具有程序简单、执行速度快等优点。
l 图像化组态: FIX允许使用图像化的组态方式进行系统控 制的配置,便于开发和应用系统的维护。
l 报警和管理:FIX可对生产过程的重要部分进行实时监控并 报警。报警信息可用图像画面或打印机输出,并形成文件存储。 操作人员可根据报警信息对生产过程出现的问题进行确认分析 和判断,及时对过程进行调整,并监视调整后的结果。 l 历史趋势再现:软件可提供历史数据和趋势显示功能供离线 分析用,历史数据和趋势可用曲线表示并指示不同变量间的动 态关系供详细的分析和判断。 l 安全保护: FIX提供用户操作的安全功能,用户被定义为独 立和组特权,能够控制对系统应用和数据的访问。 l 交叉平台集成功能:该软件可兼顾不同的操作系统,生成的 数据库、操作员画面和历史文件能在不同的操作系统 (Windows,OS/2,VMS)之间实现传递和共享,简化了多个操作系 统共存时的网络设置。
编程序有MASM、MC6800、MCS-51、MCS-96等。
(2)高级语言 常用于控制系统的高级语言有C语言和PL/M语言。 1 、C语言 C语言是一种能取代汇编语言,又具有高级语言特点的语 言。C语言的特点是:
① 结构化语言,适合于模块化设计
② 数据类型和运算符丰富,具有较强的汇编特性 ③ 丰富的库函数为用户提供良好的软件开发环境
l 报表接口 : 通过一个双向接口,使数据库的数据与应
用程序连接并共享,便于用户用电子表格或字处理程序生 成各种报表和图形。
l 实时SQL接口: 该接口允许FIX与符合SQL标准的其它 关系数据之间进行双向和实时的数据互访。 l 可编程接口 : 允许用户用C语言编程访问FIX的数据库 和各类实时历史数据,以达到特定的目标值分析和获取最佳 控制。 目前,类似FIX DMACS类型的控制软件系列已经引入 国内,企业在应用中取得了良好的经济效果。
第四章 控制系统的软件和常
用控制程序设计
第一节 控制系统的软件分类 第二节 常用控制程序设计
计算机控制系统除了要有较好性能的硬件配置之外,还 需配置功能齐全的软件,以实现实时监控、数值计算、数据 处理及各种控制算法等功能。 计算机控制系统的软件由于其系统功能的要求应当具有 以下特点: 1、实时性 对系统的一组特定的输入,在未发生变化前,系统能作 出适当的反应。 2、并发性 能支持多任务并行操作,具有资源共享、保护功能并能 有效地进行联网通信。 3、随机性 能及时响应偶发性事件,并能对这些事件做出正确的判
C语言广泛用于系统软件和控制软件的开发中。
2 、 PL/M语言
PL/M语言是Intel从8080微处理器开始为其系列产品开发 的编程语言 ,用于微机系列、单片机和系统软件编程的一种 高级语言,PL/M语言的特点是: ①模块化结构,可读性好,可靠性高,便于维护 ②占用内存小,运行速度快,开发成本低 ③支持多种数据类型的运算 ④可与汇编语言和其它高级语言连接生成目标代码 PL/M语言适用于控制系统的应用软件编程开发。
取表中数 与关键字相等? N 地址修正
(R2、R3) 地址
查完?
(R2、R3) 0
N
END
ORG
8000H
DONE:RET A1: POP A INC A
START:MOV CHE,HWORD MOV R4,#100 MOV A,#0 MOV DPTR,#TABLE LOOP:PUSH A
DJNZ R4 , LOOP
(3) 网络特性提供了用户资源的共享。
WindowsNT还提供了文件保护功能,检测并使已损坏的磁
盘扇区无效,在电源故障时进行存储处理和信息的保护等。
● 当控制系统比较简单,例如由单片机构成的简单控制器
中往往不用操作系统的支持,只需为系统配置一个监控程序即 可达到控制的目标。监控程序可以是买硬件时附带,即由厂家
相关文档
最新文档