基于C#的监控组态软件开发分析

2018-05-28 11:10镇涛
电脑知识与技术 2018年9期
关键词:组态软件数据库

镇涛

摘要:在工业控制系统当中,最经常应用到的自动化软件平台就是组态软件,它整体系统运转的原理就是为用户提供大量的配置选项,用户可以省略编程这一环节自动形成自己的应用系统。我国大多数中小型生产企业在进行自动化改造时,通常对组态软件的整体需求水平要求较高。我国组态软件产品大多数价格比较高,其中的功能比较冗余,往往所承载的功能超出了企业的承受能力。

关键词:C#;组态软件;实时系统;图形画面;数据库;通信组件

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)09-0108-03

对当前组态软件产品主流趋势技术特点进行分析,把组态软件的结构大致可以分为五个部分,分别是图形系统、历史数据库、实时系统、通信组件系统、外部程序系统。对图形系统进行整体开发的过程当中,需要对整体的设计架构进行MVC模式的研究。重点对实时内核的数据组织进行研究,有效的对实时事物进行调度和控制,可以对数据库脚本进行整体开发,有效地管理相关的功能板块。

1 组态软件

1.1 组态软件的概念

计算机控制技术已经不断地得到完善,控制器的硬件成本整体得到了大幅度的降低,这一点要归功于微控制器。在现代科技快速发展的背景之下,出现了集散控制系统,该系统融合了和计算机多方面的科学技术。集散控制系统在整体发展过程当中采用的是分布式控制結构,通过信息的不断生产,可以有效地汇总到中央数据服务器当中。根据工作的实际需要,对控制系统进行不同类型的选择,有效地对插卡的数量进行把控。集散控制系统整体的配置比较灵活,在模块化的设计思想当中,可以有效地结合系统软件和应用软件。集散控制系统的软件接口非常的丰富,其中所涉及的兼容性也比较强,通过将软件配置和硬件配置进行有效的组合,可以形成控制性比较强的组态系统。对系统进行相应的升级和调整,在整个流程自动化工业生产当中,可以为生产带来相关的便利条件。组态的概念充分的引入到了集散控制系统当中,通过自动化领域的整体识别,利用DCS用户可以省略编写程序这一环节,直接给相应的厂商提供所需要的控制系统。通过相应的软件工具可以对系统资源进行合理的配置,通过系统可以完成生产当中所需要的特定功能,组态工具一般是专门设置,在使用的过程当中属于一对一模式。组态工具和配备的软件和硬件设备相关,根据特定领域的相关需求,选择适合的硬件厂家,开启统一的通信标准。在计算机技术快速发展的过程当中,许多硬件厂家通过相关的协议制定了统一的标准,组态软件产品以独立的形式出现在了市场当中,随之为组态软件带来了通用化的发展趋势。组态软件主要是面向数据采集和数据监控,在整体发展过程当中会形成特定的人机图形界面,工业控制系统在快速的向前发展,在发展的过程当中,对组态软件的相关性能提出了更高的要求。

1.2 组态软件的框架设计与研究重点分析

相较于传统的工控软件相比,组态软件具有许多新的性能和特点,组态软件可以实现实时多任务,在特定的时间内对来情况进行及时的反应,对数据进行及时的输入输出,实时地对监控界面进行刷新和调整。根据外来事件的反映可以有效地开展相关的应急措施,组态软件在整体设计的过程当中,通常采用的是多线程操作,如果硬件设备和供电系统能够进行配合,此时组态软件需要在正常的负荷下才能够得到稳定的运转。组态软件具有一定的可靠性,对于控制系统的要求比较高,需要开展第三方程序接口。目前组态软件在发展的过程当中没有统一的国际标准,但是在生产利用的过程当中会遵循相应的通信标准,以此可以对软件的兼容性进行相应的提高。组态还具有一定的可延续性和可扩展性,通过开发相应的应用程序,对整体的控制系统进行调整,有效地对用户进行细微的调整和改动。利用组态软件对相应的模块进行调整,给设备的相关配置参数进行改动,由此可以呈现出新的控制系统。组态软件的封装性比较好,通过组态软件可以对底层的相应程序进行封转,对于不懂得编程语言的用户来说是一个福利,这些用户可以通过生产工艺来控制相应的系统。组态软件面向数据采集和数据监控,具有非常繁多的功能,组态软件可以生成监控界面,为用户提供较为丰富的图形操作工具,以及相应的标准图形库。组态软件会实时地对周围的数据进行收集和汇总,将这些调整好之后的数据进行处理,实时的发送到用户所需要的位置,或者是储存在历史数据库当中。组态软件可以提供非常丰富的设备驱动程序,保障硬件设备的相关通信需求,设置较为完整自定义通信协议,提供驱动程序开发包。

2 组态软件图形系统的研究与实现

2.1 图形系统的设计思想

计算机图形存储的形式之一就是矢量图,矢量图和位图储存形式不同,位图存储的图元个点是像素值,矢量图存储的就是坐标值。对于直线图像只需要存储它的两个端点的坐标,如果所要存储的是圆形,就需要对它的原点坐标和半径长度进行坐标储存。组态软件主要是对图形的位置、大小、形状和颜色进行相应的改变,并不会整体的改变图像的填充属性,对于整个图像来说,组态软件可以有效地还原图形的真实性。当今主流的商用软件就是面向对象编程,在整体应用的过程当中和程序设计相比较,面向对象编程可以降低软件开发的整体难度,从而使编程变得更加的简便。简化程序编程环节的同时可以达到软件工程的最终目标,实现软件编程的灵活性和扩展性,对编程的对象进行整体的集中。对象编程具有多态性格特点,在整体发展的过程当中需要对数据和形象进行组合,有效地去避开外界的干扰和不确定性,在整体上可以提高软件的可靠性。通过软件中的层次可以展现软件的继承性,将关联的相关文件进行多态性的组合,对整体的版本进行重新制定。组态软件画面涉及许多元素,各个元素之间说需要的属性是不同的,最终所达到的动画效果也会存在着一定的差异。利用面向对象的编程思想,可以将图元的共有属性抽象为一个图元基类,最终子图元可以实现不同的制定目标。图形系统通过不同的设定可以组成画面,通过程序的调整可以实现人机沟通,用户通过输入设备进行命令的输入,传达到电脑的总控制区,总控制区会进行智能化识别,对这些命令进行及时的反应。Netro是一个绘制类图的半成品,在应用的过程当中可以和组态软件相互结合,实现模型和视图之间的交流。

2.2 图形系统的设计实现

文本、线、填充图形是基本的图形,不同的类别有包含许多分支图形结构,利用面向对象编程的思想,可以将基本图形进行抽象的分类。不同的图形分类具有不同的属性,图形属性决定了图形的应用范围,动态图元根据用户操作可以展现出相应的动作。计算机当中所展开的相应动作都是通过图形元素来完成的,在整体的事件设计当中,需要实时数据库的支持。在不同的模式之下,用户需要运用到的工具是不同的,在组态界面的工具栏当中,根据用户的实际需求可以展现出相应的绘图工具。当绘图指令结束后,组态软件会根据最终的结果对模型进行适当的修改,确保整体的视图达到用户标准。组图形是由多个图形组合在一起的,在整体绘制的过程当中,通过不同的组态软件可以呈现出不同的图形效果,组图形整体实现的过程如下图所示。

组图形是由多个基本图形共同组合而成的,自身具有非常鲜明的行为特点,运转的过程当中包含了所有基本图形的全部属性。View调用Group Shape的Paint方法,在整体绘图的过程当中没有具体的步骤,但是这些子图形可以共同绘制成一个组图形。图形动画在连接的过程当中,会涉及大量的运算表达式,图形脚本可以充分的对这些表达式进行解释。图形动画在连接时会出现一些问题,表达式当中会存在许多数据库变量,根据需求需要对这些变量进行分离,其中会涉及许多具体数值,需要将这些数值代入表达式当中。在计算的过程当中,只能计算包含数值和运算符的表达式,当系统出现问题时,相关工作人员会将报警信息进行登记,已经审核注册后的信息可以通过图形报警进行表现。图形报警根据性质的不同可以大致分为两种,第一种,图形在组态的过程当中,用户会相应的设置报警指示灯,在整个过程当中还会设置脚本,系统当中的指示灯会根据具体的运转情况进行表示。第二种,主要是通过系统来完成的,当软件系统内部出现问题时,系统会自动的发出报警信息。报警队列会受到图形报警模块的筛选,这种筛选一般是具有一定时间规律的,在扫描的过程当中会优先处理紧急报警队列。

2.3 文件的组织和存储

Document是一个需要保存的文件,简单来说就是一个对象,文件在存取的过程当中,从本质上来分析主要涉及读取和写入。C#被称为对象序列化,在系统当中提供的是一种机制,字节序列的对象就是序列化对象,其中涉及对象类型、对象数据以及相关的数据信息。文件当中的内容会涉及序列化对象,可以对这些内容进行反序列化,与此同时还需要重建对象,在保存数据类型时要选择对象类型。监控系统当中会存在大量的组态任务,这些任务通常是由组态程序负责,其中涉及仪器设备的组态、信息数据库的组态和画面动态的组态。如下图所示是组态程序的界面。

3 组态软件数据库系统的研究与实现

3.1 组态软件数据库系统概述

数据采集和监控主要是由组态软件负责,组态软件是实时性的应用,在传统的数据库系统当中,比较注重数据的完整性和系统性,对于数据具体的处理时间要求不高,所以在具体应用的过程当中不能满足用户实时性的要求。实时数据库是组态软件的管理中心,在数据管理的过程当中,满足用户的实时性也是系统当中的难点。为了保障数据的實时性,需要对系统当中的结构进行不断地优化和调整,是一项比较复杂的工作。面向控制点数少的中小型系统的组态软件,需要对系统当中的实时系统和历史数据库进行协调。为了保障实时系统的正常运转,需要对相应的数据进行调度和控制,对系统当中的历史数据要进行适当的更新,确保数据库当中的内容满足用户的需求,整体上能够满足实时性的要求。

3.2 实时系统的实现

在工业控制系统当中,会涉及许多的现场数据,比如说开关闭合、总流量、整体压力、设备温度以及液位,这些数据在系统当中必须有详细的记录。实时数据库当中通常会将对象模型叫做点,简单来说这些点共同形成了数据对象,不同的数据对象具有不同的属性,客观的对这些属性进行描述和概括,可以还原数据的原始真实性。实时内核当中的数据组织具有较高的要求,需要对其中的数据点进行全面存储,适当时还要进行添加和调整。在普通的数据结构当中,需要通过不断地比较才可以建立较为健全的检索系统,只要在系统当中输入准确的关键词,就可以快速地在系统当中搜索到需要的内容。传统的检索形式速度比较慢,经过更新换代之后可以凸显出现代科技的优势,讲检索的时间进行规范设置,可以避开高峰检索时段。实时数据库无论经过怎样的变革,在整体的数据分析原理上还是基于传统数据库的,对系统整体的检索速度都进行了大幅度的提高。传统的数据检索库当中调度算法比较简单,通常都是先进行相关的服务检索,在处理的速度上仍然存在着问题。实时事务具有许多鲜明的特点,需要对整体进行性能分析,保持数据库的定时性、恢复性和高强度执行性。在系统当中会存在空余时间,简单来说就是指在事务推迟处理的情况下,不会对任务造成任何的损失,同时也空余出大量的事务处理时间。数据库在实际处理的过程当中,会存在多事务并存处理的状况,在这个情况之下,系统对事务会进行属性识别,不同的事务会产生不同的数据,这些数据的读写模式也存在着差异。在传统的数据库当中,会根据可串行化来制定控制协议,通常情况下实时数据存在的时间比较短,因为这些数据定期会进行大批量的更新。数据属性存在差异时,整体的数据就会在小范围流通,并不会大范围的进行传播。

3.3 历史数据库的实现

数据库当中经常会存在用户想要长久保存的数据,这些数据一旦经过系统性的保存,就会自动根据周期进行分类,根据用户对数据周期以及精度的要求,历史数据库会对这些数据进行分类。历史数据的大多数内容通常保存在硬盘当中,在整体操作的过程当中会消耗大量的时间,为了节约系统操作的时间,需要在内存当中另外设置缓冲区域。当历史数据库当中需要对相应的部分数据进行保存时,需要将这些数据转入到硬盘的缓冲区域,进行相应的处理之后才可以转入到硬盘。在整个缓冲区域当中,数据会被进行全方位的保护,不会被其他的信号所干扰,同时也不会出现数据遗失的问题。历史数据库会为用户提供所需要的一些操作,满足用户对数据进行显示、打印和查询的需求。历史数据库当中所能够实现的只是简单的处理功能,相应的图形曲线表示还需要计算机软件来进行设置,chart控件经常是由微软公司来进行提供。

4 结束语

我国组态软件产品大多数价格比较高,对图形系统进行整体开发的过程当中,需要对整体的设计架构进行MVC模式的研究,对数据库脚本进行整体开发,有效地管理相关的功能板块。集散控制系统整体的配置比较灵活,在模块化的设计思想当中,对系统进行相应的升级和调整,对组态软件的相关性能提出了更高的要求。组态软件的功能比较强大,是一款自动化软件,在整体运行的过程当中可以担任多种角色,保障中小企业在运转的过程当中,可以对相应的监控组态软件进行整体开发和分析。基于C#的监控组态软件需要进行全面的分析和开发,实时数据库是组态软件的管理中心,是一项比较复杂的工作,为了保障实时系统的正常运转,需要对系统当中的历史数据要进行适当的更新。

参考文献:

[1] 王亚民, 陈青, 刘畅生, 等. 组态软件设计与开发[M]. 西安: 电子科技大学出版社, 2003.

[2] 周峰, 王征. C#典型模块开发[M]. 北京: 中国铁道出版社, 2009.

[3] 欧金城, 欧世乐, 林德杰. 组态软件的现状与发展[J]. 工业控制计算机, 2002, 15(4).

[4] 谢军. 工控组态软件的功能分析与应用[J]. 交通与计算机,2000, 18(3).

[5] 刘耀, 刘连浩. 组态软件图形系统的设计与实现[J]. 企业技术开发, 2004, 23(1).

[6] 周欣然. 组态软件的设计[D]. 长沙:中南大学, 2003.

[7] 吴晓琴. 浅析面向对象程序设计特点[J]. 安徽大学学报, 2002, 26(3).

猜你喜欢
组态软件数据库
基于面向对象的组态软件实时数据库的设计
基于WebAccess的PLC远程控制系统设计