ifw  0.0.1-dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Attributes | List of all members
devmgr::shutter::ShutterLcsIf Class Reference

Shutter Local Control System (LCS) Interface (IF) class. More...

#include <shutterLcsIf.hpp>

Inheritance diagram for devmgr::shutter::ShutterLcsIf:
devmgr::common::DeviceLcsIf devmgr::common::DeviceLcsIf devmgr::common::DeviceLcsIf

Public Member Functions

 ShutterLcsIf (std::shared_ptr< devmgr::common::IDeviceConfig > config, devmgr::common::DataContext &data_ctx)
 ShutterLcsIf constructor. More...
 
void ReadConfig ()
 Read the configuration. More...
 
virtual bool IsReady ()
 Check if controller is in Standby/Ready state. More...
 
virtual bool IsOperational ()
 Check if controller is in Operational. More...
 
void Open ()
 Executes the Open RPC. More...
 
void Close ()
 Executes the Close RPC. More...
 
bool IsOpening ()
 Check if controller is opening the shutter. More...
 
bool IsClosing ()
 Check if controller is closing the shutter. More...
 
bool IsOpen ()
 Check if shutter is open. More...
 
bool IsClose ()
 Check if shutter is close. More...
 
bool IsHwFailure ()
 Check if shutter is hardware error. More...
 
virtual void ReadStatus (devmgr::common::DeviceControllerData &status)
 Read status from the controller. More...
 
void StartMonitoring ()
 Start monitoring of controller attributes. More...
 
void StopMonitoring ()
 Stop monitoring of controller attributes. More...
 
void Listener (fcf::common::VectorVariant &params)
 Callback to manage changes on the monitored items. More...
 
virtual std::string GetRpcError (const short error) const
 
virtual std::string GetHwError (int &error_code, const bool update=false)
 Get error message. More...
 
 ShutterLcsIf (std::shared_ptr< devmgr::common::IDeviceConfig > config, devmgr::common::DataContext &data_ctx)
 ShutterLcsIf constructor. More...
 
void ReadConfig ()
 Read the configuration. More...
 
virtual bool IsReady ()
 Check if controller is in Standby/Ready state. More...
 
virtual bool IsOperational ()
 Check if controller is in Operational. More...
 
void Open ()
 Executes the Open RPC. More...
 
void Close ()
 Executes the Close RPC. More...
 
bool IsOpening ()
 Check if controller is opening the shutter. More...
 
bool IsClosing ()
 Check if controller is closing the shutter. More...
 
bool IsOpen ()
 Check if shutter is open. More...
 
bool IsClose ()
 Check if shutter is close. More...
 
bool IsHwFailure ()
 Check if shutter is hardware error. More...
 
virtual void ReadStatus (devmgr::common::DeviceControllerData &status)
 Read status from the controller. More...
 
void StartMonitoring ()
 Start monitoring of controller attributes. More...
 
void StopMonitoring ()
 Stop monitoring of controller attributes. More...
 
void Listener (fcf::common::VectorVariant &params)
 Callback to manage changes on the monitored items. More...
 
virtual std::string GetRpcError (const short error) const
 
virtual std::string GetHwError (int &error_code, const bool update=false)
 Get error message. More...
 
 ShutterLcsIf (std::shared_ptr< devmgr::common::IDeviceConfig > config, devmgr::common::DataContext &data_ctx)
 ShutterLcsIf constructor. More...
 
void ReadConfig ()
 Read the configuration. More...
 
virtual bool IsReady ()
 Check if controller is in Standby/Ready state. More...
 
virtual bool IsOperational ()
 Check if controller is in Operational. More...
 
void Open ()
 Executes the Open RPC. More...
 
void Close ()
 Executes the Close RPC. More...
 
bool IsOpening ()
 Check if controller is opening the shutter. More...
 
bool IsClosing ()
 Check if controller is closing the shutter. More...
 
bool IsOpen ()
 Check if shutter is open. More...
 
bool IsClose ()
 Check if shutter is close. More...
 
bool IsHwFailure ()
 Check if shutter is hardware error. More...
 
virtual void ReadStatus (devmgr::common::DeviceControllerData &status)
 Read status from the controller. More...
 
void StartMonitoring ()
 Start monitoring of controller attributes. More...
 
void StopMonitoring ()
 Stop monitoring of controller attributes. More...
 
void Listener (fcf::common::VectorVariant &params)
 Callback to manage changes on the monitored items. More...
 
virtual std::string GetRpcError (const short error) const
 
virtual std::string GetHwError (int &error_code, const bool update=false)
 Get error message. More...
 
- Public Member Functions inherited from devmgr::common::DeviceLcsIf
 DeviceLcsIf (std::shared_ptr< IDeviceConfig > config)
 DeviceLcsIf construm_data_ctx.GetConfig().GetServerId() + ".". More...
 
virtual void RegisterComm (std::shared_ptr< fcf::common::IComm > commIf, fcf::common::Dispatcher<> &failure, fcf::common::Dispatcher<> &normal)
 Register a communication interface. More...
 
virtual void Connect ()
 Connect to the controller or simulator. More...
 
virtual void Disconnect ()
 Disconnect from the controller of simulator. More...
 
virtual bool IsNotReady ()
 Check if controller is in Standby/NotReady state. More...
 
virtual bool IsDisabling ()
 Check if controller is in Disabling state. More...
 
virtual void Init ()
 Check if controller is in Hardware Failure. More...
 
virtual void Enable ()
 Executes the Enable RPC. More...
 
virtual void Disable ()
 Executes the Disable RPC. More...
 
virtual void Stop ()
 Executes the Stop RPC. More...
 
virtual void Reset ()
 Executes the Reset RPC. More...
 
std::string GetMapValue (std::string category, std::string key)
 Get mapping valLampConfigue. More...
 
fcf::common::Dispatcher
< fcf::common::VectorVariant & > & 
GetDispatcher ()
 
bool IsConfigLoaded () const
 Check if configuration was loaded. More...
 
bool IsConnected () const
 Check is the communication was established. More...
 
 DeviceLcsIf (std::shared_ptr< IDeviceConfig > config)
 DeviceLcsIf construm_data_ctx.GetConfig().GetServerId() + ".". More...
 
virtual void RegisterComm (std::shared_ptr< fcf::common::IComm > commIf, fcf::common::Dispatcher<> &failure, fcf::common::Dispatcher<> &normal)
 Register a communication interface. More...
 
virtual void Connect ()
 Connect to the controller or simulator. More...
 
virtual void Disconnect ()
 Disconnect from the controller of simulator. More...
 
virtual bool IsNotReady ()
 Check if controller is in Standby/NotReady state. More...
 
virtual bool IsDisabling ()
 Check if controller is in Disabling state. More...
 
virtual void Init ()
 Check if controller is in Hardware Failure. More...
 
virtual void Enable ()
 Executes the Enable RPC. More...
 
virtual void Disable ()
 Executes the Disable RPC. More...
 
virtual void Stop ()
 Executes the Stop RPC. More...
 
virtual void Reset ()
 Executes the Reset RPC. More...
 
std::string GetMapValue (std::string category, std::string key)
 Get mapping valLampConfigue. More...
 
fcf::common::Dispatcher
< fcf::common::VectorVariant & > & 
GetDispatcher ()
 
bool IsConfigLoaded () const
 Check if configuration was loaded. More...
 
bool IsConnected () const
 Check is the communication was established. More...
 
 DeviceLcsIf (std::shared_ptr< IDeviceConfig > config)
 DeviceLcsIf construm_data_ctx.GetConfig().GetServerId() + ".". More...
 
virtual void RegisterComm (std::shared_ptr< fcf::common::IComm > commIf, fcf::common::Dispatcher<> &failure, fcf::common::Dispatcher<> &normal)
 Register a communication interface. More...
 
virtual void Connect ()
 Connect to the controller or simulator. More...
 
virtual void Disconnect ()
 Disconnect from the controller of simulator. More...
 
virtual bool IsNotReady ()
 Check if controller is in Standby/NotReady state. More...
 
virtual bool IsDisabling ()
 Check if controller is in Disabling state. More...
 
virtual void Init ()
 Check if controller is in Hardware Failure. More...
 
virtual void Enable ()
 Executes the Enable RPC. More...
 
virtual void Disable ()
 Executes the Disable RPC. More...
 
virtual void Stop ()
 Executes the Stop RPC. More...
 
virtual void Reset ()
 Executes the Reset RPC. More...
 
std::string GetMapValue (std::string category, std::string key)
 Get mapping valLampConfigue. More...
 
fcf::common::Dispatcher
< fcf::common::VectorVariant & > & 
GetDispatcher ()
 
bool IsConfigLoaded () const
 Check if configuration was loaded. More...
 
bool IsConnected () const
 Check is the communication was established. More...
 

Protected Attributes

std::unordered_map
< std::string, short > 
m_status_map
 
std::vector< std::string > m_monitor_vector
 
- Protected Attributes inherited from devmgr::common::DeviceLcsIf
YAML::Node m_config_node
 YAML node for the device mapping file. More...
 
std::shared_ptr
< fcf::common::IComm > 
m_comm
 Shared pointer to the communication object. More...
 
std::shared_ptr< IDeviceConfigm_config
 Shared pointer to the device config object. More...
 
fcf::common::Dispatcher
< fcf::common::VectorVariant & > 
m_dispatcher
 Dispatcher for managing subscription events. More...
 
fcf::common::Dispatcher m_failure
 Dispatcher for managing failures in the communication. More...
 
fcf::common::Dispatcher m_normal
 Dispatcher for managing recovery of communication failures. More...
 
short m_state
 Actual controller state. More...
 
short m_substate
 Actual controller substate. More...
 
bool m_config_loaded
 Flag indicating whether the configuration was succesfully loaded. More...
 
bool m_connected
 Flag indicating whether the LCS is connected. More...
 

Additional Inherited Members

- Protected Member Functions inherited from devmgr::common::DeviceLcsIf
void LoadConfig ()
 Load the YAML configuration. More...
 
void GetStates (short &state, short &substate)
 Get states (state and substate) of the controller. More...
 
void LoadConfig ()
 Load the YAML configuration. More...
 
void GetStates (short &state, short &substate)
 Get states (state and substate) of the controller. More...
 
void LoadConfig ()
 Load the YAML configuration. More...
 
void GetStates (short &state, short &substate)
 Get states (state and substate) of the controller. More...
 

Detailed Description

Shutter Local Control System (LCS) Interface (IF) class.

This class manages the shutter connection to the LCS encapsulating all basic communication with the controller or the simulator.

Each RPC call is synchronous but it only starts the action in the controller. The controller will return succesfully if the action can be started, not that the action was completed.

The completion of the action must be monitored by reading the status of the controller but this is out of the scope of this class.

Constructor & Destructor Documentation

devmgr::shutter::ShutterLcsIf::ShutterLcsIf ( std::shared_ptr< devmgr::common::IDeviceConfig config,
devmgr::common::DataContext data_ctx 
)

ShutterLcsIf constructor.

Parameters
[in,out]configShared pointer to the device configuration.
[in,out]data_ctxReference to the data context object.
devmgr::shutter::ShutterLcsIf::ShutterLcsIf ( std::shared_ptr< devmgr::common::IDeviceConfig config,
devmgr::common::DataContext data_ctx 
)

ShutterLcsIf constructor.

Parameters
[in,out]configShared pointer to the device configuration.
[in,out]data_ctxReference to the data context object.
devmgr::shutter::ShutterLcsIf::ShutterLcsIf ( std::shared_ptr< devmgr::common::IDeviceConfig config,
devmgr::common::DataContext data_ctx 
)

ShutterLcsIf constructor.

Parameters
[in,out]configShared pointer to the device configuration.
[in,out]data_ctxReference to the data context object.

Member Function Documentation

void devmgr::shutter::ShutterLcsIf::Close ( )

Executes the Close RPC.

Exceptions
anexception if an error ocurrs.

This RPC call shall bring the controller to Operational/Close state.

void devmgr::shutter::ShutterLcsIf::Close ( )

Executes the Close RPC.

Exceptions
anexception if an error ocurrs.

This RPC call shall bring the controller to Operational/Close state.

void devmgr::shutter::ShutterLcsIf::Close ( )

Executes the Close RPC.

Exceptions
anexception if an error ocurrs.

This RPC call shall bring the controller to Operational/Close state.

virtual std::string devmgr::shutter::ShutterLcsIf::GetHwError ( int &  error_code,
const bool  update = false 
)
virtual

Get error message.

Returns
error message associated to the error code read from the PLC.

Implements devmgr::common::DeviceLcsIf.

std::string devmgr::shutter::ShutterLcsIf::GetHwError ( int &  error_code,
const bool  update = false 
)
virtual

Get error message.

Returns
error message associated to the error code read from the PLC.

Implements devmgr::common::DeviceLcsIf.

virtual std::string devmgr::shutter::ShutterLcsIf::GetHwError ( int &  error_code,
const bool  update = false 
)
virtual

Get error message.

Returns
error message associated to the error code read from the PLC.

Implements devmgr::common::DeviceLcsIf.

virtual std::string devmgr::shutter::ShutterLcsIf::GetRpcError ( const short  error) const
virtual
Parameters
error_codeError code
Returns
Associated error text to the passed error code.

Implements devmgr::common::DeviceLcsIf.

std::string devmgr::shutter::ShutterLcsIf::GetRpcError ( const short  error) const
virtual
Parameters
error_codeError code
Returns
Associated error text to the passed error code.

Implements devmgr::common::DeviceLcsIf.

virtual std::string devmgr::shutter::ShutterLcsIf::GetRpcError ( const short  error) const
virtual
Parameters
error_codeError code
Returns
Associated error text to the passed error code.

Implements devmgr::common::DeviceLcsIf.

bool devmgr::shutter::ShutterLcsIf::IsClose ( )

Check if shutter is close.

bool devmgr::shutter::ShutterLcsIf::IsClose ( )

Check if shutter is close.

bool devmgr::shutter::ShutterLcsIf::IsClose ( )

Check if shutter is close.

bool devmgr::shutter::ShutterLcsIf::IsClosing ( )

Check if controller is closing the shutter.

Returns
true if condition is met, false otherwise.
bool devmgr::shutter::ShutterLcsIf::IsClosing ( )

Check if controller is closing the shutter.

Returns
true if condition is met, false otherwise.
bool devmgr::shutter::ShutterLcsIf::IsClosing ( )

Check if controller is closing the shutter.

Returns
true if condition is met, false otherwise.
bool devmgr::shutter::ShutterLcsIf::IsHwFailure ( )
virtual

Check if shutter is hardware error.

Implements devmgr::common::DeviceLcsIf.

bool devmgr::shutter::ShutterLcsIf::IsHwFailure ( )
virtual

Check if shutter is hardware error.

Implements devmgr::common::DeviceLcsIf.

bool devmgr::shutter::ShutterLcsIf::IsHwFailure ( )
virtual

Check if shutter is hardware error.

Implements devmgr::common::DeviceLcsIf.

bool devmgr::shutter::ShutterLcsIf::IsOpen ( )

Check if shutter is open.

bool devmgr::shutter::ShutterLcsIf::IsOpen ( )

Check if shutter is open.

bool devmgr::shutter::ShutterLcsIf::IsOpen ( )

Check if shutter is open.

bool devmgr::shutter::ShutterLcsIf::IsOpening ( )

Check if controller is opening the shutter.

Returns
true if condition is met, false otherwise.
bool devmgr::shutter::ShutterLcsIf::IsOpening ( )

Check if controller is opening the shutter.

Returns
true if condition is met, false otherwise.
bool devmgr::shutter::ShutterLcsIf::IsOpening ( )

Check if controller is opening the shutter.

Returns
true if condition is met, false otherwise.
virtual bool devmgr::shutter::ShutterLcsIf::IsOperational ( )
virtual

Check if controller is in Operational.

Returns
true if condition is met, false otherwise.

Implements devmgr::common::DeviceLcsIf.

bool devmgr::shutter::ShutterLcsIf::IsOperational ( )
virtual

Check if controller is in Operational.

Returns
true if condition is met, false otherwise.

Implements devmgr::common::DeviceLcsIf.

virtual bool devmgr::shutter::ShutterLcsIf::IsOperational ( )
virtual

Check if controller is in Operational.

Returns
true if condition is met, false otherwise.

Implements devmgr::common::DeviceLcsIf.

virtual bool devmgr::shutter::ShutterLcsIf::IsReady ( )
virtual

Check if controller is in Standby/Ready state.

Returns
true if condition is met, false otherwise.

Implements devmgr::common::DeviceLcsIf.

virtual bool devmgr::shutter::ShutterLcsIf::IsReady ( )
virtual

Check if controller is in Standby/Ready state.

Returns
true if condition is met, false otherwise.

Implements devmgr::common::DeviceLcsIf.

bool devmgr::shutter::ShutterLcsIf::IsReady ( )
virtual

Check if controller is in Standby/Ready state.

Returns
true if condition is met, false otherwise.

Implements devmgr::common::DeviceLcsIf.

void devmgr::shutter::ShutterLcsIf::Listener ( fcf::common::VectorVariant &  params)
virtual

Callback to manage changes on the monitored items.

Parameters
[in]paramsVector containing the list of atributes that have changed

This method implement the actions associated to the events originated from the monitoring of attributes.

This method is storing in the database the values that have changed. It also publish the events for the clients via zeroMQ.

Implements devmgr::common::DeviceLcsIf.

void devmgr::shutter::ShutterLcsIf::Listener ( fcf::common::VectorVariant &  params)
virtual

Callback to manage changes on the monitored items.

Parameters
[in]paramsVector containing the list of atributes that have changed

This method implement the actions associated to the events originated from the monitoring of attributes.

This method is storing in the database the values that have changed. It also publish the events for the clients via zeroMQ.

Implements devmgr::common::DeviceLcsIf.

void devmgr::shutter::ShutterLcsIf::Listener ( fcf::common::VectorVariant &  params)
virtual

Callback to manage changes on the monitored items.

Parameters
[in]paramsVector containing the list of atributes that have changed

This method implement the actions associated to the events originated from the monitoring of attributes.

This method is storing in the database the values that have changed. It also publish the events for the clients via zeroMQ.

Implements devmgr::common::DeviceLcsIf.

void devmgr::shutter::ShutterLcsIf::Open ( )

Executes the Open RPC.

Exceptions
anexception if an error ocurrs.

This RPC call shall bring the controller to Operational/Open state.

void devmgr::shutter::ShutterLcsIf::Open ( )

Executes the Open RPC.

Exceptions
anexception if an error ocurrs.

This RPC call shall bring the controller to Operational/Open state.

void devmgr::shutter::ShutterLcsIf::Open ( )

Executes the Open RPC.

Exceptions
anexception if an error ocurrs.

This RPC call shall bring the controller to Operational/Open state.

void devmgr::shutter::ShutterLcsIf::ReadConfig ( )
virtual

Read the configuration.

Exceptions
anexception if an error ocurrs.

This class reads the mapping configuration of the device.

Implements devmgr::common::DeviceLcsIf.

void devmgr::shutter::ShutterLcsIf::ReadConfig ( )
virtual

Read the configuration.

Exceptions
anexception if an error ocurrs.

This class reads the mapping configuration of the device.

Implements devmgr::common::DeviceLcsIf.

void devmgr::shutter::ShutterLcsIf::ReadConfig ( )
virtual

Read the configuration.

Exceptions
anexception if an error ocurrs.

This class reads the mapping configuration of the device.

Implements devmgr::common::DeviceLcsIf.

virtual void devmgr::shutter::ShutterLcsIf::ReadStatus ( devmgr::common::DeviceControllerData status)
virtual

Read status from the controller.

Parameters
statusstructure containing the status of the controller.
virtual void devmgr::shutter::ShutterLcsIf::ReadStatus ( devmgr::common::DeviceControllerData status)
virtual

Read status from the controller.

Parameters
statusstructure containing the status of the controller.
void devmgr::shutter::ShutterLcsIf::ReadStatus ( devmgr::common::DeviceControllerData status)
virtual

Read status from the controller.

Parameters
statusstructure containing the status of the controller.
void devmgr::shutter::ShutterLcsIf::StartMonitoring ( )
virtual

Start monitoring of controller attributes.

This methods take cares of registering the attributes that will be monitored by the communication class. Most of the communication will be OPCUA and this monitoring means OPCUA subscription.

Implements devmgr::common::DeviceLcsIf.

void devmgr::shutter::ShutterLcsIf::StartMonitoring ( )
virtual

Start monitoring of controller attributes.

This methods take cares of registering the attributes that will be monitored by the communication class. Most of the communication will be OPCUA and this monitoring means OPCUA subscription.

Implements devmgr::common::DeviceLcsIf.

void devmgr::shutter::ShutterLcsIf::StartMonitoring ( )
virtual

Start monitoring of controller attributes.

This methods take cares of registering the attributes that will be monitored by the communication class. Most of the communication will be OPCUA and this monitoring means OPCUA subscription.

Implements devmgr::common::DeviceLcsIf.

void devmgr::shutter::ShutterLcsIf::StopMonitoring ( )
virtual

Stop monitoring of controller attributes.

Exceptions
anexception if an error ocurrs.

This method will inform the communication interface to stop monitoring the shutter attributes. All OPCUA subscriptions will be removed.

Implements devmgr::common::DeviceLcsIf.

void devmgr::shutter::ShutterLcsIf::StopMonitoring ( )
virtual

Stop monitoring of controller attributes.

Exceptions
anexception if an error ocurrs.

This method will inform the communication interface to stop monitoring the shutter attributes. All OPCUA subscriptions will be removed.

Implements devmgr::common::DeviceLcsIf.

void devmgr::shutter::ShutterLcsIf::StopMonitoring ( )
virtual

Stop monitoring of controller attributes.

Exceptions
anexception if an error ocurrs.

This method will inform the communication interface to stop monitoring the shutter attributes. All OPCUA subscriptions will be removed.

Implements devmgr::common::DeviceLcsIf.

Member Data Documentation

std::vector< std::string > devmgr::shutter::ShutterLcsIf::m_monitor_vector
protected
std::unordered_map< std::string, short > devmgr::shutter::ShutterLcsIf::m_status_map
protected

< this map is used to convert the NodeId received by the OPCUA notifications to an index value and thus avoid comparing strings for each notification. This vector is used to prepare in advance the list of nodeIds that will be monitored per device.


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