软件工程设计与实现

01

概述

用工业控制机来组建计算机控制系统不仅能减少系统硬件设计工作量,而且还能减小系统软件工作量。一般工业控制机都配有实时操作系统或实时监控程序,各种控制、运算软件、组态软件等,可使系统设计者在最短的周期内,开发出目标系统软件。

一般工业控制机把工业控制所需的各种功能以模块形式提供给用户。其中包括:控制算法模块,运算模块,计数、计时模块,逻辑运算模块,输入模块,输出模块,打印模块,CRT显示模块等。系统设计者根据控制要求,选择所需的模块就能生成系统控制软件,因而软件设计工作量大为减少。为便于系统组态,工业控制机提供了组态语言。

当然并不是所有的工业控制机都能给系统设计带来上述的方便,有些工业控制机只能提供硬件设计的方便,而应用软件需自行开发;若从选择单片机入手来研制控制系统,系统的全部硬件、软件均需自行开发研制。自行开发控制软件时,应先画出程序总体流程图和各功能模块流程图,在选择程序设计语言,然后编制程序。程序编制应先模块后整体。

02

数据类型和数据结构规划

在系统整体方案设计中,系统的各个模块之间有着各种因果关系,要进行各种信息传递。如数据采集模块的输出信息就是数据处理模块的输入输入信息,同样,数据处理模块和显示模块、打印模块之间也有这种产销关系。各模块之间的关系体现在他们的接口条件,即各接口参数的数据结构和数据类型。

这一步工作可以这样来做:将每一个执行模块要用到的参数和输出的结果列出来,对于与不同模块都有关的参数,只取一个名称,以保证同一个参数只有一种格式。然后为每一个参数规划一个数据类型和数据结构。从数据类型上来分类,可分为逻辑型和数值型,但通常将逻辑型归到软件标志中去考虑。数值型可分为定点数和浮点数。定点数有直观、编程简单、运算速度快的优点,其缺点是表示的数值动态范围小,容易溢出。浮点数则相反,数值动态范围大、相对精度稳定、不易溢出,但编程复杂,运算速度低。

如果某参数是一系列有序数据的集合,如采样信号序列,则不仅存在数据类型问题,还存在数据存放格式问题,即数据结构问题。

03

资源分配

对于采用单片机结构的硬件系统,在完成数据类型和数据结构的规划后,还需要分配系统的资源。系统资源包括:ROM、RAM、定时器/计数器、中断源、I/O地址等。ROM资源用来存放程序和表格,这也是明显的。定时器和计数器、中断源、输入和输出地址在任务分析时已经分配好了。因此资源分配的主要工作是RAM资源的分配。RAM资源规划好后,应列出一张RAM资源的详细分配清单,作为编程依据。

04

实时控制软件设计

(1)数据采集和数据处理程序。数据采集程序主要包括多路信号的采用、输入变换、存储等。模拟输入信号为0到10毫安直流或4到20毫安直流,0到5伏特直流和电阻等。前两种可以直接作为模数转换板的输入,后两种经放大器放大到0到5伏特后再作为模数转换板的输入。开关触点状态通过数字量输入模板输入。输入信号的点数可根据程序选取,每个信号的量程和工业单位用户必须规定清楚。数据处理程序主要包括数据滤波程序、线性化处理和非线性补偿、标度变换程序、越线报警程序等。

(2)控制算法程序。主要实现控制规律的计算并产生控制量。其中包括数值PID控制算法、Smith补偿控制算法、最少拍控制算法、串级控制算法、前馈控制算法、解耦控制算法、模糊控制算法、最优控制算法等。实际实现时,可选择一种或几种合适的控制算法来实现控制。

(3)控制量输出程序。实现对控制量的处理、控制量的变换及输出,驱动执行机构或各种电气开关。控制量包括模糊量和开关量两种。模糊控制量由数模转换板输出,一般标准为0到10毫安直流或4到20毫安直流信号,该信号驱动执行机构如各种调节阀门。开关量控制信号驱动各种电气开关。

(4)实时时钟和中断处理程序。实时时钟是计算机控制系统中一切与时间有关的过程的运行基础。时钟有两种,即绝对时钟和相对时钟。绝对时钟与当地的时间同步。相对时钟与当地的时间无关,一般只要时分秒就可以了,要某些场合要精度到0.1秒甚至毫秒。

计算机控制系统中有很多任务是按时间来安排的,即有固定的作息时间。这些任务的触发和撤销有系统时钟来控制,不用操作者直接干预,这在很多无人值班的场合非常重要。实时任务有两类:第一类是周期性的,如每天固定时间启动,固定时间撤销的任务,它的重复周期是一天。第二类是临时性任务,操作者预定好启动和撤销时间后由系统时钟来执行,但仅一次有效。作为一般情况,假如系统中有几个实时任务,每个任务都有自己的启动和撤销时间。在系统中建立两个表格:一个是任务启动时间表,一个是任务撤销时刻表,表格按作业顺序编号安排。为使任务启动和撤销即使准确,这一过程应安排在时钟中断子程序中来完成。定时中断服务程序在完成时钟调整后,就开始扫描启动时刻表,当表中某项和当前时刻完全相同时,通过查表位置指针就可以决定对应作业的编号,通过编号就可以启动或撤销相应的任务。

计算机控制系统中,有很多控制过程虽与时间有关,但与当地时间无关。例如啤酒发酵微机控制系统,要求从10摄氏度4小时后到5摄氏度,保温30小时后,在降温2小时到3摄氏度,在保温。以上工艺工程与时间关系密切,但与上午下午没有关系,只与开始投料时间相关,这一类的时钟控制需要相对时钟信号。相对时钟的运行速度与绝对时钟一致,但数值完全独立。这要求相对时钟另外开辟存放单元。在使用上,相对时钟要先初始化,再开始计时,计时到后便可唤醒指定任务。

许多实时任务如采样周期、定时显示打印、定时数据处理都必须利用实时时钟来实现。并由定时中断服务程序执行相应的动作或处理动作状态标志等。另外,事故报警、漏电检测机处理、重要的事件处理等功能的实现也常常使用中断技术,以便计算机能对事件作出及时处理。事件处理由中断服务程序和相应的硬件电路来完成。

(5)数据管理程序。这部分程序用于生产管理,主要包括画面显示、变化趋势分析、报警记录、统计报表打印输出等。

(6)数据通讯程序。主要完成计算机与计算机之间、计算机与智能设备之间的信息传递和交换。这个功能主要在分散型控制系统、分级计算机控制系统、工业网络等系统中实现。









































早期白癜风能治愈否
有地方能治好白癜风吗



转载请注明:http://www.zjiaren.com/yjly/1257.html