通过OPC UA协议连接IDS NXT工业相机

通过OPC UA协议将IDS NXT相机集成到工厂自动化流程中

软件更新为IDS NXT相机提供了另一个面向未来的组件,以便将IDS NXT相机无缝集成到工厂自动化流程中。OPC UA服务器通过一个插件集成到IDS工业相机中。IDS工业相机通过软件更新实现OPC UA,并通过网络中的“配方集”实现AI功能,并能够将结果直接从现场级发送至机器和控制级进行通信。因此,OPC UA协议是IDS NXT相机的理想补充,它使用户可以在工业环境中通过OPC UA终端实现相机配置和基于Vision App的推理任务。因此,OPC UA协议是IDS NXT相机的理想工业4.0组件。

本篇技术说明是“IDS NXT通信”的后续,主要对IDS NXT相机通过OPC UA服务器实现新的通信功能进行了描述。我们将展示如何使用已保存的相机设置,启动推理任务并通过OPC UA客户端查询结果。您可以完全按照示例工作流程进行操作,而无需做任何准备。您只需让IDS NXT相机和电脑在同一网络中工作。

OPC UA协议

OPC UA协议是一项关键技术标准。它统一了客户端与服务器之间的语言。此外,它定义了设备(服务器)如何向客户端描述自己,或者设备提供哪些信息以及哪些服务。如果不需要通过不同的协议读取、转换和同步数据,则从物理层和基于以太网的现场总线直至云采用统一的通信标准将极大地简化工程开发。这样可以节省自动化时间和成本,并确保快速集成到工厂中。借助OPC机器视觉配套规范,跨制造商和跨行业的通信技术为IDS NXT相机提供了理想的接口扩展,以便在工厂自动化流程中轻松地使用基于AI的“配方”。

IDS NXT OPC UA服务器插件

OPC UA服务器插件将IDS NXT相机转换为OPC UA服务器,因此可由任何OPC UA客户端寻址访问。图像处理任务由插件封装在被称为“配方”的功能模块中。同样,对特殊应用程序做出的必要和复杂设置会被汇总并保存在配置数据集中。插件通过REST接口提供相应的功能。您可以通过IDS NXT cockpit中的图形化用户界面(GUI)轻松地使用这些功能。图像处理结果可由OPC UA客户端通过结果管理进行查询,或者作为事件进行订阅。通用设备信息(例如:名称或序列号)通过设备信息模型提供。 OPC UA通信的工作原理类似于一个附加的相机接口,在启动OPC UA服务器后,该接口可运行于基于以太网的网络。

下载

IDS NXT OPC UA插件可以在IDS网站的下载区找到。为此,请选择您的相机型号并打开“Vision Apps”类别。该插件与其他视觉应用程序一样,通过IDS NXT cockpit进行安装。
要使用该插件,必须在相机上安装IDS NXT OS 1.1或更高版本。在接下来的技术说明中,我们将演示一个推理任务,为此,您需要“Classifier”视觉应用程序。

下载“IDS NXT OS

下载“OPC UA插件

下载“Classifier Vision App”

说明

要更新相机的操作系统,请阅读快速入门指南“setup-ids-nxt-rio.pdf”中“更新固件”一章。
该插件说明文档解释了插件的功能,如何通过IDS NXT cockpit使用它,并列出了完整的REST API。

 IDS NXT快速入门指南

OPC UA服务器插件文档

OPC UA服务器

IDS NXT相机可以通过OPC UA插件连接到任何OPC UA客户端。例如:这可以是机器控制或管理系统的专有软件。凭借不同编程语言如C++、C#或Python的OPC UA开发库,您也可以实现自己的OPC UA客户端。由于我们要在此演示如何将相机轻松、快速地集成到现有的OPC UA网络中,因此我们使用大家所熟知的OPC UA客户端“UaExpert®”来演示OPC UA插件。功能齐全的客户端提供了广泛的功能和可以轻松演示IDS NXT OPC UA服务器可能性的GUI。它支持OPC UA功能,例如:数据访问、事件和OPC UA方法的调用。

下载

OPC UA客户端“UaExpert®”在Unified Automation GmbH网站上一次性注册后即可免费使用。

下载“UaExpert®”

将IDS NXT用作OPC UA视觉系统

提示:IDS NXT OPC UA视频教程

我们的视频教程“IDS NXT - 设置OPC UA通信”以快进的方式演示了以下操作步骤,并让您对实现与OPC UA客户端通信的“UA Expert”插件有一个快速的了解。

为了演示通过OPC UA控制IDS NXT相机,此技术说明描述了一个AI图像处理工作流程示例,您可以使用IDS NXT相机和一些物体(圆珠笔、尺子、橡皮、钥匙等)轻松地掌握示例中的功能。为此,只需按照以下说明进行操作即可。

1)设置推理任务

  • 对于本示例,我们使用“Classifier”视觉应用程序和预装的神经网络(CNN)“ImageNet1000”。通过IDS NXT cockpit中的“Vapp Manager”安装并启动该应用程序。
  • 分类器通过预先训练好的ImageNet1000,可以识别很多物体,例如:圆珠笔、钥匙、名片等。将任何物体放置在IDS NXT相机下,并在自由运行模式下设置图像捕捉,使您的物体通过适当的设置(颜色、锐度、曝光等)完全成像。
  • 对您要识别的物体使用ROI。每个图像捕捉的分类推理结果以各自的概率显示在ROI和结果区域中。在我们的案例中,相机识别出了圆珠笔(68%)、削笔器(100%)和橡皮擦(98%)。

说明

OPC UA客户端“UaExpert®”在Unified Automation GmbH网站上一次性注册后即可免费使用。

“Classifier Vision App文档”

2)启动OPC UA服务器

  • 您无需对相机进行任何编程即可实现OPC通信。只需在IDS NXT相机上通过IDS NXT cockpit中的“Vapp Manager”安装(1)并启动(2)OPC UA服务器插件。
  • 您可以通过插件的操作来启动(1)和停止(2)OPC UA服务器。默认情况下,服务器会在插件启动时自动启动(3)。

3)创建OPC UA配置和配方

  • 利用OPC UA插件通过IDS NXT cockpit在IDS NXT相机上轻松地创建和保存配置。
  • 只需利用分类器定义当前相机设置(配置名称)和推理任务(配方名称),然后通过相应的操作即可保存配置和配方。操作完毕,您就通过cockpit完成了相机的OPC UA设置。

说明

4)建立OPC UA客户端-服务器连接

  • 安装并启动OPC UA客户端“UaExpert®”。
  • 要连接相机的OPC UA服务器,请在菜单栏中单击(添加服务器)。切换到“高级”选项卡。
  • 为连接指定“配置名称”
  • 指定服务器的“端点URL ”(例如“opc.tcp://169.254.173.231:4840”)
    • 协议:opc.tcp
    • 相机的IP地址
    • OPC UA服务器端口:4840
  • 选择所需的“安全政策”(支持的参数包括:None,Basic128Rsa15,Basic256,Basic256Sha256 )
  • 选择“消息安全模式”(None, Sign, Sign & Encrypt )
  • 在“身份验证设置”中输入IDS NXT相机的访问数据。(例如管理员或服务用户)
  • 现在,您可以连接OPC UA服务器:连接

5)连接请求/编辑设备信息

  • 要测试服务器连接,您可以通过“地址空间”窗口中的相机信息模型来实现。例如,如果您在UaExpert®中更改了设备名称,那它就会在IDS NXT cockpit中实时更新。
  • 此外,您还可以通过“ 数据访问视图”来订阅状态和统计参数,以跟踪的更改状态。例如,如果您将图像计数器的“图像总计”拖进这个窗口,那么该值将随着相机每捕捉一个新图像而实时增加。
  • 要重置图像计数器,请在“全部重置”的快捷菜单中执行“调用”。然后所订阅的帧计数器就会再次从“0”开始计数。

IDS NXT视觉系统-OPC UA机器视觉的配套规范

IDS NXT视觉系统的标准化属性显示在UaExpert®“地址空间”中的“视觉系统”节点中,这些属性根据配套规范“OPC 机器视觉”在相机的 OPC UA 服务器中实现。
这样,用户可以在后期通过OPC UA完全控制为相机准备的推理任务。

6)激活相机配置

  • 首先,通过调用函数GetConfigurationList来检索存储在相机上的配置列表。
    ResultCount通过InternalId“ conf_classifier.json”显示1个可用配置。
  • 使用函数ActivateConfiguration定义当前的有效配置,这些保存下来的参数随后会被相机使用。将相应的InternalId设置为该调用的输入值(Id)。
  • 您可以通过节点已激活配置检查当前激活的配置。Id“ conf_classifier.json ”应该会显示在这些属性中。 

7)设置任务(配方)

现在,我们以相同的方式处理相机预先保存的图像处理任务。

  • 调用输入值为 IsPrepared = 2(DONTCARE_2)的函数  GetRecipeListFiltered 会返回“1”个保存的配方作为ResultCount。这种情况下,保存的配方会显示为Id recipe_classifier_imagenet.json”。
  • 通过调用函数 PrepareRecipe ,并且将先前查询的Id设为输入值“InternalIdIn”,您可以将该配方设置为激活图像处理任务。

通常,您可以同时激活多个配方。但是,只有当前Vision App未配置其他配方时,您才能激活该配方。
您可以通过执行输入值为IsPrepared = 1(TRUE_1)的函数GetRecipeListFiltered来检查配方是否已处于激活状态。如果 ResultCount != 0,则表示配方已设置好了。然后,开始使用函数UnprepareRecipe

8)订阅结果事件

现在相机已通过OPC UA客户端设置完毕。在执行相机任务之前,必须先订阅结果事件。

  • 具体操作是,添加一个EventView...
  • 并将相机的VisionSystem拖放到该事件视图中。
  • 激活SimpleEventsConditionTypes字段以获取所有详细信息。
  • 通过应用按钮确认所选。

9)执行任务(配方)-评估事件结果

假如我们想让相机只执行一个任务。

  • 那么具体操作是,仅调用StartSingleJob方法一次。
  • 然后在机机的EventView中就可以收到ResultReadyEvent
  • 在事件的详细信息中,通过各自的分类可能性,我们可以看到三个指定的ROI(圆珠笔、铅笔刀、橡皮擦)的推理结果。

概述

借助数字输入和输出,RS-232和REST Web服务,IDS NXT相机及其AI功能已经可以在应用中得以灵活地使用。(阅读技术说明的第一部分“ 连接IDS NXT相机”)。

通过OPC UA服务器,您现在可以将IDS NXT推理相机转换为工业级视觉传感器,只需几步即可将其集成到任何现代工厂自动化系统中。

 

该技术说明演示了根据配套规范“OPC 机器视觉”,如何通过IDS NXT cockpit轻松快速地访问机器视觉系统的标准化属性。您无需任何经验或编程知识。只需将准备好的相机配置和AI任务另存为相机的配方即可。一旦设置完毕,您就可以通过任何OPC UA客户端控制和使用IDS NXT视觉系统的功能。这些相机为每个任务提供一个事件,提供多个推理结果,这些结果可以直接被控制系统用于执行后续任务。

 

配备了OPC UA通信功能的IDS NXT推理相机新增了物体检测和分类功能,便于您实现工厂自动化。将人工智能应用于工业环境从未如此简单。如果您想了解有关OPC UA以及IDS NXT相机集成功能的更多信息,请关注我们的技术文章更新。

REST浏览器插件

还有其他容易使用的浏览器插件GUI来测试REST调用。