用于改善工业控制系统的工业控制器技术方案

技术编号:13634609 阅读:50 留言:0更新日期:2016-09-02 19:45
本公开内容涉及一种工业控制器。提供了针对用于工业控制器的“可加载模块”架构的系统,其中,可以在不更新固件以及不中断或以其他方式损害工业控制器保持对受控过程的连续控制的能力的情况下,加载提供已更新功能或组件的新控制程序模块以扩展或修改底层操作系统和/或其他服务。可以以对象代码格式将控制程序模块和库递送至工业控制器,且工业控制器中的嵌入式链接器可以用于有效地本地创建完全链接的可执行文件。可以在运行时间期间将可加载库提供给工业控制器以扩展功能和/或提供期望的安装。结果,提供了一种在添加新能力方面更加有效且具有显著灵活性的系统。

【技术实现步骤摘要】

本专利技术涉及工业控制系统,并且更特别地涉及用于改善工业控制系统的技术。
技术介绍
工业控制器是用于控制工厂自动化等的专用计算机。在存储的程序的指导下,工业控制器的处理器检查反映受控过程的状态的一系列输入以及改变影响对受控过程的控制的输出。可以以一系列执行循环连续地执行、周期性地执行或者基于事件而执行所存储的控制程序。由工业控制器从受控过程接收的输入以及由工业控制器传输至受控过程的输出,通常通过用作控制器与控制过程之间的电气接口的一个或更多个输入/输出(I/O)模块。输入和输出被记录在处理器存储器中的I/O数据表中作为控制层数据。输入值可以由专用电路系统从受控过程异步地读取。输出值由处理器直接写入I/O数据表,并且然后由专用通信电路系统传送至受控过程。工业控制器可以相应地经由在受控过程环境中的传感器和致动器与受控过程交互。相比更传统的计算机系统而言,工业控制系统通常规定了抵抗环境污染的更坚固的结构。此外,工业控制系统通常提供有提供了更大灵活性的模块化架构以及硬件配置(以与各种不同的控制应用匹配),这通常包括对多个程序的分布式处理。对此,可以将工业控制系统装配在连接至任意数量的I/O模块的多个可编程控制器(通常是加强的且容错的硬件)之中。可以借助于高速“控制网络”、利用确保控制数据的可预测的、及时且可靠的传送的各种专用协议来将工业控制系统的各种部件连接在一起。通常在工业控制器领域使用的许多不同的控制网络包括例如ControlNet(控制网)、DeviceNet(设备网)和EtherNet/IP,其规范已被公布并且其协议被许多制造商和供应商广泛地使用。控制网络通常还采用用于“连接的消息传送(connected messaging)”
的协议,在该协议中,网络的带宽和缓冲空间被预分配给至特定硬件单元的专用“连接”以防止会单独在诸如以太网这样的标准网络协议中发生的丢失、不可预测地延迟数据传送或方向错误的数据传送。连接的消息传送的示例包括通用工业协议(“CIP”)连接的消息传送,包括如在公开号为PUB00123R0,版权为2006的“The Common Industrial Protocol(CIPTM)and the Family of CIP Networks”中所描述的,其全部内容通过引用合并至本文。在典型的实现流中,使用独立计算设备的设计环境被用于创建用于实现受控过程的“项目”。设计环境包括关于要使用的特定工业控制器及其特定配置的知识,该特定配置例如是其物理I/O地址。然后,控制程序在设计环境中被准备、在传送至工业控制器之前作为在模块中被传递的完整可执行文件而被编译且被链接。随后,改变控制程序通常需要在设计环境中重建控制程序和固件且在工业控制器中进行更新。因此,在传递已更新的控制程序和固件时,工业控制器通常被离线,这导致昂贵的停机时间。然而,这导致一定的不灵活,其中,控制程序不能容易地被改变以适应工业控制器或控制过程的变化。例如,在不打断预先建立的资源连接的情况下,不能够将控制程序的模块容易地从一个工业控制器移至另一工业控制器。此外,将控制程序传送至工业控制器通常需要中断或以别的方式损害控制系统保持连续工作的能力。一些控制系统允许在线修改和添加控制程序模块。然而,这些在线修改和添加通常受限于其仅可以使用由操作系统提供的暴露的接口和指令。这通常是期望在用户应用与操作系统之间提供分隔以提高操作可靠性的后果。一些控制系统还使用户能够构建其自己的“指令”。然而,这些指令通常也受限于其仅可以使用由操作系统提供的暴露的接口和指令。还已知在其他系统中使用“虚拟化”以提供附加能力。虚拟化使操作系统或服务的多个实例能够独立于一个硬件平台而进行操作。然而,由于每个虚拟环境具有其自己的操作系统服务的副本,因此虚拟化通常需要显著更大的存储器和处理能力以有效地运行。此外,在虚拟化中,在不同的虚拟环境中的服务通常不能够直接交互。所需要的是提供增强的效率和灵活性而没有现有技术缺点的工业控制系统。
技术实现思路
本专利技术提供了用于工业控制器的“可加载模块”架构,在该工业控制器中,可以在不更新固件以及不中断或以其他方式损害工业控制器保持对受控过程的连续控制的能力的情况下,加载提供已更新功能或组件的新控制程序模块以扩展或修改底层操作系统和/或添加或修改作为工业控制器的一部分的其他服务。可以以对象代码格式将控制程序模块和库递送至工业控制器,以及工业控制器中的嵌入式链接器可以被用于有效地本地创建完全链接的可执行文件。可加载控制模块、服务模块以及库可以绑定至工业控制器的硬件、固件和/或操作系统资源并且使用它们。可以在运行时间期间将可加载库提供给工业控制器以扩展功能和/或提供期望的安装。结果,提供了在添加新能力方面更加有效且具有显著灵活性的系统。可加载模块管理器部件可以被用于确定是否可以在不影响控制系统的工作以及不影响受控制的设备的情况下,安全地加载、移除和/或替换模块。管理器部件可以识别且管理对其他模块的依赖关系,包括便利新加载的模块定位且绑定至其所依赖的其他模块以及当模块被替代或移除时进行重新绑定。相应地,还可以提供可加载模块的多个版本以通过重新绑定至更新的版本来实现对控制或服务模块的更新版本的渐进式改变或其他移植。管理器部件还可以与其他模块无关地从服务中取出模块或者将模块放置到服务中、执行可加载模块的有序地启动和关闭以及重新启动出故障的模块。管理器部件还可以确保加载的模块所依赖的其他模块存在且可操作,以及确保加载的模块满足可容许性标准。可容许性标准可以包括CPU利用率、存储器利用率及诸如所需响应和/或执行次数这样的调度标准、资源锁定和共享信息、以及其他硬件和软件资源的利用率。可容许性标准还可以包括对加载模块的管理许可权,以及确保兼容软件版本就位。因此,可容许性标准可以确保新加载的模块不损害控制系统的实时控制能力。工业控制器中的嵌入式链接器可以执行将应用代码绑定至工业控制器中的现有应用资源。相应地,嵌入式链接器从设计环境中移除关于硬件部件被放置在哪里及硬件部件配置的知识需求,从而简化了设计过程且增加了灵活性。该方法还利用开放格式,例如可执行链接格式(ELF)文件,C/C++库等,以与工业控制器领域中通常不使用的其他工具和环境兼容。此外,可以在不需要附加软件工具的情况下从闪卡、USB或其他便携式
介质加载、链接以及开始应用的执行。可加载库还实现了对工业控制器的新函数、指令等的渐进式添加;甚至在运行时间处也如此,而无需固件更新。包含函数的库可以由其他库使用,以及由应用代码使用并且在不同的层处使用,例如运行时间库;操作系统的扩展;实用工具库,例如包含用于调试的函数的库;用于共享的函数和接口的供应商库;供应商基本指令库和扩展库;第三方库;以及用户库。由于来自一个库的函数可以被构建在另一库或多个库的顶部,因此可加载库还可以采用层级。作为加载库过程的一部分,库可以与其他库和工业控制器固件链接,并且可以进行静态绑定以优化性能。在不中断当前执行控制应用代码的情况下还可以用更新的版本替换库,同时添加新能力。库可以在不同的库和模块之中共享包含在库中的执行代码。可以对库进行唯一地识别、潜在地修订、描述等,以及其本文档来自技高网
...

【技术保护点】
一种包括处理器的工业控制器,所述处理器执行:存储在非暂态存储器中的操作系统,所述操作系统用于管理所述工业控制器的硬件部件;存储在非暂态存储器中的第一应用模块,所述第一应用模块用于经由所述操作系统来控制受控过程的至少一部分;以及存储在非暂态存储器中的可加载模块管理器,所述可加载模块管理器被配置成接收第二应用模块;其中,所述可加载模块管理器还被配置成识别所述第二应用模块的依赖关系以及将所述第二应用模块绑定至所述工业控制器的资源以解析所述依赖关系;以及其中,所述第二应用模块被配置成在所述第一应用模块控制所述受控过程的至少一部分的同时,扩展或修改所述操作系统的至少一部分。

【技术特征摘要】
2015.02.19 US 14/626,0581.一种包括处理器的工业控制器,所述处理器执行:存储在非暂态存储器中的操作系统,所述操作系统用于管理所述工业控制器的硬件部件;存储在非暂态存储器中的第一应用模块,所述第一应用模块用于经由所述操作系统来控制受控过程的至少一部分;以及存储在非暂态存储器中的可加载模块管理器,所述可加载模块管理器被配置成接收第二应用模块;其中,所述可加载模块管理器还被配置成识别所述第二应用模块的依赖关系以及将所述第二应用模块绑定至所述工业控制器的资源以解析所述依赖关系;以及其中,所述第二应用模块被配置成在所述第一应用模块控制所述受控过程的至少一部分的同时,扩展或修改所述操作系统的至少一部分。2.根据权利要求1所述的工业控制器,其中,所述工业控制器在所述可加载模块管理器将所述第二应用模块绑定至所述资源的同时,连续地控制工业过程。3.根据权利要求1所述的工业控制器,其中,所述可加载模块管理器还被配置成在尝试绑定应用模块不成功之后,尝试将所述应用模块绑定至资源。4.根据权利要求1所述的工业控制器,其中,所述操作系统被配置成在管理所述硬件部件之前与固件进行通信,其中,所述第二应用模块被配置成在不修改所述固件的情况下扩展或修改所述操作系统的至少一部分。5.根据权利要求1所述的工业控制器,其中,所述可加载模块管理器还被配置成在所述第二应用模块被准许扩展或修改所述操作系统的所述至少一部分之前确定是否满足安装要求。6.根据权利要求5所述的工业控制器,其中,所述安装要求是基于下述中至少之一的:所述工业控制器的处理器利用率、存储器利用率以及运行时间调度。7.根据权利要求5所述的工业控制器,其中,所述安装要求基于由
\t所述工业控制器接收的关于运行所述第二应用模块的授权。8.根据权利要求5所述的工业控制器,其中,所述安装要求基于所述操作系统和所述第一应用模块中至少一个的版本。9.根据权利要求8所述的工业控制器,其中,所述安装要求基于具有所述操作系统和所述第一应用模块中至少一个的多个版本。10.根据权利要求1所述的工业控制器,其中,所述可加载模块管理器将所述第二应用模块绑定至所述操作系统和所述第一应用模块中至少一个。11.根据权利要求10所述的工业控制器,其中,所述资源是虚拟存储器地址。12.根据权利要求10所述的工业控制器,其中,所述资源是通用工业协议CIP连接。13.根据权利要求10所述的工业控制器,其中,所述依赖关系是标签名称。14.根据权利要求1所述的工业控制器,还包括存储在非暂态存储器中的嵌入式链接器,所述嵌入式链接器被配置成接收包含符号引用的对象文件,其中,所述嵌入式链接器还被配置成将所述符号引用绑定至所述工业控制器的资源以产生用于控制受控过程的至少一部分的第三应用模块。15.根据权利要求1所述的工业控制器,还包括存储在非暂态存储器中的嵌入式编译器,所述嵌入式编译器被配置成对源文件进行编译。16.根据权利要求1所述的工业控制器,还包括存储在非暂态存储器中的库管理器,所述库管理器被配置成接收库模块,其中,所述库管理器被配置成识别所述库模块的依赖关系,以及将所述库模块绑定至所述工业控制器的资源以解析所述依赖关系。17.一种包括处理器的工业控制器,所述处理器执行:存储在非暂态存储器中的操作系统,所述操作系统用于管理所述工业控制器的硬件部件;以及存储在非暂态存储器中的...

【专利技术属性】
技术研发人员:查尔斯·M·里斯查尔拉迪斯拉夫·本巴莱克菲利普·马库瑞克迈克尔·维斯特彼得·皮特日内茨
申请(专利权)人:洛克威尔自动控制技术股份有限公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1