您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 电气安装工程 > 第7章 计算机控制系统软件设计
第七章计算机控制系统软件设计7.1程序设计技术7.2人机接口(HMI/SCADA)技术7.3测量数据预处理技术7.4数字控制器的工程实现7.5系统的有限字长数值问题7.6软件抗干扰技术软件是工业控制机的程序系统,它可分为系统软件和应用软件。所谓应用软件就是面向控制系统本身的程序,它是根据系统的具体要求,由用户自己设计的。7.1程序设计技术7.1.1模块化与结构化程序设计7.1.2面向过程与面向对象的程序设计7.1.3高级语言I/O控制台编程7.1.1模块化与结构化程序设计1.模块化程序设计2.结构化程序设计一个完整的程序设计过程可以用左图来说明。首先要分析用户的要求,这大约占整个程序设计工作量的10%;然后编写程序的说明,这大约也占10%;接着进行程序的设计与编码,这大约占30%左右,其中设计与编码几乎各占15%;最后进行测试和调试,这要花费整个程序设计工作量的40%以上。1.模块化程序设计(1)首先对最低层模块进行编码、测试和调试。这些模块正常工作后,就可以用它们来开发较高层的模块。这种方法是汇编语言设计常用的方法。(2首先对最高层进行编码、测试和调试。为了测试这些最高层模块,可以用“结点”来代替还未编码的较低层模块,这些“结点”的输入和输出满足程序的说明部分要求,但功能少得多。该方法一般适合用高级语言来设计程序。2.结构化程序设计只用三种基本的控制结构就能实现任何单入口单出口的程序。这三种基本的控制结构是“顺序”、“选择”、“循环”。如右图所示。7.1.2面向过程与面向对象的程序设计1.面向过程的程序设计及其局限性2.面向对象的程序设计以上两种方法在概念上存在以下主要区别:(1)模块与对象(2)过程调用和消息传递(3)类型和类(4)静态链接和动态链接7.1.3高级语言I/O控制台编程对于PC总线工业控制机,我们以TurboC为例来说明其访问I/O端口的编程。TurboC通常有库函数,允许直接访问I/O端口,头文件〈conio.h〉中定义了I/O端口例程。例如:a=inportw(0x210)b=inportb(0x220)第一条指令表示将端口210H的16位二进制数(一个字)输入给变量a,第二条指令表示将端口220H的8位二进制数(一个字节)输入给变量b。在C语言中,0x起头的是16进制数。又如:outportw(0x230,0x3435)outportb(0x240,0x26)第一条指令表示将二字节数3435H输出到端口230H中,第二条指令表示将单字节数26H输出到端口240H中。7.2人机接口(HMI/SCADA)技术7.2.1HMI/SCADA的含义7.2.2基于工业控制组态软件设计人机交互界面7.2.3基于VB/VC++语言设计人机交互界面7.2.1HMI/SCADA的含义HMI(HumanMachineInterface)广义的解释就是“使用者与机器间沟通、传达及接收信息的一个接口”。一般而言,HMI系统必须有几项基本的能力:实时资料趋势显示历史资料趋势显示自动记录资料警报的产生与记录报表的产生与打印图形接口控制凡是具有系统监控和数据采集功能的软件,都可称为SCADA(SupervisorControlAndDataAcqusition)软件。SCADA软件和硬件设备的连接方式主要可归纳为三种:(1)标准通讯协议。(2)标准的资料交换接口。(3)绑定驱动(Nativedriver)。7.2.2基于工业控制组态软件设计人机交互界面1.控制组态2.图形生成系统3.显示组态计算机控制系统的组态功能可分为两个主要方面,即硬件组态和软件组态。硬件组态常以总线式(PC总线或STD总线)工业控制机为主进行选择和配置。工业控制组态软件是标准化、规模化、商品化的通用过程控制软件。组态工作是在组态软件支持下进行的,组态软件主要包括:控制组态、图形生成系统、显示组态、I/O通道登记、单位名称登记、趋势曲线登记、报警系统登记、报表生成系统共8个方面的内容。1.控制组态控制算法的组态生成在软件上可以分为两种实现方式:一种方式是采用模块宏的方式,即一个控制规律模块(如PID运算)对应一个宏命令(子程序),在组态生成时,每用到一个控制模块,则组态生成控制算法,产生的执行文件中就将该宏所对应的算法换入执行文件。另一种常用的方式是将各控制算法编成各个独立的可以反复调用的功能模块,对应每一模块有一个数据结构,该数据结构定义了该控制算法所需要的各个参数。因此,只要这些参数定义了,控制规律就定了。有了这些算法模块,就可以生成绝大多数的控制功能。2.图形生成系统计算机控制系统的人机界面越来越多地采用图形显示技术。图形画面主要是用来监视生产过程的状况,并可通过对画面上对象的操作,实现对生产过程的控制。图形画面一般有两种即静态画面(或背景画面)和动态画面。静态画面一般用来反映监视对象的环境和相互关系,它的显示是不随时间的变化的。动态画面一般用以反映被监视对象和被控对象的状态和数值等,它在显示过程中是随现场被监控对象的变化而变化的。在生成图形画面时,不但要有静态画面,而且还要有“活”的部分即动态画面。3.显示组态(1)选择模拟显示表(2)定义模拟显示表(3)显示登记法(4)I/O通道登记(5)单位名称登记(6)趋势曲线登记(7)报警系统登记(8)报表生成系统计算机控制系统的画面显示一般分为三级即总貌画面、组貌画面、回路画面。若想构成这些画面,就要进行显示组态操作。显示组态操作包括选择模拟显示表、定义显示表及显示登记方法等操作。(1)选择模拟显示表由于计算机控制系统显示画面常采用各种模拟显示表来显示测量值、设定值和输出值,因此,显示组态一般可用6种模拟显示表,即调节控制表、报警显示表、阀位操作表、监视操作表、比率设定表、流量累计表。返回返回(2)选择了回路的模拟显示表后,尚须对显示表的每一个参数进行确定,并在画面上设定相应的值。(3)显示登记法显示登记法是进入系统显示登记画面。选择过程控制站站号及工作方式;登记控制组号、组名,该组员的回路号,进行分组登记操作;显示表登记(登记每一个控制回路所用的模拟显示表);将显示(4)I/O通道登记计算机控制系统能支持多种类型的信号输入和输出。从生产过程来看,每一输入输出都有不同的名称和意义,因此需将输入输出定义成特定的含义,这就是I/O通道登记。I/O通道主要是模拟量I/O和开关量I/O等通道。(5)单位名称登记对系统各种画面中需要显示的工程单位名称采用登记的方法,可使用中英文一切符号,登记生成自己特有的单位名称,主要登系统的硬盘中保存有三种趋势曲线数据,即当天的、昨天的和历史的数据。当天的趋势曲线数据,系统以一定的周期将数据保存起来。到第二天就将当天的数据覆盖昨天的数据。历史数据是当你需要某天的数据时,从硬盘拷贝到软盘保存起来。趋势曲线的规格主要有:趋势曲线幅数、趋势曲线每幅条数、每条时间、显示精度。趋势曲线登记表的内容主要有:幅号、幅名、编号、颜色、曲线名称、来源、工程量上限和下限。(6)趋势曲线登记返回报警显示画面分成三级即报警概况画面、报警信息画面、报警画面。报警概况画面是第一级,它显示系统中所有报警点的名称和报警次数;报警信息画面是第二级,它是第一级画面的展开与细化,可调出相应报警信息画面,即可观察到报警时间,消警时间,报警点名称和报警原因等;报警画面是第三级,可调出与报警点相应的各显示画面,包括总貌画面、组画面、回路画面、趋势曲线画面等。为了完成报警登记,还要填写登记表。内容包括:编号、名称、原因类型、原因参数、画面类型、画面参(7)报警系统登记返回(8)报表生成系统报表生成系统用于系统的报表及打印输出。因而报表系统主要功能是定义各种报表的数据来源、运算方式以及报表打印格式和时间特性。返回7.2.3基于VB/VC++语言设计人机交互界面1.VisualBasic2.VC++如何为单片机选择合适的人机界面1、单片微型计算机简称单片机,是典型的嵌入式微控制器(MicrocontrollerUnit),常用英文字母的缩写MCU表示单片机,目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。2、单片机开发出来的产品,能否得到用户的青睐,除了基本的功能以外,还需要一个友好的人机交互过程(简称人机界面)。单片机与人交流的发展过程,从发光二极管的亮灭--笔段数码管--点阵数码管--黑白点阵液晶屏。高端的MCU摆脱了黑白屏,轻松驾驭绚丽的彩色人机界面。单片机驱动不了彩色屏,但是开发产品技巧能弥补单片机的天生缺陷,使得单片机开发出的产品也可以是友好的彩色界面。如何为自己的单片机选择合适的人机界面呢?市面上纵多的产品中,可以归结为三种比较成熟的产品:智能彩色显示终端(有些带VGA的)、组态人机界面和单板电脑。三种产品都可以使单片机开发出一个非常友好的界面产品,但各有优势和缺点。一.智能彩色显示终端:产品开发难度:3单片机技术要求:5开发周期:4效果:先把需要显示的图片存放到显示终端,单片机通过串口发送简单的指令,控制显示终端显示指定的图片、裁剪图片显示、画出各种图形、文字以及实时数据,这些复杂的图像处理只需要单片机灵活发出机灵即可。简单说,单片机主动发出指令,显示终端按指令执行显示。带触摸屏,可以替代了机械按钮,按钮可以通过用户上传小块图片标示。有些智能显示终端还带VGA输出,单片机直接驱动VGA显示器,真潇洒。把工程做成多个页面跳转更换配合触摸屏按钮,效果可以媲美银行的ATM终端。二.组态人机界面:产品开发难度:2单片机技术要求:3开发周期:2效果:4有相当一部分搞单片机开发人员没有听说过组态人机界面,那是因为组态人机触摸屏一般搭配PLC一起使用在工控自动化行业,极大地简化了工程流程和缩短了工程开发时间。既然组态人机有这个优势,我们搞单片机开发产品也可以利用起来。开发过程,现在电脑安装组态软件,拖动需要显示的控件组合起来,如需要显示的数据变量和渐变的曲线、模拟仪表、密码登陆权限、报警模块、模拟生产流程等等。工程可以做成多个页面跳转,编译后下载到触摸屏上就可以使用。单片机如何使用触摸屏实现呢?其实单片机能不能主动发只能去控制触摸屏的,这个是与显示终端最大的差异。工作原理,组态触摸屏不停的发指令,单片机仅作回复,并且按照双方协定执行动作,而触摸屏则会按照单片机状态显示。单片机需要加入通讯协议,这个协议是工业标准的modbus-RTU,移植到单片机也很简单,当然自己按照通讯标准写也可以。万事具备了,东风也有了,单片机的人机换面完美,但是能很好配合单片机使用的组态人机界面的产品不多,我印象中,广州市微嵌计算机科技有限公司开发的组态触摸屏合适单片机,提供移植好的标准通讯协议的源代码,稍微改动就能满足自己的工程,效果还不错。三.单板电脑:产品开发难度:5单片机技术要求:3开发周期:5效果:5市场上单板电脑带的系统一般有WINCE和LINUX。从单片机如何显示完美人机界面的角度出发,WINCE单板电脑占很大优势,使用WINCE的习惯跟平时的WINDOWS一样。用户可以选择自己精通的开发语言进行应用程序界面的开发,就现在而言,wince单板电脑支持的开发语言还是比较丰富的,包括VC++,C#,VB,EVC和.NET等语言。使用单板电脑开发界面会比上面两种产品难度高,但是可以有很好的效果,画面任意变化,集成了网络功能,可以做数据后台处理,复杂的处理系统。7.3测量数据预处理技术7.3.1误差自动校准7.3.2线性化处理和非线性补偿7.3.3标度变换方法7.3.4越限报警处理传感器把生产过程的信号转换成电信号,然后用A/D转
本文标题:第7章 计算机控制系统软件设计
链接地址:https://www.777doc.com/doc-3681380 .html