OPC UA 服务器
标准安装CODESYS包含一个 OPC UA 服务器。您可以先添加一个传播经理对象到应用程序,然后添加OPC UA服务器下方的物体。
您可以使用OPC UA服务器对象通过客户端访问控制器的变量接口。OPC UA 服务器通过单独的 TCP 连接与连接的 OPC UA 客户端通信。因此,必须再次单独检查这些连接的安全性。
现在可以通过使用与客户端的加密通信和 OPC UA 用户管理来保护 OPC UA 服务器。可以在以下部分中找到可能的设置:
重要
从运行时系统版本 3.5 SP17 需要访问 CODESYS- 运行时系统可以默认设置设备用户管理。但是,如果明确允许,OPC UA 服务器可以选择继续允许匿名访问。此权限是在对话中授予的 更改沟通政策 在选项卡中 沟通 设备编辑器。
浏览数据类型和变量
标准读/写服务
值变化通知:订阅和监控项服务
根据“OPC UA 标准(配置文件:Basic256SHA256)”加密通信
根据“IEC 61131-3 的 OPC UA 信息模型”对 IEC 应用程序进行成像
支持的配置文件:“微型嵌入式设备服务器配置文件”
会话数
默认情况下,监控项和订阅不受限制。数量取决于各自平台的性能。
根据 OPC UA 标准发送事件
与数据源 OPC UA 客户端通信
有关详细信息,请参阅: 建立数据源 OPC UA 客户端到 OPC UA 服务器的加密连接
当你创建一个IEC 符号组配置通过通信管理器,OPC UA 访问是自动的。
创建用于 OPC UA 访问的项目
创建一个新项目 CODESYS Control Win 控制器。
在程序中声明一些不同类型的变量
PLC_PRG
.插入传播经理应用程序下方的对象。
如果要通过 OPC UA 服务器与其他 OPC UA 客户端交换应用程序的 IEC 变量,则添加OPC UA服务器下方的物体传播经理目的。
下一步可以在下面找到IEC 符号组配置。
如果要发布 OPC UA 信息模型的数据,请添加OPC UA信息模型下方的物体传播经理目的。
下一步可以在下面找到使用 OPC UA 信息模型。
OPC UA 服务器的配置和调试
OPC UA 服务器可以适应不同环境的要求。有许多不同的安全设置可用于此目的。更改这些设置需要重新启动 PLC。这些值可以通过以下方式设置 设备安全设置(OPC UA 服务器) PLC的。
有关更多信息,请参阅: 使用安全的 OPC UA 服务器
OPC UA 证书的配置
为了加密数据并安全地与客户端交换数据,服务器需要一个证书,客户端必须在第一次建立连接时将其归类为“受信任”。
要求:已设置控制器的活动路径。
安装 CODESYS Security Agent 添加在。
点击
.选择 设备 标签。
在左侧的视图中,选择控制器。
在右侧视图中,显示了需要证书的控制器的所有服务。
选择 OPC UA 服务器 服务。
为设备创建新证书。为此,请单击
图标。
这 证书设置 对话框打开。
定义证书参数并单击 好的 关闭对话框。
证书在控制器上创建。
重新启动运行时系统。
当 OPC UA 客户端证书通过可信证书颁发机构 (CA =) 生成时 Certificate Authority
),必须将此 CA 配置为 OPC UA 服务器中的可信 CA。为此,必须将 CA 安装在 “可信证书” 下。
安装证书吊销列表 (CRL
: Certificate Revocation List
) 在 CA 中,需要执行以下步骤:
的转移
CRL
s 每个文件传输到cert/import
目录的执行 PLC 外壳 命令
cert-importcrl
如果客户端证书不是由可信 CA 直接签署,而是具有更长的链,则必须单独安装中间 CA 的证书。它们必须转移到 OPCUAServer/Intermediate
通过文件传输目录。传输后,OPC UA 服务器将自动使用这些证书
注意
为了纯粹为了浏览而设置对 OPC UA 服务器的加密访问,可以专门为此目的在 通讯设置 数据源管理器的对话框。
OPC UA 服务器的符合规范的配置
要根据 OPC UA 规范操作 OPC UA 服务器,需要进行以下设置:
与“UaExpert”客户端建立加密连接
“UaExpert”OPC UA 客户端是可免费访问的软件,您可以从 Internet 下载。您可以使用此客户端连接到 CODESYS OPC UA 服务器。下面的描述是指这个程序。其他 OPC UA 客户端以类似的方式工作。
启动 UaExpert 程序。
点击
.这 添加服务器 对话框打开。
在树视图中,展开
.选择连接类型 Basic256Sha256 – 签名和加密 (uatcp-uasc-uabinary) 然后点击 好的 关闭对话框。
点击
.这 证书验证 对话框打开并显示一条错误消息。
选择 暂时接受此会话的服务器证书 选项并单击 继续.
在 CODESYS, 点击
象征。
视图被刷新。
选择 隔离证书 文件夹。
这 专家@ 客户端证书显示在右视图中。
将证书拖到 可信证书 文件夹。
现在客户端证书被服务器归类为“可信”。
在 UaExpert 客户端中,单击
.这 证书验证 对话框打开并显示一条错误消息。
选择 暂时接受此会话的服务器证书 选项并单击 继续.
建立连接,对象显示在 地址空间 看法。
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 客户端更改变量
在里面 地址空间 查看,在 UaExpert 客户端中,展开 目的。
全局变量列表的变量是可见的。
选择变量并将它们拖到 数据访问视图.
显示变量及其当前值。
通过双击更改变量值 价值 场地。
在中使用事件或警报 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 客户端与警报管理之间基本交互的可能性。
创建一个新项目 CODESYS Control Win 控制器。
插入一个 报警配置 应用程序下方的对象。
添加库
CmpOPCUAProviderAlarmConfiguration
给图书馆经理。在CODESYS Development System版本 3.5.21.0 及更高版本
CompatibleAlarmManagerToOpcUaConnector
库必须集成,而不是CmpOPCUAProviderAlarmConfiguration
图书馆。添加库后,它会作为客户端自动连接到警报配置,并将事件发送到 OPC UA 服务器。
插入一个 符号配置 应用程序下方的对象。
插入一个 可视化 下面的对象 应用.
将项目下载到控制器并启动它。
告警正常使用和产生。这里不需要特殊的步骤。
如果要创建事件,则需要执行以下附加步骤。
插入一个 报警类 下面的对象 报警配置.指定名称(例如:
Event
).新的报警类在编辑器中打开。
选择确认方式 代表.
插入一个 报警组 下面的对象 报警配置.指定名称(例如:
ApplicationEvent
).新警报组在编辑器中打开。
- . 更改以下参数:
观察型: 事件
班级: 事件
信息:“消息1”
在程序中(例如,POU
PLC_PRG
), 添加触发事件报警的程序调用。AlarmManager.AlarmGlobals.g_AlarmHandler.RaiseEvent(Alm_AlarmConfiguration_Alarmgroup_IDs.ID_ApplicationEvent, Alm_ApplicationEvent_Alarm_IDs.ID_0);
通过“UaExpert”OPC UA 客户端观察事件
启动
UaExpert
程序。点击
.这 添加服务器 对话框打开。
在树视图中,展开
.选择连接类型 没有任何 然后点击 好的 关闭对话框。
点击
.对象树显示在 地址空间 看法。
点击
.这 添加文件 对话框打开。
选择 事件视图 作为“文档类型”。
这 事件视图 选项卡打开。
在里面 地址空间 查看,展开 .目的。
在 地址空间,选择“CODESYS Control Win V3”对象并将其拖到 事件视图.
显示事件。