jBEAM软件架构,最大限度提高输出和可用性。

jBEAM的软件架构可最大限度提高输出和可用性

奇石乐jBEAM软件采用面向对象的设计理念,支持数据生产者/数据消费者模式。该软件将用户信息存储在数据项中,如数据状态发生变化,将以事件形式通知消费者。此外,jBEAM还可以在多种操作系统上运行。

数据生产者/数据消费者模式

jBEAM可通过两种方式访问测量数据,一是导入包含测量数据的文件(即,请求ASAM ODS数据库),二是接收测量模块传递的传感器数据。下文,我们将通过描述DIAdem数据文件的导入,来对数据生产者/数据消费者模式进行说明。

首先,我们需要在jBEAM中创建一个新的DIAdem导入器实例。该导入器包含构建DIAdem文件以及在jBEAM中生产数据项的所有必要信息。在本例中,DIAdem导入器创建了两个浮点通道,命名为“数据项1”和“数据项2”。因此,该导入器即数据项的“生产者”。

我们创建一张“通用二维图”类型的图形对象,作为数据消费者示例。在该图中,我们绘制一张“XY图”,其当前输入值对应的是“数据项1”,随后,DIAdem文件中的测量值会自动以曲线形式显示在该图表中;第二个数据项(“数据项2”)可在同一张二维图中,以另一条“XY曲线”显示;或者,我们也可另行绘制一张二维图,通过另一条“XY曲线”单独显示数据项2。

在jBEAM软件架构中,生产者和消费者的实例均被称为“组件”。

自动更新

一旦数据生产者的配置发生更改,jBEAM将向所有数据消费者发出指示,要求数据消费者重新计算数据,并重新绘制数据显示图。jBEAM采用自动更新机制,因此,需要更新的仅限于实际使用了被修改数据项的数据消费者。

例如,DIAdem导入器可通过包含所有DIAdem导入参数的导入器对话进行修改。在该等导入参数中,有一个参数是文件本身。如果我们另行选择并确认了一份不同的DIAdem文件,则软件将执行以下流程:

  1. 加载新文件的内容,并将其存储在数据项中。若通道名称或类型匹配,则新数据将被填入现有项目。

  2. 对于每个事件,数据项均会通知所有数据消费者(在本例中指图形对象),说明内容已发生变化。

  3. 数据消费者对该信息做出反应。在本例中,将触发图形重绘。

优势:jBEAM软件架构确保了jBEAM当前显示的状态为最新状态,且无需读取自动序列。

分支和计算

除数据项的生产者和消费者外,jBEAM还包含许多消费并生产数据项的“计算”,如公式、FFT分析、碰撞评估、事件分析等。

在本例中,我们定义了一个公式组件,包含公式“1.2+3*A”和“数据项1”。我们将该公式应用于“数据项1”的每个值,并存储在生产出的“数据项3”通道中。在这种情况下,如果导入的文件发生变化,也会触发自动更新。

外部CEA组件

jBEAM采用 ASAM-CEA标准,可通过外部插入式组件进行扩展,但该等组件须符合ASAM-CEA标准。集成至jBEAM后,该等外部ASAM-CEA组件即可顺畅运作,与jBEAM内部组件没有差别。经过编译,该等组件的处理速度也得到了最大限度的提升。

优势:jBEAM的软件架构具备极高的灵活性,适用于任何应用,同时并未因此而牺牲可用性和处理速度。得益于这一开放框架,用户可针对自身特定需求,轻松开展数据处理。

对象架构:类 - 实例

jBEAM是一个面向对象的软件,能够进行直观操作。但是,用户如果不了解类和实例之间的关联,很可能会在操作过程中遇到一些问题。下文我们将对此进行具体说明。

使用IT术语来说,每个导入器、每项计算和每份图表均相当于一个“类”。每一个类均包含了相应组件的所有重要逻辑。例如,如果我们通过菜单创建一项新计算,那么就形成了该类的一个“实例”。此时,该实例包含若干参数,且每个实例的参数可能彼此各异。例如,我们可以创建五个公式编辑器,这五个编辑器将构成同一类下五个不同的实例。每一个公式编辑器都可能包含不同的公式和输入通道,而这些公式和输入通道存储在不同的实例(编辑器)之中。

我们现在可以打开菜单中的公式编辑器,创建一个新实例。 系统将自动打开一个对话框,我们可在此处对实例进行参数化设置。假设我们希望再次修改这个预定义的公式编辑器,我们可以点击“修改”,读取现有实例列表。但是,在这种情况下,我们返回“公式编辑器”菜单项时,会发现系统已经创建一个新的公式编辑器(新实例)。我们可能会惊讶地发现,由于参数化对话框位于初始设置中,我们原来设置的所有参数均已消失。

解决方案:如果仅仅希望修改某一现有组件,务必通过“修改”项下的现有实例列表进行操作。

联系方式
(max 25 Mb)