ChimeraTK-ControlSystemAdapter-OPCUAAdapter  04.00.01
ChimeraTK::ua_processvariable Class Reference

This class represent a processvariable of the controlsystemadapter in the information model of a OPC UA Server. More...

#include <csa_processvariable.h>

+ Inheritance diagram for ChimeraTK::ua_processvariable:
+ Collaboration diagram for ChimeraTK::ua_processvariable:

Public Member Functions

 ua_processvariable (UA_Server *server, UA_NodeId basenodeid, const string &namePV, boost::shared_ptr< ControlSystemPVManager > csManager, const UA_Logger *logger, string overwriteNodeString="")
 Constructor from ua_processvaribale for generic creation. More...
 
 ~ua_processvariable ()
 Destructor for ua_processvariable. More...
 
UA_DateTime getSourceTimeStamp ()
 Reimplement the sourcetimestamp for every processvariable. More...
 
string getName ()
 Get name of processvariable. More...
 
string getType ()
 Get type of processvariable. More...
 
void setEngineeringUnit (string engineeringUnit)
 Set engineering unit of processvariable. More...
 
string getEngineeringUnit ()
 Get engineering unit of processvariable. More...
 
void setDescription (string description)
 Get description unit of processvariable. More...
 
string getDescription ()
 Get description unit of processvariable. More...
 
UA_NodeId getOwnNodeId ()
 Get node id of this processvariable instance. More...
 
template<typename T >
UA_StatusCode getValue (UA_Variant *v, const UA_NumericRange *range)
 
template<typename T >
UA_StatusCode setValue (const UA_Variant *data)
 
template<typename T >
UA_UInt32 typeSpecificSetup (UA_DataSource_Map_Element &mapElem, const UA_NodeId nodeId)
 
template<>
UA_StatusCode getValue (UA_Variant *v, const UA_NumericRange *)
 

Static Public Member Functions

static UA_StatusCode ua_readproxy_ua_processvariable_getName (UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, const UA_NodeId *nodeId, void *nodeContext, UA_Boolean includeSourceTimeStamp, const UA_NumericRange *range, UA_DataValue *value)
 
static UA_StatusCode ua_readproxy_ua_processvariable_getType (UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, const UA_NodeId *nodeId, void *nodeContext, UA_Boolean includeSourceTimeStamp, const UA_NumericRange *range, UA_DataValue *value)
 
static UA_StatusCode ua_readproxy_ua_processvariable_getEngineeringUnit (UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, const UA_NodeId *nodeId, void *nodeContext, UA_Boolean includeSourceTimeStamp, const UA_NumericRange *range, UA_DataValue *value)
 
static UA_StatusCode ua_writeproxy_ua_processvariable_setEngineeringUnit (UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, const UA_NodeId *nodeId, void *nodeContext, const UA_NumericRange *range, const UA_DataValue *value)
 
static UA_StatusCode ua_writeproxy_ua_processvariable_setDescription (UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, const UA_NodeId *nodeId, void *nodeContext, const UA_NumericRange *range, const UA_DataValue *value)
 
static UA_StatusCode ua_readproxy_ua_processvariable_getDescription (UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, const UA_NodeId *nodeId, void *nodeContext, UA_Boolean includeSourceTimeStamp, const UA_NumericRange *range, UA_DataValue *value)
 
static UA_StatusCode ua_readproxy_ua_processvariable_getValidity (UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, const UA_NodeId *nodeId, void *nodeContext, UA_Boolean includeSourceTimeStamp, const UA_NumericRange *range, UA_DataValue *value)
 Get vadility of processvariable. More...
 
template<typename T >
static UA_StatusCode ua_readproxy_ua_processvariable_getValue (UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, const UA_NodeId *nodeId, void *nodeContext, UA_Boolean includeSourceTimeStamp, const UA_NumericRange *range, UA_DataValue *value)
 
template<typename T >
static UA_StatusCode ua_writeproxy_ua_processvariable_setValue (UA_Server *server, const UA_NodeId *sessionId, void *sessionContext, const UA_NodeId *nodeId, void *nodeContext, const UA_NumericRange *range, const UA_DataValue *value)
 

Detailed Description

This class represent a processvariable of the controlsystemadapter in the information model of a OPC UA Server.

Author
Chris Iatrou, Julian Rahm
Date
22.11.2016

Definition at line 49 of file csa_processvariable.h.

Constructor & Destructor Documentation

◆ ua_processvariable()

ChimeraTK::ua_processvariable::ua_processvariable ( UA_Server *  server,
UA_NodeId  basenodeid,
const string &  namePV,
boost::shared_ptr< ControlSystemPVManager >  csManager,
const UA_Logger *  logger,
string  overwriteNodeString = "" 
)

Constructor from ua_processvaribale for generic creation.

Parameters
serverA UA_Server type, with all server specific information from the used server
basenodeidParent NodeId from OPC UA information model to add a new UA_ObjectNode
namePVName of the process variable from control-system-adapter, is needed to fetch the rigth process varibale from PV-Manager
csManagerProvide the hole PVManager from control-system-adapter to map all processvariable to the OPC UA-Model

Definition at line 37 of file csa_processvariable.cpp.

◆ ~ua_processvariable()

ChimeraTK::ua_processvariable::~ua_processvariable ( )

Destructor for ua_processvariable.

Definition at line 44 of file csa_processvariable.cpp.

Member Function Documentation

◆ getDescription()

string ChimeraTK::ua_processvariable::getDescription ( )

Get description unit of processvariable.

Returns
<String> of description

Definition at line 179 of file csa_processvariable.cpp.

+ Here is the caller graph for this function:

◆ getEngineeringUnit()

string ChimeraTK::ua_processvariable::getEngineeringUnit ( )

Get engineering unit of processvariable.

Returns
<String> of engineering unit

Definition at line 107 of file csa_processvariable.cpp.

+ Here is the caller graph for this function:

◆ getName()

string ChimeraTK::ua_processvariable::getName ( )

Get name of processvariable.

Returns
<String> of the name of processvariable

Definition at line 66 of file csa_processvariable.cpp.

+ Here is the caller graph for this function:

◆ getOwnNodeId()

UA_NodeId ChimeraTK::ua_processvariable::getOwnNodeId ( )

Get node id of this processvariable instance.

Returns
<UA_NodeId> of this processvariable

Definition at line 729 of file csa_processvariable.cpp.

+ Here is the caller graph for this function:

◆ getSourceTimeStamp()

UA_DateTime ChimeraTK::ua_processvariable::getSourceTimeStamp ( )
virtual

Reimplement the sourcetimestamp for every processvariable.

Reimplement the SourceTimeStamp to timestamp of csa_config.

Implements ChimeraTK::ua_mapped_class.

Definition at line 717 of file csa_processvariable.cpp.

◆ getType()

string ChimeraTK::ua_processvariable::getType ( )

Get type of processvariable.

Returns
<String> of the type

Definition at line 206 of file csa_processvariable.cpp.

+ Here is the caller graph for this function:

◆ getValue() [1/2]

template<>
UA_StatusCode ChimeraTK::ua_processvariable::getValue ( UA_Variant *  v,
const UA_NumericRange *   
)

Definition at line 284 of file csa_processvariable.cpp.

◆ getValue() [2/2]

template<typename T >
UA_StatusCode ChimeraTK::ua_processvariable::getValue ( UA_Variant *  v,
const UA_NumericRange *  range 
)

Definition at line 257 of file csa_processvariable.cpp.

+ Here is the caller graph for this function:

◆ setDescription()

void ChimeraTK::ua_processvariable::setDescription ( string  description)

Get description unit of processvariable.

Returns
<String> of description

Definition at line 134 of file csa_processvariable.cpp.

◆ setEngineeringUnit()

void ChimeraTK::ua_processvariable::setEngineeringUnit ( string  engineeringUnit)

Set engineering unit of processvariable.

Parameters
typeDefine the engineering unit of the processvariable

Definition at line 87 of file csa_processvariable.cpp.

+ Here is the caller graph for this function:

◆ setValue()

template<typename T >
UA_StatusCode ChimeraTK::ua_processvariable::setValue ( const UA_Variant *  data)

Definition at line 318 of file csa_processvariable.cpp.

+ Here is the caller graph for this function:

◆ typeSpecificSetup()

template<typename T >
UA_UInt32 ChimeraTK::ua_processvariable::typeSpecificSetup ( UA_DataSource_Map_Element mapElem,
const UA_NodeId  nodeId 
)

Definition at line 736 of file csa_processvariable.cpp.

◆ ua_readproxy_ua_processvariable_getDescription()

UA_StatusCode ChimeraTK::ua_processvariable::ua_readproxy_ua_processvariable_getDescription ( UA_Server *  server,
const UA_NodeId *  sessionId,
void *  sessionContext,
const UA_NodeId *  nodeId,
void *  nodeContext,
UA_Boolean  includeSourceTimeStamp,
const UA_NumericRange *  range,
UA_DataValue *  value 
)
static

Definition at line 138 of file csa_processvariable.cpp.

◆ ua_readproxy_ua_processvariable_getEngineeringUnit()

UA_StatusCode ChimeraTK::ua_processvariable::ua_readproxy_ua_processvariable_getEngineeringUnit ( UA_Server *  server,
const UA_NodeId *  sessionId,
void *  sessionContext,
const UA_NodeId *  nodeId,
void *  nodeContext,
UA_Boolean  includeSourceTimeStamp,
const UA_NumericRange *  range,
UA_DataValue *  value 
)
static

Definition at line 91 of file csa_processvariable.cpp.

◆ ua_readproxy_ua_processvariable_getName()

UA_StatusCode ChimeraTK::ua_processvariable::ua_readproxy_ua_processvariable_getName ( UA_Server *  server,
const UA_NodeId *  sessionId,
void *  sessionContext,
const UA_NodeId *  nodeId,
void *  nodeContext,
UA_Boolean  includeSourceTimeStamp,
const UA_NumericRange *  range,
UA_DataValue *  value 
)
static

Definition at line 50 of file csa_processvariable.cpp.

◆ ua_readproxy_ua_processvariable_getType()

UA_StatusCode ChimeraTK::ua_processvariable::ua_readproxy_ua_processvariable_getType ( UA_Server *  server,
const UA_NodeId *  sessionId,
void *  sessionContext,
const UA_NodeId *  nodeId,
void *  nodeContext,
UA_Boolean  includeSourceTimeStamp,
const UA_NumericRange *  range,
UA_DataValue *  value 
)
static

Definition at line 190 of file csa_processvariable.cpp.

◆ ua_readproxy_ua_processvariable_getValidity()

UA_StatusCode ChimeraTK::ua_processvariable::ua_readproxy_ua_processvariable_getValidity ( UA_Server *  server,
const UA_NodeId *  sessionId,
void *  sessionContext,
const UA_NodeId *  nodeId,
void *  nodeContext,
UA_Boolean  includeSourceTimeStamp,
const UA_NumericRange *  range,
UA_DataValue *  value 
)
static

Get vadility of processvariable.

Definition at line 154 of file csa_processvariable.cpp.

◆ ua_readproxy_ua_processvariable_getValue()

template<typename T >
UA_StatusCode ChimeraTK::ua_processvariable::ua_readproxy_ua_processvariable_getValue ( UA_Server *  server,
const UA_NodeId *  sessionId,
void *  sessionContext,
const UA_NodeId *  nodeId,
void *  nodeContext,
UA_Boolean  includeSourceTimeStamp,
const UA_NumericRange *  range,
UA_DataValue *  value 
)
static

Definition at line 240 of file csa_processvariable.cpp.

+ Here is the call graph for this function:

◆ ua_writeproxy_ua_processvariable_setDescription()

UA_StatusCode ChimeraTK::ua_processvariable::ua_writeproxy_ua_processvariable_setDescription ( UA_Server *  server,
const UA_NodeId *  sessionId,
void *  sessionContext,
const UA_NodeId *  nodeId,
void *  nodeContext,
const UA_NumericRange *  range,
const UA_DataValue *  value 
)
static

Definition at line 118 of file csa_processvariable.cpp.

◆ ua_writeproxy_ua_processvariable_setEngineeringUnit()

UA_StatusCode ChimeraTK::ua_processvariable::ua_writeproxy_ua_processvariable_setEngineeringUnit ( UA_Server *  server,
const UA_NodeId *  sessionId,
void *  sessionContext,
const UA_NodeId *  nodeId,
void *  nodeContext,
const UA_NumericRange *  range,
const UA_DataValue *  value 
)
static

Definition at line 71 of file csa_processvariable.cpp.

◆ ua_writeproxy_ua_processvariable_setValue()

template<typename T >
UA_StatusCode ChimeraTK::ua_processvariable::ua_writeproxy_ua_processvariable_setValue ( UA_Server *  server,
const UA_NodeId *  sessionId,
void *  sessionContext,
const UA_NodeId *  nodeId,
void *  nodeContext,
const UA_NumericRange *  range,
const UA_DataValue *  value 
)
static

Definition at line 308 of file csa_processvariable.cpp.

+ Here is the call graph for this function:

The documentation for this class was generated from the following files: