OPCUA 是一种用于不同设备和系统之间进行通信的技术规范。通过OPCUA Client可以请求OPCUA Server数据,然后进行读写,实现各种设备和系统互相交流和共享数据,实现更高效的工业自动化。
使用场景
整体架构

主要功能及产品组件
注: 本手册中用到的中科时代的软件包,均可以从官网的子页面获取。官网提供的版本可能比本手册中提到的版本更高,一般情况下这不会影响您按照本手册的例子执行相应的操作
下表概述了各个产品组件
| 产品组件 | 描述说明 |
|---|---|
| sf4300-opcua_0.0.3-rc.2_amd64.deb | Opcua client RTE组件 |
| Sinsegye.Ide.Opcuaeditor.plugin_0.0.3.0 | MetaFacture 插件 |
安装要求
中科时代出厂的工智机;
工智机可以访问互联网;
熟悉基础的Linux操作命令;
安装过程
1、工智机端安装OPCUA Client RTE组件
上传deb包到工智机Linux环境的/home/sinsegye目录下
上传完成后在工智机上执行命令安装(参考下方截图,如果模块文件名发生变化则命令行中的文件名做相应更改)
修改RTE的配置文件,ComponentManger字段下加入sf4300_opcua
重启RTE服务,使新加入的sf4300_opcua被调用
2、MetaFacature安装opcua client插件
MetaFacture中点击“工具” -- “组件管理器”

点击“离线安装” -- 按照提示点击“确定” 关闭MetaFacture;

选中opcua clinet的插件,点击“打开”

安装完成后提示“已安装完成”

更新安装
1、工智机端更新OPCUA Client RTE组件
上传deb包到工智机Linux环境的/home/sinsegye目录下
上传完成后在工智机上执行命令安装(参考下方截图,如果模块文件名发生变化则命令行中的文件名做相应更改)
重启RTE服务,使新升级的sf4300_opcua生效
2、MetaFacature升级opcua client插件
MetaFacture中点击“工具” -- “组件管理器”

搜索旧的opcua client插件,选中后点击“卸载”

点击“离线安装” -- 按照提示点击“确定” 关闭MetaFacture;

选中新的opcua client的插件,点击“打开”

安装完成后提示“已安装完成”

卸载过程
1、卸载opcua client RTE组件
工智机上执行命令卸载opcua client RTE组件
修改RTE的配置文件,ComponentManger字段下去掉sf4300_opcua
重启RTE服务
2、MetaFacature卸载opcua client插件
MetaFacture中点击“工具” -- “组件管理器”

搜索旧的opcua client插件,选中后点击“卸载”

快速启动
本例软、硬件配置
硬件:
SX5100工智机 MetaOS V24.08.15_SX5
Win10 PC
软件:
MetaFacutre V1.0.6.2
第三方opcua server
本例实验要求及原理
1、实验原理

当MetaFacture作为OPC UA Client时,可以访问本地/远程的OPC-UA Servers里面的数据,便于工智机和第三方设备通过OPC UA的方式快速通信。
上位机和工智机使用EtherNet连接。
上位机上,MetaFacture下装工程到工智机。工程中会包含下面的试验操作步骤中的配置。
工智机与第三方opcua server通过EtherNet连接。
本例实验操作步骤
1、工程中创建opcua client实验步骤如下:
Metafacture工程中右键“Application”,点击“添加对象” 选择“OPC UA”

新建client完成后,双击新建的Client, “服务端url”中输入opcua server的地址,点击获取变量;

获取变量完成后提示“节点加载完成”,并在数据源框中显示了server中的点位;

2、OPCUA Client添加读变量
OPCUA_Client_setting中数据源勾选中OPCUA Server中变量,点击“添加读变量”

添加完成后,左下方状态由“读变量加载中”变为“读变量加载完成”,右侧的读变量区域也显示了对应的变量信息

3、OPCUA Client添加写变量
OPCUA_Client_setting中数据源勾选中OPCUA Server中变量,点击“添加写变量”

添加完成后,左下方状态由“写变量加载中”变为“写变量加载完成”,右侧的写变量区域也显示了对应的变量信息

4、Client删除变量
OPCUA_Client_Setting界面,在未点击左下角“完成”之前可以在“读变量”或“写变量”区域中选中想要删除的变量,点击“删除变量”

删除完成后,“读变量”和“写变量”的区域中不存在已经删除的变量
5、配置映射模式
5.1 手动模式
OPCUA Client完成读写变量添加后,左下角中选中“手动映射方式” ,点击“完成”;配置完成后的界面新增了“OPCUA_Client(Data)部分”

可在OPCUA_Client(Data)中的“SF4003opcuaIoDrvI/O映射”中的每个通道中添加工程中的变量,与OPCUA Client读写的OPCUA Server变量进行绑定;

5.2 自动模式
OPCUA Client完成读写变量添加后,左下角中选中“手动映射方式” ,点击“完成”;配置完成后的界面新增了四部分内容“OPCUA_Client_GVL”、“OPCUA_Client_PRG”、“OPCUA_Client_Data_Task”、“OPCUA_Client(Data)”

自动模式下OPCUA_Client(Data)中的SF4003opcuaIoDrvI/O映射中已经自动完成了映射配置

实验注意点
OPCUA Client支持的变量类型
| 数据类型 | 是否支持 | 数组是否支持 | 结构体是否支持 |
|---|---|---|---|
| BOOL | 支持 | 支持 | 支持 |
| BYTE | 支持 | 支持 | 支持 |
| WORD | 支持 | 支持 | 支持 |
| DWORD | 支持 | 支持 | 支持 |
| Lword | 支持 | 支持 | 支持 |
| SINT | 支持 | 支持 | 支持 |
| USINT | 支持 | 支持 | 支持 |
| INT | 支持 | 支持 | 支持 |
| UINT | 支持 | 支持 | 支持 |
| DINT | 支持 | 支持 | 支持 |
| UDINT | 支持 | 支持 | 支持 |
| LINT | 支持 | 支持 | 支持 |
| ULINT | 支持 | 支持 | 支持 |
| STRING | 支持 | 支持 | 支持 |
| WSTRING | 支持 | 支持 | 支持 |
| REAL | 支持 | 支持 | 支持 |
| LREAL | 支持 | 支持 | 支持 |
| TIME_OF_DAY | 支持 | 支持 | 支持 |
| DATE_AND_TIME | 不支持 | 不支持 | 不支持 |
| DATE | 不支持 | 不支持 | 不支持 |
工程支持配置多个OPCUA Client
| OPCUA Client数量 | Clinet连接的OPCUA Server情况 | 支持情况 |
|---|---|---|
| 2 | 不同Client连接同一个的OPCUA Server | 支持 |
| 2 | 不同Client分别连接不同的OPCUA Server | 支持 |
OPCUA Client工程运行后“OPCUA_Client_setting”中的“服务器状态”显示“服务器连接失败”

