OpcUaCanOpen
CANopen OPC-UA server
UserDevice::ControlInterface Class Referenceabstract

ControlInterface is an interface class to connect OpcUa Address Space to CANOpen hardware During creation of Address space the function "createInterfaceEntry" is called. More...

#include <ControlInterface.h>

Inherited by CanOpen::CanBusInterface.

Public Member Functions

 ControlInterface ()
 Dummy Constructor. More...
 
virtual ~ControlInterface ()
 Destructor. More...
 
virtual UaStatus CreateXmlParser (UaString &sXmlFileName)=0
 This function should be used to initialize user object structure. More...
 
virtual bool isTraceVariable (UaNodeId uaTraceId)
 
virtual bool isDeviceVariable (UaNodeId)=0
 
virtual void putTraceFunctions (OpcUa_DataValue *)=0
 
virtual UaStatus initialize ()=0
 
virtual void closeInterface ()=0
 
virtual UaStatus CreateAddressSpace (AddressSpace::NmBuildingAutomation *nManager, NodeManagerNodeSetXml *pXmlNodeManager, NodeManagerConfig *pDefaultNodeManager)=0
 Create application address space. More...
 
virtual IOManager * getIOManager (UaNode *pUaNode, OpcUa_Int32 attributeId)=0
 
virtual VariableHandle * getVariableHandler (Session *session, VariableHandle::ServiceType serviceType, OpcUa_NodeId *nodeid, OpcUa_Int32 attributeId)
 
UaNodeId getTypeNodeId (OpcUa_UInt32 numericIdentifier)
 
AddressSpace::NmBuildingAutomationgetNodeManager () const
 
NodeManagerNodeSetXml * getNodeTypeManager () const
 
virtual pUserDeviceStructcreateInterfaceEntry (pUserDeviceStruct *parent, int code, ::xsd::cxx::tree::type *conf, UaNode *node)=0
 Create interface class based on configuration information and type ID. More...
 

Protected Attributes

UaString m_sXmlFileName
 
AddressSpace::NmBuildingAutomationm_pNodeManager
 
NodeManagerConfig * m_pDefaultNodeManager
 
NodeManagerNodeSetXml * m_pTypeNodeManager
 

Detailed Description

ControlInterface is an interface class to connect OpcUa Address Space to CANOpen hardware During creation of Address space the function "createInterfaceEntry" is called.


The file "BuildingAutomationTypeIds.h" contains all possible operation codes
This class is an abstract and it is necessary to implement all abstract methods for concrete hardware structure

Definition at line 38 of file ControlInterface.h.

Constructor & Destructor Documentation

◆ ControlInterface()

UserDevice::ControlInterface::ControlInterface ( )
inline

Dummy Constructor.

Definition at line 43 of file ControlInterface.h.

◆ ~ControlInterface()

virtual UserDevice::ControlInterface::~ControlInterface ( )
inlinevirtual

Destructor.

Definition at line 46 of file ControlInterface.h.

Member Function Documentation

◆ closeInterface()

virtual void UserDevice::ControlInterface::closeInterface ( )
pure virtual

Implemented in CanOpen::CanBusInterface.

◆ CreateAddressSpace()

virtual UaStatus UserDevice::ControlInterface::CreateAddressSpace ( AddressSpace::NmBuildingAutomation nManager,
NodeManagerNodeSetXml *  pXmlNodeManager,
NodeManagerConfig *  pDefaultNodeManager 
)
pure virtual

Create application address space.

Parameters
nManagerNode manager for application nodes

Implemented in CanOpen::CanBusInterface.

◆ createInterfaceEntry()

virtual pUserDeviceStruct* UserDevice::ControlInterface::createInterfaceEntry ( pUserDeviceStruct parent,
int  code,
::xsd::cxx::tree::type *  conf,
UaNode *  node 
)
pure virtual

Create interface class based on configuration information and type ID.

Parameters
parent- the interface object which is a parent of creating one
code- operation code
conf- XML configuration of creating object
node- UaNode which take date from hardware or send commands
Returns
point to smart pointer of InterfaceUserDataBase

◆ CreateXmlParser()

virtual UaStatus UserDevice::ControlInterface::CreateXmlParser ( UaString &  sXmlFileName)
pure virtual

This function should be used to initialize user object structure.

Implemented in CanOpen::CanBusInterface.

◆ getIOManager()

virtual IOManager* UserDevice::ControlInterface::getIOManager ( UaNode *  pUaNode,
OpcUa_Int32  attributeId 
)
pure virtual

Implemented in CanOpen::CanBusInterface.

◆ getNodeManager()

AddressSpace::NmBuildingAutomation* UserDevice::ControlInterface::getNodeManager ( ) const
inline

Definition at line 89 of file ControlInterface.h.

◆ getNodeTypeManager()

NodeManagerNodeSetXml* UserDevice::ControlInterface::getNodeTypeManager ( ) const
inline

Definition at line 90 of file ControlInterface.h.

◆ getTypeNodeId()

UaNodeId UserDevice::ControlInterface::getTypeNodeId ( OpcUa_UInt32  numericIdentifier)
inline

Definition at line 84 of file ControlInterface.h.

◆ getVariableHandler()

virtual VariableHandle* UserDevice::ControlInterface::getVariableHandler ( Session *  session,
VariableHandle::ServiceType  serviceType,
OpcUa_NodeId *  nodeid,
OpcUa_Int32  attributeId 
)
inlinevirtual

Reimplemented in CanOpen::CanBusInterface.

Definition at line 74 of file ControlInterface.h.

◆ initialize()

virtual UaStatus UserDevice::ControlInterface::initialize ( )
pure virtual

Implemented in CanOpen::CanBusInterface.

◆ isDeviceVariable()

virtual bool UserDevice::ControlInterface::isDeviceVariable ( UaNodeId  )
pure virtual

Implemented in CanOpen::CanBusInterface.

◆ isTraceVariable()

virtual bool UserDevice::ControlInterface::isTraceVariable ( UaNodeId  uaTraceId)
inlinevirtual

Reimplemented in CanOpen::CanBusInterface.

Definition at line 53 of file ControlInterface.h.

◆ putTraceFunctions()

virtual void UserDevice::ControlInterface::putTraceFunctions ( OpcUa_DataValue *  )
pure virtual

Implemented in CanOpen::CanBusInterface.

Member Data Documentation

◆ m_pDefaultNodeManager

NodeManagerConfig* UserDevice::ControlInterface::m_pDefaultNodeManager
protected

Definition at line 106 of file ControlInterface.h.

◆ m_pNodeManager

AddressSpace::NmBuildingAutomation* UserDevice::ControlInterface::m_pNodeManager
protected

Definition at line 105 of file ControlInterface.h.

◆ m_pTypeNodeManager

NodeManagerNodeSetXml* UserDevice::ControlInterface::m_pTypeNodeManager
protected

Definition at line 107 of file ControlInterface.h.

◆ m_sXmlFileName

UaString UserDevice::ControlInterface::m_sXmlFileName
protected

Definition at line 103 of file ControlInterface.h.


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