0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用S7-1500PLC做OPC UA通信服务器

jf_mTM8GDWU 来源:自控少年 2023-07-18 09:47 次阅读

OPC UA 概述

OPC UA是一项开放标准,适用于从机器到机器间(M2M)的水平通信和从机器直到云端的垂直通信。该标准独立于供应商和平台,支持广泛的安全机制,并且可以与 PROFINET 共享同一工业以太网络。

OPC UA通信的特性及优势

特性:

独立于供应商和平台

集成的安全概念(加密、签名和验证)

一致、端到端,并可扩展

信息模型和语义服务

与PROFINET 不受限制的并行传输

优势:

标准化接口和广泛的可用性

直接按照协议进行安全通信,无需额外硬件

跨所有自动化层的直接连接和通信

简单明了的数据解释

基于以太网的简单网络,使用现有的工业以太网基础设施

简单机器集成用的国际标准化接口(配套规范)

具有 OPC UA接口+支持工具的西门子产品和系统

西门子为全集成自动化(TIA)提供从现场层扩展到控制和操作层的全面硬件和软件组合。作为开放的通信标准,OPC UA 在整个 TIA 产品组合中扮演着重要的角色。

50f7df3e-250c-11ee-962d-dac502259ad0.jpg

图1:产品概览

应用示例内容及软/硬件需求

此应用示例的内容

为了实现 OPC UA 客户端与 SIMATIC S7-1500 的服务器进行数据交换,这个应用示例将向您详细介绍 SIMATIC S7-1500 的 OPC UA 服务器的配置以及如何通过 OPC UA 客户端软件连接 S7-1500 服务器。

用于测试用途的 OPC UA 客户端

● Unified Automation 的 “UaExpert”。可免费使用的功能丰富的客户端: 下载 UaExpert 的链接 ( https://www.unified-automation.com/downloads/opc-ua-clients.html )

● OPC Foundation 的 “UA Sample Client” 。在 OPC Foundation 注册的用户可免费使用该客户端:下载 OPC Foundation 示例客户端的链接 ( https://opcfoundation.org )

S7-1500 配置 OPC UA 服务器的软/硬件需求

已获得操作 OPC UA 功能的运行系统许可证。

TIA Portal V14 以及S7-1500 V2.0以后开始支持OPC UA服务器功能,除 S7-1500 标准 CPU 之外,这一特性同样适用于 S7-1500F、S7-1500T、S7-1500C、S7-1500pro CPU、ET 200SP CPU、SIMATIC S7-1500 软件控制器PLCSIM Advanced。S7-1500 CPU 上所有集成的 PROFINET 接口,均可用于访问该 CPU 的 OPC UA 服务器。 不能借助 CP 或 CM 通过自动化系统的背板总线直接访问 CPU 的 OPC UA 服务器。下表列出了不同版本所支持的功能。

表1:OPC UA功能列表

51144c64-250c-11ee-962d-dac502259ad0.jpg

S7-1500 的 OPC UA 服务器实验环境

在本应用实例中,使用以下产品配置 OPC UA 服务器。

51224c88-250c-11ee-962d-dac502259ad0.jpg

图2:实验环境

软件:

TIA V15.1

UA Expert V1.5.1

硬件:

CPU 1511-1PN V2.6

配置 S7-1500 的 OPC UA 服务器

1、使能 OPC UA 服务器

S7-1500的 OPC UA 服务器默认是禁用的,下面介绍如何使能一个简单的 OPC UA 服务器

1.1、导航至 CPU 的属性常规界面选择 OPC UA 服务器常规选项激活 OPC UA 服务器,如下图。

51308cd0-250c-11ee-962d-dac502259ad0.jpg

图3. 使能OPC UA服务器

1.2、导航至 "CPU 属性>运行系统许可证> OPC UA" 选择选择所需许可证类型,如下图4。

运行 S7-1500 CPU 的 OPC UA 服务器需要使用许可证。所需的许可证类型取决于相应 CPU 的性能。将许可证类型分为以下几类:

● SIMATIC OPC UA S7-1500 小型(CPU 1511、CPU 1512、CPU 1513、ET 200SP CPU、CPU 1515SP PC 需要使用这种类型)

● SIMATIC OPC UA S7-1500 中型(适用于 CPU 1515、CPU 1516、软件控制器 CPU 1507、CPU 1516pro-2PN)

● SIMATIC OPC UA S7-1500 大型(CPU 1517、CPU 1518 需要使用这种类型)

5149148a-250c-11ee-962d-dac502259ad0.jpg

图4. 运行许可证

1.3、导航至 "CPU 属性>OPC UA>常规" 选项设置 OPC UA 应用名称,也可以使用默认名称,如下图5。请注意,证书上需要输入应用程序名称(主题备用名称),并且更改应用程序名称后可能需要再次生成现有证书。

516c9df6-250c-11ee-962d-dac502259ad0.jpg

图5. 应用名称

1.4、导航至 "CPU 属性>OPC UA>服务器" 选项设置服务器会话数量限制以及采样发布的最短间隔,无特殊需求也可以使用默认设置,如下图6。

● 会话最大超时,在该字段中指定在不进行数据交换的情况下 OPC UA 服务器关闭会话之前的最大时长。 允许值在 1 到 600000 秒之间。

● 最大 OPC UA 会话数,在该字段中指定 OPC UA 服务器启动并同时操作的最大会话数。最大会话数取决于 CPU 的性能。每个会话都会占用资源。

● 最大注册节点数,在该字段中指定 OPC UA 服务器注册的最大节点数。最大注册节点数取决于 CPU 的容量,并会在组态字段内容时显示(将光标放在字段中)。每次注册都会占用资源。

● 最短采样时间间隔, 在“最短采样时间间隔”中,可设置 OPC UA 服务器记录 CPU 变量值并与以前值相比较检查是否发生变更的时间间隔。

● 最短发布时间间隔, 在“最短发布时间间隔”中,可设置变量值发生改变时服务器通过新值向客户端发送消息的时间间隔。

● 所监视元素的最大数量,在该字段中指定该 CPU 的 OPC UA 服务器可同时监视值更改的最大元素数量。 监视会占用资源,可监视元素的最大数量取决于所用的 CPU。

51814076-250c-11ee-962d-dac502259ad0.jpg

图6. 选项

1.5、编译硬件并下载就可以启用一个简单的 OPC UA 服务器,服务器在其标准配置中允许任意客户端进行连接,如下图7所示。如果需要管理客户端证书以及访问认证管理请继续进行下面配置。

519bb640-250c-11ee-962d-dac502259ad0.jpg

图7. 非安全访问测试

2、使能全局安全设置

为了管理 OPC UA 服务器的证书必须启用TIA项目的全局安全设置。

2.1、导航至项目树下安全设置为项目设置用户名密码,如下图8。

51b7e298-250c-11ee-962d-dac502259ad0.jpg

图8. 安全设置

2.2、导航至 "CPU 属性>防护与安全>证书管理器" 选项使能证书管理器,如下图9。

51d1e85a-250c-11ee-962d-dac502259ad0.jpg

图9. 证书管理器

3、配置安全策略

通过 OPC UA 服务器的安全策略来配置 OPC UA 客户端和服务器之间的加密和身份验证方式,如下图10,选择允许的安全策略。

51e18cb0-250c-11ee-962d-dac502259ad0.jpg

图10. 安全策略

4、通过管理证书实现安全访问

为了实现只允许指定的 OPC UA 客户端与 OPC UA 服务器进行连接,需要做以下配置

4.1、创建服务器证书,根据需要选择自签署还是 CA 签署,如下图11。

51f1c5c6-250c-11ee-962d-dac502259ad0.jpg

52031bdc-250c-11ee-962d-dac502259ad0.jpg

图11. 创建服务器证书

4.2、禁止运行过程中自动接受客户端证书,如下图12。

52164252-250c-11ee-962d-dac502259ad0.jpg

图12. 禁用自动接受客户端证书

4.3、导出客户端证书,如下图13。

52222400-250c-11ee-962d-dac502259ad0.jpg

523a0502-250c-11ee-962d-dac502259ad0.jpg

图13. 客户端证书

4.4、管理受信证书,把之前导出的客户端证书导入到受信证书一栏,如下图14。

5258016a-250c-11ee-962d-dac502259ad0.jpg

图14.受信证书导入

4.5、分配可信客户端,如下图15。

526ae8fc-250c-11ee-962d-dac502259ad0.jpg

图15.可信客户端

5、用户身份认证

S7-1500 OPC UA服务器用户身份认证分为2种,一种是访客认证,另一种是用户名和密码认证。如果需要指定用户登录权限需要禁止访客认证并增加用户名密码认证,如下图16。

528447de-250c-11ee-962d-dac502259ad0.jpg

图16. 用户身份认证

6、分配 PLC 变量的访问权

对 PLC 中创建的变量分配它的读写权限,默认都可以访问,可以单独为变量分配读写权限,也可以整个 DB 块设置访问权限,如下图17。

52a0d39a-250c-11ee-962d-dac502259ad0.jpg

图17.变量访问权限

7、项目编译下载后进行访问测试

通过 UA Expert 进行连接访问,选择安全策略及用户身份认证方式后进入证书验证界面,需要信任服务器证书并接受临时会话请求,如下图18。注意这里 UA Expert 通过 Trust Server Certificate 按钮即可完成 Server 证书的导入,如果是其它客户端没有此功能需要手动到 TIA 下的证书管理器中导出 CA 证书和设备证书并拷贝到客户端对应受信证书列表里即可。

52bdad9e-250c-11ee-962d-dac502259ad0.jpg

图18.建立连接

建立连接成功后浏览PLC数据,并进行读写访问测试,如下图19。

52df2f0a-250c-11ee-962d-dac502259ad0.jpg

图19.数据访问

8、OPC UA 服务器方法的创建

在 S7-1500 CPU(自固件版本 V2.5 起)的 OPC UA 服务器中,可以选择通过用户程序提供方法。 OPC UA 方法为不同通信节点之间的交互提供了有效机制,该机制提供作业确认和反馈值,因此用户无需再编程手机制。

OPC UA 方法的工作原理 通常,OPC UA 方法的工作原理与运行系统中由外部 OPC UA 客户端调用的受专有技术保护函数块的原理类似。OPC UA 客户端仅"监视"已定义的输入和输出,函数块、方法或算法的内容对外部 OPC UA 客户端保持隐藏,OPC UA 客户端接收成功执行的反馈以及函数块(方法)返回的值,或者,如果执行不成功,则会收到错误消息。

服务器方法的实现 1. 使用 OPC_UA_ServerMethodPre 查询服务器方法调用该指令将执行以下任务: – 通过该指令询问 CPU 的 OPC UA 服务器是否已通过 OPC UA 客户端调用服务器方法。 – 如果已调用方法,并且服务器方法具有输入参数,服务器方法现在会接收到输入参数。 2. 编辑服务器方法 在这部分服务器方法中,用户提供实际用户程序。如果服务器方法使用输入参数,则可使用这些参数。 仅当 OPC UA 客户端已调用服务器方法时,才可执行服务器方法的这一部分。成功执行方法后,如果方法具有输出参数,需要设置服务器方法的输出参数。 3. 使用 OPC_UA_ServerMethodPost 响应服务器方法 要完成服务器方法,应调用 “OPC_UA_ServerMethodPost” 指令。使用参数通知 “OPC_UA_ServerMethodPost” 指令是否已处理用户程序,如果用户程序已成功执行,则会通过相关参数通知 OPC UA 服务器。OPC UA 服务器随后会将服务器方法的输出参数发送到 OPC UA 客户端。 无论用户程序是由 “OPC_UA_ServerMethodPre” 和 “OPC_UA_ServerMethodPost” 指令处理还是在下一个周期继续执行,始终以成对的形式调用这两个指令。

如下图20所示给出了使用 OPC UA 服务器方法指令为用户程序中所执行的 OPC UA 客户端提供一个方法。需要注意的是服务器方法指令的多重实例必须命名为 “OPC_UA_ServerMethodPre_Instance” 和 “OPC_UA_ServerMethodPost_Instance”,否则不会在服务器上创建方法,还有就是需要声明 “UAMethod_InParameters” 和 “UAMethod_OutParameters” 两个变量分别连接到方法指令引脚上,否则方法指令会报错。

52ebad98-250c-11ee-962d-dac502259ad0.jpg

图20.方法程序代码

在客户端内浏览到创建的服务器方法,选中 Method 后鼠标右键来调用方法,在调用方法对话框中传输输入参数点击 Call 按钮,返回输出参数及方法执行后的状态,如下图 21 所示。

5315072e-250c-11ee-962d-dac502259ad0.jpg

图21.方法测试

常见问题及建议

1、通过 OPC UA 客户端访问 OPC UA 服务器的建议

● 对于一次性或不频繁的数据访问,请使用标准的读/写访问。

● 对于少量数据的循环访问(循环间隔最长约为 5 秒),请使用订阅。 优化 OPC UA 服务器中的最短发布时间间隔设置和最小采样时间间隔设置。

● 如果定期访问某些特定变量(重复访问),则可使用函数 “RegisteredRead” 和 “Regist eredWrite” 。

2、导致 OPC UA 服务器连接失败的原因

当建立到 OPC UA 服务器的连接时,需用注意许多要点来保证过程顺利地进行。以下连接建立出错的原因与用到的 OPC UA 客户端和服务器无关。

基于证书连接的日期和时间

基于证书授权的通讯中,在OPC UA 服务器上,需要检查证书的有效期。这就要求终端系统具备当前时间。对证书检查时,OPC UA 服务器可能会给出时间错误响应,状态码为 “BadSecurityChecksFailed” 或者 “BadCertificateTimeInvalid” 。解决方案建议使用 NTP 服务器来实现时钟同步。如果 NTP 无法实现,则只能手动为终端系统设置当前时间。

经过 NAT 路由器的 OPC UA 客户端-服务器连接尝试失败,产生错误信息 “BadCommunicationError” 或 “BadNotConnected” 。

在NAT系统中,IPv4 数据包被路由器处理。?这意味着数据包的源IP?( “Source NAT” ) 或者目的 IP ( “Destination NAT” ) 会被路由器配置的IP地址替换掉 ( 取决于目的端口 )。而客户端和服务器并不知道这个过程。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • plc
    plc
    +关注

    关注

    5008

    文章

    13146

    浏览量

    461937
  • 通信
    +关注

    关注

    18

    文章

    5968

    浏览量

    135829
  • 服务器
    +关注

    关注

    12

    文章

    9009

    浏览量

    85160
  • OPC
    OPC
    +关注

    关注

    7

    文章

    325

    浏览量

    46100
  • S7-1500
    +关注

    关注

    3

    文章

    300

    浏览量

    6337

原文标题:如何使用S7-1500PLC做OPC UA通信服务器

文章出处:【微信号:自控少年,微信公众号:自控少年】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    S7-1500PLC驱动和控制的性能

    更加灵活。依托于西门子PROFINET功能和PROFIdrive库,S7-1500PLC 不需要额外配置功能模块即可实现控制伺服驱动。此外,S7-1500 PLC支持所有CPU 变量
    发表于 09-13 07:52

    西门子S7-1500PLC的常用模块及功能

    今天给大家讲讲S7-1500PLC的常用模块,S7-1500PLC是模块化结构设计的PLC,各个单独模块之间可以进行广泛组合和扩展,它的主要组成部分有电源模块(PM/PS)、中央处理
    的头像 发表于 01-31 16:55 5.5w次阅读

    如何使用Labview通过NI OPCS7200 PLC通信

    该文档提供了S7-200 PLC,基于NI 提供的OPC服务器软件NI LabVIEW OPC Servers与NI LabVIEW
    发表于 02-27 08:00 98次下载
    如何使用Labview通过NI <b class='flag-5'>OPC</b>与<b class='flag-5'>S</b>7200 <b class='flag-5'>PLC</b><b class='flag-5'>通信</b>

    西门子S-1500 OPC UA服务器配置方法图解

    TIA Portal V14 以及S7-1500 V2.0以后开始支持OPC UA服务器功能,除 S7-1500 标准 CPU 之外,这一特
    发表于 02-09 18:10 1.4w次阅读
    西门子<b class='flag-5'>S-1500</b> <b class='flag-5'>OPC</b> <b class='flag-5'>UA</b><b class='flag-5'>服务器</b>配置方法图解

    西门子S7-300和S7-400及S7-1200与S7-1500PLC的编程语言比较表

    本文档的主要内容详细介绍的是西门子S7-300和S7-400及S7-1200与S7-1500PLC的编程语言比较表。
    发表于 03-03 08:00 14次下载

    通过MPI建立OPC服务器S7-200 PLC集成口的S7连接

    通过MPI建立OPC服务器S7-200 PLC集成口的S7连接方式说明。
    发表于 05-07 09:24 5次下载

    SIMATIC NET OPC服务器PLCS7连接简介

    SIMATIC NET OPC服务器PLCS7连接简介
    发表于 12-20 14:11 1次下载

    1500PLC通信知识

    西门子S7-1500PLC运用于中大型项目,是S7-300/400PLC的升级版,相比于200/200 SMART PLC 来说,1500
    的头像 发表于 07-11 09:41 1846次阅读

    Simatic Net PC软件的S7 OPC通信服务功能

    Simatic Net PC软件的S7 OPC通信服务是该软件最常用的功能,用于具备OPC客户端功能PC的组态软件与西门子S7
    的头像 发表于 08-23 09:24 3769次阅读

    浅谈西门子S7-1500PLC通信知识

    西门子S7-1500PLC运用于中大型项目,是S7-300/400PLC的升级版,相比于200/200 SMART PLC 来说,1500
    发表于 09-02 10:53 3898次阅读

    MES数据采集网关通过OPC UA网关实现工业现场设备对接OPC UA服务器

    通过OPC UA网关实现工业现场设备对接OPC UA服务器
    的头像 发表于 10-29 15:13 2327次阅读

    Connext© OPC UA软件——不仅仅是一个工业通信服务器

    Connext通信服务器基于新一代工业平台的Platform.NExT架构,适应您所有应用程序需求并提供一个包罗万象的数据源。Connext OPC UA服务器旨在为公司提供无缝、轻松
    的头像 发表于 12-22 10:07 908次阅读

    如何仿真博途S7-1500 OPC UA

    添加了一个OPC UA服务器进来,打开添加的OPC UA服务器,它已经找到
    的头像 发表于 02-07 10:23 3701次阅读
    如何仿真博途<b class='flag-5'>S7-1500</b> <b class='flag-5'>OPC</b> <b class='flag-5'>UA</b>

    三菱Q06UDEHCPU转OPC UA服务器三菱PLCOPC UA服务器

    组建加上OPC UA网关采用OPC UA统一标准将大大降低开发难度和实现效率,深圳市钡铼技术有限公司推出的BL102网关很好的解决了这个问题,今天以三菱Q06UDEHCPU转
    的头像 发表于 11-30 19:07 1212次阅读
    三菱Q06UDEHCPU转<b class='flag-5'>OPC</b> <b class='flag-5'>UA</b><b class='flag-5'>服务器</b>三菱<b class='flag-5'>PLC</b>转<b class='flag-5'>OPC</b> <b class='flag-5'>UA</b><b class='flag-5'>服务器</b>

    专业讲解S7-1500PLC通信原理

    西门子S7-1500PLC运用于中大型项目,是S7-300/400PLC的升级版,相比于200/200 SMART PLC 来说,1500
    发表于 07-14 16:51 1012次阅读
    专业讲解<b class='flag-5'>S7-1500PLC</b><b class='flag-5'>通信</b>原理