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

(1)什么是OPCUA?

(2)通过OPCUA可以做什么?

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

(4)S7-1200OPCUA性能参数

(5)OPCSCOUT与S7-1200OPCUA通信

(6)使用OPCScoutV10测试与S7-1200的OPCUA通信

(一)什么是OPCUA?

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

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

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

(二)通过OPCUA可以做什么?

OPCUA通信常用的有以下功能:

浏览

读/写

注册读/写

订阅

方法

伴随规范

(三)S7-1200支持的OPCUA功能

(1)服务器:

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

浏览

读/写

伴随规范

OPCUA服务器组态通常与在S7-1500CPU中的组态一样,功能范围和数量限值受所支持"MicroEmbeddedDevice2017ServerProfile"的限制。与S7-1500CPU不同的是,以下功能不可用:服务器方法、结构化数据类型(结构和数组)、RegisteredRead和RegisteredWrite。

(2)客户端:

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

S7-1200以及TIA最低版本

S7-1500以及TIA最低版本

服务器

浏览

/TIAV16

/TIAV14

读/写

/TIAV16

/TIAV14

注册读/写

不可用

/TIAV14

订阅

/TIAV16

/TIAV14

方法

不可用

/TIAV15

伴随规范

/TIAV16

/TIAV15

诊断

不可用

/TIAV16

客户端

浏览

不可用

/

注册读/写

/

方法

/

(四)S7-1200OPCUA性能参数

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

S7-1200

最大会话数

5

最大访问变量数

1000

最大会话订阅数

5

最小采样间隔

100ms

最小发布间隔

200ms

最大服务器接口数

2

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

组件

版本

备注

硬件部分

S7-1200各型号CPU

版本及以上

版本的S7-1200仅支持作为OPCUA的服务器

软件部分

TIAPortaSTEP7Basic/Professional

V16及以上

TIAV16起才可以组态版本的S7-1200CPU

OPCUA许可证授权

SIMATICOPCUAS7-1200Basic

6ES7823-0BA00-2BA0

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

测试客户端

SIMATICNETV16OPCScoutV10

OPCScoutV10任意版本均可

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


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

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

使用TIASTEP7V16软件,创建S7-1200CPU版本为的站点,如图1所示:

图1.添加新设备

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

图2.设置子网以及IP

(3)启动OPCUA服务器

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

图3.启动OPCUA服务器

上图标记说明:

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

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

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

表2.S7-1200OPCUA选件设置

(5)Securechannel设置

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

表3.S7-1200Securechannel设置

(6)用户身份验证

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

图4.用户身份认证

上图标记说明:

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

(7)设置OPCUA运行许可证

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

图5.设置OPCUA运行许可证

(B)OPCUA服务器接口

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

(1)新增服务器接口

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

图6.新增服务器接口

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

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

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

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

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

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

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

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

(六)使用OPCScoutV10测试与S7-1200的OPCUA通讯

下面使用SIMATICNET自带OPCClient端软件OPCScoutV10客户端测试与S7-1200的OPCUA通信,测试步骤如下描述。

(1)添加OPCUAServer站点

图10.启动OPCScoutV10

(2)打开OPCScoutV10

在Serverexplorer窗口,查找UAserver→Addserver,添加OPCUA服务器,如图11所示:

图11.添加OPCUA服务器

上图标记说明:

1.手动设置服务器URL:://192.168.0.17:4840

3.在“points”处显示所查找到的服务器,

(3)访问OPCUAServer数据

图12.访问OPCUAServer数据

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