RMVL
1.2.1
Robotic Manipulation and Vision Library
|
本模块基于 open62541
开发
更多...
类 | |
class | rm::Client |
OPC UA 客户端 更多... | |
class | rm::EventType |
OPC UA 事件类型 更多... | |
class | rm::Event |
OPC UA 事件 更多... | |
struct | rm::Argument |
OPC UA 方法参数 更多... | |
struct | 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::Server |
OPC UA 服务器 更多... | |
struct | rm::FieldMetaData |
数据集字段元数据 更多... | |
class | rm::Subscriber< Tpid > |
OPC UA 订阅者 更多... | |
class | rm::Subscriber< TransportID::UDP_UADP > |
使用 UDP 协议以及 UADP 序列化方式的订阅者特化 更多... | |
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::ValueCallBackBeforeRead |
值回调函数,Read 函数指针定义 | |
using | rm::ValueCallBackAfterWrite |
值回调函数,Write 函数指针定义 | |
using | rm::DataSourceRead |
数据源回调函数,Read 函数指针定义 | |
using | rm::DataSourceWrite |
数据源回调函数,Write 函数指针定义 | |
using | rm::ServerUserConfig = UA_StatusCode (*)(UA_Server *) |
服务器配置函数指针,由 nodeset_compiler 生成 | |
using | rm::UA_TypeFlag = UA_UInt32 |
类型标志位,可通过 typeflag.at(xxx) 进行获取 | |
using | rm::FindNodeInServer = ::std::tuple<UA_Server *, ::std::string> |
目标节点信息(服务端指针、浏览名) | |
using | rm::FindNodeInClient = ::std::tuple<UA_Client *, ::std::string> |
目标节点信息(客户端指针、浏览名) | |
枚举 | |
enum class | rm::TransportID : uint8_t { rm::TransportID::UDP_UADP = 1U , rm::TransportID::MQTT_UADP = 2U , rm::TransportID::MQTT_JSON = 3U } |
传输协议 更多... | |
函数 | |
UA_NodeId | operator| (UA_NodeId origin, rm::FindNodeInServer &&fnis) |
服务端路径搜索 | |
UA_NodeId | operator| (UA_NodeId origin, rm::FindNodeInClient &&fnic) |
客户端路径搜索 | |
变量 | |
const std::unordered_map< std::type_index, UA_TypeFlag > | rm::typeflag |
获取形如 UA_TYPES_<xxx> 的类型标志位 | |
constexpr UA_NodeId | rm::nodeBoolean {0, UA_NODEIDTYPE_NUMERIC, UA_NS0ID_BOOLEAN} |
数据类型节点:Boolean 节点 ID | |
constexpr UA_NodeId | rm::nodeSbyte {0, UA_NODEIDTYPE_NUMERIC, UA_NS0ID_SBYTE} |
数据类型节点:Sbyte 节点 ID | |
constexpr UA_NodeId | rm::nodeByte {0, UA_NODEIDTYPE_NUMERIC, UA_NS0ID_BYTE} |
数据类型节点:Byte 节点 ID | |
constexpr UA_NodeId | rm::nodeInt16 {0, UA_NODEIDTYPE_NUMERIC, UA_NS0ID_INT16} |
数据类型节点:Int16 节点 ID | |
constexpr UA_NodeId | rm::nodeUint16 {0, UA_NODEIDTYPE_NUMERIC, UA_NS0ID_UINT16} |
数据类型节点:Uint16 节点 ID | |
constexpr UA_NodeId | rm::nodeInt32 {0, UA_NODEIDTYPE_NUMERIC, UA_NS0ID_INT32} |
数据类型节点:Int32 节点 ID | |
constexpr UA_NodeId | rm::nodeUint32 {0, UA_NODEIDTYPE_NUMERIC, UA_NS0ID_UINT32} |
数据类型节点:Uint32 节点 ID | |
constexpr UA_NodeId | rm::nodeInt64 {0, UA_NODEIDTYPE_NUMERIC, UA_NS0ID_INT64} |
数据类型节点:Int64 节点 ID | |
constexpr UA_NodeId | rm::nodeUint64 {0, UA_NODEIDTYPE_NUMERIC, UA_NS0ID_UINT64} |
数据类型节点:Uint64 节点 ID | |
constexpr UA_NodeId | rm::nodeFloat {0, UA_NODEIDTYPE_NUMERIC, UA_NS0ID_FLOAT} |
数据类型节点:Float 节点 ID | |
constexpr UA_NodeId | rm::nodeDouble {0, UA_NODEIDTYPE_NUMERIC, UA_NS0ID_DOUBLE} |
数据类型节点:Double 节点 ID | |
constexpr UA_NodeId | rm::nodeString {0, UA_NODEIDTYPE_NUMERIC, UA_NS0ID_STRING} |
数据类型节点:String 节点 ID | |
constexpr UA_NodeId | rm::nodeDatetime {0, UA_NODEIDTYPE_NUMERIC, UA_NS0ID_DATETIME} |
数据类型节点:Datetime 节点 ID | |
constexpr UA_NodeId | rm::nodeObjectsFolder {0, UA_NODEIDTYPE_NUMERIC, UA_NS0ID_OBJECTSFOLDER} |
对象节点:ObjectsFolder 节点 ID | |
constexpr UA_NodeId | rm::nodeTypesFolder {0, UA_NODEIDTYPE_NUMERIC, UA_NS0ID_TYPESFOLDER} |
对象节点:TypesFolder 节点 ID | |
constexpr UA_NodeId | rm::nodeViewsFolder {0, UA_NODEIDTYPE_NUMERIC, UA_NS0ID_VIEWSFOLDER} |
对象节点:ViewsFolder 节点 ID | |
constexpr UA_NodeId | rm::nodeObjectTypesFolder {0, UA_NODEIDTYPE_NUMERIC, UA_NS0ID_OBJECTTYPESFOLDER} |
对象节点:ObjectTypesFolder 节点 ID | |
constexpr UA_NodeId | rm::nodeVariableTypesFolder {0, UA_NODEIDTYPE_NUMERIC, UA_NS0ID_VARIABLETYPESFOLDER} |
对象节点:VariableTypesFolder 节点 ID | |
constexpr UA_NodeId | rm::nodeServer {0, UA_NODEIDTYPE_NUMERIC, UA_NS0ID_SERVER} |
对象节点:Server 节点 ID | |
constexpr UA_NodeId | rm::nodeFolderType {0, UA_NODEIDTYPE_NUMERIC, UA_NS0ID_FOLDERTYPE} |
对象类型节点:FolderType 节点 ID | |
constexpr UA_NodeId | rm::nodeBaseObjectType {0, UA_NODEIDTYPE_NUMERIC, UA_NS0ID_BASEOBJECTTYPE} |
对象类型节点:BaseObjectType 节点 ID | |
constexpr UA_NodeId | rm::nodeBaseEventType {0, UA_NODEIDTYPE_NUMERIC, UA_NS0ID_BASEEVENTTYPE} |
对象类型节点:BaseEventType 节点 ID | |
constexpr UA_NodeId | rm::nodeBaseDataVariableType {0, UA_NODEIDTYPE_NUMERIC, UA_NS0ID_BASEDATAVARIABLETYPE} |
变量类型节点:BaseDataVariableType 节点 ID | |
constexpr UA_NodeId | rm::nodePropertyType {0, UA_NODEIDTYPE_NUMERIC, UA_NS0ID_PROPERTYTYPE} |
变量类型节点:PropertyType 节点 ID | |
constexpr UA_NodeId | rm::nodeOrganizes {0, UA_NODEIDTYPE_NUMERIC, UA_NS0ID_ORGANIZES} |
引用类型节点:Organizes 节点 ID | |
constexpr UA_NodeId | rm::nodeHasTypeDefinition {0, UA_NODEIDTYPE_NUMERIC, UA_NS0ID_HASTYPEDEFINITION} |
引用类型节点:HasTypeDefinition 节点 ID | |
constexpr UA_NodeId | rm::nodeHasComponent {0, UA_NODEIDTYPE_NUMERIC, UA_NS0ID_HASCOMPONENT} |
引用类型节点:HasComponent 节点 ID | |
constexpr UA_NodeId | rm::nodeHasProperty {0, UA_NODEIDTYPE_NUMERIC, UA_NS0ID_HASPROPERTY} |
引用类型节点:HasProperty 节点 ID | |
constexpr UA_NodeId | rm::nodeHasSubtype {0, UA_NODEIDTYPE_NUMERIC, UA_NS0ID_HASSUBTYPE} |
引用类型节点:HasSubtype 节点 ID | |
constexpr UA_NodeId | rm::nodeHasModellingRule {0, UA_NODEIDTYPE_NUMERIC, UA_NS0ID_HASMODELLINGRULE} |
引用类型节点:HasModellingRule 节点 ID | |
constexpr UA_Byte | rm::typeflag_ns0 [] |
UA_TypeFlag 到对应 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::DataSourceRead |
#include <rmvl/opcua/server.hpp>
数据源回调函数,Read 函数指针定义
using rm::DataSourceWrite |
#include <rmvl/opcua/server.hpp>
数据源回调函数,Write 函数指针定义
using rm::FindNodeInClient = ::std::tuple<UA_Client *, ::std::string> |
#include <rmvl/opcua/utilities.hpp>
目标节点信息(客户端指针、浏览名)
using rm::FindNodeInServer = ::std::tuple<UA_Server *, ::std::string> |
#include <rmvl/opcua/utilities.hpp>
目标节点信息(服务端指针、浏览名)
using rm::ServerUserConfig = UA_StatusCode (*)(UA_Server *) |
#include <rmvl/opcua/server.hpp>
服务器配置函数指针,由 nodeset_compiler
生成
using rm::UA_TypeFlag = UA_UInt32 |
#include <rmvl/opcua/utilities.hpp>
类型标志位,可通过 typeflag.at(xxx)
进行获取
#include <rmvl/opcua/server.hpp>
值回调函数,Write 函数指针定义
#include <rmvl/opcua/server.hpp>
值回调函数,Read 函数指针定义
|
strong |
#include <rmvl/opcua/utilities.hpp>
传输协议
枚举值 | |
---|---|
UDP_UADP | 使用 |
MQTT_UADP | 使用 |
MQTT_JSON | 使用 |
UA_NodeId operator| | ( | UA_NodeId | origin, |
rm::FindNodeInClient && | fnic ) |
#include <rmvl/opcua/utilities.hpp>
客户端路径搜索
[in] | origin | 起始 NodeId |
[in] | fnic | 目标节点信息(客户端指针、命名空间、浏览名) |
UA_NodeId operator| | ( | UA_NodeId | origin, |
rm::FindNodeInServer && | fnis ) |
#include <rmvl/opcua/utilities.hpp>
服务端路径搜索
[in] | origin | 起始 NodeId |
[in] | fnis | 目标节点信息(服务端指针、命名空间、浏览名) |
|
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
|
inline |
#include <rmvl/opcua/utilities.hpp>
获取形如 UA_TYPES_<xxx>
的类型标志位
|
constexpr |
#include <rmvl/opcua/utilities.hpp>
UA_TypeFlag
到对应 NS0
下的类型名的映射
typeflag_ns0[UA_TYPES_INT16]
为 UA_NS0ID_INT16