OpcUaCanOpen
CANopen OPC-UA server
|
This class provides the creation of all properties and object belonging th can node devices Each object of this class has a io manager to send and receive sdo messages creation on can node structure can be based on node type or XML entry. More...
#include <UaCanNodeObject.h>
Inherits AddressSpace::UaControlDeviceGeneric.
Public Member Functions | |
UaCanNodeObject (NODE *nd, UaObject *pNodeType, const UaNodeId &newNodeId, AddressSpace::NmBuildingAutomation *pNodeManager, UserDevice::pUserDeviceStruct *pcanbus) | |
Constructor based on XML description. More... | |
virtual | ~UaCanNodeObject (void) |
Destructor More... | |
IOManager * | getSDOIOManager () |
get io manager More... | |
![]() | |
UaControlDeviceGeneric (const UaString &name, const UaNodeId &newNodeId, NmBuildingAutomation *pNodeManager, OpcUa_Int32 baTypeId, ::xml_schema::type *conf, UserDevice::pUserDeviceStruct *interf) | |
Constructor. More... | |
UaControlDeviceGeneric (const UaString &name, const UaNodeId &newNodeId, NmBuildingAutomation *pNodeManager, UaObjectType *instance, ::xml_schema::type *conf, UserDevice::pUserDeviceStruct *interf) | |
Constructor. More... | |
UaControlDeviceGeneric (const UaString &name, const UaNodeId &newNodeId, NmBuildingAutomation *pNodeManager, UaObject *instance, ::xml_schema::type *conf, UserDevice::pUserDeviceStruct *interf) | |
Constructor. More... | |
virtual | ~UaControlDeviceGeneric (void) |
OpcUa_Byte | eventNotifier () const |
this function creates recursively the object tree based on type object More... | |
OpcUa_UInt32 | getDeviceTypeNumber () const |
Override UaObject method implementation. More... | |
virtual UaStatus | beginCall (MethodManagerCallback *pCallback, const ServiceContext &serviceContext, OpcUa_UInt32 callbackHandle, MethodHandle *pMethodHandle, const UaVariantArray &inputArguments) |
Implement MethodManager interface this function calls by ua toolkit object when client ask to execute method. More... | |
virtual UaStatus | call (UaMethod *, const UaVariantArray &, UaVariantArray &, UaStatusCodeArray &, UaDiagnosticInfos &) |
Own synchronous call implementation the can be overridden in subclasses (not use) More... | |
virtual void | addMethod (OpcUa::BaseMethod *meth) |
get common mutex More... | |
Private Member Functions | |
UaStatus | createSDOs (NODE *sn, AddressSpace::NmBuildingAutomation *pNodeManager) |
create sdo object belonging to node based on XML description More... | |
UaStatus | createSDOs (NODETYPE *sn, AddressSpace::NmBuildingAutomation *pNodeManager) |
create sdo type object More... | |
UaStatus | createSDOITEMs (NODE *sdoi, AddressSpace::NmBuildingAutomation *pNodeManager) |
create sdo item object belonging to node based on XML description More... | |
UaStatus | createSDOITEMs (NODETYPE *sdoi, AddressSpace::NmBuildingAutomation *pNodeManager) |
create sdo item type object More... | |
UaStatus | createPDOs (PDO &pit, AddressSpace::NmBuildingAutomation *pNodeManager, bool type) |
Create PDO. More... | |
UaStatus | createPROGRAMs (NODE *sn, AddressSpace::NmBuildingAutomation *pNodeManager) |
create Programs object belonging to node based on XML description More... | |
UaStatus | createAllTypesPDOs (NODE *xsdObject, AddressSpace::NmBuildingAutomation *pNodeManager) |
Create pdos. More... | |
UaStatus | createAllTypesPDOs (NODETYPE *nd, AddressSpace::NmBuildingAutomation *pNodeManager) |
Create pdo types. More... | |
template<typename NODEDEF > | |
UaStatus | createItems (NODEDEF *nd, AddressSpace::NmBuildingAutomation *pNodeManager) |
create calculation item More... | |
Additional Inherited Members | |
![]() | |
std::vector< OpcUa::BaseMethod * > | m_pMethod |
This class provides the creation of all properties and object belonging th can node devices Each object of this class has a io manager to send and receive sdo messages creation on can node structure can be based on node type or XML entry.
Definition at line 19 of file UaCanNodeObject.h.
CanOpen::UaCanNodeObject::UaCanNodeObject | ( | NODE * | nd, |
UaObject * | pNodeType, | ||
const UaNodeId & | newNodeId, | ||
AddressSpace::NmBuildingAutomation * | pNodeManager, | ||
UserDevice::pUserDeviceStruct * | pcanbus | ||
) |
Constructor based on XML description.
Constructor UanNodeObject class.
nd | XML entry describing the can node |
newNodeId | ua node id |
pNodeManager | pointer to node manager |
pcanbus | pointer to parent hardware interface object (can bus)Constructor based on type information |
nd | XML entry describing the can node |
pNodeType | pointer to can node type information |
newNodeId | ua node id |
pNodeManager | pointer to node manager |
pcanbus | pointer to parent hardware interface object (can bus) |
nd | pointer to XSD node description |
newNodeId | node id of this new object |
pNodeManager | node manager of this node |
pcanbus | access to canbus interface Constructor UanNodeObject class from the type node |
nd | point to XSD node description |
pNodeType | the node of the type CAN node |
newNodeId | node id of this new object |
pNodeManager | node manager of this node |
pcanbus | pointer to canbus interface |
Definition at line 58 of file UaCanNodeObject.cpp.
|
virtual |
Destructor
Definition at line 606 of file UaCanNodeObject.cpp.
|
private |
Create pdos.
xsdObject | XMl description of can node type |
pNodeManager | pointer to node manager |
Definition at line 171 of file UaCanNodeObject.cpp.
|
private |
Create pdo types.
nd | XML description of can node type |
pNodeManager | pointer to node manager |
Definition at line 100 of file UaCanNodeObject.cpp.
|
private |
create calculation item
nd | XMl description of can node or type (template parameter) |
Definition at line 613 of file UaCanNodeObject.cpp.
|
private |
Create PDO.
pit | XML description |
pNodeManager | pointer to node manager |
type | false is pdo, true (TPDO* or RPDO*) |
get an object type based on numerical id ( if not return null)
get an object type based on numerical id ( if not return null)
get an object type based on numerical id ( if not return null)
Definition at line 251 of file UaCanNodeObject.cpp.
|
private |
create Programs object belonging to node based on XML description
sn | XMl description of can node |
pNodeManager | pointer to node manager |
get an object type based on numerical id ( if not return null)
Definition at line 509 of file UaCanNodeObject.cpp.
|
private |
create sdo item object belonging to node based on XML description
sdoi | XMl description of can node |
pNodeManager | pointer to node manager |
get an object type based on numerical id ( if not return null)
Definition at line 536 of file UaCanNodeObject.cpp.
|
private |
create sdo item type object
sdoi | XMl description of can node type |
pNodeManager | pointer to node manager |
get an object type based on numerical id ( if not return null)
Definition at line 570 of file UaCanNodeObject.cpp.
|
private |
create sdo object belonging to node based on XML description
sn | XMl description of can node |
pNodeManager | pointer to node manager |
get an object type based on numerical id ( if not return null)
get an object type based on numerical id ( if not return null)
get an object type based on numerical id ( if not return null)
Definition at line 438 of file UaCanNodeObject.cpp.
|
private |
create sdo type object
sn | XMl description of can node type |
pNodeManager | pointer to node manager |
get an object type based on numerical id ( if not return null)
get an object type based on numerical id ( if not return null)
get an object type based on numerical id ( if not return null)
Definition at line 349 of file UaCanNodeObject.cpp.
|
inline |
get io manager
Definition at line 45 of file UaCanNodeObject.h.