Skip to main content

OPC UA 服务器

标准安装CODESYS包含一个 OPC UA 服务器。您可以先添加一个传播经理对象到应用程序,然后添加OPC UA服务器下方的物体。

您可以使用OPC UA服务器对象通过客户端访问控制器的变量接口。OPC UA 服务器通过单独的 TCP 连接与连接的 OPC UA 客户端通信。因此,必须再次单独检查这些连接的安全性。

现在可以通过使用与客户端的加密通信和 OPC UA 用户管理来保护 OPC UA 服务器。可以在以下部分中找到可能的设置:

重要

从运行时系统版本 3.5 SP17 需要访问 CODESYS- 运行时系统可以默认设置设备用户管理。但是,如果明确允许,OPC UA 服务器可以选择继续允许匿名访问。此权限是在对话中授予的 更改沟通政策 在选项卡中 沟通 设备编辑器。

. CODESYS OPC UA 服务器支持以下功能:
  • 浏览数据类型和变量

  • 标准读/写服务

  • 值变化通知:订阅和监控项服务

  • 根据“OPC UA 标准(配置文件:Basic256SHA256)”加密通信

  • 根据“IEC 61131-3 的 OPC UA 信息模型”对 IEC 应用程序进行成像

  • 支持的配置文件:“微型嵌入式设备服务器配置文件”

  • 会话数

    默认情况下,监控项和订阅不受限制。数量取决于各自平台的性能。

  • 根据 OPC UA 标准发送事件

  • 与数据源 OPC UA 客户端通信

    有关详细信息,请参阅: 建立数据源 OPC UA 客户端到 OPC UA 服务器的加密连接

提示

本章多次引用 OPC UA Client UAExpert。 UAExpert 是供应商“Unified Automation”的产品。

有关详细信息,请参阅: 统一自动化

当你创建一个IEC 符号组配置通过通信管理器,OPC UA 访问是自动的。

创建用于 OPC UA 访问的项目

  1. 创建一个新项目 CODESYS Control Win 控制器。

  2. 在程序中声明一些不同类型的变量 PLC_PRG.

  3. 插入传播经理应用程序下方的对象。

  4. 如果要通过 OPC UA 服务器与其他 OPC UA 客户端交换应用程序的 IEC 变量,则添加OPC UA服务器下方的物体传播经理目的。

    下一步可以在下面找到IEC 符号组配置

  5. 如果要发布 OPC UA 信息模型的数据,请添加OPC UA信息模型下方的物体传播经理目的。

    下一步可以在下面找到使用 OPC UA 信息模型

OPC UA 服务器的配置和调试

OPC UA 服务器可以适应不同环境的要求。有许多不同的安全设置可用于此目的。更改这些设置需要重新启动 PLC。这些值可以通过以下方式设置 设备安全设置(OPC UA 服务器) PLC的。

有关更多信息,请参阅: 使用安全的 OPC UA 服务器

OPC UA 证书的配置

过程. 生成证书 CODESYS OPC UA 服务器

为了加密数据并安全地与客户端交换数据,服务器需要一个证书,客户端必须在第一次建立连接时将其归类为“受信任”。

要求:已设置控制器的活动路径。

  1. 安装 CODESYS Security Agent 添加在。

  2. 点击 查看 → 安全屏幕.

  3. 选择 设备 标签。

  4. 在左侧的视图中,选择控制器。

    在右侧视图中,显示了需要证书的控制器的所有服务。

  5. 选择 OPC UA 服务器 服务。

  6. 为设备创建新证书。为此,请单击 _cds_img_create_certificate.png 图标。

    证书设置 对话框打开。

  7. 定义证书参数并单击 好的 关闭对话框。

    证书在控制器上创建。

    _cds_img_own_certificates.png
  8. 重新启动运行时系统。

过程. 配置 OPC UA 服务器证书的可信 CA

当 OPC UA 客户端证书通过可信证书颁发机构 (CA =) 生成时 Certificate Authority),必须将此 CA 配置为 OPC UA 服务器中的可信 CA。为此,必须将 CA 安装在 “可信证书” 下。

安装证书吊销列表 (CRL: Certificate Revocation List) 在 CA 中,需要执行以下步骤:

  1. 的转移 CRLs 每个文件传输到 cert/import 目录

  2. 的执行 PLC 外壳 命令 cert-importcrl

如果客户端证书不是由可信 CA 直接签署,而是具有更长的链,则必须单独安装中间 CA 的证书。它们必须转移到 OPCUAServer/Intermediate 通过文件传输目录。传输后,OPC UA 服务器将自动使用这些证书

注意

为了纯粹为了浏览而设置对 OPC UA 服务器的加密访问,可以专门为此目的在 通讯设置 数据源管理器的对话框。

OPC UA 服务器的符合规范的配置

要根据 OPC UA 规范操作 OPC UA 服务器,需要进行以下设置:

  1. 城市 必须为证书配置位置。

  2. 必须生成 OPC UA 服务器证书

  3. CRL 检查 启用 CRL 检查 必须启用。

  4. 通信方式 必须设置为 MIN_SIGNED 或者 SIGNED_AND_ENCRYPTED.

与“UaExpert”客户端建立加密连接

“UaExpert”OPC UA 客户端是可免费访问的软件,您可以从 Internet 下载。您可以使用此客户端连接到 CODESYS OPC UA 服务器。下面的描述是指这个程序。其他 OPC UA 客户端以类似的方式工作。

  1. 启动 UaExpert 程序。

  2. 点击 服务器 → 添加.

    添加服务器 对话框打开。

  3. 在树视图中,展开 本地 → OPCUAServer@.

  4. 选择连接类型 Basic256Sha256 – 签名和加密 (uatcp-uasc-uabinary) 然后点击 好的 关闭对话框。

    _cds_img_uaexpert_1.png
  5. 点击 服务器 → 连接.

    证书验证 对话框打开并显示一条错误消息。

  6. 选择 暂时接受此会话的服务器证书 选项并单击 继续.

  7. CODESYS, 点击 _cds_img_refresh_list.png 象征。

    视图被刷新。

  8. 选择 隔离证书 文件夹。

    专家@ 客户端证书显示在右视图中。

    _cds_img_quarantined_certificates.png
  9. 将证书拖到 可信证书 文件夹。

    现在客户端证书被服务器归类为“可信”。

  10. 在 UaExpert 客户端中,单击 服务器 → 连接.

    证书验证 对话框打开并显示一条错误消息。

  11. 选择 暂时接受此会话的服务器证书 选项并单击 继续.

    建立连接,对象显示在 地址空间 看法。

OPC UA 中的用户管理

这个 CODESYS OPC UA 服务器支持 CODESYS 用户管理。您可以从服务器上设置访问权限 访问权限 控制器上的选项卡。要执行此操作,请选择 RuntimeSystemObjects - 远程连接 - OpcuaServer 对象。

如果尽管用户管理处于活动状态,但仍允许匿名访问 OPC UA 服务器,则可以通过为隐式可用组 “anonymous_opcuaServer” 授予相应权限来配置此访问权限。匿名访问 OPC UA 服务器的权限是在中授予的 更改沟通政策 对话框。有关此对话框的描述,请参阅的帮助页面 选项卡:通信设置

Access rights can be checked at both the service and objects levels. As a result, a user might not be able to write to a variable, although this user is generally allowed to write to the OPC UA Server.

OPC UA 服务

访问权

AttributeRead

看法

AttributeWrite

调整

Call

执行

CreateMonitoredItem

看法

ModifyMonitoredItem

看法

SetMonitoringMode

看法

DeleteMonitoredItem

看法

CloseSession

看法

CreateSubscription

看法

ModifySubscription

看法

SetPublishingMode

看法

DeleteSubscriptions

看法

Publish

看法

Republish

看法

Browse

看法

BrowseNext

看法

TranslateBrowsePathsToNodeIds

看法

RegisterNodes

看法

UnregisterNodes

看法

有关更多信息,请参阅: 处理设备用户管理

使用 OPC UA 客户端更改变量

  1. 在里面 地址空间 查看,在 UaExpert 客户端中,展开 对象 → 设备集 → |tvOPCUA| → 应用程序 → 全局变量 → GVL 目的。

    全局变量列表的变量是可见的。

  2. 选择变量并将它们拖到 数据访问视图.

    显示变量及其当前值。

    _cds_img_uaexpert_2.png
  3. 通过双击更改变量值 价值 场地。

在中使用事件或警报 CODESYS 项目

CODESYS OPC UA 服务器提供以简化形式发送标准 OPC UA 事件和映射警报的功能。

小心

CODESYS Communication版本 4.6.0.0(及更高版本)和CODESYS Development System版本 3.5.21.0(及更高版本),ACK_REP确认方法符合OPC UA标准。

所有其他确认方法均不符合 OPC UA 规范的要求。在这些情况下,状态机尤其不同,并且无法分配注释。这些警报的映射用于提供 OPC UA 客户端与警报管理之间基本交互的可能性。

过程. 创建警报和事件
  1. 创建一个新项目 CODESYS Control Win 控制器。

  2. 插入一个 报警配置 应用程序下方的对象。

  3. 添加库 CmpOPCUAProviderAlarmConfiguration 给图书馆经理。

    CODESYS Development System版本 3.5.21.0 及更高版本CompatibleAlarmManagerToOpcUaConnector库必须集成,而不是CmpOPCUAProviderAlarmConfiguration图书馆。

    添加库后,它会作为客户端自动连接到警报配置,并将事件发送到 OPC UA 服务器。

  4. 插入一个 符号配置 应用程序下方的对象。

  5. 插入一个 可视化 下面的对象 应用.

  6. 将项目下载到控制器并启动它。

告警正常使用和产生。这里不需要特殊的步骤。

如果要创建事件,则需要执行以下附加步骤。

  1. 插入一个 报警类 下面的对象 报警配置.指定名称(例如: Event).

    新的报警类在编辑器中打开。

  2. 选择确认方式 代表.

  3. 插入一个 报警组 下面的对象 报警配置.指定名称(例如: ApplicationEvent).

    新警报组在编辑器中打开。

  4. . 更改以下参数:
    • 观察型: 事件

    • 班级: 事件

    • 信息:“消息1”

  5. 在程序中(例如,POU PLC_PRG), 添加触发事件报警的程序调用。

    AlarmManager.AlarmGlobals.g_AlarmHandler.RaiseEvent(Alm_AlarmConfiguration_Alarmgroup_IDs.ID_ApplicationEvent, Alm_ApplicationEvent_Alarm_IDs.ID_0);

有关警报管理和警报可视化的信息,请参阅: 报警管理报警可视化

通过“UaExpert”OPC UA 客户端观察事件

  1. 启动 UaExpert 程序。

  2. 点击 服务器 → 添加.

    添加服务器 对话框打开。

  3. 在树视图中,展开 本地 → OPCUAServer@.

  4. 选择连接类型 没有任何 然后点击 好的 关闭对话框。

  5. 点击 服务器 → 连接.

    对象树显示在 地址空间 看法。

  6. 点击 文件 → 添加.

    添加文件 对话框打开。

  7. 选择 事件视图 作为“文档类型”。

    事件视图 选项卡打开。

  8. 在里面 地址空间 查看,展开 对象 → 设备集 CODESYSCODESYS Control Win.目的。

  9. 地址空间,选择“CODESYS Control Win V3”对象并将其拖到 事件视图.

    显示事件。

    _cds_img_uaexpert_3.png