AuboStudio SDK
0.6.3
Main Page
Namespaces
Classes
Files
File List
File Members
include
aubo_caps
domain
io
io.h
Go to the documentation of this file.
1
#ifndef AUBO_SCOPE_IO_H
2
#define AUBO_SCOPE_IO_H
3
4
#include <string>
5
#include <
aubo_caps/class_forward.h
>
6
7
namespace
arcs
{
8
namespace
aubo_scope {
9
ARCS_CLASS_FORWARD
(Io);
10
11
/**
12
*
13
* This is the base interface representing all types of I/Os available in
14
* AuboScope.
15
*/
16
class
ARCS_ABI_EXPORT
Io
17
{
18
public
:
19
enum
IoType
:
int
20
{
21
DIGITAL
,
22
ANALOG
,
23
INTEGER
,
24
BOOLEAN
,
25
DOUBLE
26
};
27
enum
InterfaceType
:
int
28
{
29
STANDARD
,
30
TOOL
,
31
CONFIGURABLE
,
32
LINKIO
,
33
MODBUS
,
34
GENERAL_PURPOSE
,
35
PROFINET
,
36
ETHERNET_IP
,
37
};
38
39
public
:
40
Io
(
Io
&f);
41
Io
(
Io
&&f);
42
virtual
~
Io
();
43
44
/**
45
*
46
* @return the user defined name of the IO in the currently selected
47
* installation.
48
*/
49
std::string getDisplayName()
const
;
50
51
/**
52
*
53
* @return the robot default name of the I/O.
54
*/
55
std::string getDefaultName()
const
;
56
57
/**
58
*
59
* @return get current reading of the I/O as a string.
60
*/
61
std::string getValueStr()
const
;
62
63
/**
64
*
65
* @return the I/O type.
66
*/
67
IoType
getType()
const
;
68
69
/**
70
*
71
* @return the interface type this I/O belongs to.
72
*/
73
InterfaceType
getInterfaceType()
const
;
74
75
/**
76
*
77
* @return the action number of the I/O.
78
*/
79
int
getAction()
const
;
80
81
/**
82
*
83
* @return <code>true</code> if I/O supports reading of values and
84
* <code>false</code> otherwise.
85
*/
86
bool
isInput()
const
;
87
88
/**
89
* Some I/Os, such as MODBUS I/Os and analog Tool inputs, are in some
90
* situations not present in AuboScope or available for use. This method can
91
* be used to determine if the I/O is available. <br>
92
*
93
* For more details about the specific situations where certain types of
94
* I/Os can be unresolved, see the relevant interfaces extending this base
95
* interface, e.g. {@link ModbusIO#isResolvable()}.
96
*
97
* @return <code>true</code>, if I/O can be resolved.
98
* <code>false</code> otherwise.
99
*/
100
bool
isResolvable()
const
;
101
102
size_t
hashCode();
103
104
protected
:
105
Io
();
106
107
private
:
108
friend
class
DataSwitch;
109
void
*d_{
nullptr
};
110
};
111
112
}
// namespace aubo_scope
113
}
// namespace arcs
114
115
#endif // AUBO_SCOPE_IO_H
arcs::aubo_scope::Io::ANALOG
Definition:
io.h:22
arcs::aubo_scope::Io::IoType
IoType
Definition:
io.h:19
arcs::aubo_scope::Io::TOOL
Definition:
io.h:30
arcs::aubo_scope::ARCS_CLASS_FORWARD
ARCS_CLASS_FORWARD(GripForceCapability)
arcs::aubo_scope::Io::STANDARD
Definition:
io.h:29
arcs::aubo_scope::Io::LINKIO
Definition:
io.h:32
arcs::aubo_scope::Io
This is the base interface representing all types of I/Os available in AuboScope. ...
Definition:
io.h:16
arcs::aubo_scope::Io::DIGITAL
Definition:
io.h:21
arcs::aubo_scope::Io::InterfaceType
InterfaceType
Definition:
io.h:27
class_forward.h
arcs::aubo_scope::Io::CONFIGURABLE
Definition:
io.h:31
arcs::aubo_scope::Io::INTEGER
Definition:
io.h:23
arcs::aubo_scope::Io::BOOLEAN
Definition:
io.h:24
arcs::aubo_scope::Io::PROFINET
Definition:
io.h:35
ARCS_ABI_EXPORT
#define ARCS_ABI_EXPORT
Definition:
class_forward.h:16
arcs::aubo_scope::Io::ETHERNET_IP
Definition:
io.h:36
arcs::aubo_scope::Io::MODBUS
Definition:
io.h:33
arcs::aubo_scope::Io::GENERAL_PURPOSE
Definition:
io.h:34
arcs
Definition:
contribution_provider.h:7
Generated by
1.8.11