新的OPC-UA连接发布
总结
OPC统一架构(OPC-UA是一种非常流行的机器对机器通信协议。它将工业设备和物联网(IoT)设备与数据收集服务器连接起来,并可以深入了解车间级数据物联网设备可以连接到各种设备类型,例如化工厂油箱中的温度和压力传感器以及包装厂中的传送带速度传感器。新的RapidMinerOPC-UA连接器扩展与RapidMiner Studio 9.10版本同时发布,分析师和数据科学家可以利用这个庞大的工业工厂数据池。该扩展提供了创建和管理与OPC-UA服务器的连接的功能,以及帮助工程师发现和将有用的数据源集成到RapidMiner进程中的新操作符。技术概述
OPC-UA扩展使用Eclipse Foundation项目的开源堆栈米洛与OPC-UA服务器建立连接。服务器端点URL存储在一个新的连接对象中,可以对连接进行测试,以确保服务器能够与本地Studio客户机建立连接。
- 节点结构相当复杂;它具有对同一节点的多个引用的分层布局。这就是为什么在大型服务器上爬行可能需要很长时间并返回重复条目的原因。
- 并非所有节点都是人类可解释的,特别是在名称空间0中,并且仅用于诊断和内部设置。
的读OPC-UA操作员连接到一个特定的节点并收集新的传入数据。它将在指定的时间间隔和持续时间内请求值。注意:操作符将等待时间完成后才返回任何结果。因此,我们建议在短时间内频繁运行此操作符(例如使用AI集线器调度器),而不是长时间等待一个大结果。
R领导OPC-UA历史Y操作符允许用户从节点检索存储的历史事件。给定一个特定的时间窗口,操作员将收集指定数量的数据点。注意:OPC-UA以反向时间顺序读取数据,因此它从开始日期“向后”直到结束日期)。如果用户检索频率高或变化缓慢的数据,我们建议跳过一些值,例如每隔一个数据点读取一次。为了确保获得特定时间段内的所有值,只需提供足够多的数据点,因为当没有更多可用数据时,运算符将停止。
注意:并非所有节点都具有存储历史数据的功能,例如:HistoryRead”。如果您尝试从没有此属性的节点读取存储的数据,您将看到如下错误消息:
图1:尝试从不存储数据的节点读取历史数据时的错误消息。
实际演示
让我们看看如何使用OPC-UA连接器的实用方法。
首先,我们创建一个到公开可用的演示服务器的连接:
opc.tcp: / / opcuademo.sterfive.com: 26543
图2:到公共OPC-UA服务器的成功连接测试
从节点读取数据的Browse Nodes操作符(ns = 1,我= 1184)节点看起来像这样:
图3:浏览节点的结果,显示链接到该资产的所有子节点。
对我们来说,最有趣的属性是Pressure (ns=1;i=1185),它提供了储罐中当前压力的数值。
我们现在使用Read OPC-UA操作符开始收集新的传入传感器读数,并立即在RapidMiner中使用它们。我们配置操作员在10秒的时间内收集20个测量值:
图4:压力传感器的实时数据值。
现在,在对数据有了一些了解之后,我们决定分析更多的数据点,但不等待新的数据。使用Read OPC-UA历史操作符,我们可以从过去的事件中收集存储的数据。同样,并非所有服务器和节点都支持此功能,但在本例中,压力节点具有过去几分钟的历史数据(记住,这是一个公共服务器,仅存储短时间的事件;在实时系统中,数据可以追溯到几个月或几年前)。
我们选择当前时间(写文章的时候)作为开始时间,并在几个小时前选择结束时间。我们还选择每10次测量才检索一次,这样仍然可以获得2秒的时间分辨率:
图5:同一压力传感器较长时间内采集的历史数据。
例如,有了历史数据,我们现在可以建立一个异常检测模型,将新事件与过去的数据进行比较,看看它们是否在预期的分布范围内。我们训练了一个单变量异常检测模型(来自Operator Toolbox扩展[链接]),并将该模型存储在RapidMiner存储库中,用于下一步部署,以查看新的传感器值是否与先前观察到的值表现不同。
所以现在我们在很短的时间内收集新数据,比如10秒,并计算它们各自的异常值:
图6:基于建立在历史数据上的模型,新收集的实时数据,带有异常值评分。
我们看到这段时间的压力值被认为是正常的,但我们可以计算出一个最大的异常值,然后实时监控这些分数,如果分数超过这个阈值就发出警报。为了实现这一点,我们可以将操作人员置于循环中,并让流程在本地运行,或者使用AI Hub以获得更具可扩展性和可靠性的解决方案。我们可以将评分过程安排为定期运行,或者将其放置在实时评分代理(RTSA)中,以实现低延迟、按需部署。
术语
OPC-UA服务器管理OPC-UA基础设施的实例。它托管所有管理组件并存储相关资产收集的数据。确切的体系结构和可用的功能可能各不相同,特别是许多商业供应商销售他们自己的专有版本。
端点URL
指向特定OPC-UA服务器的URL。url通常以“opc”开头。tcp://"作为协议,后跟IP或别名,加上端口号和其他标识符。
例子:
•opc.tcp: / / localhost: 26543 / UA / MyLittleServer
•opc.tcp: / / opcuademo.sterfive.com: 26543
以整数形式表示的服务器的Top Level ID
名称空间0通常用于服务器的系统级别(状态级别、诊断级别、引用级别),而级别1、2、…是用户定义的用于注册资产(如机器)的名称空间。
节点ID是命名空间中资产的唯一标识符。
节点id有以下几种类型:
- 数字
- 字符串
- GUID
- 字节字符串
数字和字符串类型是最常用的。
常用的节点id命名模式如下:
ns = 0;我= 1158或ns = 1 = VesselPressure
第一部分是名称空间地址”ns =,后跟命名空间的整数值。第二部分是节点ID及其前缀类型:
- I =数字
- S =字符串
- g = GUID
- 字节串
在RapidMiner中,可以输入名称空间和节点id作为单独的整数值,也可以直接输入完整的id作为字符串。
3.
答案