RMVL  2.1.0-dev
Robotic Manipulation and Vision Library
载入中...
搜索中...
未找到
OPC UA 模块

本模块基于 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 序列化方式的订阅者特化 更多...
 
class  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, InputVariables)>
 事件通知回调函数
 
using rm::MethodCallback = std::function<bool(ServerView, const NodeId &, InputVariables, OutputVariables)>
 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>
 目标节点信息(客户端指针、浏览名、命名空间索引)
 
using rm::InputVariables = const std::vector<Variable> &
 输入变量列表
 
using rm::OutputVariables = std::vector<Variable> &
 输出变量列表
 

枚举

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 }
 

函数

NodeId rm::operator| (NodeId origin, rm::FindNodeInServer &&fnis)
 服务端路径搜索
 
NodeId rm::operator| (NodeId origin, rm::FindNodeInClient &&fnic)
 客户端路径搜索
 

变量

constexpr DataType rm::tpBoolean {UA_TYPES_BOOLEAN}
 数据类型:Boolean
 
constexpr DataType rm::tpSbyte {UA_TYPES_SBYTE}
 数据类型:Sbyte
 
constexpr DataType rm::tpByte {UA_TYPES_BYTE}
 数据类型:Byte
 
constexpr DataType rm::tpInt16 {UA_TYPES_INT16}
 数据类型:Int16
 
constexpr DataType rm::tpUInt16 {UA_TYPES_UINT16}
 数据类型:Uint16
 
constexpr DataType rm::tpInt32 {UA_TYPES_INT32}
 数据类型:Int32
 
constexpr DataType rm::tpUInt32 {UA_TYPES_UINT32}
 数据类型:Uint32
 
constexpr DataType rm::tpInt64 {UA_TYPES_INT64}
 数据类型:Int64
 
constexpr DataType rm::tpUInt64 {UA_TYPES_UINT64}
 数据类型:Uint64
 
constexpr DataType rm::tpFloat {UA_TYPES_FLOAT}
 数据类型:Float
 
constexpr DataType rm::tpDouble {UA_TYPES_DOUBLE}
 数据类型:Double
 
constexpr DataType rm::tpString {UA_TYPES_STRING}
 数据类型:String
 
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
 

详细描述

本模块基于 open62541 开发

宏定义说明

◆ uaCreateVariable

#define uaCreateVariable ( val,
... )

#include <rmvl/opcua/variable.hpp>

值:
rm::Variable val{__VA_ARGS__}; \
val.browse_name = val.display_name = val.description = #val
OPC UA 变量
定义 variable.hpp:111
std::string browse_name
浏览名称 BrowseName
定义 variable.hpp:216

创建变量,BrowseName、DisplayName、Description 均为变量类型的名称

参数
[in]val变量的名称
[in]...构造列表

◆ uaCreateVariableType

#define uaCreateVariableType ( val,
... )

#include <rmvl/opcua/variable.hpp>

值:
rm::VariableType val{__VA_ARGS__}; \
val.browse_name = val.display_name = val.description = #val
OPC UA 变量类型
定义 variable.hpp:36
std::string browse_name
浏览名称 BrowseName
定义 variable.hpp:48

创建变量类型,BrowseName、DisplayName、Description 均为变量类型的名称

参数
[in]val变量类型的名称
[in]...构造列表

类型定义说明

◆ DataChangeNotificationCallback

using rm::DataChangeNotificationCallback = std::function<void(ClientView, const Variable &)>

#include <rmvl/opcua/client.hpp>

数据变更通知回调函数

参数
[in]client_view客户端视图,指代当前客户端
[in]value数据发生变更后的变量

◆ DataSourceRead

using rm::DataSourceRead = std::function<Variable(ServerView, const NodeId &)>

#include <rmvl/opcua/server.hpp>

数据源回调函数,Read 函数指针定义

参数
[in]server_viewOPC UA 服务器视图,指代当前服务器
[in]nodeid待读取的变量节点的 NodeId
返回
向服务器提供的待读取的变量

◆ DataSourceWrite

using rm::DataSourceWrite = std::function<void(ServerView, const NodeId &, const Variable &)>

#include <rmvl/opcua/server.hpp>

数据源回调函数,Write 函数指针定义

参数
[in]server_viewOPC UA 服务器视图,指代当前服务器
[in]nodeid待写入的变量节点的 NodeId
[in]value从服务器接收到的变量,一般用于写入外部数据

◆ EventNotificationCallback

#include <rmvl/opcua/client.hpp>

事件通知回调函数

参数
[in]client_view客户端视图,指代当前客户端
[in]event_fields事件数据

◆ FindNodeInClient

using rm::FindNodeInClient = ::std::tuple<UA_Client *, ::std::string_view, uint16_t>

#include <rmvl/opcua/utilities.hpp>

目标节点信息(客户端指针、浏览名、命名空间索引)

◆ FindNodeInServer

using rm::FindNodeInServer = ::std::tuple<UA_Server *, ::std::string_view, uint16_t>

#include <rmvl/opcua/utilities.hpp>

目标节点信息(服务端指针、浏览名、命名空间索引)

◆ InputVariables

using rm::InputVariables = const std::vector<Variable> &

#include <rmvl/opcua/variable.hpp>

输入变量列表

◆ MethodCallback

using rm::MethodCallback = std::function<bool(ServerView, const NodeId &, InputVariables, OutputVariables)>

#include <rmvl/opcua/method.hpp>

OPC UA 方法回调函数

参数
[in]server_view服务器视图,指代当前服务器
[in]obj_id方法节点所在对象的 NodeId
[in]iargs输入参数列表
[out]oargs输出参数列表(已根据方法节点输出参数的长度初始化)
返回
是否成功完成当前操作

◆ OutputVariables

using rm::OutputVariables = std::vector<Variable> &

#include <rmvl/opcua/variable.hpp>

输出变量列表

◆ ServerUserConfig

using rm::ServerUserConfig = UA_StatusCode (*)(UA_Server *)

#include <rmvl/opcua/server.hpp>

服务器配置函数指针,由 nodeset_compiler 生成

◆ ValueCallbackAfterWrite

using rm::ValueCallbackAfterWrite = std::function<void(ServerView, const NodeId &, const Variable &)>

#include <rmvl/opcua/server.hpp>

值回调函数,Write 可调用对象定义

参数
[in]server_viewOPC UA 服务器视图,指代当前服务器
[in]nodeid待写入的变量节点的 NodeId
[in]data服务器写入的变量

◆ ValueCallbackBeforeRead

using rm::ValueCallbackBeforeRead = std::function<void(ServerView, const NodeId &, const Variable &)>

#include <rmvl/opcua/server.hpp>

值回调函数,Read 可调用对象定义

参数
[in]server_viewOPC UA 服务器视图,指代当前服务器
[in]node_id待读取的变量节点的 NodeId
[in]value服务器读取到的变量

枚举类型说明

◆ AccessLevel

enum rm::AccessLevel : uint8_t

#include <rmvl/opcua/variable.hpp>

枚举值
VARIABLE_READ 

读权限

VARIABLE_WRITE 

写权限

◆ TransportID

enum class rm::TransportID : uint8_t
strong

#include <rmvl/opcua/utilities.hpp>

传输协议

枚举值
UDP_UADP 

使用 UDP 传输协议映射和 UADP 消息映射的组合,此协议用于 无代理 的消息传递

MQTT_UADP 

使用 MQTT 传输协议映射和 UADP 消息映射的组合,此协议用于 基于代理 的消息传递

MQTT_JSON 

使用 MQTT 传输协议映射和 JSON 消息映射的组合,此协议用于 基于代理 的消息传递

函数说明

◆ operator|() [1/2]

NodeId rm::operator| ( NodeId origin,
rm::FindNodeInClient && fnic )

#include <rmvl/opcua/utilities.hpp>

客户端路径搜索

参数
[in]origin起始 NodeId
[in]fnic目标节点信息(客户端指针、命名空间、浏览名)
返回
目标 NodeId

◆ operator|() [2/2]

NodeId rm::operator| ( NodeId origin,
rm::FindNodeInServer && fnis )

#include <rmvl/opcua/utilities.hpp>

服务端路径搜索

参数
[in]origin起始 NodeId
[in]fnis目标节点信息(服务端指针、命名空间、浏览名)
返回
目标 NodeId

变量说明

◆ nodeBaseDataVariableType

NodeId rm::nodeBaseDataVariableType {0, UA_NS0ID_BASEDATAVARIABLETYPE}
constexpr

#include <rmvl/opcua/utilities.hpp>

变量类型节点:BaseDataVariableType 节点 ID

◆ nodeBaseEventType

NodeId rm::nodeBaseEventType {0, UA_NS0ID_BASEEVENTTYPE}
constexpr

#include <rmvl/opcua/utilities.hpp>

对象类型节点:BaseEventType 节点 ID

◆ nodeBaseObjectType

NodeId rm::nodeBaseObjectType {0, UA_NS0ID_BASEOBJECTTYPE}
constexpr

#include <rmvl/opcua/utilities.hpp>

对象类型节点:BaseObjectType 节点 ID

◆ nodeBoolean

NodeId rm::nodeBoolean {0, UA_NS0ID_BOOLEAN}
constexpr

#include <rmvl/opcua/utilities.hpp>

数据类型节点:Boolean 节点 ID

◆ nodeByte

NodeId rm::nodeByte {0, UA_NS0ID_BYTE}
constexpr

#include <rmvl/opcua/utilities.hpp>

数据类型节点:Byte 节点 ID

◆ nodeDatetime

NodeId rm::nodeDatetime {0, UA_NS0ID_DATETIME}
constexpr

#include <rmvl/opcua/utilities.hpp>

数据类型节点:Datetime 节点 ID

◆ nodeDouble

NodeId rm::nodeDouble {0, UA_NS0ID_DOUBLE}
constexpr

#include <rmvl/opcua/utilities.hpp>

数据类型节点:Double 节点 ID

◆ nodeFloat

NodeId rm::nodeFloat {0, UA_NS0ID_FLOAT}
constexpr

#include <rmvl/opcua/utilities.hpp>

数据类型节点:Float 节点 ID

◆ nodeFolderType

NodeId rm::nodeFolderType {0, UA_NS0ID_FOLDERTYPE}
constexpr

#include <rmvl/opcua/utilities.hpp>

对象类型节点:FolderType 节点 ID

◆ nodeHasComponent

NodeId rm::nodeHasComponent {0, UA_NS0ID_HASCOMPONENT}
constexpr

#include <rmvl/opcua/utilities.hpp>

引用类型节点:HasComponent 节点 ID

◆ nodeHasModellingRule

NodeId rm::nodeHasModellingRule {0, UA_NS0ID_HASMODELLINGRULE}
constexpr

#include <rmvl/opcua/utilities.hpp>

引用类型节点:HasModellingRule 节点 ID

◆ nodeHasProperty

NodeId rm::nodeHasProperty {0, UA_NS0ID_HASPROPERTY}
constexpr

#include <rmvl/opcua/utilities.hpp>

引用类型节点:HasProperty 节点 ID

◆ nodeHasSubtype

NodeId rm::nodeHasSubtype {0, UA_NS0ID_HASSUBTYPE}
constexpr

#include <rmvl/opcua/utilities.hpp>

引用类型节点:HasSubtype 节点 ID

◆ nodeHasTypeDefinition

NodeId rm::nodeHasTypeDefinition {0, UA_NS0ID_HASTYPEDEFINITION}
constexpr

#include <rmvl/opcua/utilities.hpp>

引用类型节点:HasTypeDefinition 节点 ID

◆ nodeInt16

NodeId rm::nodeInt16 {0, UA_NS0ID_INT16}
constexpr

#include <rmvl/opcua/utilities.hpp>

数据类型节点:Int16 节点 ID

◆ nodeInt32

NodeId rm::nodeInt32 {0, UA_NS0ID_INT32}
constexpr

#include <rmvl/opcua/utilities.hpp>

数据类型节点:Int32 节点 ID

◆ nodeInt64

NodeId rm::nodeInt64 {0, UA_NS0ID_INT64}
constexpr

#include <rmvl/opcua/utilities.hpp>

数据类型节点:Int64 节点 ID

◆ nodeObjectsFolder

NodeId rm::nodeObjectsFolder {0, UA_NS0ID_OBJECTSFOLDER}
constexpr

#include <rmvl/opcua/utilities.hpp>

对象节点:ObjectsFolder 节点 ID

◆ nodeObjectTypesFolder

NodeId rm::nodeObjectTypesFolder {0, UA_NS0ID_OBJECTTYPESFOLDER}
constexpr

#include <rmvl/opcua/utilities.hpp>

对象节点:ObjectTypesFolder 节点 ID

◆ nodeOrganizes

NodeId rm::nodeOrganizes {0, UA_NS0ID_ORGANIZES}
constexpr

#include <rmvl/opcua/utilities.hpp>

引用类型节点:Organizes 节点 ID

◆ nodePropertyType

NodeId rm::nodePropertyType {0, UA_NS0ID_PROPERTYTYPE}
constexpr

#include <rmvl/opcua/utilities.hpp>

变量类型节点:PropertyType 节点 ID

◆ nodeSbyte

NodeId rm::nodeSbyte {0, UA_NS0ID_SBYTE}
constexpr

#include <rmvl/opcua/utilities.hpp>

数据类型节点:Sbyte 节点 ID

◆ nodeServer

NodeId rm::nodeServer {0, UA_NS0ID_SERVER}
constexpr

#include <rmvl/opcua/utilities.hpp>

对象节点:Server 节点 ID

◆ nodeString

NodeId rm::nodeString {0, UA_NS0ID_STRING}
constexpr

#include <rmvl/opcua/utilities.hpp>

数据类型节点:String 节点 ID

◆ nodeTypesFolder

NodeId rm::nodeTypesFolder {0, UA_NS0ID_TYPESFOLDER}
constexpr

#include <rmvl/opcua/utilities.hpp>

对象节点:TypesFolder 节点 ID

◆ nodeUint16

NodeId rm::nodeUint16 {0, UA_NS0ID_UINT16}
constexpr

#include <rmvl/opcua/utilities.hpp>

数据类型节点:Uint16 节点 ID

◆ nodeUint32

NodeId rm::nodeUint32 {0, UA_NS0ID_UINT32}
constexpr

#include <rmvl/opcua/utilities.hpp>

数据类型节点:Uint32 节点 ID

◆ nodeUint64

NodeId rm::nodeUint64 {0, UA_NS0ID_UINT64}
constexpr

#include <rmvl/opcua/utilities.hpp>

数据类型节点:Uint64 节点 ID

◆ nodeVariableTypesFolder

NodeId rm::nodeVariableTypesFolder {0, UA_NS0ID_VARIABLETYPESFOLDER}
constexpr

#include <rmvl/opcua/utilities.hpp>

对象节点:VariableTypesFolder 节点 ID

◆ nodeViewsFolder

NodeId rm::nodeViewsFolder {0, UA_NS0ID_VIEWSFOLDER}
constexpr

#include <rmvl/opcua/utilities.hpp>

对象节点:ViewsFolder 节点 ID

◆ tpBoolean

DataType rm::tpBoolean {UA_TYPES_BOOLEAN}
constexpr

#include <rmvl/opcua/utilities.hpp>

数据类型:Boolean

◆ tpByte

DataType rm::tpByte {UA_TYPES_BYTE}
constexpr

#include <rmvl/opcua/utilities.hpp>

数据类型:Byte

◆ tpDouble

DataType rm::tpDouble {UA_TYPES_DOUBLE}
constexpr

#include <rmvl/opcua/utilities.hpp>

数据类型:Double

◆ tpFloat

DataType rm::tpFloat {UA_TYPES_FLOAT}
constexpr

#include <rmvl/opcua/utilities.hpp>

数据类型:Float

◆ tpInt16

DataType rm::tpInt16 {UA_TYPES_INT16}
constexpr

#include <rmvl/opcua/utilities.hpp>

数据类型:Int16

◆ tpInt32

DataType rm::tpInt32 {UA_TYPES_INT32}
constexpr

#include <rmvl/opcua/utilities.hpp>

数据类型:Int32

◆ tpInt64

DataType rm::tpInt64 {UA_TYPES_INT64}
constexpr

#include <rmvl/opcua/utilities.hpp>

数据类型:Int64

◆ tpSbyte

DataType rm::tpSbyte {UA_TYPES_SBYTE}
constexpr

#include <rmvl/opcua/utilities.hpp>

数据类型:Sbyte

◆ tpString

DataType rm::tpString {UA_TYPES_STRING}
constexpr

#include <rmvl/opcua/utilities.hpp>

数据类型:String

◆ tpUInt16

DataType rm::tpUInt16 {UA_TYPES_UINT16}
constexpr

#include <rmvl/opcua/utilities.hpp>

数据类型:Uint16

◆ tpUInt32

DataType rm::tpUInt32 {UA_TYPES_UINT32}
constexpr

#include <rmvl/opcua/utilities.hpp>

数据类型:Uint32

◆ tpUInt64

DataType rm::tpUInt64 {UA_TYPES_UINT64}
constexpr

#include <rmvl/opcua/utilities.hpp>

数据类型:Uint64