技术领域
[0001] 本
发明涉及一种用于适配现场设备的功能的方法,其中该现场设备具有并执行基本程序,特别是
固件,以及可选地至少一个应用程序,其中基本程序包含现场设备的基本功能,并且其中应用程序包含现场设备的额外功能。
背景技术
[0002] 从
现有技术中已知用在工业设备中的现场设备。现场设备通常用在过程自动化以及制造自动化中。现场设备通常指代面向过程并且供应或处理过程相关信息的所有设备。因此,现场设备用于检测和/或影响过程变量。测量设备或
传感器用于检测过程变量。这些用于例如压
力和
温度测量、电导率测量、流量测量、pH测量、液位测量等,并检测对应的压力、温度、电导率、pH值、液位、流量等的过程变量。
致动器用于影响过程变量。例如,这些
泵或
阀能够影响管道中的
流体的流动或罐中的液位。除了上面提及的测量设备和致动器之外,现场设备还被理解为包括远程I/O、无线电适配器,或者通常包括布置在现场级的设备。
[0003] 多种这样的现场设备由恩德斯+豪斯(Endress+Hauser)集团生产和销售。
[0004] 如今的现场设备由永久安装的
软件功能组成,所述永久安装的软件功能只能通过制造商的更新进行扩展,并且需要现场设备的完整更新。结果证明这种结构越来越不灵活。例如,如果现场设备要支持新型传感器,则需要进行上面提及的完整更新。另外,现场设备的软件的操作被一般地构造,以便能够用一个软件
覆盖许多行业和应用。从制造商的
角度来看,这是有道理的,因为适用于所有行业的统一软件意味着开发工作少于针对每种情况专
门定制的软件。然而,从客户的角度来看,这种方法不太实用,因为软件具有对许多客户而言不相关的控制。在这种情况下,仅包含与客户应用相关的那些元件的软件和
用户界面是合乎需要的。这提高了客户的生产率(例如,由于熟悉所需的工作量减少)并且降低了错误操作的
风险。
[0005] 安装在现代
计算机系统(例如,台式PC和笔记本PC、
服务器、蜂窝电话和平板PC)上的软件被划分成功能强大、复杂的通用
操作系统,该通用操作系统具有通用功能(例如网络连接、文件
访问)和应用(可随时安装)。这种划分使得以简单的方式添加新功能成为可能。在小型
嵌入式系统上,具有单独应用的通用操作系统使用了过多资源。在这种小型嵌入式系统上,操作系统和应用实际上形成不可更改的永久连接单元。
[0006]
虚拟机是操作系统和应用这一划分的替代方案。所述机器执行呈独立于
硬件的字节代码格式的程序。但是,与应用的本机执行相比,虚拟机的实施方式会导致效率损失。因此,这个概念也不是非常适合于小型嵌入式系统,或者只有付出相当大的努力才能实现。然而,现场设备应用迫切需要这种硬件独立性。现场设备是耐用的产品,并且将假设软件扩展将经历类似的长寿命周期。然而,现在已经变得能够在新的硬件平台的
基础上开发现场设备。现有的软件扩展也应该能够在这些新平台上使用。
发明内容
[0007] 从这个问题出发,本发明基于如下目的:提供一种允许现场设备由一个或多个功能扩展而不必使用虚拟机或使用复杂的操作系统的方法。
[0008] 所述目的通过一种用于适配现场设备的功能的方法来实现,其中所述现场设备具有并执行基本程序,特别是固件以及可选地至少一个应用程序,所述基本程序包括现场设备的基本功能,并且所述应用程序包括现场设备的额外功能,所述方法包括:
[0009] -将现场设备的配置传输到
数据库,特别是集成在支持
云的系统中,其中多个其它应用程序(所述应用程序中的每个应用程序都包含用于现场设备的至少一个额外功能)以及用于不同类型的现场设备的多个基本程序被存储在数据库中,其中现场设备的配置具有关于现场设备的基本程序、关于已经位于现场设备上的任何应用程序、关于现场设备的类型和/或关于现场设备的硬件的信息,并且其中其它应用程序以通用数据格式存在,特别是作为源代码或独立于平台的字节代码,其中基本程序是与应用程序呈相同的数据格式或是已经为现场设备定制的格式,特别是作为可浮动目标代码;
[0010] -选择至少一个其它应用程序;
[0011] -通过基于现场设备的传输配置选择的,特别是包括编译器和/或链接器的,工具链创建包含
选定的其它应用程序的安装包,其中所述工具链以在现场设备上可执行的格式创建安装包;并且
[0012] -将所述安装包传输到现场设备并执行所述安装包,由此将其它应用程序传递到现场设备。
[0013] 根据本发明的方法的优点在于,现场设备能够通过额外功能以简单的方式扩展。用于现场设备的多个额外应用程序被存储在支持云的数据库上,所述支持云的数据库与应用(例如,应用商店)交互。旨在扩展现场设备的功能的这种应用程序被编码到能够在现场设备上执行的安装包中。为了进行编码,使用了工具链,特别是编译器,所述工具链由支持云的数据库基于由现场设备传输的配置来选择。通过在现场设备上执行安装包,将其它应用程序安装在现场设备上,于是在所述现场设备上可获得额外功能。
[0014] 支持云的系统是与云计算技术兼容、集中或分布到云计算技术的集成系统,所述系统至少包含在现场设备外实施根据本发明的方法所必需的数据库和程序逻辑。在这种情况下,云计算被理解为意味着存储信息并经由互联网访问存储的信息。
[0015] 结合根据本发明的方法描述的现场设备的示例已经在
说明书的介绍部分中描述。
[0016] 在根据本发明的方法的有利的另一改进方案中,提出除了应用程序以外,与现场设备的类型匹配的基本程序包含在安装包中,并且其中通过在现场设备上执行安装包,使已经存在于现场设备上的基本程序和已经安装在现场设备上的任何应用程序利用包括在安装包中的基本程序和应用程序被重写。组装安装包的这种特定方法变型被称为“静态联编”。
[0017] 根据本发明的方法的优选
实施例提出已经位于现场设备上的应用程序被另外包含在安装包中。因为通常通过执行由静态联编创建的安装包来重写现场设备的完整软件,所以所述方法的该实施例确保在执行该方法之前在现场设备上可用的完整软件在执行安装包之后也是可用的,所述安装包包括选定的附加应用程序。
[0018] 根据本发明的方法的有利实施例提出,为了卸载应用程序,创建了安装包,除了待被安装的应用程序之外,所述安装包还包含现场设备的基本程序和包含在现场设备上的所有应用程序,其中通过在现场设备上执行该安装包,使已经存在于现场设备上的基本程序和已经存在于现场设备上的应用程序利用包含在安装包中的基本程序和应用程序被重写。
[0019] 在根据本发明的方法的有利实施例中,提出所创建的安装包或所创建的安装包的各部分被存储在数据库上。通过这种所谓的“高速缓存”,安装包一旦被创建就能够被重复使用,例如用于为其创建的现场设备(例如出于重新安装软件的目的)或用于具有相同配置的另一现场设备。存储特别会发生在数据库的缓存中。
[0020] 在根据本发明的方法的第一变型中,提出现场设备经由通信网络(例如,互联网)与数据库通信,并且其中现场设备经由通信网络将配置传输到数据库,和/或其中数据库经由通信网络将安装包传输到现场设备。
[0021] 在根据本发明的方法的第二变型中,提出现场设备的配置被传输到存储介质或操作设备,并且其中存储介质或操作设备将配置传输到数据库。这种存储介质例如是存储卡或USB棒。操作设备例如是“FieldXpert”意义上的操作单元(所述操作单元由
申请人生产和销售)、膝上型计算机或移动终端(特别是智能手机或平板PC)。
[0022] 根据本发明的方法的第二变型的有利实施例提出:安装包被传输到存储介质或操作单元,并且其中安装包从存储介质或从操作单元传输到现场设备。
[0023] 在根据本发明的方法的有利实施例中,提出测量变换器被用作现场设备,至少一个传感器元件能够被连接到所述测量变换器。测量变换器也能够是现场设备的一部分或现场设备的部件。一般而言,测量变换器(也称为发送器)是根据固定关系将输入变量转换成输出变量的设备。在过程自动化技术中,传感器元件例如连接到测量变换器。在测量变换器中处理传感器元件的原始被测值,例如借助于校准模型平均或转换成另一个变量(例如待被确定的过程变量),并且可以传输到例如控制系统。
[0024] 通常而言,用于连接到传感器元件的
电缆连接到测量变换器。在这种情况下,测量变换器是具有单独的壳体和各种
接口的单独装置。替代地,测量变换器能够例如以
电路的形式(可能作为微
控制器或类似物)一体成型到电缆中或直接一体成型到插头连接中。
[0025] 电缆与传感器元件的连接通常经由插头连接实现,例如通过
电流去耦,尤其是电感接口。因此,电气
信号能够被无
接触地传输。通过这种电流隔离示出了关于
腐蚀保护、电气隔离、防止插头的机械磨损等的优点。申请人以“Memosens”的名称出售这种系统。
[0026] 最多样的传感器元件能够连接到测量变换器。在上面提及的名称“Memosens”下,申请人出售用于测量pH值、电导率、
氧气、
浊度等的传感器元件。
[0027] 在根据本发明的方法的有利实施例中,提出:测量变换器的以下额外功能中的至少一个额外功能被包含在其它应用程序中:
[0028] -用于待连接的传感器元件的驱动程序包,
[0029] -处理传感器的物理被测变量的被测值,
[0030] -菜单结构。
[0031] 这些传感器元件中的每个传感器都需要来自测量变换器的特定软件。对应的设备驱动程序(简而言之驱动程序)尤其必须在测量变换器中保持可用。这种设备驱动程序能够作为呈额外应用程序形式的驱动程序包的一部分加载到现场设备上。
[0032] 在根据本发明的方法的有利改进方案中,提出用户访问数据库的
网站并借助于网站执行至少一个其它应用程序的选择。
[0033] 在根据本发明的方法的替代有利实施例中,提出数据库具有接口,其中程序经由所述接口访问数据库并执行至少一个其它应用程序的选择。
[0034] 在根据本发明的方法的特别有利的实施例中,提出通过将传感器连接到现场设备来启动所述方法,其中传感器具有待选择的至少一个其它应用程序的标识符并将该标识符传输到现场设备,并且出于选择其它应用程序的目的,测量变换器将标识符传输到数据库。特别地,为此目的,现场设备有必要经由通信网络与数据库通信。
附图说明
[0035] 参考以下附图更详细地解释本发明。这些附图示出:
[0036] 图1是根据本发明的方法的示意图;
[0037] 图2是用于创建安装包的第一示例性实施例;并且
[0038] 图3是用于创建安装包的第二示例性实施例。
具体实施方式
[0039] 图1示出根据本发明的方法的完整概述。基本思想是应用程序AP1、...、Apn以可移植代码(例如,源代码或字节代码)的形式存在于与现场设备FG分开的数据库DB上,所述数据库DB独立于特定现场设备硬件。所有现场设备模型的基本程序BP1、...、BPn也存在于数据库DB上,例如作为源代码、独立于硬件的字节代码或者已经为现场设备FG定制的可浮动目标代码。如果用户BE或现场设备FG本身
请求安装新的应用程序AP、…、APn,则从对应的可移植代码生成能够在特定目地现场设备FG上运行的安装包IP。为此,安装包的创建要求目标测量变换器的特定配置KF是已知的。这不仅包括现场设备FG的类型和/或关于现场设备FG的硬件的信息,而且还包括例如现场设备的具体使用的基本程序和/或已经安装在现场设备FG上的应用程序AP1、...、APn。
[0040] 为此目的,现场设备FG将其配置传输到数据库DB。这能够例如通过经由数据库DB与现场设备FG之间的通信网络提供通信链路来完成。
[0041] 然而,现场设备FG与公司网络外部的系统之间的通信链路经常被抑制。替代地,存储介质SM或操作单元因此在根据本发明的方法中使用。用户BE指示现场设备FG将其配置KF存储在存储介质SM上或操作单元上,并从那里将配置KF传输到应用商店。
[0042] 安装包从数据库DB到现场设备FG的数据传输也是必要的。这里,数据库DB与现场设备FG之间可能缺失的直接连接必须由呈存储介质或操作单元形式的数据交换器桥接。
[0043] 在已经实施传输之后,将安装包安装在现场设备FG上,使得随后能够执行其它应用程序AP1、...、APn。
[0044] 在下文中,将解释安装包IP的创建和执行的细节。创建安装包IP的具体实施方式取决于其安装将如何发生。当执行安装包IP时,其它应用程序AP1、...、APn连接到现场设备的基本程序BP以及可能的另一已安装的应用程序AP。将两个根本不同的概念用于该目的:静态联编和动态联编。
[0045] 图2示出安装包的创建以及借助于静态联编安装其它应用程序AP1、...、APn。图2示意性地示出安装包的创建和传输。基本结构和传输与图1中的那些相对应,为了清楚起见,未示出图1中示出的各种元件(传感器元件SE、用户BE和存储介质SM)。然而,可以存在和提供这些元件。
[0046] 在静态联编中,应用程序AP、AP1、...、APn和现场设备的基本程序BP被牢固地互连以形成安装包。静态联编在数据库DB上发生。为此目的,重新编译选定的其它应用程序AP1、...、APn的代码、现场设备FG的基本程序以及已经预先安装在现场设备FG上的应用程序AP,以形成安装包IP并且然后传输到现场设备FG。
[0047] 可能的编译方法例如:
[0048] -基本程序BP和应用程序AP、AP1、...、APn都作为源代码存在并且被编译成程序;或者
[0049] -基本程序BP作为可再定址目标代码存在;应用程序AP1、...、APn作为源代码存在,其中应用程序AP1、...、APn由编译器编译,并且链接器组合所编译的应用程序AP1、...、APn和基本程序BP的可再定址目标代码,以形成一个程序。
[0050] 传输能够例如作为先前安装在现场设备FG上的软件AP、BP的增量发生。随后,现场设备执行完整更新并安装位于安装包IP中的应用程序AP、AP1、...、APn以及基本程序。
[0051] 同时,仍然能够通过在数据库DB的高速缓存中缓冲编译的中间结果来同时优化数据库上的编译过程。例如,如果具有相同配置的两个现场设备请求相同的其它应用程序AP1、...、APn,则在使用高速缓存时仅需要编译安装包IP,前提是作为第一次编译的结果安装包IP仍在高速缓存中。
[0052] 能够以类似的方式实现应用程序AP、AP1、...、APn的卸载。为了卸载应用程序AP、AP1、...、APn,仅基本程序BP以及先前安装的所有应用程序(不包括待被卸载的应用程序AP、AP1、...、Apn)被编译以形成安装包。该安装包被再次传输到特定现场设备FG。通过静态联编创建安装包IP具有以下优点:现场设备FG仅具有安装新图像的任务。然而,因为安装了全新的软件BP、AP1、...、APn,所以通常需要重新起动现场设备。这里的替代方案是借助于动态联编创建安装包IP。
[0053] 图3示出安装包IP的创建以及借助于动态联编安装其它应用程序AP1、...、APn。图2示意性地示出安装包的创建和传输。基本结构和传输与图1中的那些相对应,为了清楚起见,未示出图1中示出的各种元件(传感器元件SE、用户BE和存储介质SM)。然而,可以存在和提供这些元件。
[0054] 数据库不生成包含现场设备FG的基本程序BP的完整安装包IP,而是将选定的其它应用程序AP1、...、APn的代码编译成呈动态库形式的安装包IP。数据库现在仅传输生成的动态库。随后,现场设备上的动态链接器能够被动态加载或移除该信息。这不需要重新起动现场设备。然而,动态链接器要求基本程序和安装包二者都包含IP符号信息。这用于解析从动态库到基本程序BP的引用。然而,符号需要空间,所述空间在现场设备FG上存在的非常小的嵌入式系统上可能是不可用的。
[0055] 从BPn到WK的箭头在图3中是可选的,因为动态库能够仅从应用AP1、...、APn的源代码创建。然而,也向工具链WK提供基本程序BP可能会有所帮助。例如,工具链WK由此能够预先检查从应用程序AP生成的动态库仅引用基本程序BP中存在的符号。因此,能够预先识别现场设备FG上的动态链接器是否能够安装应用程序AP。
[0056] 在图2的上下文中处理的高速缓存也能够用在数据库上:如果具有相同配置的两个现场设备请求相同的其它应用程序AP1、...、APn,则如果安装包已经生成并且处于高速缓存中,则能够避免重新编译。
[0057] 动态库的另一个优点是数据库不需要关于哪些应用程序AP已经被安装在现场设备FG上的任何信息,这是因为动态库能够独立于已安装的应用程序而被
定位。
[0058] 能够提出,将测量变换器用作现场设备FG或测量变换器是现场设备FG的一部分。一般而言,测量变换器(也称为发送器)是根据固定关系将输入变量转换成输出变量的设备。在过程自动化技术中,传感器元件SE连接到测量变换器。这种传感器元件SE需要来自测量变换器的特定应用程序。对应的设备驱动程序(简而言之驱动程序)尤其必须在测量变换器中保持可用。这种设备驱动程序能够作为呈额外应用程序AP1、…、APn形式的驱动程序包的一部分加载到测量变换器上。
[0059] 附图标记列表
[0060] AP 应用程序
[0061] AP1、…、APn 其它应用程序
[0062] API 至数据库的用于由程序选择应用程序的接口
[0063] BE 用户
[0064] BP 基本程序
[0065] BP1、…、BPn 数据库上的基本程序
[0066] DB 数据库
[0067] FG 现场设备
[0068] IP 安装包
[0069] KF 现场设备的配置
[0070] KF1、…、KFn 现场设备的另一配置
[0071] SE 传感器元件
[0072] SM 存储介质
[0073] WK 工具链