OPC UA通信的特点和优势
特性: 独立于供应商和平台的安全概念(加密、签名和身份验证) 通过PROFINET 实现一致、端到端且可扩展的信息模型和语义服务无限制的并行传输优点: 标准化接口和广泛可用性根据协议进行直接安全通信无需额外硬件的协议跨所有自动化级别的直接连接和通信简单清晰的数据解释使用现有工业以太网基础设施的简单以太网网络简单的机器集成国际标准化接口(支持规范)
带有OPC UA接口的西门子产品和系统+支持工具
西门子为全集成自动化(TIA) 提供全面的硬件和软件产品组合,从现场层延伸到控制和操作层。作为一种开放式通信标准,OPC UA 在整个TIA 产品组合中发挥着重要作用。
图1:产品概览
应用示例内容及软/硬件需求
本应用示例的内容
为了实现OPC UA客户端与SIMATIC S7-1500服务器之间的数据交换,本应用示例将详细介绍SIMATIC S7-1500的OPC UA服务器的组态以及如何连接到S7-1500服务器通过OPC UA客户端软件。
用于测试目的的OPC UA 客户端 Unified Automation 的“UaExpert”。免费提供功能丰富的客户端: UaExpert 下载链接(https://www.unified-automation.com/downloads/opc-ua-clients.html) OPC 基金会的“UA Sample Client”。该客户端对于在OPC 基金会注册的用户免费:下载OPC 基金会示例客户端的链接(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功能列表
S7-1500 的 OPC UA 服务器实验环境
在此应用示例中,使用以下产品来配置OPC UA 服务器。
图2:实验环境
软件:
TIA V15.1
UA专家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服务器,如下所示。
图3. 启用OPC UA 服务器
1.2.导航到“CPU Properties Runtime System License 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 需要此类型)
图4. 运行许可证
1.3.导航到“CPU Properties OPC UA General”选项以设置OPC UA 应用程序名称。您也可以使用默认名称,如下图5 所示。请注意,证书上需要应用程序名称(主题备用名称),更改应用程序名称可能需要重新生成现有证书。
图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。
图6. 选项
1.5.编译硬件并下载它以启用简单的OPC UA 服务器。服务器允许任何客户端以其标准配置进行连接,如下图7 所示。如果您需要管理客户端证书和访问认证管理,请继续以下配置。
图7. 非安全访问测试
2、使能全局安全设置
为了管理OPC UA 服务器的证书,必须启用TIA 项目的全局安全设置。
2.1.导航到项目树下的安全设置,并设置项目的用户名和密码,如下图8所示。
图8. 安全设置
2.2.导航到“CPU 属性保护和安全证书管理器”选项以启用证书管理器,如下图9 所示。
图9. 证书管理器
3、配置安全策略
通过OPC UA服务器的安全策略配置OPC UA客户端和服务器之间的加密和认证方式,如下图10所示,选择允许的安全策略。
图10. 安全策略
4、通过管理证书实现安全访问
为了仅允许指定的OPC UA 客户端连接到OPC UA 服务器,需要进行以下配置
4.1.创建服务器证书,根据需要选择自签名或CA签名,如下图11所示。
图11. 创建服务器证书
4.2.禁止运行时自动接受客户端证书,如下图12所示。
图12. 禁用自动接受客户端证书
4.3.导出客户端证书,如下图13所示。
图13. 客户端证书
4.4.管理可信证书,将之前导出的客户端证书导入到可信证书栏中,如下图14所示。
图14. 可信证书导入
4.5.分配可信客户端,如下图15所示。
图15. 可信客户端
5、用户身份认证
S7-1500 OPC UA服务器用户身份认证分为两种,一种是访客认证,另一种是用户名和密码认证。如果需要指定用户登录权限,则需要禁用访客身份验证并添加用户名和密码身份验证,如下图16所示。
图16. 用户身份认证
6、分配 PLC 变量的访问权
为PLC 中创建的变量分配读写权限。默认情况下可以访问它们。您可以为变量单独分配读写权限,也可以为整个DB块设置访问权限,如下图17所示。
图17. 可变访问权限
7、项目编译下载后进行访问测试
通过UA Expert连接访问,选择安全策略和用户认证方式,进入证书验证界面。您需要信任服务器证书并接受临时会话请求,如下图18所示。这里注意,UA Expert可以通过信任服务器证书按钮完成服务器证书的导入。如果其他客户端没有此功能,则需要在TIA下的证书管理器中手动导出CA证书和设备证书,并将其复制到客户端对应的可信证书列表中。就在里面。
图18. 建立连接
成功建立连接后,浏览PLC数据并进行读写访问测试,如下图19所示。
图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 客户端接收成功执行的反馈以及功能块返回的值(method) ,或者,如果执行不成功,您会收到一条错误消息。
服务器方法的实现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.方法程序代码
浏览到客户端中创建的服务器方法,选择“方法”并右键单击以调用该方法。在“调用方法”对话框中,传递输入参数,单击“调用”按钮,返回输出参数以及方法执行后的状态,如下图21所示。
图21. 方法测试
常见问题及建议
1.通过OPC UA客户端访问OPC UA服务器的建议
对于一次性或不频繁的数据访问,请使用标准读/写访问。
对于少量数据的循环访问(最大循环间隔约为5 秒),请使用订阅。优化OPC UA服务器中的最小发布间隔设置和最小采样间隔设置。
如果定期访问某些变量(重复访问),则可以使用“RegisteredRead”和“RegisteredWrite”功能。
2.OPC UA服务器连接失败的原因
建立与OPC UA 服务器的连接时,需要注意许多事项以确保过程顺利进行。连接建立错误的以下原因与所使用的OPC UA 客户端和服务器无关。
基于证书的连接日期和时间
基于证书授权的通信中,需要在OPC UA服务器上检查证书的有效期。这就要求端系统有当前时间。检查证书时,OPC UA 服务器可能会给出时间错误响应,状态代码为“BadSecurityChecksFailed”或“BadCertificateTimeInvalid”。解决方案是使用NTP服务器进行时钟同步。如果无法使用NTP,则只能为终端系统手动设置当前时间。
通过NAT 路由器的OPC UA 客户端-服务器连接尝试失败,并显示错误消息“BadCommunicationError”或“BadNotConnected”。
在NAT系统中,IPv4数据包由路由器处理。这意味着源IP?数据包的IP 地址(“源NAT”)或目标IP(“目标NAT”)将替换为路由器配置的IP 地址(取决于目标端口)。客户端和服务器不知道这个过程。
用户评论
S71500 PLC 作为 OPC UA 服务器,对于工业自动化来说非常实用,可以轻松实现数据交换和监控。
有18位网友表示赞同!
S71500 PLC 和 OPC UA 的结合,让数据传输更安全可靠,值得推荐。
有17位网友表示赞同!
一直在寻找合适的 PLC 和 OPC UA 解决方案,S71500 PLC 真是一个不错的选择。
有13位网友表示赞同!
S71500 PLC 作为 OPC UA 服务器,可实现跨平台数据通信,非常方便。
有14位网友表示赞同!
S71500 PLC + OPC UA,工业 4.0 的标配!
有11位网友表示赞同!
终于找到了一款支持 OPC UA 的 PLC,S71500 PLC 真是太棒了!
有10位网友表示赞同!
S71500 PLC 作为 OPC UA 服务器,可以实现实时数据采集和监控,非常实用。
有20位网友表示赞同!
S71500 PLC 作为 OPC UA 服务器,可以提高生产效率和安全性。
有6位网友表示赞同!
S71500 PLC 和 OPC UA 的组合,可以实现更灵活的自动化控制。
有15位网友表示赞同!
OPC UA 和 S71500 PLC 的组合,为工业自动化提供了新的可能性。
有18位网友表示赞同!
S71500 PLC 作为 OPC UA 服务器,可以实现数据可视化和远程监控。
有10位网友表示赞同!
S71500 PLC + OPC UA,未来工业自动化的发展方向。
有19位网友表示赞同!
S71500 PLC 支持 OPC UA 协议,非常方便集成到其他系统中。
有6位网友表示赞同!
S71500 PLC 作为 OPC UA 服务器,可以实现数据共享和协同工作。
有7位网友表示赞同!
S71500 PLC + OPC UA,工业自动化的全新体验。
有6位网友表示赞同!
S71500 PLC 作为 OPC UA 服务器,可以简化系统集成,提高效率。
有14位网友表示赞同!
S71500 PLC 和 OPC UA 的结合,可以实现更智能的自动化控制。
有5位网友表示赞同!
S71500 PLC + OPC UA,工业自动化的未来。
有14位网友表示赞同!
S71500 PLC 作为 OPC UA 服务器,可以实现更安全的工业数据传输。
有8位网友表示赞同!
S71500 PLC 和 OPC UA 的结合,可以实现更灵活的系统配置。
有11位网友表示赞同!