深入了解 S7-1500 的 OPC UA 特性

目录 Content
[hide]

OPC UA 的跨平台和安全性,使得它在工业4.0时代成为了通信协议首选。西门子在自家的 CPU S7-1500 固件 V2.0 起,就添加了 OPC UA SERVER 功能,前篇《S7-1500 中的 OPC UA 通信》就对此作了连接尝试。本文打算继续探索一下它的特性。

一、OPC UA 特性

主要特性如下:

  • OPC UA 不依赖于特定操作系统平台
  • OPC UA 有各种编程语言的实现
  • OPC 基金会提供了开源的 Java 和  .Net 例程
  • 众多公司提供了 SDK 包含 OPC 基金会的协议栈和附加功能
  • 可扩展:OPC UA 可用于传感器,嵌入式系统,控制器, PC系统以及智能电话以及 MES 和 ERP 服务应用
  • OPC UA 基于服务器客户端模式
  • 集成安全机制
    OPC UA 服务器和客户端可以使用 X509 证书建立安全连接
    服务器可以要求用户认证接入
  • OPC UA 不依赖特定的传输层
    通过TCP/IP传输二进制数据流的方式传输消息
    以XML格式传输消息
    通过TCP/IP进行快速数据交换被所有的OPC UA 应用支持
  • PLC Tag 映射
    PLC Tags 在 OPC UA 服务器中以节点的形式出现,客户端可以浏览、读写和监控
  • 元数据
    OPC UA 服务器能提供很多信息,如服务器自己的,数据,数据类型

二、S7-1500 中的 OPC UA 服务器

1.节点类型

OPC UA 服务器通过节点的方式提供信息,节点有很多属性。

节点可以是下面几种:

  • object 对象
  • tag 变量
  • method 方法

2. 接入点 End Points

在连接前,客户端可以查询服务端列出连接点。服务端返回一个连接点列表,每个连接点都具有安全策略。

接入点具有如下结构:

  • OPC 标识符:“opc.tcp”
  • IP地址
  • OPC UA 端口,默认 4840
  • 消息的安全模式:None,Sign,SignAndEncrypt
  • 加密和哈希(安全策略):None,Basic128Rsa15,Basic256,Basic256Sha256 等

3. OPC UA 服务器提供的信息

  • 客户端能够访问的 PLC/DB 变量的数值
  • PLC/DB 变量的类型
  • OPC UA 服务器自己的信息以及 CPU 信息

4. 节点寻址

一个节点由两部分构成:

  • 标识符
  • 命名空间索引

三、OPC UA 客户端

OPC UA 客户端可以读写OPC UA服务器的数据

1.  读写数值

知道 PLC 变量的命名空间索引,标识符(和数据类型),可以直接读取和写入单独的PLC 变量和 DB 数据。

2. 通过注册快速读写

如果要定期读写变量,那么使用 “RegisteredRead ”和 “RegisteredWrtite ” 功能。客户端先向服务器注册变量,服务器会返回一个标识符用于当前会话连接,一旦当前会话丢失需要重新获取。

3. 订阅

OPC UA 服务器在订阅的变量数值发生改变时,会将消息发送给订阅的客户端。订阅使得网络负担降低。可以指定“Publishing Interval” 发布周期。

四、OPC UA 安全

OPC UA 提供下面的的安全机制:

  • 验证 OPC UA 服务端和客户端的身份
  • 验证用户的身份
  • 服务端和客户端的数据交换可以经过签名或者和加密

五、访问 PLC Tags

1.  配置读写权限

可以在 Tags 和 DB 里,配置读和写权限,也可以同时取消读写权限,这样 OPC 客户端就看不到这些变量。

2. 更快访问数组和结构

相比于访问当个变量,如果整体访问数组或者结构能够显著提高性能,数组访问是最快速的。因此,应该把数据组成一个数组,建立DB时,选择 “Array DB” 类型。或者退一步把数据组织成结构。

3. 导出变量的 XML

导出的 XML 文件,包含了OPCUA可以访问的变量列表

六、OPC UA 服务器配置

其他配置不多说,说主要的。

Minimum publishing interval

设定值决定 OPC UA 服务器发送订阅的消息的最小时间间隔。此数值会影响CPU负荷,需要合理设置。

Minimum sampling interval

设定值决定 OPC UA 服务器的最小采样时间间隔。此数值会影响CPU负荷,需要合理设置。

Leave a Reply

Your email address will not be published. Required fields are marked *