AuboStudio SDK  0.6.3
modbus_io.h
浏览该文件的文档.
1#ifndef AUBO_SCOPE_MODBUS_IO_H
2#define AUBO_SCOPE_MODBUS_IO_H
3
5
6namespace arcs {
7namespace aubo_scope {
9
10/**
11 *
12 * This interface provides support for MODBUS I/Os.
13 */
15{
16public:
20
21 /**
22 *
23 * @return Get the IP address for this MODBUS I/O.
24 */
25 std::string getIpAddress();
26
27 /**
28 *
29 * @return the signal address for this MODBUS I/O.
30 */
31 std::string getSignalAddress();
32
33 /**
34 *
35 * @return Get the is slave for this MODBUS I/O.
36 */
37 bool isSlave();
38
39 /**
40 *
41 * @param value Set MODBUS signal to an integer value. If the MODBUS signal
42 * is digital, then <code>false</code> is represented by 0 and
43 * <code>true</code> are represented by all numbers different from 0.
44 *
45 * @return <code>true</code> if the MODBUS signal was sent down to the
46 * controller, and <code>false</code> if the signal was not sent down, e.g.
47 * because the controller was not running. Notice that the MODBUS signal
48 * must support writes, consult the Aubo MODBUS protocol.
49 */
50 bool setValue(int value);
51
52 /**
53 *
54 * @return the integer value of the MODBUS signal. If the MODBUS signal is
55 * digital then <code>false</code> is represented by 0 and
56 * <code>true}</code> is represented by the value 1.
57 */
58 int getValue();
59
60private:
61 friend class DataSwitch;
63 void *d_{ nullptr };
64};
65
67{
68 ModbusIoFilter(Io::IoType type, bool is_input)
69 : type_(type), is_input_(is_input)
70 {
71 }
72 bool operator()(IoPtr io)
73 {
74 return std::dynamic_pointer_cast<ModbusIo>(io) != nullptr &&
75 io->getType() == type_ && io->isInput() == is_input_;
76 }
77
78private:
81};
82
83} // namespace aubo_scope
84} // namespace arcs
85
86#endif // MODBUSIO_H
#define ARCS_ABI_EXPORT
#define ARCS_CLASS_FORWARD(C)
Macro that forward declares a class and defines the respective smartpointers through ARCS_DECLARE_PTR...
This interface provides support for MODBUS I/Os.
bool setValue(int value)
std::string getSignalAddress()
ModbusIoFilter(Io::IoType type, bool is_input)