使用 MERLIC 设置 OPC UA Server
在本主题中,我们将演示如何使用 MERLIC 设置 OPC UA server。如果您还需调整 OPC UA 服务器的配置或将服务器添加到客户端,则应分别查看配置 OPC UA 服务器或将客户端连接到 OPC UA 服务器主题。
要设置服务器,必须执行以下基本步骤:
- 检查设置的先决条件
- 启动 OPC UA server 插件和所有必需的 MERLIC 进程,即 MERLIC Communicator 和 MERLIC RTE
- 将客户端连接到 OPC UA server
我们将用 UaExpert® 客户端演示与 OPC UA server 的连接。该客户端是一个功能齐全的测试用 OPC UA 客户端。您也可以使用自己选择的任何其他客户端。
设置的先决条件
在开始连接到 OPC UA 服务器和进行设置之前,应确保已为流程集成正确创建和配置 MERLIC Vision Apps 和配方文件。为此,您必须为 MERLIC Vision Apps 定义 MVApp 参数和 MVApp 结果。
MERLIC 手册的主题 MVApp 配置中详细描述了如何完成此操作。
在完成设置后务必关闭所有 MERLIC 进程。
启动 OPC UA Server 插件和所有必需的 MERLIC 进程
要启用 OPC UA 客户端与 OPC UA server 之间的连接,您必须启动 MERLIC Communicator、OPC UA server插件和 MERLIC RTE。可通过多种方法启动相应进程。但是,我们要重点介绍以下进程启动步骤,以确保进程属于同一个 MERLIC 实例。
- 确保已关闭所有 MERLIC 进程。
- 打开 MERLIC RTE Setup,例如通过 Windows 开始菜单。
- 在“通讯”选项卡中,单击“启动 MERLIC Communicator”按钮。将为 MERLIC Communicator 进程打开一个命令提示符窗口。此外,还将启用 Communicator 插件的配置区域。
- 选择 OPC UA server 插件,然后单击“Start plug-in”按钮启动它。
- 转到 MERLIC RTE Setup 的“Image Sources”选项卡,然后单击“启动 MERLIC RTE”按钮。将为 MERLIC RTE 进程打开一个命令提示符窗口。现在,所有必需的 MERLIC 进程均在运行中,您可以将客户端连接到 OPC UA server。
有关启动 MERLIC Communicator 和 MERLIC RTE 的不同方法的更多信息,请参阅 MERLIC Communicator 手册中的启动 Communicator 和插件主题和 MERLIC 手册中的在流程集成模式下启动主题。
使用 OPC UA 服务器插件时,无需先启动 Communicator,然后在流程集成模式下启动 MERLIC。但是,如果 MERLIC 未在后台运行,则服务器中的所有调用都将超时。
此外,如果通过命令行启动 Communicator 和 MERLIC RTE,并使用命令行选项“--event_port”和“--command_port”为“事件”和命令定义端口,则必须确保 Communicator 和 MERLIC RTE 的端口设置匹配才能建立连接。
将 UaExpert® 连接到 OPC UA Server
在下面的描述中,我们将演示如何从 UaExpert® 连接到服务器。请记住,即使连接到服务器,任何方法调用都将导致错误,直到 MERLIC 在后台以流程集成模式运行为止。
- 打开 UaExpert®,找到包含服务器配置的项目。
- 从“Project”窗口选择 OPC UA server 的配置。
- 要建立连接,单击工具栏中的“Connect”图标。
如果第一次指定的安全策略不是“None”,则必须将相应的安全证书添加到受信任证书的位置。
将客户端连接到 OPC UA server时,服务器会生成证书并将其发送给客户端。在客户端(例如 UaExpert®)中,您必须确认您信任来自服务器的此证书。客户端随后会发送一个安全证书到 OPC UA server,服务器会自动将证书存储到服务器配置中的“Rejected certificate location”参数处定义的目录中。默认情况下,被拒绝证书的路径在 Windows 系统上设置为“%AppData%/MVTecCommunicator/OPC_UA/Certificate_Store/rejected/”,在 Linux 系统上设置为“~/.local/share/MVTec/Communicator/OPC_UA/Certificate_Store/rejected/”。
要将文件添加到受信任证书的位置,请将文件复制到受信任证书的目录,即复制到服务器配置中的“Certificate trust list location”参数处定义的目录。默认情况下,受信任证书的路径在 Windows 系统上设置为“%%/MVTec/Communicator/OPC_UA/Certificate_Store/trusted/certs/”,在 Linux 系统上设置为“~/.local/share/MVTec/Communicator/OPC_UA/Certificate_Store/trusted/certs/”。现在,您可以启动与服务器的连接。后续对安全策略配置进行更改时不需要再执行此步骤。
如果 MERLIC RTE 正确启动,它将连接到 Communicator,并且 Frontend 会打开默认 MERLIC 配方中引用的 MERLIC Vision App。
服务器将转变成“Ready”状态,您可以开始在 OPC UA 服务器中调用方法。操作 OPC UA Server主题提供了有关如何操作服务器的更详细信息,例如,如何准备配方和开始执行。要获取有关获取应用程序结果的不同方法的信息,请参阅从 OPC UA Server 获取结果主题。
如果与 MERLIC 的连接意外丢失,这不会反映在服务器上,并可能导致不一致和超时。
概览可用的对象实例
连接到服务器后,UaExpert® 的“Address Space”窗口将被填充。在 OPC UA 中,对象的实例位于“Root > Objects”文件夹中。
对象实例“VisionSystem”包含控制视觉系统所必需的方法和对象。
RecipeManagement
此对象实例包含可用于各种配方相关操作的方法,例如获取可用配方列表以及准备和取消准备配方。
ResultManagement
此对象实例包含可用于获取执行结果的方法。
VisionCompanion
此对象是 MVTec 创建的一个可选加载项,其中一个作用是方便集成无法处理“OPC UA for Machine Vision - Part 1”配套规范指定的信息模型复杂性的 OPC UA 客户端,如 PLC 等简单的 OPC UA 客户端。
“VisionCompanion”对象不会取代配套规范中定义的对象、方法和变量,它们仍然可用并且可以正常使用。有关如何使用“VisionCompanion”对象操作 OPC UA server的更多信息,请参阅可选加载项“VisionCompanion”主题。
VisionStateMachine
此对象实例表示状态“Halt”、“Error”、“Preoperational”和“Operational”及其各自的“Halt”、“Reset”、“SelectModeAutomatic”方法。对象实例“AutomaticModeStateMachine”是一个在顶部“VisionStateMachine”处于“Operational”状态时变为活动状态的子状态机器。它包含状态“Initialized”、“Ready”、“SingleExecution”和“ContinuousExecution”,以及方法“Abort”、“Stop”、“StartContinuous”和“StartSingleJob”。对象实例“FrontendAccessModeStateMachine”是在用户通过 Frontend 请求独占写入访问时激活的子状态机。
有关监视状态和事件的信息,请参阅监视事件和当前状态。

