AuboCaps  0.4.1
arcs::aubo_scope::Io Class Reference

This is the base interface representing all types of I/Os available in AuboScope. More...

#include <io.h>

Inheritance diagram for arcs::aubo_scope::Io:

Public Types

enum  IoType : int {
  DIGITAL, ANALOG, INTEGER, BOOLEAN,
  DOUBLE
}
 
enum  InterfaceType : int {
  STANDARD, TOOL, CONFIGURABLE, SAFETYIO,
  LINKIO, MODBUS, GENERAL_PURPOSE
}
 
enum  DigitalInputAction : int {
  INPUT_DEFAULT, GO_HOME, FREEDRIVE, START_PROGRAM,
  STOP_PROGRAM, PAUSE_PROGRAM, POPUP_DISMISS
}
 
enum  DigitalOutputAction : int { OUTPUT_DEFAULT, LOW_WHEN_NOT_RUNNING, HIGH_WHEN_NOT_RUNNING, HIGH_WHEN_RUNNING_LOW_WHEN_STOP }
 
enum  AnalogInputAction : int { ANANLOG_INPUT_DEFAULT }
 
enum  AnalogOutputAction : int { ANANLOG_OUTPUT_DEFAULT, ANANLOG_MIN_WHEN_NOT_RUNNING, ANANLOG_MAX_WHEN_NOT_RUNNING, ANANLOG_MAX_WHEN_RUNNING_MIN_WHEN_STOP }
 

Public Member Functions

 Io (Io &f)
 
 Io (Io &&f)
 
virtual ~Io ()
 
std::string getDisplayName () const
 
std::string getDefaultName () const
 
std::string getValueStr () const
 
IoType getType () const
 
InterfaceType getInterfaceType () const
 
bool isInput () const
 
bool isResolvable () const
 Some I/Os, such as MODBUS I/Os and analog Tool inputs, are in some situations not present in AuboScope or available for use. More...
 

Protected Member Functions

 Io ()
 

Private Attributes

void * d_ { nullptr }
 

Friends

class DataSwitch
 

Detailed Description

This is the base interface representing all types of I/Os available in AuboScope.

Definition at line 16 of file io.h.

Member Enumeration Documentation

Enumerator
ANANLOG_INPUT_DEFAULT 

Definition at line 55 of file io.h.

Enumerator
ANANLOG_OUTPUT_DEFAULT 
ANANLOG_MIN_WHEN_NOT_RUNNING 
ANANLOG_MAX_WHEN_NOT_RUNNING 
ANANLOG_MAX_WHEN_RUNNING_MIN_WHEN_STOP 

Definition at line 60 of file io.h.

Enumerator
INPUT_DEFAULT 
GO_HOME 
FREEDRIVE 
START_PROGRAM 
STOP_PROGRAM 
PAUSE_PROGRAM 
POPUP_DISMISS 

Definition at line 37 of file io.h.

Enumerator
OUTPUT_DEFAULT 
LOW_WHEN_NOT_RUNNING 
HIGH_WHEN_NOT_RUNNING 
HIGH_WHEN_RUNNING_LOW_WHEN_STOP 

Definition at line 47 of file io.h.

Enumerator
STANDARD 
TOOL 
CONFIGURABLE 
SAFETYIO 
LINKIO 
MODBUS 
GENERAL_PURPOSE 

Definition at line 27 of file io.h.

Enumerator
DIGITAL 
ANALOG 
INTEGER 
BOOLEAN 
DOUBLE 

Definition at line 19 of file io.h.

Constructor & Destructor Documentation

arcs::aubo_scope::Io::Io ( Io f)
arcs::aubo_scope::Io::Io ( Io &&  f)
virtual arcs::aubo_scope::Io::~Io ( )
virtual
arcs::aubo_scope::Io::Io ( )
protected

Member Function Documentation

std::string arcs::aubo_scope::Io::getDefaultName ( ) const
Returns
the robot default name of the I/O.
std::string arcs::aubo_scope::Io::getDisplayName ( ) const
Returns
the user defined name of the IO in the currently selected installation.
InterfaceType arcs::aubo_scope::Io::getInterfaceType ( ) const
Returns
the interface type this I/O belongs to.

Referenced by arcs::aubo_scope::DigitalIoFilter::operator()(), and arcs::aubo_scope::AnalogIoFilter::operator()().

Here is the caller graph for this function:

IoType arcs::aubo_scope::Io::getType ( ) const
Returns
the I/O type.
std::string arcs::aubo_scope::Io::getValueStr ( ) const
Returns
get current reading of the I/O as a string.
bool arcs::aubo_scope::Io::isInput ( ) const
Returns
true if I/O supports reading of values and false otherwise.
bool arcs::aubo_scope::Io::isResolvable ( ) const

Some I/Os, such as MODBUS I/Os and analog Tool inputs, are in some situations not present in AuboScope or available for use.

This method can be used to determine if the I/O is available.

For more details about the specific situations where certain types of I/Os can be unresolved, see the relevant interfaces extending this base interface, e.g. ModbusIO#isResolvable().

Returns
true, if I/O can be resolved. false otherwise.

Friends And Related Function Documentation

friend class DataSwitch
friend

Definition at line 129 of file io.h.

Member Data Documentation

void* arcs::aubo_scope::Io::d_ { nullptr }
private

Definition at line 130 of file io.h.


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