![]() |
RMVL
1.5.0-dev
Robotic Manipulation and Vision Library
|
本模块基于 open62541 开发
更多...
类 | |
| class | rm::ClientView |
| OPC UA 客户端视图 更多... | |
| class | rm::Client |
| OPC UA 客户端 更多... | |
| class | rm::EventType |
| OPC UA 事件类型 更多... | |
| class | rm::Event |
| OPC UA 事件 更多... | |
| struct | rm::Argument |
| OPC UA 方法参数信息 更多... | |
| class | rm::Method |
| OPC UA 方法 更多... | |
| class | rm::ObjectType |
| OPC UA 对象类型 更多... | |
| class | rm::Object |
| OPC UA 对象 更多... | |
| struct | rm::PublishedDataSet |
| 待发布的数据集 (PDS) 更多... | |
| class | rm::Publisher< Tpid > |
| OPC UA 发布者 更多... | |
| class | rm::Publisher< TransportID::UDP_UADP > |
使用 UDP 协议以及 UADP 序列化方式的 Publisher 特化 更多... | |
| class | rm::ServerView |
| OPC UA 服务器视图 更多... | |
| class | rm::Server |
| OPC UA 服务器 更多... | |
| struct | rm::FieldMetaData |
| 数据集字段元数据 更多... | |
| class | rm::Subscriber< Tpid > |
| OPC UA 订阅者 更多... | |
| class | rm::Subscriber< TransportID::UDP_UADP > |
使用 UDP 协议以及 UADP 序列化方式的订阅者特化 更多... | |
| struct | rm::NodeId |
| OPC UA 节点 ID 更多... | |
| class | rm::DataType |
| OPC UA 数据类型 更多... | |
| struct | rm::UserConfig |
| 用户信息 更多... | |
| class | rm::VariableType |
| OPC UA 变量类型 更多... | |
| class | rm::Variable |
| OPC UA 变量 更多... | |
| class | rm::View |
| OPC UA 视图 更多... | |
宏定义 | |
| #define | uaCreateVariableType(val, ...) |
| 创建变量类型,BrowseName、DisplayName、Description 均为变量类型的名称 | |
| #define | uaCreateVariable(val, ...) |
| 创建变量,BrowseName、DisplayName、Description 均为变量类型的名称 | |
类型定义 | |
| using | rm::DataChangeNotificationCallback = std::function<void(ClientView, const Variable &)> |
| 数据变更通知回调函数 | |
| using | rm::EventNotificationCallback = std::function<void(ClientView, const std::vector<Variable> &)> |
| using | rm::MethodCallback = std::function<std::vector<Variable>(ServerView, const NodeId &, const std::vector<Variable> &)> |
| OPC UA 方法回调函数 | |
| using | rm::ValueCallbackBeforeRead = std::function<void(ServerView, const NodeId &, const Variable &)> |
| 值回调函数,Read 可调用对象定义 | |
| using | rm::ValueCallbackAfterWrite = std::function<void(ServerView, const NodeId &, const Variable &)> |
| 值回调函数,Write 可调用对象定义 | |
| using | rm::DataSourceRead = std::function<Variable(ServerView, const NodeId &)> |
| 数据源回调函数,Read 函数指针定义 | |
| using | rm::DataSourceWrite = std::function<void(ServerView, const NodeId &, const Variable &)> |
| 数据源回调函数,Write 函数指针定义 | |
| using | rm::ServerUserConfig = UA_StatusCode (*)(UA_Server *) |
服务器配置函数指针,由 nodeset_compiler 生成 | |
| using | rm::FindNodeInServer = ::std::tuple<UA_Server *, ::std::string_view, uint16_t> |
| 目标节点信息(服务端指针、浏览名、命名空间索引) | |
| using | rm::FindNodeInClient = ::std::tuple<UA_Client *, ::std::string_view, uint16_t> |
| 目标节点信息(客户端指针、浏览名、命名空间索引) | |
枚举 | |
| enum class | rm::TransportID : uint8_t { rm::TransportID::UDP_UADP = 1U , rm::TransportID::MQTT_UADP = 2U , rm::TransportID::MQTT_JSON = 3U } |
| 传输协议 更多... | |
| enum | rm::AccessLevel : uint8_t { rm::VARIABLE_READ = 1U , rm::VARIABLE_WRITE = 2U } |
函数 | |
| constexpr NodeId | rm::nodeBoolean (0, UA_NS0ID_BOOLEAN) |
数据类型节点:Boolean 节点 ID | |
| constexpr NodeId | rm::nodeSbyte (0, UA_NS0ID_SBYTE) |
数据类型节点:Sbyte 节点 ID | |
| constexpr NodeId | rm::nodeByte (0, UA_NS0ID_BYTE) |
数据类型节点:Byte 节点 ID | |
| constexpr NodeId | rm::nodeInt16 (0, UA_NS0ID_INT16) |
数据类型节点:Int16 节点 ID | |
| constexpr NodeId | rm::nodeUint16 (0, UA_NS0ID_UINT16) |
数据类型节点:Uint16 节点 ID | |
| constexpr NodeId | rm::nodeInt32 (0, UA_NS0ID_INT32) |
数据类型节点:Int32 节点 ID | |
| constexpr NodeId | rm::nodeUint32 (0, UA_NS0ID_UINT32) |
数据类型节点:Uint32 节点 ID | |
| constexpr NodeId | rm::nodeInt64 (0, UA_NS0ID_INT64) |
数据类型节点:Int64 节点 ID | |
| constexpr NodeId | rm::nodeUint64 (0, UA_NS0ID_UINT64) |
数据类型节点:Uint64 节点 ID | |
| constexpr NodeId | rm::nodeFloat (0, UA_NS0ID_FLOAT) |
数据类型节点:Float 节点 ID | |
| constexpr NodeId | rm::nodeDouble (0, UA_NS0ID_DOUBLE) |
数据类型节点:Double 节点 ID | |
| constexpr NodeId | rm::nodeString (0, UA_NS0ID_STRING) |
数据类型节点:String 节点 ID | |
| constexpr NodeId | rm::nodeDatetime (0, UA_NS0ID_DATETIME) |
数据类型节点:Datetime 节点 ID | |
| constexpr NodeId | rm::nodeObjectsFolder (0, UA_NS0ID_OBJECTSFOLDER) |
对象节点:ObjectsFolder 节点 ID | |
| constexpr NodeId | rm::nodeTypesFolder (0, UA_NS0ID_TYPESFOLDER) |
对象节点:TypesFolder 节点 ID | |
| constexpr NodeId | rm::nodeViewsFolder (0, UA_NS0ID_VIEWSFOLDER) |
对象节点:ViewsFolder 节点 ID | |
| constexpr NodeId | rm::nodeObjectTypesFolder (0, UA_NS0ID_OBJECTTYPESFOLDER) |
对象节点:ObjectTypesFolder 节点 ID | |
| constexpr NodeId | rm::nodeVariableTypesFolder (0, UA_NS0ID_VARIABLETYPESFOLDER) |
对象节点:VariableTypesFolder 节点 ID | |
| constexpr NodeId | rm::nodeServer (0, UA_NS0ID_SERVER) |
对象节点:Server 节点 ID | |
| constexpr NodeId | rm::nodeFolderType (0, UA_NS0ID_FOLDERTYPE) |
对象类型节点:FolderType 节点 ID | |
| constexpr NodeId | rm::nodeBaseObjectType (0, UA_NS0ID_BASEOBJECTTYPE) |
对象类型节点:BaseObjectType 节点 ID | |
| constexpr NodeId | rm::nodeBaseEventType (0, UA_NS0ID_BASEEVENTTYPE) |
对象类型节点:BaseEventType 节点 ID | |
| constexpr NodeId | rm::nodeBaseDataVariableType (0, UA_NS0ID_BASEDATAVARIABLETYPE) |
变量类型节点:BaseDataVariableType 节点 ID | |
| constexpr NodeId | rm::nodePropertyType (0, UA_NS0ID_PROPERTYTYPE) |
变量类型节点:PropertyType 节点 ID | |
| constexpr NodeId | rm::nodeOrganizes (0, UA_NS0ID_ORGANIZES) |
引用类型节点:Organizes 节点 ID | |
| constexpr NodeId | rm::nodeHasTypeDefinition (0, UA_NS0ID_HASTYPEDEFINITION) |
引用类型节点:HasTypeDefinition 节点 ID | |
| constexpr NodeId | rm::nodeHasComponent (0, UA_NS0ID_HASCOMPONENT) |
引用类型节点:HasComponent 节点 ID | |
| constexpr NodeId | rm::nodeHasProperty (0, UA_NS0ID_HASPROPERTY) |
引用类型节点:HasProperty 节点 ID | |
| constexpr NodeId | rm::nodeHasSubtype (0, UA_NS0ID_HASSUBTYPE) |
引用类型节点:HasSubtype 节点 ID | |
| constexpr NodeId | rm::nodeHasModellingRule (0, UA_NS0ID_HASMODELLINGRULE) |
引用类型节点:HasModellingRule 节点 ID | |
| NodeId | rm::operator| (NodeId origin, rm::FindNodeInServer &&fnis) |
| 服务端路径搜索 | |
| NodeId | rm::operator| (NodeId origin, rm::FindNodeInClient &&fnic) |
| 客户端路径搜索 | |
变量 | |
| constexpr UA_Byte | rm::typeflag_ns0 [] |
DataType 到对应 NS0 下的类型名的映射 | |
本模块基于 open62541 开发
OPC UA 服务器、客户端的封装,以及 OPC UA 支持的数据类型包括 Object、Variable、Method、View、Event 的定义。| #define uaCreateVariable | ( | val, | |
| ... ) |
#include <rmvl/opcua/variable.hpp>
创建变量,BrowseName、DisplayName、Description 均为变量类型的名称
| [in] | val | 变量的名称 |
| [in] | ... | 构造列表 |
| #define uaCreateVariableType | ( | val, | |
| ... ) |
#include <rmvl/opcua/variable.hpp>
创建变量类型,BrowseName、DisplayName、Description 均为变量类型的名称
| [in] | val | 变量类型的名称 |
| [in] | ... | 构造列表 |
| using rm::DataChangeNotificationCallback = std::function<void(ClientView, const Variable &)> |
| using rm::DataSourceRead = std::function<Variable(ServerView, const NodeId &)> |
#include <rmvl/opcua/server.hpp>
数据源回调函数,Read 函数指针定义
| [in] | server_view | OPC UA 服务器视图,指代当前服务器 |
| [in] | nodeid | 待读取的变量节点的 NodeId |
| using rm::DataSourceWrite = std::function<void(ServerView, const NodeId &, const Variable &)> |
#include <rmvl/opcua/server.hpp>
数据源回调函数,Write 函数指针定义
| [in] | server_view | OPC UA 服务器视图,指代当前服务器 |
| [in] | nodeid | 待写入的变量节点的 NodeId |
| [in] | value | 从服务器接收到的变量,一般用于写入外部数据 |
| using rm::EventNotificationCallback = std::function<void(ClientView, const std::vector<Variable> &)> |
#include <rmvl/opcua/client.hpp>
| using rm::FindNodeInClient = ::std::tuple<UA_Client *, ::std::string_view, uint16_t> |
#include <rmvl/opcua/utilities.hpp>
目标节点信息(客户端指针、浏览名、命名空间索引)
| using rm::FindNodeInServer = ::std::tuple<UA_Server *, ::std::string_view, uint16_t> |
#include <rmvl/opcua/utilities.hpp>
目标节点信息(服务端指针、浏览名、命名空间索引)
| using rm::MethodCallback = std::function<std::vector<Variable>(ServerView, const NodeId &, const std::vector<Variable> &)> |
#include <rmvl/opcua/method.hpp>
OPC UA 方法回调函数
| [in] | server_view | 服务器视图,指代当前服务器 |
| [in] | obj_id | 方法节点所在对象的 NodeId |
| [in] | args | 输入参数列表 |
| using rm::ServerUserConfig = UA_StatusCode (*)(UA_Server *) |
#include <rmvl/opcua/server.hpp>
服务器配置函数指针,由 nodeset_compiler 生成
| using rm::ValueCallbackAfterWrite = std::function<void(ServerView, const NodeId &, const Variable &)> |
#include <rmvl/opcua/server.hpp>
值回调函数,Write 可调用对象定义
| [in] | server_view | OPC UA 服务器视图,指代当前服务器 |
| [in] | nodeid | 待写入的变量节点的 NodeId |
| [in] | data | 服务器写入的变量 |
| using rm::ValueCallbackBeforeRead = std::function<void(ServerView, const NodeId &, const Variable &)> |
#include <rmvl/opcua/server.hpp>
值回调函数,Read 可调用对象定义
| [in] | server_view | OPC UA 服务器视图,指代当前服务器 |
| [in] | node_id | 待读取的变量节点的 NodeId |
| [in] | value | 服务器读取到的变量 |
| enum rm::AccessLevel : uint8_t |
#include <rmvl/opcua/variable.hpp>
| 枚举值 | |
|---|---|
| VARIABLE_READ | 读权限 |
| VARIABLE_WRITE | 写权限 |
|
strong |
#include <rmvl/opcua/utilities.hpp>
传输协议
| 枚举值 | |
|---|---|
| UDP_UADP | 使用 |
| MQTT_UADP | 使用 |
| MQTT_JSON | 使用 |
|
constexpr |
#include <rmvl/opcua/utilities.hpp>
变量类型节点:BaseDataVariableType 节点 ID
|
constexpr |
#include <rmvl/opcua/utilities.hpp>
对象类型节点:BaseEventType 节点 ID
|
constexpr |
#include <rmvl/opcua/utilities.hpp>
对象类型节点:BaseObjectType 节点 ID
|
constexpr |
#include <rmvl/opcua/utilities.hpp>
数据类型节点:Boolean 节点 ID
|
constexpr |
#include <rmvl/opcua/utilities.hpp>
数据类型节点:Byte 节点 ID
|
constexpr |
#include <rmvl/opcua/utilities.hpp>
数据类型节点:Datetime 节点 ID
|
constexpr |
#include <rmvl/opcua/utilities.hpp>
数据类型节点:Double 节点 ID
|
constexpr |
#include <rmvl/opcua/utilities.hpp>
数据类型节点:Float 节点 ID
|
constexpr |
#include <rmvl/opcua/utilities.hpp>
对象类型节点:FolderType 节点 ID
|
constexpr |
#include <rmvl/opcua/utilities.hpp>
引用类型节点:HasComponent 节点 ID
|
constexpr |
#include <rmvl/opcua/utilities.hpp>
引用类型节点:HasModellingRule 节点 ID
|
constexpr |
#include <rmvl/opcua/utilities.hpp>
引用类型节点:HasProperty 节点 ID
|
constexpr |
#include <rmvl/opcua/utilities.hpp>
引用类型节点:HasSubtype 节点 ID
|
constexpr |
#include <rmvl/opcua/utilities.hpp>
引用类型节点:HasTypeDefinition 节点 ID
|
constexpr |
#include <rmvl/opcua/utilities.hpp>
数据类型节点:Int16 节点 ID
|
constexpr |
#include <rmvl/opcua/utilities.hpp>
数据类型节点:Int32 节点 ID
|
constexpr |
#include <rmvl/opcua/utilities.hpp>
数据类型节点:Int64 节点 ID
|
constexpr |
|
constexpr |
#include <rmvl/opcua/utilities.hpp>
对象节点:ObjectTypesFolder 节点 ID
|
constexpr |
#include <rmvl/opcua/utilities.hpp>
引用类型节点:Organizes 节点 ID
|
constexpr |
#include <rmvl/opcua/utilities.hpp>
变量类型节点:PropertyType 节点 ID
|
constexpr |
#include <rmvl/opcua/utilities.hpp>
数据类型节点:Sbyte 节点 ID
|
constexpr |
#include <rmvl/opcua/utilities.hpp>
对象节点:Server 节点 ID
|
constexpr |
#include <rmvl/opcua/utilities.hpp>
数据类型节点:String 节点 ID
|
constexpr |
#include <rmvl/opcua/utilities.hpp>
对象节点:TypesFolder 节点 ID
|
constexpr |
#include <rmvl/opcua/utilities.hpp>
数据类型节点:Uint16 节点 ID
|
constexpr |
#include <rmvl/opcua/utilities.hpp>
数据类型节点:Uint32 节点 ID
|
constexpr |
#include <rmvl/opcua/utilities.hpp>
数据类型节点:Uint64 节点 ID
|
constexpr |
#include <rmvl/opcua/utilities.hpp>
对象节点:VariableTypesFolder 节点 ID
|
constexpr |
#include <rmvl/opcua/utilities.hpp>
对象节点:ViewsFolder 节点 ID
| NodeId rm::operator| | ( | NodeId | origin, |
| rm::FindNodeInClient && | fnic ) |
#include <rmvl/opcua/utilities.hpp>
客户端路径搜索
| [in] | origin | 起始 NodeId |
| [in] | fnic | 目标节点信息(客户端指针、命名空间、浏览名) |
| NodeId rm::operator| | ( | NodeId | origin, |
| rm::FindNodeInServer && | fnis ) |
#include <rmvl/opcua/utilities.hpp>
服务端路径搜索
| [in] | origin | 起始 NodeId |
| [in] | fnis | 目标节点信息(服务端指针、命名空间、浏览名) |
|
constexpr |
#include <rmvl/opcua/utilities.hpp>
DataType 到对应 NS0 下的类型名的映射
typeflag_ns0[UA_TYPES_INT16] 为 UA_NS0ID_INT16
1.12.0