组态软件的总体架构

简介: 组态软件的总体架构

组态软件的总体结构及其相似性

组态软件主要作为SCADA系统及其他控制系统的上位机人机界面的开发平台,为用户提供快速地构建工业自动化系统数据采集和实时监控功能服务。而不论什么样的过程监控,总是有相似的功能要求。因此,不论什么样的组态软件,它们在整体结构上都具有相似性,只是不同的产品实现这些功能方式有所不同。如图5.1所示的就是组态王提供的演示版面运行界面,不是上面的文字提示,很难看出该监控界面是用什么组态软件开发的。

从目前主流的组态软件产品看,组态软件由开发系统与运行系统组成,如图5.2所示。系统开发环境是自动化工程设计师为实施其控制方案,在组态软件的支持下进行应用程序的系统生成工作所必须依赖的工作环境,通过建立一系列用户数据文件,生成最终的图形目标应用系统,供系统运行环境运行时使用。

系统运行环境由若干个运行程序支持,如图形界面运行程序、实时数据库运行程序等。在系统运行环境中。系统运行环境将目标应用程序装入计算机内存并投入实时运行。不少组态软件都支持在线组态,即在不退出系统运行环境下修改组态,使修改后的组态在运行环境中直接生效。当然,如果修改了图形界面,必须刷新该界面新的组态才才能显示。维系组态环境与运行环境的纽带是实时数据库,如图

e457e50acb134edeb6aadbc51ff64d4e.png

运行环境系统由任务来组织,每个任务包括一个控制流程,由控制流程执行器来执行。任务可以由事件中断、定时时间间隔、系统出错或报警及上位机指令来调度。每个任务有优先级设置,高优先级的任务能够中断低优先级任务。同优先级的程序若时间间隔设置不同,可通过竞争,抢占CPU使用权。在控制流程中,可以进行逻辑或数学运算、流程判断和执行、设备扫描及处理和网络通信等。此外,运行环境还包括以下一些服务:

(1)通信服务:实现组态软件与其他系统之间的数据交换。

(2)存盘服务:实现采集数据的存储处理操作。

(3)日志服务:实现系统运行日志记录功能。

(4)调试服务:辅助实现开发过程中的调试功能。

组态软件的功能相似性还表现在以下几个方面。

(1)目前绝大多数工控组态软件都可运行在Windows 2000/XP环境下,部分还可以运行在VISTA操作系统下。这些软件界面友好、直观、易于操作。

(2)现有的组态软件多数以项目目(Project)的形式来组织工程,在该项目中,包含了实现组态软件功能的各个模块,包括I/O设备、变量、图形、报警、报表、用户管理、网络服务、系统冗余配置和数据库连接等。

(3)组态软件的相似性还表现在目前的组态软件都采用TAG数来组织其产品和进行销售,同一公司产品的价格主要根据点数的多少而定;而软件的加密多数采用硬件狗。部分产品也支持软件License。


组态软件的功能部件

为了解决5.2节指出的问题,完成监控与数据采集等功能,简化程序开发人员的组态工作,易于用户操作和管理。一个完整的组态软件基本上都包含以下一些部件,只是不同的系统,这些构件所处的层次、结构会有所不同,名称也会不一样。


1.人机界面系统

人机界面系统实际上就是所谓的工况模拟动画。在人机界面组态中,要利用组态软件提供的工具,制作出友好的图形界面给控制系统用,其中包括被控过程流程图、曲线图、棒状图、饼状图、趋势图,以及各种按钮、控件等元素。人机界面组态中,除了开发出满足系统要求的人机界面外,还要注意运行系统中画面的显示、操作和管理。

在组态软件中进行工程组态的第一步即是制作工况模拟动画,动画制作分为静态图形设计和动态属性设置两个过程。静态图形设计类似于“画画”,用户利用组态软件中提供的基本图形元素,如线、填充形状、文本及设备图库,在组态环境中“组合”成工程的模拟静态画面。静态图形设计在系统运行后保持不变,与组态时一致。动态属性设置则完成图形的动画属性,与实时数据库中定义的变量建立相关性的连接关系,作为动画图形的驱动源。动态属性与确定该属性的变量或表达式的值有关。表达式可以是来自I/O设备的变量,也可以是由变量和运算符组成的数学表达式,它反映图形大小、颜色、位置、可见度、闪烁性等状态的特征参数,随着表达式的值的变化而变化。人机界面系统的设计还包括报警组态及输出、报表组态及打印、历史数据检索与显示等功能。各种报警、报表、趋势的数据源都可以通过组态作为动画链接的对象。

组态软件给用户最深刻印象的就是图形用户界面。在组态软件中,图形主要包括位图与矢量图。位图就是由点阵所组成的图像,一般用于照片品质的图像处理。位图的图形格式多采用逐点扫描、依次存储的方式。位图可以逼真的反映外界事物,但放大时会引起图像失真,并且占用空间较大。即使现在流行的jpeg图形格式也不过是采用对图形隔行隔列扫描从而进行存储的,虽然所占用空间变小,但是同样在放大时引起失真。矢量图是由轮廓和填空组成的图形,保存的是图元各点的坐标,其构造原理与位图完全不同。矢量图形,在数学上定义为一系列由线连接的点。矢量文件中的图形元素称为对象,每个对象都是一个自成一体的实体,它具有颜色、形状、轮廓、大小和屏幕位置等属性。因为每个对象都是一个自成一体的实体,就可以在维持它原有清晰度和弯曲度的同时,多次移动和改变它的属性,而不影响图例中其他对象。矢量图的优点主要表现在以下3点(1)克服了位图所固有的缺陷,文件体积小,具有无级缩放、不失真的特点,并可以方便的进行修改、编辑。

(2)基于矢量图的绘图同分辨率无关,这意味着它们可以按照最高分辨率显示到输出设备上,并且现场操作站显示器的升级等不影响矢量图画面。

(3)可以和位图图形集成在一起,也可以把它们和矢量信息结合在一起以产生更加完美的图形。

正因为如此,在组态软件中大量使用矢量图。


2.实时数据库系统

实时数据库是组态软件的数据处理中心,特别是对于大型分布式系统,实时数据库的性能在某种方面就决定了监控软件的性能。它负责实时数据运算与处理、历史数据存储、统计数据处理、报警处理、数据服务请求处理等。实时数据库实质上是一个可统一管理的、支持变结构的、支持实时计算的数据结构模型。在系统运行过程中,各个部件独立地向实时数据库输入和输出数据,并完成自己的差错控制以减少通信信道的传输错误,通过实时数据库交换数据,形成互相关联的整体。因此,实时数据库是系统各个部件及其各种功能性构件的公用数据区。

组态软件实时数据库系统的含义已远远超过了一个简单的数据库或一个简单的数据处理软件,它是一个实际可运行的,按照数据存储方式存储、维护和向应用程序提供数据或信息支持的复杂系统。因此,实时数据库系统的开发设计应该视为一个融入了实时数据库的计算机应用系统的开发设计。

数据库是组态软件的核心,数据来源途径的多少将直接决定开发设计出来的组态软件的应用领域与范围。组态软件基本都有与广泛的数据源进行数据交换的能力,如提供更多厂家的硬件设备的I/O驱动程序;能与Microsoft Access、SQL Sever、Oracle等众多的ODBC数据库连接;全面支持OPC标准,从OPC服务器直接获取动态数据;全面支持动态数据交换(DDE)标准和其他支持DDE标准的应用程序,如与EXCEL进行数据交换;全面支持Windows可视控件及用户自己用VB或VC++开发的ActiveX控件。

组态软件实时数据库的主要特征是实时、层次化、对象化和事件驱动。层次化是指不仅记录一级是层次化的,在属性一级也是层次化的。属性的值不仅可以是整数、浮点数、布尔量和定长字符串等简单的标量数据类型,还可以是矢量和表。采取层次化结构便于操作员在一个熟悉的环境中对受控系统进行监视和浏览。对象是数据库中一个特定的结构,表示监控对象实体的内容,由项和方法组成。项是实体的一些特征值和组件。方法表示实体的功能和动作。事件驱动是Windows编程中最重要的概念,在组态软件中,一个状态变化事件引起系统产生所有报警、时间、数据库更新,以及任何关联到这一变化所要求的特殊处理。如数据库刷新事件通过集成到数据库中的计算引擎执行用户定制的应用功能。

此外,组态软件实时数据库还支持处理优先级、访问控制和冗余数据库的数据一致性等功能。

相关文章
|
1月前
|
运维 负载均衡 Shell
控制员工上网软件:高可用架构的构建方法
本文介绍了构建控制员工上网软件的高可用架构的方法,包括负载均衡、数据备份与恢复、故障检测与自动切换等关键机制,以确保企业网络管理系统的稳定运行。通过具体代码示例,展示了如何实现这些机制。
122 63
|
27天前
|
监控 前端开发 数据可视化
3D架构图软件 iCraft Editor 正式发布 @icraft/player-react 前端组件, 轻松嵌入3D架构图到您的项目,实现数字孪生
@icraft/player-react 是 iCraft Editor 推出的 React 组件库,旨在简化3D数字孪生场景的前端集成。它支持零配置快速接入、自定义插件、丰富的事件和方法、动画控制及实时数据接入,帮助开发者轻松实现3D场景与React项目的无缝融合。
101 8
3D架构图软件 iCraft Editor 正式发布 @icraft/player-react 前端组件, 轻松嵌入3D架构图到您的项目,实现数字孪生
|
4月前
|
人工智能 运维 虚拟化
完善多云平台软件体系,VMware再探索下一代企业IT架构
完善多云平台软件体系,VMware再探索下一代企业IT架构
|
1月前
|
Kubernetes 前端开发 分布式数据库
工作中常见的软件系统部署架构
在实际应用中,会根据项目的具体需求、规模、性能要求等因素选择合适的部署架构,或者综合使用多种架构模式来构建稳定、高效、可扩展的系统。
185 2
|
4月前
|
边缘计算 物联网 5G
软件定义网络(SDN)的未来趋势:重塑网络架构,引领技术创新
【8月更文挑战第20天】软件定义网络(SDN)作为新兴的网络技术,正在逐步重塑网络架构,引领技术创新。随着5G、人工智能、边缘计算等技术的不断发展,SDN将展现出更加广阔的应用前景和市场潜力。未来,SDN有望成为主流网络技术,并在各行各业推动数字化转型。让我们共同期待SDN技术带来的更加智能、安全和高效的网络体验。
|
4月前
|
消息中间件 Kafka Java
Spring 框架与 Kafka 联姻,竟引发软件世界的革命风暴!事件驱动架构震撼登场!
【8月更文挑战第31天】《Spring 框架与 Kafka 集成:实现事件驱动架构》介绍如何利用 Spring 框架的强大功能与 Kafka 分布式流平台结合,构建灵活且可扩展的事件驱动系统。通过添加 Spring Kafka 依赖并配置 Kafka 连接信息,可以轻松实现消息的生产和消费。文中详细展示了如何设置 `KafkaTemplate`、`ProducerFactory` 和 `ConsumerFactory`,并通过示例代码说明了生产者发送消息及消费者接收消息的具体实现。这一组合为构建高效可靠的分布式应用程序提供了有力支持。
118 0
|
4月前
|
监控 持续交付 数据库
持续交付的软件系统架构
持续交付的软件系统架构
41 1
|
5月前
|
供应链 监控
软件架构一致性问题之软件供应链管理中降低维护成本如何解决
软件架构一致性问题之软件供应链管理中降低维护成本如何解决
55 4
|
4月前
|
测试技术
软件设计与架构复杂度问题之区分软件维护、演进和保护(苟且)如何解决
软件设计与架构复杂度问题之区分软件维护、演进和保护(苟且)如何解决
|
4月前
|
微服务
软件设计与架构复杂度问题之理解软件复杂性的递增性如何解决
软件设计与架构复杂度问题之理解软件复杂性的递增性如何解决
下一篇
DataWorks