对基于云的应用的数据闭环控制的系统、控制器及方法与流程

文档序号:13094190阅读:164来源:国知局
对基于云的应用的数据闭环控制的系统、控制器及方法与流程

本发明涉及一种在运行期间更新用户定义的控制程序的可配置参数的方法。



背景技术:

工业自动化用于控制制造中的机器和过程。工业自动化装置包括多个计算机化设备,其控制工业过程和设备。工业设备生成大量由工业自动化监控的变量。工业自动化装置的设备必须以协调的方式一起工作并执行操作。本地控制算法还可以执行本地数据分析(机载分析)。

工业控制器及其相关设备是现代自动化系统操作的核心。这些控制器与现场楼层上的现场设备交互,以控制与诸如产品制造等目标相关的自动化过程。工业自动化装置可以包括监视并控制其过程的一个或多个工业控制器。控制器使用本地电路的i/o或经由诸如以太网/ip、controlnet等的工厂网络与现场设备交换数据。工业控制器通常接收来自现场设备的表明了设备当前状态及其相关过程的数字信号或模拟信号的任何组合。工业控制器例如是可编程逻辑控制器(在下文中称为plc)或可编程控制器。

工业控制器存储并执行用户定义的控制程序,以基于通过改变用户定义的控制程序的原始参数而接收到的信号,来影响与受控过程有关的决策。plc程序通常写在个人计算机上的特殊应用中,然后通过直接连接电缆或通过网络下载到plc。根据iec61131-3(iec61131是可编程控制器的iec标准),此类用户定义的控制程序可以是但不限于梯形图(ld)、顺序功能图(sfc)、功能块编程代码(fbd)、结构化文本(st)或其它此类编程结构。

图1示出在工业自动化装置4中工业控制器及其相关设备与用户定义的控制程序之间的关系。这里,工业控制器是工程站1,其用于将功能块编程为plc程序2(现有技术),其被进一步部署用于控制例如泵过程3的操作。这里,功能块的本地控制算法执行例如本地数据分析。

现在来自现场设备和自动化系统的变量被收集并带到(箭头5)具有云计算基础设施(在下文中称为云6,图2)的网络设备。云计算基础设施可以是任何基础设施,其允许共享的计算服务由具有云功能的设备访问和使用。云包括一个或多个通信网络。在一些情况下,云可以由云提供商作为平台即服务(paas)提供,并且服务可以作为基于云的服务在云中驻留和执行。云服务通常可以包括但不限于数据存储、数据分析、控制应用(例如,可以基于近实时系统数据或其他因素的分析生成并递送控制指令到工业设备的应用)、可视化应用(诸如基于云的hmi)、报告应用或其他此类基于云的应用。

在图2的云6中,借助(大)数据分析应用7(基于云的)分析数据,以识别过程改进潜力并且提供例如优化参数的见解。分析可以是自动的(例如,借助人工智能和机器学习方法)或半自动/手动(其中数据科学家或领域专家分析数据)。从数据分析获得的优化参数必须通过改变现场设备或自动化系统的本地控制算法来实施(箭头8)。

控制参数主要是过程参数(例如,某些过程设定点、阈值、pid控制器的参数等)。

通常,自动化专家采用基于云的分析的结果,访问plc的编程系统(例如step7或tia门户),修改fb,构建项目并在plc上再次部署。由于该过程本质上是手动的,因此其限制了更新本地控制参数或控制逻辑的频率。基于云的分析可以每天多次提供新的控制参数。由于手动的性质,其成本高并且易出错。



技术实现要素:

因此,本发明的第一个目的是明确一种用于基于云中的数据分析来更新自动化系统中的运行期间控制参数的系统。本发明的另一目的因此是明确一种方法并且因此是明确一种工业控制器。

系统特定的目的借助于配置用于对基于云的应用的数据执行闭环控制的系统来实现,该系统包括:

·工业自动化设备,其经配置生成云变量;

·基于云的应用,其由具有云计算基础设施的网络设备托管;

·工业控制器,其经配置通过用户定义的程序控制所述工业自动化设备,该用户定义的程序由工业控制器托管;

·用户定义的程序,其经配置接收云变量;

·云代理,其经配置与用户定义的控制程序通信,并且用于与基于云的应用通信,还配置用于:

收集云变量并将云变量发送到基于云的应用;

·基于云的应用经配置确定更新优化的云变量并且向工业控制器中的云代理通知更新优化的云变量;

·云代理(21)经配置重新加载更新优化的云变量并且向用户定义的控制程序通知更新优化的云变量;

·用户定义的控制程序还配置为包括云构造,云构造在运行时请求更新优化的云变量,并且在用户定义的控制程序中重新加载更新优化的云变量。

方法特定的目的借助于经配置对基于云的应用的数据执行闭环控制的方法来实现,该方法包括:

·由工业自动化设备生成云变量;

·基于云的应用由具有云计算基础设施的网络设备托管;

·通过由工业控制器托管的用户定义的程序,来控制工业自动化设备;

·通过用户定义的程序接收云变量;

·云代理经配置与用户定义的控制程序通信,并且用于与基于云的应用通信,还经配置用于:

收集云变量并将云变量发送到基于云的应用;

·而基于云的应用经配置确定更新优化的云变量并且向工业控制器中的云代理通知更新优化的云变量;

·由云代理重新加载更新的云变量;

·通过云代理向用户定义的控制程序通知更新优化的云变量;

·通过用户定义的控制程序提供云构造,云构造在运行时请求更新优化的云变量,并且在用户定义的控制程序中重新加载更新优化的云变量。

控制器特定的目的通过经配置执行数据传输的工业控制器来实现,该工业控制器包括:

·用户定义的程序,其由工业控制器托管,经配置控制工业自动化设备;

·该用户定义的程序经配置接收由工业自动化设备生成的云变量;

·云代理,其经配置与用户定义的控制程序通信,并且用于与基于云的应用通信,还配置用于收集云变量并将云变量发送到基于云的应用,并且基于所接收的云变量,向用户定义的控制程序通知由基于云的应用生成的更新优化的云变量,并且由云代理重新加载更新的云变量,

·基于云的应用经配置确定更新优化的云变量并且向工业控制器中的云代理通知更新优化的云变量;以及

·用户定义的控制程序还经配置为包括云构造,云构造在运行时请求更新优化的云变量,并且在用户定义的控制程序中重新加载更新优化的云变量。

云变量是为在云中更新而提供的变量。

因此,本发明是在基于云的分析的结果基础上来改变工业自动化系统中的变量的自动化方法和系统。在手动更新的情况下,在现有技术中,总是存在从基于云的分析应用识别优化到更新控制器的延迟。这里描述的方法消除了该时间延迟,获得更好的过程优化。该方法还消除了用于更新用户定义的控制程序(例如,过程的控制逻辑)的人工干预(进而消除成本、错误)的需要。

本发明通过用户定义的控制程序内的云构造和云变量的定义来实现,云变量可以在运行时(例如在扫描周期开始时)基于具有云计算基础设施的网络设备中的基于云的应用在工业控制器上动态地更新。具有云计算基础设施的网络设备以后被称为云。在图2的描述中给出云定义。

将云变量直接定义到控制器的编程语言中的方法使得能够以简单的方式写入与云交互的用户定义的控制程序。

基于云的数据分析技术已经获得更好的过程控制和优化,例如更好的质量、能量减少等。仅在具有在基于云的分析结果的基础上改变现场系统中的过程控制逻辑的自动且高效的方式时,才有效地利用这些结果。这个问题现在由本发明解决。这有效地帮助企业为现场的自动化系统提供基于云的数据分析功能。

通过本发明,可以对云中的工业设备的云变量进行分析。优化的云变量可以动态地调整变量,例如通过修改控制循环的控制器上的云变量。

在优选实施例中,在工业控制器中托管云代理。在这种情况下的优点是,云代理是plc软件的一部分并紧挨着用户定义的控制程序执行。这因为避免了网络通信或进程间通信而获得了更好的性能。

从属权利要求列出了根据需要可以彼此组合的进一步有利的措施,以便实现进一步的优点。

在优选实施例中,工业控制器被配置为plc(可编程逻辑控制器)。用户定义的程序被配置为专用语言的plc程序。因此,iec61131处理编程语言并且定义两种图形和两种文本plc编程语言标准:梯形图(ld,图形)、功能块图(fbd,图形)、结构化文本(st,文本)、指令表(il,文本)、顺序功能图(sfc,具有对顺序和并行控制处理程序进行组织的元素)以及连续功能图(cfc)。iec61131-3是可编程逻辑控制器的开放国际标准iec61131的第三部分。

在另一优选实施例中,云代理包括用于识别用户定义的控制程序的唯一id(识别号码),为用户定义的控制程序收集云变量并且在其上更新云变量。

在另一优选实施例中,云代理经配置用于连续地聚集至少来自用户定义的控制程序的云变量,并且将它们发送到基于云的应用。此外,云代理经配置用于收集变量(如果有的话)。

附图说明

在下面关于附图的示例性实施例的描述中找到本发明的其它特征、属性和优点,其中:

图1示出根据现有技术的常见云数据模型;

图2示出根据现有技术的工业自动化的示意图;

图3示出根据本发明的工业自动化的示意图;

图4示出根据现有技术的示例性程序代码;以及

图5示出根据本发明的图4的示例性程序代码。

具体实施方式

虽然已经参考优选示例性实施例详细地说明和描述了本发明,但是本发明不限于所公开的示例,并且本领域技术人员可以从中导出其他变化,而不脱离本发明的保护范围。

在图3中,示出根据本发明的工业自动化的示例。这里,工业控制器是plc20,其存储和执行用户定义的控制程序(这里是plc程序22)。因此plc20通常运行实时操作系统(未示出),实时操作系统托管plc程序22或任何其他应用(未示出)以及在plc20上运行的服务。用户定义的控制程序22是在设备上控制工业过程/活动30的程序。控制程序包括定义过程参数的多个控制变量,例如,温度设定点、流量等(变量)。用plc的编程语言将变量定义成特殊的(新创建的)云构造,该变量必须在控制程序中基于云(云变量)中的数据分析来更新。此类程序的编译器被设计为理解新的云构造。对于云构造,编译器将进行规定,以便在运行时动态地更新plc中的云变量。这可以例如在plc20的扫描周期的开始处定义。扫描周期由三个步骤组成:输入扫描、执行程序以及输出扫描。plc通过不断扫描程序来运行,并且每秒重复该过程多次。当plc20启动时,它运行对硬件和软件的故障检查,也称为自检。如果没有问题,则plc将开始扫描周期。

因此,使用理解云构造的特殊编译器来编译、链接和构建plc程序22。这意味着控制程序使用特殊的编译器和构建工具来构建,控制程序被设计为解释云构造;然后plc程序22被部署在plc20上并被执行。在执行时,plc程序22用它们的默认值初始化云变量。

plc程序22具有子部件,子部件例如从另一程序/进程连续地监听对云变量的任何更改。当云变量需要改变时,plc程序22接收新值,并且更新云变量以用于下一扫描周期。

因此,用户定义的控制程序通常是操作系统进程。控制工业过程的plc程序22由自动化专家使用工程工具以编程语言编写。

在操作模式中,变量和云变量由plc程序22接收/生成。与plc程序22通信的云代理21经配置收集云变量,并且将云变量发送到基于云的应用。这意味着,plc20上的云代理21至少收集云变量,并且将其发送到云60用于分析(箭头50)。云代理21例如是在plc20上运行的另一程序/进程。其连续地聚集来自plc20的云变量,并且将其发送到云60。云60中的分析基于云的应用70分析云变量,并且确定用于工业过程的云变量的最优值,这意味着生成更新优化的云变量。这意味着,云60中的基于云的应用70分析来自现场中的设备的数据。基于数据分析,分析基于云的应用70可以确定必须改变plc程序22中的工业过程的云变量。

分析基于云的应用70向plc20上的云代理21(箭头80)通知工业过程中的更新优化的云变量。

云代理21从云60中的分析应用70接收云变量的新值,并且相应地通知plc程序22。

云代理21具有用于识别plc/plc程序22的唯一id(识别号码),为该plc/plc程序收集云变量并且在其上更新云变量。

云代理21向plc程序22通知变量的更新优化配置,并且plc程序22的构造在运行时在例如新扫描周期的开始时请求更新优化的云变量,并且重新加载更新优化的云变量。

现在,使用从云60接收的更新优化的云变量来控制过程30。

图4示出根据现有技术并以结构化文本写出的示例性plc程序22。结构化文本是由iec61131-3标准支持的五种语言中的一种,设计用于可编程逻辑控制器(plc)。

该示例涉及functionblock(timedcounter),其通过定时间隔的增量计数来实施定时计数器的。变量“time_increment”具有默认值“1.25”。

图5示出根据本发明的图4的示例性plc程序22。在本示例中,云变量“time_increment”应该可以从云更新。为了实现这一点,云构造例如var_cloud“time_increment”,是用结构化文本写成,以声明此类云变量。在这种情况下,当代码被编译时,编译器知道云变量“time_increment”可以从云更新,并且其具有默认值“2.00”。用于此类程序的编译器被设计为理解新的云构造。对于云构造,编译器将做出规定,以便在运行时(例如在plc程序22的扫描周期的开始时)动态地更新云变量。

本发明描述了一种基于云70中的数据分析在运行时动态地更新控制程序的一组云变量的方法。该想法是在plc程序22中定义那些数据/参数,其在编程步骤期间将从云70动态地更新。进而它们就是更新优化的云变量。相应地开发用于plc程序22的编译器,以便理解云相关的编程构造。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1