【导读】本文分为如下五个部分(后台回复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不支持数组以及结构的访问,但是支持数组与结构内元素的访问。