RMVL  2.2.0-dev
Robotic Manipulation and Vision Library
载入中...
搜索中...
未找到
rm::Publisher类 参考

OPC UA 发布者 更多...

#include <rmvl/opcua/publisher.hpp>

类 rm::Publisher 继承关系图:
rm::Publisher 的协作图:

Public 成员函数

 Publisher (std::string_view pub_name, const std::string &addr, uint16_t port=4840U, const std::vector< UserConfig > &users={})
 创建 OPC UA 发布者
 
bool publish (const std::vector< PublishedDataSet > &datas, double duration)
 发布数据集
 
- Public 成员函数 继承自 rm::Server
 Server (uint16_t port, std::string_view name={}, const std::vector< UserConfig > &users={})
 创建 OPC UA 服务器
 
 Server (UA_StatusCode(*on_config)(UA_Server *), uint16_t port, std::string_view name={}, const std::vector< UserConfig > &users={})
 从服务器配置函数指针创建 OPC UA 服务器
 
 operator ServerView () const
 
void spin ()
 启动服务器并阻塞
 
void spinOnce ()
 单次处理网络层中的重复回调和事件(单次启动服务器)
 
void shutdown ()
 停止服务器
 
 ~Server ()
 
FindNodeInServer 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 的节点
 
NodeId addVariableTypeNode (const VariableType &vtype)
 添加变量类型节点 VariableTypeNode 至 BaseDataVariableType
 
NodeId addVariableNode (const Variable &val, const NodeId &parent_nd=nodeObjectsFolder) noexcept
 添加变量节点 VariableNode 至指定父节点中,并指定引用类型
 
bool addVariableNodeValueCallback (NodeId nd, ValueCallbackBeforeRead before_read, ValueCallbackAfterWrite after_write) noexcept
 为既有的变量节点 VariableNode 添加值回调
 
NodeId addDataSourceVariableNode (const DataSourceVariable &val, NodeId parent_nd=nodeObjectsFolder) noexcept
 添加数据源变量节点 VariableNode 至指定父节点中
 
Variable read (const NodeId &node) const
 从指定的变量节点读数据
 
bool write (const NodeId &node, const Variable &val)
 给指定的变量节点写数据
 
NodeId addMethodNode (const Method &method, const NodeId &parent_nd=nodeObjectsFolder)
 添加方法节点 MethodNode 至指定父节点中
 
bool setMethodNodeCallBack (const NodeId &nd, MethodCallback on_method)
 为既有的方法节点 MethodNode 设置方法的回调函数
 
NodeId addObjectTypeNode (const ObjectType &otype)
 添加对象类型节点 ObjectTypeNode 至 rm::nodeBaseObjectType
 
NodeId addObjectNode (const Object &obj, NodeId parent_nd=nodeObjectsFolder)
 添加对象节点 ObjectNode 至指定的父节点中
 
NodeId addViewNode (const View &view)
 添加视图节点 ViewNode 至 rm::nodeViewsFolder
 
NodeId addEventTypeNode (const EventType &etype)
 添加事件类型至 BaseEventType
 
bool triggerEvent (const Event &event) const
 创建并触发事件
 

额外继承的成员函数

- Public 类型 继承自 rm::Server
using ValueCallbackWrapper = std::pair<ValueCallbackBeforeRead, ValueCallbackAfterWrite>
 
using DataSourceCallbackWrapper = std::pair<DataSourceRead, DataSourceWrite>
 
- Protected 属性 继承自 rm::Server
UA_Server * _server
 OPC UA 服务器指针
 
std::atomic_bool _running {}
 服务器运行状态
 

详细描述

OPC UA 发布者

构造及析构函数说明

◆ Publisher()

rm::Publisher::Publisher ( std::string_view pub_name,
const std::string & addr,
uint16_t port = 4840U,
const std::vector< UserConfig > & users = {} )
Python:
rm.Publisher(pub_name, addr[, port[, users]]) -> <Publisher object>

创建 OPC UA 发布者

参数
[in]pub_name发布者名称
[in]addr不加端口的网络多播 IP 地址,形如 opc.udp://224.0.1.22
[in]port端口号,并且作为多播 IP 地址的端口号,与 Server::Server 的端口号概念一致,默认为 4840U
[in]users用户列表,默认为空,可参考 UserConfig

成员函数说明

◆ publish()

bool rm::Publisher::publish ( const std::vector< PublishedDataSet > & datas,
double duration )
Python:
rm.Publisher.publish(datas, duration) -> <success ?>

发布数据集

参数
[in]datas待发布的数据集列表
[in]duration发布周期,单位为 ms
返回
是否发布成功

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