IOManagerSDO is a manger ro send and receive SDO massage.
More...
#include <IOManagerSDO.h>
Inherits IOManager.
|
| IOManagerSDO (UaCanNodeObject *pCanNode) |
| construction More...
|
|
virtual | ~IOManagerSDO () |
| destruction More...
|
|
UaStatus | beginTransaction (IOManagerCallback *pCallback, const ServiceContext &serviceContext, OpcUa_UInt32 hTransaction, OpcUa_UInt32 totalItemCountHint, OpcUa_Double maxAge, OpcUa_TimestampsToReturn timestampsToReturn, TransactionType transactionType, OpcUa_Handle &hIOManagerContext) |
| Start a transaction. More...
|
|
UaStatus | beginStartMonitoring (OpcUa_Handle hIOManagerContext, OpcUa_UInt32 callbackHandle, IOVariableCallback *pIOVariableCallback, VariableHandle *pVariableHandle, MonitoringContext &monitoringContext) |
| dummy function. it does not use in this manager. monitoring operations execute by standard IO manager More...
|
|
UaStatus | beginModifyMonitoring (OpcUa_Handle hIOManagerContext, OpcUa_UInt32 callbackHandle, OpcUa_UInt32 hIOVariable, MonitoringContext &monitoringContext) |
| Notify IOManager after modifying monitoring parameters of an item. More...
|
|
UaStatus | beginStopMonitoring (OpcUa_Handle hIOManagerContext, OpcUa_UInt32 callbackHandle, OpcUa_UInt32 hIOVariable) |
| Notify IOManager after stopping monitoring of an item. More...
|
|
UaStatus | beginRead (OpcUa_Handle hIOManagerContext, OpcUa_UInt32 callbackHandle, VariableHandle *pVariableHandle, OpcUa_ReadValueId *pReadValueId) |
| Read attribute value of a node. More...
|
|
UaStatus | beginWrite (OpcUa_Handle hIOManagerContext, OpcUa_UInt32 callbackHandle, VariableHandle *pVariableHandle, OpcUa_WriteValue *pWriteValue) |
| Write attribute value of a node. More...
|
|
UaStatus | finishTransaction (OpcUa_Handle hIOManagerContext) |
| Finish a transaction. More...
|
|
UaStatus | setAvailableSamplingRates (const UaUInt32Array &availableSamplingRates) |
| Set the sampling rates provided by the OPC server. More...
|
|
void | executeRead (AddressSpace::IOTransactionContextSDO *pTransactionContext) |
|
void | executeWrite (AddressSpace::IOTransactionContextSDO *pTransactionContext) |
|
void | executeMonitorBegin (AddressSpace::IOTransactionContextSDO *pTransactionContext) |
|
void | executeMonitorStop (AddressSpace::IOTransactionContextSDO *pTransactionContext) |
|
void | executeMonitorModify (AddressSpace::IOTransactionContextSDO *pTransactionContext) |
|
IOManagerSDO is a manger ro send and receive SDO massage.
To develop IOManager in Ua Opc toolkit there is an specific interface.
It has several abstract function which must be redefine to ensure needed functionality.
in order to execute sdo operation in parallel each node has this manager in OpcUaCanOpenServer.
Definition at line 20 of file IOManagerSDO.h.
◆ IOManagerSDO()
construction
- Parameters
-
pCanNode | is a pointer to the UaCanNodeObjec which the manager is belonged to |
Definition at line 17 of file IOManagerSDO.cpp.
◆ ~IOManagerSDO()
CanOpen::IOManagerSDO::~IOManagerSDO |
( |
| ) |
|
|
virtual |
◆ beginModifyMonitoring()
UaStatus CanOpen::IOManagerSDO::beginModifyMonitoring |
( |
OpcUa_Handle |
hIOManagerContext, |
|
|
OpcUa_UInt32 |
callbackHandle, |
|
|
OpcUa_UInt32 |
hIOVariable, |
|
|
MonitoringContext & |
monitoringContext |
|
) |
| |
Notify IOManager after modifying monitoring parameters of an item.
- Parameters
-
hIOManagerContext | IOManager handle for the transaction context. This handle is used to identify the transaction in the IOManager. |
callbackHandle | Handle for the node in the callback. This handle was passed in to the IOManager with the beginModifyMonitoring method. |
hIOVariable | The handle of the variable in the IOManager created with beginStartMonitoring. The handle was passed to the SDK in the callback finishStartMonitoring. |
monitoringContext | handle for the monitoring context. |
- Returns
- Error code
Definition at line 388 of file IOManagerSDO.cpp.
◆ beginRead()
UaStatus CanOpen::IOManagerSDO::beginRead |
( |
OpcUa_Handle |
hIOManagerContext, |
|
|
OpcUa_UInt32 |
callbackHandle, |
|
|
VariableHandle * |
pVariableHandle, |
|
|
OpcUa_ReadValueId * |
pReadValueId |
|
) |
| |
Read attribute value of a node.
- Parameters
-
hIOManagerContext | IOManager handle for the transaction context. This handle is used to identify the transaction in the IOManager. |
callbackHandle | Handle for the node in the callback. This handle was passed in to the IOManager with the beginModifyMonitoring method. |
pVariableHandle | Variable handle provided by the NodeManager::getVariableHandle. This object contains the information needed by the IOManager to identify the node to read in its context. |
pReadValueId | Context for the node to read. The context contains the IndexRange and the DataEncoding requested by the client. The other parameters of this context are already handled by the VariableHandle. |
- Returns
- Error code
Definition at line 228 of file IOManagerSDO.cpp.
◆ beginStartMonitoring()
UaStatus CanOpen::IOManagerSDO::beginStartMonitoring |
( |
OpcUa_Handle |
hIOManagerContext, |
|
|
OpcUa_UInt32 |
callbackHandle, |
|
|
IOVariableCallback * |
pIOVariableCallback, |
|
|
VariableHandle * |
pVariableHandle, |
|
|
MonitoringContext & |
monitoringContext |
|
) |
| |
dummy function. it does not use in this manager. monitoring operations execute by standard IO manager
Start monitoring of an item.
- Parameters
-
hIOManagerContext | IOManager handle for the transaction context. This handle is used to identify the transaction in the IOManager. |
callbackHandle | Handle for the node in the callback. This handle was passed in to the IOManager with the beginModifyMonitoring method. |
pIOVariableCallback | Callback interface used for data change callbacks to the MonitoredItem managed by the SDK. |
pVariableHandle | Variable handle provided by the NodeManager::getVariableHandle. This object contains the information needed by the IOManager to identify the node to read in its context. |
monitoringContext | handle for the monitoring context. |
- Returns
- Error code
Definition at line 314 of file IOManagerSDO.cpp.
◆ beginStopMonitoring()
UaStatus CanOpen::IOManagerSDO::beginStopMonitoring |
( |
OpcUa_Handle |
hIOManagerContext, |
|
|
OpcUa_UInt32 |
callbackHandle, |
|
|
OpcUa_UInt32 |
hIOVariable |
|
) |
| |
Notify IOManager after stopping monitoring of an item.
- Parameters
-
hIOManagerContext | IOManager handle for the transaction context. This handle is used to identify the transaction in the IOManager. |
callbackHandle | Handle for the node in the callback. This handle was passed in to the IOManager with the beginModifyMonitoring method. |
hIOVariable | The handle of the variable in the IOManager created with beginStartMonitoring. The handle was passed to the SDK in the callback finishStartMonitoring. |
- Returns
- Error code
Definition at line 452 of file IOManagerSDO.cpp.
◆ beginTransaction()
UaStatus CanOpen::IOManagerSDO::beginTransaction |
( |
IOManagerCallback * |
pCallback, |
|
|
const ServiceContext & |
serviceContext, |
|
|
OpcUa_UInt32 |
hTransaction, |
|
|
OpcUa_UInt32 |
totalItemCountHint, |
|
|
OpcUa_Double |
maxAge, |
|
|
OpcUa_TimestampsToReturn |
timestampsToReturn, |
|
|
TransactionType |
transactionType, |
|
|
OpcUa_Handle & |
hIOManagerContext |
|
) |
| |
Start a transaction.
- Parameters
-
pCallback | Callback interface used for the transaction. The IOManager must use this interface to finish the action for each passed node in the transaction. |
serviceContext | General context for the service calls containing information like the session object, return diagnostic mask and timeout hint. |
hTransaction | Handle for the transaction used by the SDK to identify the transaction in the callbacks. This handle was passed in to the IOManager with the beginTransaction method. |
totalItemCountHint | A hint for the IOManager about the total number of nodes in the transaction. The IOManager may not be responsible for all nodes but he can use this hint if he wants to optimize memory allocation. |
maxAge | Max age parameter used only in the Read service. |
timestampsToReturn | Indicates which timestamps should be returned in a Read or a Publish response. The possible enum values are: OpcUa_TimestampsToReturn_Source OpcUa_TimestampsToReturn_Server OpcUa_TimestampsToReturn_Both OpcUa_TimestampsToReturn_Neither |
transactionType | Type of the transaction. The possible enum values are: READ WRITE MONITOR_BEGIN MONITOR_MODIFY MONITOR_STOP |
hIOManagerContext | IOManager handle for the transaction context. This handle is used to identify the transaction in the IOManager. |
- Returns
- Error code
Definition at line 59 of file IOManagerSDO.cpp.
◆ beginWrite()
UaStatus CanOpen::IOManagerSDO::beginWrite |
( |
OpcUa_Handle |
hIOManagerContext, |
|
|
OpcUa_UInt32 |
callbackHandle, |
|
|
VariableHandle * |
pVariableHandle, |
|
|
OpcUa_WriteValue * |
pWriteValue |
|
) |
| |
Write attribute value of a node.
- Parameters
-
hIOManagerContext | IOManager handle for the transaction context. This handle is used to identify the transaction in the IOManager. |
callbackHandle | Handle for the node in the callback. This handle was passed in to the IOManager with the beginModifyMonitoring method. |
pVariableHandle | Variable handle provided by the NodeManager::getVariableHandle. This object contains the information needed by the IOManager to identify the node to read in its context. |
pWriteValue | Context for the node to write. The context contains the IndexRange requested by the client. The NodeId and Attribute parameters of this context are already handled by the VariableHandle |
- Returns
- Error code
Definition at line 271 of file IOManagerSDO.cpp.
◆ executeMonitorBegin()
◆ executeMonitorModify()
◆ executeMonitorStop()
◆ executeRead()
◆ executeWrite()
◆ finishTransaction()
UaStatus CanOpen::IOManagerSDO::finishTransaction |
( |
OpcUa_Handle |
hIOManagerContext | ) |
|
Finish a transaction.
- Parameters
-
hIOManagerContext | IOManager handle for the transaction context. This handle is used to identify the transaction in the IOManager. |
- Returns
- Error code
Definition at line 111 of file IOManagerSDO.cpp.
◆ setAvailableSamplingRates()
UaStatus CanOpen::IOManagerSDO::setAvailableSamplingRates |
( |
const UaUInt32Array & |
availableSamplingRates | ) |
|
Set the sampling rates provided by the OPC server.
◆ UA_DISABLE_COPY()
◆ m_handlesSampleItems
◆ m_mutex
UaMutex CanOpen::IOManagerSDO::m_mutex |
|
private |
◆ m_pCanNode
◆ m_pSamplingEngine
SamplingEngine* CanOpen::IOManagerSDO::m_pSamplingEngine |
|
private |
◆ m_pThreadPool
UaThreadPool* CanOpen::IOManagerSDO::m_pThreadPool |
|
private |
◆ sdoSamplingRates
UaUInt32Array CanOpen::IOManagerSDO::sdoSamplingRates |
|
private |
The documentation for this class was generated from the following files: