关注公众号【自动化与工程技术】,获取更多自动化资讯!


【导读】本文分为如下五个部分(后台回复N16下载SIMATIC NET V16)

(1)什么是OPC UA?

(2)通过OPC UA可以做什么?

(3)S7-1200支持的OPC UA功能有哪些?

(4)S7-1200 OPC UA性能参数

(5)OPCSCOUT与S7-1200 OPC UA通信

(6)使用OPC Scout V10测试与S7-1200的OPC UA通信

(一)什么是OPC UA?

标准 OPC 仅支持 Windows 操作系统,为了应对这一限制条件,OPC Foundation 研发出了 OPC UA(OPC统一架构)标准,OPC UA 标准并不特定于某个平台,并且针对高性能应用使用优化的基于 TCP 的二进制协议,OPC UA 支持诸如 Window、Linux、Apple OS X、实时操作系统或移动操作系统(Android 或 iOS),OPC UA 目前支持以下传输机制和协议:

● 通过 TCP/IP,将消息作为二进制流直接传输 (S7-1200/S7-1500支持)。● 通过 TCP/IP 和 HTTP 采用 XML 形式传送消息。由于这种传输机制仅支持慢速传输,因此极少使用。

S7-1200 基本控制器支持"Micro Embedded Device 2017 Server Profile"。由于 OPC UA 标准独立于特定的操作系统,并采用安全传送机制和数据语义描述,因此尤其适合于跨层级的数据交换,机器数据(受控变量,测量值或参数)也可采用这种方式传输,OPC UA 采用简单的客户端/服务器的机制进行通信,服务器可在网络中提供大量信息,如有关 CPU、OPC UA 服务器、数据和数据类型的信息,OPC UA 客户端访问这些信息。

西门子1200与intouch的通讯(西门子S7-1200与OPCUA通讯与测试)(1)

(二)通过OPC UA可以做什么?

OPC UA通信常用的有以下功能:

(三)S7-1200支持的OPC UA功能

(1)服务器:

S7-1200 CPU 固件版本 V4.4 及以上版本均配备 OPC UA 服务器,除了标准的S7-1200CPU外,还包括S7-1200F系列CPU。

OPC UA 服务器组态通常与在 S7-1500 CPU 中的组态一样,功能范围和数量限值受所支持"Micro Embedded Device 2017 Server Profile"的限制。与 S7-1500 CPU 不同的是,以下功能不可用:服务器方法、结构化数据类型(结构和数组)、Registered Read 和 Registered Write。

(2)客户端:

S7-1200 CPU 目前不支持,S7-1200/1500 OPC UA各版本兼容性如下表所示:

S7-1200以及TIA最低版本

S7-1500以及TIA最低版本

服务器

浏览

V4.4/TIA V16

V2.0/TIA V14

读/写

V4.4/TIA V16

V2.0/TIA V14

注册读/写

不可用

V2.0/TIA V14

订阅

V4.4/TIA V16

V2.0/TIA V14

方法

不可用

V2.5/TIA V15

伴随规范

V4.4/TIA V16

V2.5/TIA V15

诊断

不可用

V2.8/TIA V16

客户端

浏览

不可用

V2.6/TIA V15.1

注册读/写

V2.6/TIA V15.1

方法

V2.6/TIA V15.1

(四)S7-1200 OPC UA性能参数

S7-1200 OPC UA的性能参数,如下表所示:

S7-1200

最大会话数

5

最大访问变量数

1000

最大会话订阅数

5

最小采样间隔

100ms

最小发布间隔

200ms

最大服务器接口数

2

(五)OPCSCOUT与S7-1200 OPC UA通讯S7-1200 作为OPC UA 服务器,OPC SCOUT作为OPC UA客户端,S7-1200 CPU实现OPC UA 服务器的硬件和软件要求,如下表所示:

组件

版本

备注

硬件部分

S7-1200 各型号CPU

V4.4版本及以上

V4.4版本的S7-1200仅支持作为OPC UA的服务器

软件部分

TIA Porta STEP 7 Basic/Professional

V16及以上

TIA V16起才可以组态V4.4 版本的S7-1200CPU

OPC UA 许可证授权

SIMATIC OPC UA S7-1200 Basic

6ES7823-0BA00-2BA0

纸质授权 S7-1200全系列CPU均使用该授权(一个PLC一个授权即可)

测试客户端

SIMATIC NET V16 OPC Scout V10

OPC Scout V10 任意版本均可

公众号后台回复“N16”免费下载

(A)激活S7-1200 OPC UA服务器并设置相关参数

(1)创建PLC站点并设置IP地址

使用 TIA STEP7 V16 软件,创建S7-1200 CPU版本为V4.4的站点,如图1所示:

西门子1200与intouch的通讯(西门子S7-1200与OPCUA通讯与测试)(2)

图1.添加新设备

(2)为CPU分配子网以及IP地址,如图2所示:

西门子1200与intouch的通讯(西门子S7-1200与OPCUA通讯与测试)(3)

图2.设置子网以及IP

(3)启动OPC UA服务器

进入"设备视图",选中CPU,CPU属性 →OPC UA →服务器,勾选"激活OPC UA服务器",如图3所示:

西门子1200与intouch的通讯(西门子S7-1200与OPCUA通讯与测试)(4)

图3.启动OPCUA服务器

上图标记说明:

a:激活OPC UA 服务器 b:服务器地址:用于客户端访问服务器,激活S7-1200的OPC UA服务器功能后,该OPC UA服务器的地址为图中的:"opc:tcp://192.168.0.17:4840",服务器地址格式为:"opc:tcp://服务器IP:服务器端口号"

(4)设置服务器相关参数

CPU属性 →OPC UA →服务器 →选件 →常规 属性对话框内,可以设置端口号、最大会话超时时间,最大OPC UA会话数量等参数,如表2所示:

西门子1200与intouch的通讯(西门子S7-1200与OPCUA通讯与测试)(5)

表2.S7-1200 OPC UA 选件设置

(5)Secure channel设置

仅当 OPC UA 服务器可向 OPC UA 客户端证明身份时,才能建立服务器与客户端之间的安全连接。服务器证书可用于证实身份。CPU属性 →OPC UA →服务器 →Security →Secure channel,在此对话框内可以设置服务器证书、服务器上可用的安全策略、以及可信客户端,如表3所示:

西门子1200与intouch的通讯(西门子S7-1200与OPCUA通讯与测试)(6)

表3.S7-1200 Secure channel设置

(6)用户身份验证

CPU属性 →OPC UA →服务器 →Security →用户身份验证,此参数可设置 OPC UA 客户端中用户访问服务器时需通过的认证方式,如图4所示:

西门子1200与intouch的通讯(西门子S7-1200与OPCUA通讯与测试)(7)

图4.用户身份认证

上图标记说明:

a:启用访客认证:用户无需证明其身份(匿名访问)。OPC UA 服务器不会检查客户端用户的授权。b:启用用户名和密码认证:用户必须证明其身份(非匿名访问)。OPC UA 服务器将检查客户端用户是否具备访问服务器的权限。并通过用户名和正确的密码进行身份验证,在下方"用户管理" 表中输入用户,最多可添加 21 个用户。注意:以上两个选项,建议仅在通信调试初期使用使用“启动访客认证”,调试结束后应启用"启用用户名和密码认证",以确保通信安全。

(7)设置OPC UA 运行许可证

CPU属性 →运行系统许可证 →OPC UA →设置"购买的许可证类型",S7-1200所有CPU所使用的许可证类型都是一种:SIMATIC OPC UA S7-1200 Basic,如图5所示:

西门子1200与intouch的通讯(西门子S7-1200与OPCUA通讯与测试)(8)

图5.设置OPC UA 运行许可证

(B)OPC UA服务器接口

标准的SIMATIC服务器接口不可用于S7-1200,必须使用"OPC UA 通信"中添加的服务器接口,通过这些服务器接口启用PLC变量后,方可对OPC UA客户端可见,具体见下文描述。

(1)新增服务器接口

项目树 PLC站点下,OPC UA 通信→服务器接口 →新增服务器接口,在弹出的"新增服务器接口"内选择"服务器接口",如图6所示:

西门子1200与intouch的通讯(西门子S7-1200与OPCUA通讯与测试)(9)

图6.新增服务器接口

(2)建立通信数据块,并设置相关属性

手动建立通信数据块"opc ua DATA",并确保该DB 块的属性"数据从OPC UA可访问"处于勾选状态,如图7所示:

西门子1200与intouch的通讯(西门子S7-1200与OPCUA通讯与测试)(10)

图7.新建通信DB块并确认其属性

(3)建立通信变量,双击打开新建的DB块,并建立通信的变量,并根据需求勾选不同变量的OPC UA 读写访问属性,如图8所示:

西门子1200与intouch的通讯(西门子S7-1200与OPCUA通讯与测试)(11)

图8.设置各变量的OPC UA读写访问属性

(4)将OPC UA 元素连接至OPC UA 服务器接口

双击图6中新增的服务器接口,(项目树 PLC站点下,OPC UA 通信→服务器接口 →服务器接口_1 ),打开"OPC UA 服务器接口"对话框,将对话框右侧的OPC UA元素依次或者整体拖拽至左侧的服务器接口下方的空白行,如图9所示:

西门子1200与intouch的通讯(西门子S7-1200与OPCUA通讯与测试)(12)

图9.将OPC UA 元素连接至OPC UA 服务器接口

(六)使用OPC Scout V10测试与S7-1200的OPC UA通讯

下面使用SIMATIC NET自带OPC Client端软件OPC Scout V10客户端测试与S7-1200的OPC UA 通信,测试步骤如下描述。

(1)添加OPC UA Server站点

点击左下角的"Start"→"All Programs"→"Siemens Automation"→"SIMATIC"→"SIMATIC NET"→"OPC Scout V10"(或者直接在Start里搜索 OPC Scout V10),启动OPC Scout V10。如图10所示:

西门子1200与intouch的通讯(西门子S7-1200与OPCUA通讯与测试)(13)

图10.启动OPC Scout V10

(2)打开OPC Scout V10

在 Server explorer窗口,查找UA server→Add server,添加OPC UA 服务器,如图11所示:

西门子1200与intouch的通讯(西门子S7-1200与OPCUA通讯与测试)(14)

图11.添加OPC UA 服务器

上图标记说明:

1.手动设置服务器URL:opc.tcp://192.168.0.17:48402. 点击“Discovery”,查找服务器3. 在“Endpoints”处显示所查找到的服务器,4. 点击查找到的服务器后,显示该服务器设置的安全策略,此处以“None”无安全策略为例。5. 点击“Ok”,连接服务器

(3)访问OPC UA Server数据

将正常连接的服务器一级一级展开后,找到对应的变量节点,然后将其拖拽至右下方“Data View 1”点击“Monitoring On”监视,如果需要写操作也可以直接在“New Value”处填写新值,然后点击“Write”按钮,即可执行写操作,如图12所示:

西门子1200与intouch的通讯(西门子S7-1200与OPCUA通讯与测试)(15)

图12.访问OPC UA Server数据

注意:上图中无法整体访问变量“D”和变量“E”,这是因为S7-1200不支持数组以及结构的访问,但是支持数组与结构内元素的访问。


关注公众号【自动化与工程技术】,获取更多自动化资讯!

,