ChimeraTK-ControlSystemAdapter-OPCUAAdapter  04.00.01
ChimeraTK Namespace Reference

Classes

struct  AdapterFolderHistorySetup
 
struct  AdapterHistorySetup
 
struct  AdapterPVHistorySetup
 
class  csa_opcua_adapter
 This class provide the two parts of the OPCUA Adapter. First of all the OPCUA server starts with a port number defined in config-file (recommended 16664), following the mapping process start. For this, the ProcessVariable from ControlSystemPVManager will be mapped to the OPCUA Model. During the mapping process also all <additionalNodes> will be mapped in OPC UA Model. More...
 
struct  FolderInfo
 This struct represents a folder in OPCUA with its own node id and with his parent and child node id. For this FolderInfo are a singly-linked list. More...
 
struct  HandleFolderVariables
 
struct  ServerConfig
 This struct represents a server config. If the hole config file is prased, all information will be stored in die struct. Additionally for every necessary variable a default value is set. More...
 
class  ua_additionalvariable
 This class represent a additional variable from <variableMap.xml> in the information model of a OPC UA Server. More...
 
struct  UA_DataSource_Map_Element_t
 For generic callback use, this sturct contains the methode pointer and a NodeId of the model. Additinaly a description from controlSystemAdapter can be setted here. More...
 
class  ua_mapped_class
 This class mapped all inforamtion into the opca server. More...
 
struct  UA_NodeId_pair_t
 This struct contains a NodeId generated from the open62541-stack and the NodeId of the model side. More...
 
class  ua_processvariable
 This class represent a processvariable of the controlsystemadapter in the information model of a OPC UA Server. More...
 
class  ua_uaadapter
 This class provide the opcua server and manage the variable mapping. More...
 
struct  void_observer_data
 
class  xml_file_handler
 This class support any file interaction with a xml file. More...
 

Typedefs

typedef fusion::map< fusion::pair< int8_t, uint >, fusion::pair< uint8_t, uint >, fusion::pair< int16_t, uint >, fusion::pair< uint16_t, uint >, fusion::pair< int32_t, uint >, fusion::pair< uint32_t, uint >, fusion::pair< int64_t, uint >, fusion::pair< uint64_t, uint >, fusion::pair< float, uint >, fusion::pair< double, uint >, fusion::pair< string, uint >, fusion::pair< Boolean, uint > > TypesMap
 
typedef struct ChimeraTK::UA_NodeId_pair_t UA_NodeId_pair
 
typedef std::list< UA_NodeId_pair * > nodePairList
 
typedef struct ChimeraTK::UA_DataSource_Map_Element_t UA_DataSource_Map_Element
 
typedef std::list< UA_DataSource_Map_ElementUA_DataSource_Map
 

Functions

UA_HistoryDataGathering add_historizing_nodes (vector< UA_NodeId > &historizing_nodes, vector< string > &historizing_setup, UA_Server *mappedServer, UA_ServerConfig *server_config, vector< AdapterHistorySetup > history, vector< AdapterFolderHistorySetup > historyfolders, vector< AdapterPVHistorySetup > historyvariables)
 
void clear_history (UA_HistoryDataGathering gathering, vector< UA_NodeId > &historizing_nodes, vector< string > &historizing_setup, UA_Server *mappedServer, vector< AdapterFolderHistorySetup > historyfolders, vector< AdapterPVHistorySetup > historyvariables, UA_ServerConfig *server_config)
 
void check_historizing_nodes (vector< UA_NodeId > &historizing_nodes, vector< string > &historizing_setup, UA_ServerConfig *server_config)
 This assumes both lists have the same size. More...
 
void remove_nodes_with_incomplete_historizing_setup (vector< UA_NodeId > &historizing_nodes, vector< string > &historizing_setup, UA_ServerConfig *server_config, vector< AdapterHistorySetup > history)
 
UA_StatusCode ua_mapInstantiatedNodes (UA_NodeId objectId, UA_NodeId definitionId, void *handle)
 Node function and proxy mapping for new nodes. More...
 
void startVoidObserverThread (void_observer_data *data, const UA_Logger *logger)
 
UA_StatusCode add_void_event_type (UA_Server *server)
 
template<>
UA_StatusCode ua_processvariable::setValue< std::string > (const UA_Variant *data)
 
UA_StatusCode get_child_variables (UA_NodeId childId, UA_Boolean isInverse, UA_NodeId referenceTypeId, void *handle)
 
void add_folder_historizing (vector< UA_NodeId > *historizing_nodes, vector< string > *historizing_setup, vector< AdapterFolderHistorySetup > historyfolders, UA_Server *mappedServer, UA_ServerConfig *server_config)
 
void add_variable_historizing (vector< UA_NodeId > *historizing_nodes, vector< string > *historizing_setup, vector< AdapterPVHistorySetup > historyvariables, UA_Server *mappedServer, UA_ServerConfig *server_config)
 
void set_variable_access_level_historizing (UA_NodeId id, UA_Server *mappedServer)
 
UA_StatusCode addEventProperty (UA_Server *server, UA_NodeId eventNodeId, char *property_name, UA_NodeId dtype)
 

Typedef Documentation

◆ nodePairList

Definition at line 42 of file ua_map_types.h.

◆ TypesMap

typedef fusion::map<fusion::pair<int8_t, uint>, fusion::pair<uint8_t, uint>, fusion::pair<int16_t, uint>, fusion::pair<uint16_t, uint>, fusion::pair<int32_t, uint>, fusion::pair<uint32_t, uint>, fusion::pair<int64_t, uint>, fusion::pair<uint64_t, uint>, fusion::pair<float, uint>, fusion::pair<double, uint>, fusion::pair<string, uint>, fusion::pair<Boolean, uint> > ChimeraTK::TypesMap

Definition at line 40 of file csa_processvariable.h.

◆ UA_DataSource_Map

Definition at line 56 of file ua_map_types.h.

◆ UA_DataSource_Map_Element

◆ UA_NodeId_pair

Function Documentation

◆ add_folder_historizing()

void ChimeraTK::add_folder_historizing ( vector< UA_NodeId > *  historizing_nodes,
vector< string > *  historizing_setup,
vector< AdapterFolderHistorySetup historyfolders,
UA_Server *  mappedServer,
UA_ServerConfig *  server_config 
)

Definition at line 52 of file node_historizing.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ add_historizing_nodes()

UA_HistoryDataGathering ChimeraTK::add_historizing_nodes ( vector< UA_NodeId > &  historizing_nodes,
vector< string > &  historizing_setup,
UA_Server *  mappedServer,
UA_ServerConfig *  server_config,
vector< AdapterHistorySetup history,
vector< AdapterFolderHistorySetup historyfolders,
vector< AdapterPVHistorySetup historyvariables 
)

Definition at line 173 of file node_historizing.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ add_variable_historizing()

void ChimeraTK::add_variable_historizing ( vector< UA_NodeId > *  historizing_nodes,
vector< string > *  historizing_setup,
vector< AdapterPVHistorySetup historyvariables,
UA_Server *  mappedServer,
UA_ServerConfig *  server_config 
)

Definition at line 73 of file node_historizing.cpp.

+ Here is the caller graph for this function:

◆ add_void_event_type()

UA_StatusCode ChimeraTK::add_void_event_type ( UA_Server *  server)

Definition at line 203 of file void_type.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addEventProperty()

UA_StatusCode ChimeraTK::addEventProperty ( UA_Server *  server,
UA_NodeId  eventNodeId,
char *  property_name,
UA_NodeId  dtype 
)

Definition at line 175 of file void_type.cpp.

+ Here is the caller graph for this function:

◆ check_historizing_nodes()

void ChimeraTK::check_historizing_nodes ( vector< UA_NodeId > &  historizing_nodes,
vector< string > &  historizing_setup,
UA_ServerConfig *  server_config 
)

This assumes both lists have the same size.

Avoid multiple setups for one node. Because first nodes from pv settings in the mapping file are added, those settings will be used instaed of a setting added by mapping a folder.

Parameters
historizing_nodesList of nodes with history.
historizing_setupList of setups.
server_configServer configuration used to get the log level.

Definition at line 111 of file node_historizing.cpp.

+ Here is the caller graph for this function:

◆ clear_history()

void ChimeraTK::clear_history ( UA_HistoryDataGathering  gathering,
vector< UA_NodeId > &  historizing_nodes,
vector< string > &  historizing_setup,
UA_Server *  mappedServer,
vector< AdapterFolderHistorySetup historyfolders,
vector< AdapterPVHistorySetup historyvariables,
UA_ServerConfig *  server_config 
)

Definition at line 218 of file node_historizing.cpp.

+ Here is the caller graph for this function:

◆ get_child_variables()

UA_StatusCode ChimeraTK::get_child_variables ( UA_NodeId  childId,
UA_Boolean  isInverse,
UA_NodeId  referenceTypeId,
void *  handle 
)

Definition at line 32 of file node_historizing.cpp.

+ Here is the caller graph for this function:

◆ remove_nodes_with_incomplete_historizing_setup()

void ChimeraTK::remove_nodes_with_incomplete_historizing_setup ( vector< UA_NodeId > &  historizing_nodes,
vector< string > &  historizing_setup,
UA_ServerConfig *  server_config,
vector< AdapterHistorySetup history 
)

Definition at line 141 of file node_historizing.cpp.

+ Here is the caller graph for this function:

◆ set_variable_access_level_historizing()

void ChimeraTK::set_variable_access_level_historizing ( UA_NodeId  id,
UA_Server *  mappedServer 
)

Definition at line 99 of file node_historizing.cpp.

+ Here is the caller graph for this function:

◆ startVoidObserverThread()

void ChimeraTK::startVoidObserverThread ( void_observer_data data,
const UA_Logger *  logger 
)

Definition at line 168 of file void_type.cpp.

+ Here is the caller graph for this function:

◆ ua_mapInstantiatedNodes()

UA_StatusCode ChimeraTK::ua_mapInstantiatedNodes ( UA_NodeId  objectId,
UA_NodeId  definitionId,
void *  handle 
)

Node function and proxy mapping for new nodes.

Parameters
objectIdtargetNodeId
defintionIdsourceNodeId
handleread and write handel for the node
Returns
UA_StatusCode

Definition at line 30 of file ua_map_types.cpp.

◆ ua_processvariable::setValue< std::string >()

template<>
UA_StatusCode ChimeraTK::ua_processvariable::setValue< std::string > ( const UA_Variant *  data)

Definition at line 349 of file csa_processvariable.cpp.