RMVL  2.1.1
Robotic Manipulation and Vision Library
载入中...
搜索中...
未找到
rm::ClientView类 参考

OPC UA 客户端视图 更多...

#include <rmvl/opcua/client.hpp>

rm::ClientView 的协作图:

Public 成员函数

 ClientView ()=default
 
 ClientView (UA_Client *client)
 创建不占有生命周期的 OPC UA 客户端视图,在 OPC UA 方法节点中使用特别有效
 
ClientViewoperator= (UA_Client *const client)
 
UA_Client * get () const
 获取 OPC UA 客户端指针
 
FindNodeInClient node (std::string_view browse_name, uint16_t ns=1U) const
 获取路径搜索必要信息
 
NodeId find (std::string_view browse_path, const NodeId &src_nd=nodeObjectsFolder) const noexcept
 通过 BrowseName 的路径搜索命名空间 ns1 的节点
 
Variable read (const NodeId &nd) const
 从指定的变量节点读数据
 
bool write (const NodeId &nd, const Variable &val) const
 给指定的变量节点写数据
 

详细描述

OPC UA 客户端视图

示例
samples/opcua/opcua_client.cpp.

构造及析构函数说明

◆ ClientView() [1/2]

rm::ClientView::ClientView ( )
default
Python:
rm.ClientView() -> <ClientView object>

◆ ClientView() [2/2]

rm::ClientView::ClientView ( UA_Client * client)
inline
Python:
rm.ClientView() -> <ClientView object>

创建不占有生命周期的 OPC UA 客户端视图,在 OPC UA 方法节点中使用特别有效

参数
[in]clientOPC UA 客户端指针

成员函数说明

◆ find()

NodeId rm::ClientView::find ( std::string_view browse_path,
const NodeId & src_nd = nodeObjectsFolder ) const
noexcept
Python:
rm.ClientView.find(browse_path[, src_nd]) -> nd

通过 BrowseName 的路径搜索命名空间 ns1 的节点

参数
[in]browse_pathBrowseName 路径,使用 / 分隔
[in]src_nd源节点 ID,默认为 rm::nodeObjectsFolder
返回
节点 ID
auto node = cli.find("person/name", src_nd);
// 等效于 auto node = src_nd | cli.node("person") | cli.node("name");
FindNodeInClient node(std::string_view browse_name, uint16_t ns=1U) const
获取路径搜索必要信息
定义 client.hpp:63

◆ get()

UA_Client * rm::ClientView::get ( ) const
inline

获取 OPC UA 客户端指针

◆ node()

FindNodeInClient rm::ClientView::node ( std::string_view browse_name,
uint16_t ns = 1U ) const
inline

获取路径搜索必要信息

需要配合管道运算符 | 完成路径搜索

auto dst_mode = src_node | cli.node("person") | cli.node("name");
参数
[in]browse_name浏览名
[in]ns命名空间索引,默认为 1
返回
目标节点信息
返回值
fnic[_client, browse_name] 元组

◆ operator=()

ClientView & rm::ClientView::operator= ( UA_Client *const client)
inline

◆ read()

Variable rm::ClientView::read ( const NodeId & nd) const
Python:
rm.ClientView.read(nd) -> val

从指定的变量节点读数据

参数
[in]nd既存的变量节点的 NodeId
返回
读出的用 rm::Variable 表示的数据,未成功读取则返回空
示例
samples/opcua/opcua_client.cpp.

◆ write()

bool rm::ClientView::write ( const NodeId & nd,
const Variable & val ) const
Python:
rm.ClientView.write(nd, val) -> <success ?>

给指定的变量节点写数据

参数
[in]nd既存的变量节点的 NodeId
[in]val待写入的数据
返回
是否写入成功
示例
samples/opcua/opcua_client.cpp.

该类的文档由以下文件生成: