cmvr-es/third_party/AuboSdk/win/include/aubo/register_control.h

2727 lines
88 KiB
C
Raw Normal View History

2025-11-18 10:07:08 +08:00
/** @file register_control.h
* @brief
*/
#ifndef AUBO_SDK_REGISTER_CONTROL_INTERFACE_H
#define AUBO_SDK_REGISTER_CONTROL_INTERFACE_H
#include <stdint.h>
#include <memory>
#include <vector>
#include <aubo/type_def.h>
#include <aubo/global_config.h>
enum ModbusErrorNum
{
/** MODBUS unit not initiallized
*/
MB_ERR_NOT_INIT = -1,
/** MODBUS unit disconnected
*/
MB_ERR_DISCONNECTED = -2,
/** The function code received in the query is not an allowable action for
* the server (or slave).
*/
MB_ERR_ILLEGAL_FUNCTION = 1,
/** The function code received in the query is not an allowable action for
* the server (or slave), check that the entered signal address corresponds
* to the setup of the remote MODBUS server.
*/
MB_ERR_ILLEGAL_DATA_ADDRESS = 2,
/** A value contained in the query data field is not an allowable value for
* server (or slave), check that the enterd signal value is valid for the
* specified address on the remote MODBUS server.
*/
MB_ERR_ILLEGAL_DATA_VALUE = 3,
/** An unrecoverable error occurred while the server (or slave) was
* attempting to perform the requested action.
*/
MB_ERR_SLAVE_DEVICE_FAILURE = 4,
/** Specialized use in conjunction with programming commands sent to the
* remote MODBUS unit.
*/
MB_ERR_ACKNOWLEDGE = 5,
/** Specialized use in conjunction with programming commands sent to the
* remote MODBUS unit, the slave (server) is not able to respond now
*/
MB_ERR_SLAVE_DEVICE_BUSY = 6,
};
namespace arcs {
namespace common_interface {
/**
* \~chinese \~english General Registers
*/
class ARCS_ABI_EXPORT RegisterControl
{
public:
RegisterControl();
virtual ~RegisterControl();
/**
* \chinese
*
* 线访
* 使
*
* @param address 0:127
* @return truefalse
*
* @note [0:63]FieldBus/PLC接口使用
* [64:127]FieldBus/PLC接口访问RTDE客户端使用
*
* @par Python函数原型
* getBoolInput(self: pyaubo_sdk.RegisterControl, arg0: int) -> bool
*
* @par Lua函数原型
* getBoolInput(address: number) -> boolean
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.getBoolInput","params":[0],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":false}
* \endchinese
*
* \english
* Reads the boolean from one of the input registers, which can also be
* accessed by a Field bus. Note, uses its own memory space.
*
* @param address Address of the register (0:127)
* @return Boolean value held by the register (true, false)
*
* @note The lower range of the boolean input registers [0:63] is reserved
* for FieldBus/PLC interface usage. The upper range [64:127] cannot be
* accessed by FieldBus/PLC interfaces, since it is reserved for external
* RTDE clients.
*
* @par Python interface prototype
* getBoolInput(self: pyaubo_sdk.RegisterControl, arg0: int) -> bool
*
* @par Lua interface prototype
* getBoolInput(address: number) -> boolean
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.getBoolInput","params":[0],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":false}
* \endenglish
*/
bool getBoolInput(uint32_t address);
/**
* \chinese
*
* @param address
* @param value
* @return
*
* @note RTDE/Modbus Slave/PLC 使
*
* @par Python函数原型
* setBoolInput(self: pyaubo_sdk.RegisterControl, arg0: int, arg1: bool) ->
* int
*
* @par Lua函数原型
* setBoolInput(address: number, value: boolean) -> nil
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.setBoolInput","params":[0,true],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endchinese
* \english
*
* @param address Address of the register (0:127)
* @param value Boolean value to set (true or false)
* @return Returns 0 on success, or an error code
*
* @note Only used when implementing RTDE/Modbus Slave/PLC server
*
* @par Python interface prototype
* setBoolInput(self: pyaubo_sdk.RegisterControl, arg0: int, arg1: bool) -> int
*
* @par Lua interface prototype
* setBoolInput(address: number, value: boolean) -> nil
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.setBoolInput","params":[0,true],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endenglish
*/
int setBoolInput(uint32_t address, bool value);
/**
* \chinese
*
* 线访
* 使
*
* @param address 0:47
* @return [-2,147,483,648 : 2,147,483,647]
*
* @note [0:23]FieldBus/PLC接口使用
* [24:47]FieldBus/PLC接口访问RTDE客户端使用
*
* @par Python函数原型
* getInt32Input(self: pyaubo_sdk.RegisterControl, arg0: int) -> int
*
* @par Lua函数原型
* getInt32Input(address: number) -> number
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.getInt32Input","params":[0],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0}
* \endchinese
*
* \english
* Reads the integer from one of the input registers, which can also be
* accessed by a FieldBus. Note, uses its own memory space.
*
* @param address Address of the register (0:47)
* @return The value held by the register [-2,147,483,648 : 2,147,483,647]
*
* @note The lower range of the integer input registers [0:23] is reserved
* for FieldBus/PLC interface usage. The upper range [24:47] cannot be
* accessed by FieldBus/PLC interfaces, since it is reserved for external
* RTDE clients.
*
* @par Python interface prototype
* getInt32Input(self: pyaubo_sdk.RegisterControl, arg0: int) -> int
*
* @par Lua interface prototype
* getInt32Input(address: number) -> number
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.getInt32Input","params":[0],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0}
* \endchinese
*/
int getInt32Input(uint32_t address);
/**
* \chinese
*
* @param address 0:47
* @param value
* @return 0
*
* @note RTDE/Modbus Slave/PLC 使
*
* @par Python函数原型
* setInt32Input(self: pyaubo_sdk.RegisterControl, arg0: int, arg1: int) -> int
*
* @par Lua函数原型
* setInt32Input(address: number, value: number) -> nil
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.setInt32Input","params":[0,33],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endchinese
* \english
*
* @param address Address of the register (0:47)
* @param value Integer value to set
* @return Returns 0 on success, or an error code
*
* @note Only used when implementing RTDE/Modbus Slave/PLC server
*
* @par Python interface prototype
* setInt32Input(self: pyaubo_sdk.RegisterControl, arg0: int, arg1: int) -> int
*
* @par Lua interface prototype
* setInt32Input(address: number, value: number) -> nil
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.setInt32Input","params":[0,33],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endenglish
*/
int setInt32Input(uint32_t address, int value);
/**
* \chinese
* Reads the float from one of the input registers, which can also be
* accessed by a Field bus. Note, uses its own memory space.
*
* 线访
* 使
*
* @param address Address of the register (0:47)
* 0:47
* @return The value held by the register (float)
*
*
* @note The lower range of the float input registers [0:23] is reserved
* for FieldBus/PLC interface usage. The upper range [24:47] cannot be
* accessed by FieldBus/PLC interfaces, since it is reserved for external
* RTDE clients.
* [0:23]线/PLC接口使用
* [24:47]线/PLC接口访问RTDE客户端保留的
*
* @par Python函数原型
* getFloatInput(self: pyaubo_sdk.RegisterControl, arg0: int) -> float
*
* @par Lua函数原型
* getFloatInput(address: number) -> number
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.getFloatInput","params":[0],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0.0}
*
* \endchinese
*
* \english
* Reads the float from one of the input registers, which can also be
* accessed by a Field bus. Note, uses its own memory space.
*
* @param address Address of the register (0:47)
* @return The value held by the register (float)
*
* @note The lower range of the float input registers [0:23] is reserved
* for FieldBus/PLC interface usage. The upper range [24:47] cannot be
* accessed by FieldBus/PLC interfaces, since it is reserved for external
* RTDE clients.
*
* @par Python interface prototype
* getFloatInput(self: pyaubo_sdk.RegisterControl, arg0: int) -> float
*
* @par Lua interface prototype
* getFloatInput(address: number) -> number
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.getFloatInput","params":[0],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0.0}
*/
float getFloatInput(uint32_t address);
/**
* \chinese
*
* @param address 0:47
* @param value
* @return 0
*
* @note RTDE/Modbus Slave/PLC 使
*
* @par Python函数原型
* setFloatInput(self: pyaubo_sdk.RegisterControl, arg0: int, arg1: float) -> int
*
* @par Lua函数原型
* setFloatInput(address: number, value: number) -> nil
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.setFloatInput","params":[0,3.3],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endchinese
* \english
*
* @param address Address of the register (0:47)
* @param value Float value to set
* @return Returns 0 on success, or an error code
*
* @note Only used when implementing RTDE/Modbus Slave/PLC server
*
* @par Python interface prototype
* setFloatInput(self: pyaubo_sdk.RegisterControl, arg0: int, arg1: float) -> int
*
* @par Lua interface prototype
* setFloatInput(address: number, value: number) -> nil
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.setFloatInput","params":[0,3.3],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endenglish
*/
int setFloatInput(uint32_t address, float value);
/**
* \chinese
*
* 线访
* 使
*
* @param address 0:47
* @return
*
* @par Python函数原型
* getDoubleInput(self: pyaubo_sdk.RegisterControl, arg0: int) -> float
*
* @par Lua函数原型
* getDoubleInput(address: number) -> number
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.getDoubleInput","params":[0],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0.0}
*
* \endchinese
* \english
*
* Reads the double value from one of the input registers, which can also be accessed by a FieldBus. Note, uses its own memory space.
*
* @param address Address of the register (0:47)
* @return The double value held by the register
*
* @par Python interface prototype
* getDoubleInput(self: pyaubo_sdk.RegisterControl, arg0: int) -> float
*
* @par Lua interface prototype
* getDoubleInput(address: number) -> number
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.getDoubleInput","params":[0],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0.0}
*
* \endenglish
*/
double getDoubleInput(uint32_t address);
/**
* \english
* @param address
* @param value
* @return
*
* @note Only used when implementing RTDE/Modbus Slave/PLC server
*
* @par Python interface prototype
* setDoubleInput(self: pyaubo_sdk.RegisterControl, arg0: int, arg1: float)
* -> int
*
* @par Lua interface prototype
* setDoubleInput(address: number, value: number) -> nil
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.setDoubleInput","params":[0,6.6],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0}
* \endenglish
*
* \chinese
* @param address
* @param value
* @return
*
* @note RTDE/Modbus Slave/PLC 使
*
* @par Python函数原型
* setDoubleInput(self: pyaubo_sdk.RegisterControl, arg0: int, arg1: float)
* -> int
*
* @par Lua函数原型
* setDoubleInput(address: number, value: number) -> nil
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.setDoubleInput","params":[0,6.6],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0}
* \endchinese
*/
int setDoubleInput(uint32_t address, double value);
/**
* \chinese
* 线访
* 使
*
* @param address 0:127
* @return true, false
*
* @note [0:63]线/PLC接口使用
* [64:127]线/PLC接口访问RTDE客户端保留的
*
* @par Python函数原型
* getBoolOutput(self: pyaubo_sdk.RegisterControl, arg0: int) -> bool
*
* @par Lua函数原型
* getBoolOutput(address: number) -> boolean
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.getBoolOutput","params":[0],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":false}
* \endchinese
*
* \english
* Reads the boolean from one of the output registers, which can also be
* accessed by a Field bus.
* Note, uses its own memory space.
*
* @param address Address of the register (0:127)
* @return The boolean value held by the register (true, false)
*
* @note The lower range of the boolean output registers [0:63] is reserved
* for FieldBus/PLC interface usage. The upper range [64:127] cannot be
* accessed by FieldBus/PLC interfaces, since it is reserved for external
* RTDE clients.
*
* @par Python interface prototype
* getBoolOutput(self: pyaubo_sdk.RegisterControl, arg0: int) -> bool
*
* @par Lua interface prototype
* getBoolOutput(address: number) -> boolean
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.getBoolOutput","params":[0],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":false}
* \endenglish
*/
bool getBoolOutput(uint32_t address);
/**
* \chinese
*
* @param address 0:127
* @param value true false
* @return 0
*
* @par Python函数原型
* setBoolOutput(self: pyaubo_sdk.RegisterControl, arg0: int, arg1: bool) -> int
*
* @par Lua函数原型
* setBoolOutput(address: number, value: boolean) -> nil
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.setBoolOutput","params":[0,false],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endchinese
* \english
*
* @param address Address of the register (0:127)
* @param value Boolean value to set (true or false)
* @return Returns 0 on success, or an error code
*
* @par Python interface prototype
* setBoolOutput(self: pyaubo_sdk.RegisterControl, arg0: int, arg1: bool) -> int
*
* @par Lua interface prototype
* setBoolOutput(address: number, value: boolean) -> nil
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.setBoolOutput","params":[0,false],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endenglish
*/
int setBoolOutput(uint32_t address, bool value);
/**
* \chinese
* 线访
* 使
*
* @param address 0:47
* @return -2,147,483,648 : 2,147,483,647
*
* @note [0:23]线/PLC接口使用
* [24:47]线/PLC接口访问RTDE客户端保留的
*
* @par Python函数原型
* getInt32Output(self: pyaubo_sdk.RegisterControl, arg0: int) -> int
*
* @par Lua函数原型
* getInt32Output(address: number) -> number
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.getInt32Output","params":[0],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0}
* \endchinese
*
* \english
* Reads the integer from one of the output registers, which can also be
* accessed by a FieldBus. Note, uses its own memory space.
*
* @param address Address of the register (0:47)
* @return The int value held by the register [-2,147,483,648 : 2,147,483,647]
*
* @note The lower range of the integer output registers [0:23] is reserved
* for FieldBus/PLC interface usage. The upper range [24:47] cannot be
* accessed by FieldBus/PLC interfaces, since it is reserved for external
* RTDE clients.
*
* @par Python interface prototype
* getInt32Output(self: pyaubo_sdk.RegisterControl, arg0: int) -> int
*
* @par Lua interface prototype
* getInt32Output(address: number) -> number
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.getInt32Output","params":[0],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0}
* \endenglish
*/
int getInt32Output(uint32_t address);
/**
* \chinese
*
* @param address 0:47
* @param value
* @return 0
*
* @par Python函数原型
* setInt32Output(self: pyaubo_sdk.RegisterControl, arg0: int, arg1: int) -> int
*
* @par Lua函数原型
* setInt32Output(address: number, value: number) -> nil
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.setInt32Output","params":[0,100],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endchinese
* \english
*
* @param address Address of the register (0:47)
* @param value Integer value to set
* @return Returns 0 on success, or an error code
*
* @par Python interface prototype
* setInt32Output(self: pyaubo_sdk.RegisterControl, arg0: int, arg1: int) -> int
*
* @par Lua interface prototype
* setInt32Output(address: number, value: number) -> nil
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.setInt32Output","params":[0,100],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endenglish
*/
int setInt32Output(uint32_t address, int value);
/**
* \chinese
* 线访
* 使
*
* @param address 0:47
* @return float
*
* @note [0:23]线/PLC接口使用
* [24:47]线/PLC接口访问RTDE客户端保留的
*
* @par Python函数原型
* getFloatOutput(self: pyaubo_sdk.RegisterControl, arg0: int) -> float
*
* @par Lua函数原型
* getFloatOutput(address: number) -> number
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.getFloatOutput","params":[0],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":3.3}
* \endchinese
*
* \english
* Reads the float from one of the output registers, which can also be
* accessed by a FieldBus. Note, uses its own memory space.
*
* @param address Address of the register (0:47)
* @return The value held by the register (float)
*
* @note The lower range of the float output registers [0:23] is reserved
* for FieldBus/PLC interface usage. The upper range [24:47] cannot be
* accessed by FieldBus/PLC interfaces, since it is reserved for external
* RTDE clients.
*
* @par Python interface prototype
* getFloatOutput(self: pyaubo_sdk.RegisterControl, arg0: int) -> float
*
* @par Lua interface prototype
* getFloatOutput(address: number) -> number
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.getFloatOutput","params":[0],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":3.3}
* \endenglish
*/
float getFloatOutput(uint32_t address);
/**
* \chinese
*
* @param address 0:47
* @param value
* @return 0
*
* @par Python函数原型
* setFloatOutput(self: pyaubo_sdk.RegisterControl, arg0: int, arg1: float) -> int
*
* @par Lua函数原型
* setFloatOutput(address: number, value: number) -> nil
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.setFloatOutput","params":[0,5.5],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endchinese
* \english
*
* @param address Address of the register (0:47)
* @param value Float value to set
* @return Returns 0 on success, or an error code
*
* @par Python interface prototype
* setFloatOutput(self: pyaubo_sdk.RegisterControl, arg0: int, arg1: float) -> int
*
* @par Lua interface prototype
* setFloatOutput(address: number, value: number) -> nil
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.setFloatOutput","params":[0,5.5],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endenglish
*/
int setFloatOutput(uint32_t address, float value);
/**
* \chinese
*
*
*
* @param address
* @return
*
* @par Python函数原型
* getDoubleOutput(self: pyaubo_sdk.RegisterControl, arg0: int) -> float
*
* @par Lua函数原型
* getDoubleOutput(address: number) -> number
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.getDoubleOutput","params":[0],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0.0}
*
* \endchinese
* \english
*
* Reads the double value from one of the output registers.
*
* @param address Address of the register
* @return The double value held by the register
*
* @par Python interface prototype
* getDoubleOutput(self: pyaubo_sdk.RegisterControl, arg0: int) -> float
*
* @par Lua interface prototype
* getDoubleOutput(address: number) -> number
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.getDoubleOutput","params":[0],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0.0}
*
* \endenglish
*/
double getDoubleOutput(uint32_t address);
/**
* \chinese
*
* @param address
* @param value
* @return 0
*
* @par Python函数原型
* setDoubleOutput(self: pyaubo_sdk.RegisterControl, arg0: int, arg1: float)
* -> int
*
* @par Lua函数原型
* setDoubleOutput(address: number, value: number) -> nil
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.setDoubleOutput","params":[0,4.4],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endchinese
* \english
*
* @param address Address of the register
* @param value Double value to set
* @return Returns 0 on success, or an error code
*
* @par Python interface prototype
* setDoubleOutput(self: pyaubo_sdk.RegisterControl, arg0: int, arg1: float)
* -> int
*
* @par Lua interface prototype
* setDoubleOutput(address: number, value: number) -> nil
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.setDoubleOutput","params":[0,4.4],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endenglish
*/
int setDoubleOutput(uint32_t address, double value);
/**
* \chinese
* Modbus Slave
*
* @param address
* @return
*
* @par Python函数原型
* getInt16Register(self: pyaubo_sdk.RegisterControl, arg0: int) -> int
*
* @par Lua函数原型
* getInt16Register(address: number) -> number
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.getInt16Register","params":[0],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endchinese
* \english
* Used for Modbus Slave
*
* @param address
* @return
*
* @par Python interface prototype
* getInt16Register(self: pyaubo_sdk.RegisterControl, arg0: int) -> int
*
* @par Lua interface prototype
* getInt16Register(address: number) -> number
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.getInt16Register","params":[0],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endenglish
*/
int16_t getInt16Register(uint32_t address);
/**
* \chinese
*
* @param address
* @param value
* @return 0
*
* @par Python函数原型
* setInt16Register(self: pyaubo_sdk.RegisterControl, arg0: int, arg1: int)
* -> int
*
* @par Lua函数原型
* setInt16Register(address: number, value: number) -> nil
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.setInt16Register","params":[0,0],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endchinese
* \english
*
* @param address Register address
* @param value Value to set
* @return Returns 0 on success, otherwise error code
*
* @par Python interface prototype
* setInt16Register(self: pyaubo_sdk.RegisterControl, arg0: int, arg1: int) -> int
*
* @par Lua interface prototype
* setInt16Register(address: number, value: number) -> nil
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.setInt16Register","params":[0,0],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endenglish
*/
int setInt16Register(uint32_t address, int16_t value);
/**
* \chinese
*
*
* @param key
* @return
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.hasNamedVariable","params":["custom"],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":false}
*
* \endchinese
* \english
* Whether the named variable exists
*
* @param key Variable name
* @return
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.hasNamedVariable","params":["custom"],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":false}
*
* \endenglish
*/
bool hasNamedVariable(const std::string &key);
/**
* \chinese
*
*
* @param key
* @return
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.getNamedVariableType","params":["custom"],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":"NONE"}
*
* \endchinese
* \english
* Get the type of a named variable
*
* @param key
* @return
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.getNamedVariableType","params":["custom"],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":"NONE"}
*
* \endenglish
*/
std::string getNamedVariableType(const std::string &key);
/**
* \chinese
*
*
* @param key
* @param since
* @return
*
* @par Python函数原型
* variableUpdated(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: int)
* -> bool
*
* @par Lua函数原型
* variableUpdated(key: string, since: number) -> boolean
* \endchinese
*
* \english
* Whether the named variable has been updated
*
* @param key
* @param since
* @return
*
* @par Python interface prototype
* variableUpdated(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: int)
* -> bool
*
* @par Lua interface prototype
* variableUpdated(key: string, since: number) -> boolean
* \endchinese
*/
bool variableUpdated(const std::string &key, uint64_t since);
/**
* \chinese
*
*
* @param key
* @param default_value
* @return
*
* @par Python函数原型
* getBool(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: bool) -> bool
*
* @par Lua函数原型
* getBool(key: string, default_value: boolean) -> boolean
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.getBool","params":["custom",false],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":true}
*
* \endchinese
* \english
* Get variable value
*
* @param key
* @param default_value
* @return
*
* @par Python interface prototype
* getBool(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: bool) -> bool
*
* @par Lua interface prototype
* getBool(key: string, default_value: boolean) -> boolean
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.getBool","params":["custom",false],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":true}
*
* \endenglish
*/
bool getBool(const std::string &key, bool default_value);
/**
* \chinese
* /
*
* @param key
* @param value
* @return
*
* @par Python函数原型
* setBool(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: bool) -> int
*
* @par Lua函数原型
* setBool(key: string, value: boolean) -> nil
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.setBool","params":["custom",true],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endchinese
* \english
* Set or update the variable value
*
* @param key
* @param value
* @return Returns 0 on success, otherwise error code
*
* @par Python interface prototype
* setBool(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: bool) -> int
*
* @par Lua interface prototype
* setBool(key: string, value: boolean) -> nil
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.setBool","params":["custom",true],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endenglish
*/
int setBool(const std::string &key, bool value);
/**
* \chinese
*
*
* @param key
* @param default_value
* @return
*
* @par Python函数原型
* getVecChar(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: List[str])
* -> List[str]
*
* @par Lua函数原型
* getVecChar(key: string, default_value: table) -> table
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.getVecChar","params":["custom",[]],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":[0,1,0]}
*
* \endchinese
* \english
* Get variable value
*
* @param key
* @param default_value
* @return
*
* @par Python interface prototype
* getVecChar(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: List[str]) -> List[str]
*
* @par Lua interface prototype
* getVecChar(key: string, default_value: table) -> table
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.getVecChar","params":["custom",[]],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":[0,1,0]}
*
* \endenglish
*/
std::vector<char> getVecChar(const std::string &key,
const std::vector<char> &default_value);
/**
* \chinese
* /
*
* @param key
* @param value
* @return
*
* @par Python函数原型
* setVecChar(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: List[str])
* -> int
*
* @par Lua函数原型
* setVecChar(key: string, value: table) -> nil
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.setVecChar","params":["custom",[0,1,0]],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endchinese
* \english
* Set or update the variable value
*
* @param key
* @param value
* @return Returns 0 on success, otherwise error code
*
* @par Python interface prototype
* setVecChar(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: List[str]) -> int
*
* @par Lua interface prototype
* setVecChar(key: string, value: table) -> nil
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.setVecChar","params":["custom",[0,1,0]],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endenglish
*/
int setVecChar(const std::string &key, const std::vector<char> &value);
/**
* \chinese
*
*
* @param key
* @param default_value
* @return
*
* @par Python函数原型
* getInt32(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: int) -> int
*
* @par Lua函数原型
* getInt32(key: string, default_value: number) -> number
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.getInt32","params":["custom",0],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":6}
*
* \endchinese
* \english
* Get variable value
*
* @param key
* @param default_value
* @return
*
* @par Python interface prototype
* getInt32(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: int) -> int
*
* @par Lua interface prototype
* getInt32(key: string, default_value: number) -> number
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.getInt32","params":["custom",0],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":6}
*
* \endenglish
*/
int getInt32(const std::string &key, int default_value);
/**
* \chinese
* /
*
* @param key
* @param value
* @return
*
* @par Python函数原型
* setInt32(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: int) -> int
*
* @par Lua函数原型
* setInt32(key: string, value: number) -> nil
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.setInt32","params":["custom",6],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endchinese
* \english
* Set or update the variable value
*
* @param key
* @param value
* @return
*
* @par Python interface prototype
* setInt32(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: int) -> int
*
* @par Lua interface prototype
* setInt32(key: string, value: number) -> nil
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.setInt32","params":["custom",6],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endenglish
*/
int setInt32(const std::string &key, int value);
/**
* \chinese
*
*
* @param key
* @param default_value
* @return
*
* @par Python函数原型
* getVecInt32(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: List[int])
* -> List[int]
*
* @par Lua函数原型
* getVecInt32(key: string, default_value: table) -> table
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.getVecInt32","params":["custom",[]],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":[1,2,3,4]}
*
* \endchinese
* \english
* Get variable value
*
* @param key
* @param default_value
* @return
*
* @par Python interface prototype
* getVecInt32(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: List[int]) -> List[int]
*
* @par Lua interface prototype
* getVecInt32(key: string, default_value: table) -> table
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.getVecInt32","params":["custom",[]],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":[1,2,3,4]}
*
* \endenglish
*/
std::vector<int32_t> getVecInt32(const std::string &key,
const std::vector<int32_t> &default_value);
/**
* \chinese
* /
*
* @param key
* @param value
* @return
*
* @par Python函数原型
* setVecInt32(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: List[int])
* -> int
*
* @par Lua函数原型
* setVecInt32(key: string, value: table) -> nil
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.setVecInt32","params":["custom",[1,2,3,4]],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endchinese
* \english
* Set or update the variable value
*
* @param key
* @param value
* @return
*
* @par Python interface prototype
* setVecInt32(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: List[int]) -> int
*
* @par Lua interface prototype
* setVecInt32(key: string, value: table) -> nil
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.setVecInt32","params":["custom",[1,2,3,4]],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endenglish
*/
int setVecInt32(const std::string &key, const std::vector<int32_t> &value);
/**
* \chinese
*
*
* @param key
* @param default_value
* @return
*
* @par Python函数原型
* getFloat(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: float) ->
* float
*
* @par Lua函数原型
* getFloat(key: string, default_value: number) -> number
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.getFloat","params":["custom",0.0],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":4.400000095367432}
*
* \endchinese
* \english
* Get variable value
*
* @param key
* @param default_value
* @return
*
* @par Python interface prototype
* getFloat(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: float) -> float
*
* @par Lua interface prototype
* getFloat(key: string, default_value: number) -> number
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.getFloat","params":["custom",0.0],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":4.400000095367432}
*
* \endenglish
*/
float getFloat(const std::string &key, float default_value);
/**
* \chinese
* /
*
* @param key
* @param value
* @return
*
* @par Python函数原型
* setFloat(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: float) -> int
*
* @par Lua函数原型
* setFloat(key: string, value: number) -> nil
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.setFloat","params":["custom",4.4],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endchinese
* \english
* Set or update the variable value
*
* @param key
* @param value
* @return
*
* @par Python interface prototype
* setFloat(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: float) -> int
*
* @par Lua interface prototype
* setFloat(key: string, value: number) -> nil
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.setFloat","params":["custom",4.4],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endenglish
*/
int setFloat(const std::string &key, float value);
/**
* \chinese
*
*
* @param key
* @param default_value
* @return
*
* @par Python函数原型
* getVecFloat(self: pyaubo_sdk.RegisterControl, arg0: str, arg1:
* List[float]) -> List[float]
*
* @par Lua函数原型
* getVecFloat(key: string, default_value: table) -> table
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.getVecFloat","params":["custom",[]],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":[0.0,0.10000000149011612,3.299999952316284]}
*
* \endchinese
* \english
* Get variable value
*
* @param key
* @param default_value
* @return
*
* @par Python interface prototype
* getVecFloat(self: pyaubo_sdk.RegisterControl, arg0: str, arg1:
* List[float]) -> List[float]
*
* @par Lua interface prototype
* getVecFloat(key: string, default_value: table) -> table
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.getVecFloat","params":["custom",[]],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":[0.0,0.10000000149011612,3.299999952316284]}
*
* \endenglish
*/
std::vector<float> getVecFloat(const std::string &key,
const std::vector<float> &default_value);
/**
* \chinese
* /
*
* @param key
* @param value
* @return
*
* @par Python函数原型
* setVecFloat(self: pyaubo_sdk.RegisterControl, arg0: str, arg1:
* List[float]) -> int
*
* @par Lua函数原型
* setVecFloat(key: string, value: table) -> nil
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.setVecFloat","params":["custom",[0.0,0.1,3.3]],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endchinese
* \english
* Set or update the variable value
*
* @param key
* @param value
* @return
*
* @par Python interface prototype
* setVecFloat(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: List[float]) -> int
*
* @par Lua interface prototype
* setVecFloat(key: string, value: table) -> nil
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.setVecFloat","params":["custom",[0.0,0.1,3.3]],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endenglish
*/
int setVecFloat(const std::string &key, const std::vector<float> &value);
/**
* \chinese
*
*
* @param key
* @param default_value
* @return
*
* @par Python函数原型
* getDouble(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: float) ->
* float
*
* @par Lua函数原型
* getDouble(key: string, default_value: number) -> number
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.getDouble","params":["custom",0.0],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0.0}
*
* \endchinese
* \english
* Get variable value
*
* @param key
* @param default_value
* @return
*
* @par Python interface prototype
* getDouble(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: float) -> float
*
* @par Lua interface prototype
* getDouble(key: string, default_value: number) -> number
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.getDouble","params":["custom",0.0],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0.0}
*
* \endenglish
*/
double getDouble(const std::string &key, double default_value);
/**
* \chinese
* /
*
* @param key
* @param value
* @return
*
* @par Python函数原型
* setDouble(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: float) -> int
*
* @par Lua函数原型
* setDouble(key: string, value: number) -> nil
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.setDouble","params":["custom",6.6],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endchinese
* \english
* Set or update the variable value
*
* @param key
* @param value
* @return
*
* @par Python interface prototype
* setDouble(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: float) -> int
*
* @par Lua interface prototype
* setDouble(key: string, value: number) -> nil
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.setDouble","params":["custom",6.6],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endenglish
*/
int setDouble(const std::string &key, double value);
/**
* \chinese
*
*
* @param key
* @param default_value
* @return
*
* @par Python函数原型
* getVecDouble(self: pyaubo_sdk.RegisterControl, arg0: str, arg1:
* List[float]) -> List[float]
*
* @par Lua函数原型
* getVecDouble(key: string, default_value: table) -> table
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.getVecDouble","params":["custom",[]],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":[0.1,0.2,0.3]}
*
* \endchinese
* \english
* Get variable value
*
* @param key
* @param default_value
* @return
*
* @par Python interface prototype
* getVecDouble(self: pyaubo_sdk.RegisterControl, arg0: str, arg1:
* List[float]) -> List[float]
*
* @par Lua interface prototype
* getVecDouble(key: string, default_value: table) -> table
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.getVecDouble","params":["custom",[]],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":[0.1,0.2,0.3]}
*
* \endenglish
*/
std::vector<double> getVecDouble(const std::string &key,
const std::vector<double> &default_value);
/**
* \chinese
* /
*
* @param key
* @param value
* @return
*
* @par Python函数原型
* setVecDouble(self: pyaubo_sdk.RegisterControl, arg0: str, arg1:
* List[float]) -> int
*
* @par Lua函数原型
* setVecDouble(key: string, value: table) -> nil
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.setVecDouble","params":["custom",[0.1,0.2,0.3]],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endchinese
* \english
* Set or update the variable value
*
* @param key
* @param value
* @return
*
* @par Python interface prototype
* setVecDouble(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: List[float]) -> int
*
* @par Lua interface prototype
* setVecDouble(key: string, value: table) -> nil
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.setVecDouble","params":["custom",[0.1,0.2,0.3]],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endenglish
*/
int setVecDouble(const std::string &key, const std::vector<double> &value);
/**
* \chinese
*
*
* @param key
* @param default_value
* @return
*
* @par Python函数原型
* getString(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: str) -> str
*
* @par Lua函数原型
* getString(key: string, default_value: string) -> string
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.getString","params":["custom",""],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":"test"}
*
* \endchinese
* \english
* Get variable value
*
* @param key
* @param default_value
* @return
*
* @par Python interface prototype
* getString(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: str) -> str
*
* @par Lua interface prototype
* getString(key: string, default_value: string) -> string
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.getString","params":["custom",""],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":"test"}
*
* \endenglish
*/
std::string getString(const std::string &key,
const std::string &default_value);
/**
* \chinese
* /
*
* @param key
* @param value
* @return
*
* @par Python函数原型
* setString(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: str) -> int
*
* @par Lua函数原型
* setString(key: string, value: string) -> nil
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.setString","params":["custom","test"],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endchinese
* \english
* Set or update the variable value
*
* @param key
* @param value
* @return Returns 0 on success, otherwise error code
*
* @par Python interface prototype
* setString(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: str) -> int
*
* @par Lua interface prototype
* setString(key: string, value: string) -> nil
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.setString","params":["custom","test"],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endenglish
*/
int setString(const std::string &key, const std::string &value);
/**
* \chinese
*
*
* @param key
* @return
*
* @par Python函数原型
* clearNamedVariable(self: pyaubo_sdk.RegisterControl, arg0: str) -> int
*
* @par Lua函数原型
* clearNamedVariable(key: string) -> nil
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.clearNamedVariable","params":["custom"],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":1}
*
* \endchinese
* \english
* Clear variable
*
* @param key
* @return
*
* @par Python interface prototype
* clearNamedVariable(self: pyaubo_sdk.RegisterControl, arg0: str) -> int
*
* @par Lua interface prototype
* clearNamedVariable(key: string) -> nil
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.clearNamedVariable","params":["custom"],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":1}
*
* \endenglish
*/
int clearNamedVariable(const std::string &key);
/**
* \chinese
*
*
*
*
* @param key
* @param timeout (s) 0.1s
* @param action
* NONE (0):
* PAUSE(1):
* STOP (2): /
* PROTECTIVE_STOP (3):
* @return
* \endchinese
* \english
* Set the watchdog
*
* After the watchdog is triggered, the controller will perform the corresponding action and automatically delete the watchdog.
*
* @param key
* @param timeout Timeout in seconds (s), minimum timeout is 0.1s
* @param action
* NONE (0): No action
* PAUSE(1): Pause runtime
* STOP (2): Stop runtime/stop robot motion
* PROTECTIVE_STOP (3): Trigger protective stop
* @return
* \endenglish
*/
int setWatchDog(const std::string &key, double timeout, int action);
/**
* \chinese
*
*
* @param key
* @return
* \endchinese
* \english
* Get the watchdog action
*
* @param key
* @return
* \endenglish
*/
int getWatchDogAction(const std::string &key);
/**
* \chinese
*
*
* @param key
* @return
* \endchinese
* \english
* Get the watchdog timeout value
*
* @param key
* @return
* \endenglish
*/
int getWatchDogTimeout(const std::string &key);
/**
* \chinese
* Modbus信号以供控制器监视
*
* @param device_info
* RTU格式"serial_port,baud,parity,data_bit,stop_bit"
* (1)serial_port参数指定串口的名称Linux上为"/dev/ttyS0""/dev/ttyUSB0"Windows上为"\.\COM10"
* (2)baud参数指定通信的波特率96001920057600115200
* (3)parity参数指定奇偶校验方式N表示无校验E表示偶校验O表示奇校验
* (4)data_bit参数指定数据位数5678
* (5)stop_bit参数指定停止位数12
*
* TCP格式"ip address,port"
* (1)ip address参数指定服务器的IP地址
* (2)port参数指定服务器监听的端口号
* @param slave_number 使2550255
* @param signal_address 线Modbus单元的配置以获取此信息
* @param signal_type 0 = 1 = 2 = 3 =
* @param signal_name 20
* @param sequential_mode True会强制Modbus客户端在发送下一个请求之前等待响应fieldbus单元需要此模式
* @return
*
* @par Python函数原型
* modbusAddSignal(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: int, arg2: int, arg3: int, arg4: str, arg5: bool) -> int
*
* @par Lua函数原型
* modbusAddSignal(device_info: string, slave_number: number, signal_address: number, signal_type: number, signal_name: string, sequential_mode: boolean) -> nil
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.modbusAddSignal","params":["/dev/ttyRobotTool,115200,N,8,1",1,264,3,"Modbus_0",false],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0}
* \endchinese
* \english
* Adds a new modbus signal for the controller to supervise. Expects no response.
*
* @param device_info is rtu format.
* eg,"serial_port,baud,parity,data_bit,stop_bit"
* (1)The serial_port argument specifies the name of the serial port eg. On Linux ,"/dev/ttyS0" or "/dev/ttyUSB0". On Windows, \\.\COM10".
* (2)The baud argument specifies the baud rate of the communication, eg. 9600, 19200, 57600, 115200, etc.
* (3)parity:N for none,E for even,O for odd.
* (4)data_bit:The data_bits argument specifies the number of bits of data, the allowed values are 5, 6, 7 and 8.
* (5)stop_bit:The stop_bits argument specifies the bits of stop, the allowed values are 1 and 2.
*
* device_info is tcp format.eg,"ip address,port"
* (1)The ip address parameter specifies the ip address of the server
* (2)The port parameter specifies the port number that the server is listening on.
* @param slave_number An integer normally not used and set to 255, but is a free choice between 0 and 255.
* @param signal_address An integer specifying the address of the either the coil or the register that this new signal should reflect. Consult the configuration of the modbus unit for this information.
* @param signal_type An integer specifying the type of signal to add. 0 = digital input, 1 = digital output, 2 = register input and 3 = register output.
* @param signal_name A string uniquely identifying the signal. If a string is supplied which is equal to an already added signal, the new signal will replace the old one. The length of the string cannot exceed 20 characters.
* @param sequential_mode Setting to True forces the modbus client to wait for a response before sending the next request. This mode is required by some fieldbus units (Optional).
* @return
*
* @par Python interface prototype
* modbusAddSignal(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: int, arg2: int, arg3: int, arg4: str, arg5: bool) -> int
*
* @par Lua interface prototype
* modbusAddSignal(device_info: string, slave_number: number, signal_address: number, signal_type: number, signal_name: string, sequential_mode: boolean) -> nil
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.modbusAddSignal","params":["/dev/ttyRobotTool,115200,N,8,1",1,264,3,"Modbus_0",false],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0}
* \endenglish
*/
int modbusAddSignal(const std::string &device_info, int slave_number,
int signal_address, int signal_type,
const std::string &signal_name, bool sequential_mode);
/**
* \chinese
*
*
* @param signal_name
* @return
*
* @par Python函数原型
* modbusDeleteSignal(self: pyaubo_sdk.RegisterControl, arg0: str) -> int
*
* @par Lua函数原型
* modbusDeleteSignal(signal_name: string) -> nil
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.modbusDeleteSignal","params":["Modbus_1"],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0}
* \endchinese
* \english
* Deletes the signal identified by the supplied signal name.
*
* @param signal_name A string equal to the name of the signal that should be deleted.
* @return
*
* @par Python interface prototype
* modbusDeleteSignal(self: pyaubo_sdk.RegisterControl, arg0: str) -> int
*
* @par Lua interface prototype
* modbusDeleteSignal(signal_name: string) -> nil
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.modbusDeleteSignal","params":["Modbus_1"],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0}
* \endenglish
*/
int modbusDeleteSignal(const std::string &signal_name);
/**
* \chinese
* modbus信号
*
* @return
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.modbusDeleteAllSignals","params":[],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endchinese
* \english
* Delete all modbus signals
*
* @return
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.modbusDeleteAllSignals","params":[],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endenglish
*/
int modbusDeleteAllSignals();
/**
* \chinese
*
*
* @param signal_name
* @return 10
* -1
*
* @par Python函数原型
* modbusGetSignalStatus(self: pyaubo_sdk.RegisterControl, arg0: str) -> int
*
* @par Lua函数原型
* modbusGetSignalStatus(signal_name: string) -> nil
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.modbusGetSignalStatus","params":["Modbus_0"],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":1}
* \endchinese
* \english
* Reads the current value of a specific signal.
*
* @param signal_name A string equal to the name of the signal for which the value should be gotten.
* @return An integer or a boolean. For digital signals: 1 or 0. For register signals: The register value expressed as an integer. If the value is -1, it means the signal does not exist.
*
* @par Python interface prototype
* modbusGetSignalStatus(self: pyaubo_sdk.RegisterControl, arg0: str) -> int
*
* @par Lua interface prototype
* modbusGetSignalStatus(signal_name: string) -> nil
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.modbusGetSignalStatus","params":["Modbus_0"],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":1}
* \endenglish
*/
int modbusGetSignalStatus(const std::string &signal_name);
/**
* \chinese
*
*
* @return
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.modbusGetSignalNames","params":[],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":["Modbus_0"]}
*
* \endchinese
* \english
* Get the collection of all signal names
*
* @return Collection of all signal names
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.modbusGetSignalNames","params":[],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":["Modbus_0"]}
*
* \endenglish
*/
std::vector<std::string> modbusGetSignalNames();
/**
* \chinese
*
*
* @return
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.modbusGetSignalTypes","params":[],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":[1,0,2,3]}
*
* \endchinese
* \english
* Get the collection of all signal types
*
* @return Collection of all signal types
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.modbusGetSignalTypes","params":[],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":[1,0,2,3]}
*
* \endenglish
*/
std::vector<int> modbusGetSignalTypes();
/**
* \chinese
*
*
* @return
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.modbusGetSignalValues","params":[],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":[1,1,88,33]}
*
* \endchinese
* \english
* Get the collection of all signal values
*
* @return Collection of all signal values
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.modbusGetSignalValues","params":[],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":[1,1,88,33]}
*
* \endenglish
*/
std::vector<int> modbusGetSignalValues();
/**
* \chinese
* (0:,:)
*
* @return ModbusErrorNum
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.modbusGetSignalErrors","params":[],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":[6,6,6,6]}
*
* \endchinese
* \english
* Get the error status of all signal requests (0: no error, others: error) as a collection
*
* @return ModbusErrorNum
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.modbusGetSignalErrors","params":[],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":[6,6,6,6]}
*
* \endenglish
*/
std::vector<int> modbusGetSignalErrors();
/**
* \chinese
* IP地址上的Modbus单元
*
*
* Modbus帧
*
* @param device_info
* RTU格式"serial_port,baud,parity,data_bit,stop_bit"
* (1)serial_port参数指定串口的名称Linux上为"/dev/ttyS0""/dev/ttyUSB0"Windows上为"\.\COM10"
* (2)baud参数指定通信的波特率96001920057600115200
* (3)parity参数指定奇偶校验方式N表示无校验E表示偶校验O表示奇校验
* (4)data_bit参数指定数据位数5678
* (5)stop_bit参数指定停止位数12
*
* TCP格式"ip address,port"
* (1)ip address参数指定服务器的IP地址
* (2)port参数指定服务器监听的端口号
* @param slave_number
* @param function_code
*
* Modbus功能码
* MODBUS_FC_READ_COILS 0x01
* MODBUS_FC_READ_DISCRETE_INPUTS 0x02
* MODBUS_FC_READ_HOLDING_REGISTERS 0x03
* MODBUS_FC_READ_INPUT_REGISTERS 0x04
* MODBUS_FC_WRITE_SINGLE_COIL 0x05
* MODBUS_FC_WRITE_SINGLE_REGISTER 0x06
* MODBUS_FC_READ_EXCEPTION_STATUS 0x07
* MODBUS_FC_WRITE_MULTIPLE_COILS 0x0F
* MODBUS_FC_WRITE_MULTIPLE_REGISTERS 0x10
* MODBUS_FC_REPORT_SLAVE_ID 0x11
* MODBUS_FC_MASK_WRITE_REGISTER 0x16
* MODBUS_FC_WRITE_AND_READ_REGISTERS 0x17
*
* @param data 0-255
* @return
*
* @par Python函数原型
* modbusSendCustomCommand(self: pyaubo_sdk.RegisterControl, arg0: str,
* arg1: int, arg2: int, arg3: List[int]) -> int
*
* @par Lua函数原型
* modbusSendCustomCommand(device_info: string, slave_number: number,
* function_code: number, data: table) -> nil
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.modbusSendCustomCommand","params":["/dev/ttyRobotTool,115200,N,8,1",1,10,[1,2,0,2,4,0,0,0,0]],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0}
* \endchinese
* \english
* Sends a command specified by the user to the modbus unit located on the
* specified IP address. Cannot be used to request data, since the response
* will not be received. The user is responsible for supplying data which
* is meaningful to the supplied function code. The builtin function takes
* care of constructing the modbus frame, so the user should not be
* concerned with the length of the command.
*
* @param device_info is rtu format.
* eg,"serial_port,baud,parity,data_bit,stop_bit"
* (1)The serial_port argument specifies the name of the serial port eg. On
* Linux ,"/dev/ttyS0" or "/dev/ttyUSB0". On Windows, \\.\COM10".
* (2)The baud argument specifies the baud rate of the communication, eg.
* 9600, 19200, 57600, 115200, etc.
* (3)parity:N for none,E for even,O for odd.
* (4)data_bit:The data_bits argument specifies the number of bits of data,
* the allowed values are 5, 6, 7 and 8.
* (5)stop_bit:The stop_bits argument
* specifies the bits of stop, the allowed values are 1 and 2.
*
* device_info is tcp format.eg,"ip address,port"
* (1)The ip address parameter specifies the ip address of the server
* (2)The port parameter specifies the port number that the server is listening on.
* @param slave_number An integer specifying the slave number to use for
* the custom command.
* @param function_code An integer specifying the function code for the
* custom command.
*
* Modbus function codes
* MODBUS_FC_READ_COILS 0x01
* MODBUS_FC_READ_DISCRETE_INPUTS 0x02
* MODBUS_FC_READ_HOLDING_REGISTERS 0x03
* MODBUS_FC_READ_INPUT_REGISTERS 0x04
* MODBUS_FC_WRITE_SINGLE_COIL 0x05
* MODBUS_FC_WRITE_SINGLE_REGISTER 0x06
* MODBUS_FC_READ_EXCEPTION_STATUS 0x07
* MODBUS_FC_WRITE_MULTIPLE_COILS 0x0F
* MODBUS_FC_WRITE_MULTIPLE_REGISTERS 0x10
* MODBUS_FC_REPORT_SLAVE_ID 0x11
* MODBUS_FC_MASK_WRITE_REGISTER 0x16
* MODBUS_FC_WRITE_AND_READ_REGISTERS 0x17
*
* @param data An array of integers in which each entry must be a valid
* byte (0-255) value.
* @return
*
* @par Python interface prototype
* modbusSendCustomCommand(self: pyaubo_sdk.RegisterControl, arg0: str,
* arg1: int, arg2: int, arg3: List[int]) -> int
*
* @par Lua interface prototype
* modbusSendCustomCommand(device_info: string, slave_number: number,
* function_code: number, data: table) -> nil
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.modbusSendCustomCommand","params":["/dev/ttyRobotTool,115200,N,8,1",1,10,[1,2,0,2,4,0,0,0,0]],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0}
* \endenglish
*/
int modbusSendCustomCommand(const std::string &device_info,
int slave_number, int function_code,
const std::vector<uint8_t> &data);
/**
* \chinese
* defaultfreedrive
*
* @param robot_name
* @param signal_name
* @param action defaultfreedrive
* @return
*
* @par Python函数原型
* modbusSetDigitalInputAction(self: pyaubo_sdk.RegisterControl, arg0: str,
* arg1: str, arg2: int)
*
* @par Lua函数原型
* modbusSetDigitalInputAction(robot_name: string, signal_name: string,
* action: number) -> nil
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.modbusSetDigitalInputAction","params":["rob1","Modbus_0","Handguide"],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0}
* \endchinese
* \english
* Sets the selected digital input signal to either a "default" or
* "freedrive" action.
*
* @param robot_name A string identifying a robot name that connected robot
* @param signal_name A string identifying a digital input signal that was
* previously added.
* @param action The type of action. The action can either be "default" or
* "freedrive". (string)
* @return
*
* @par Python interface prototype
* modbusSetDigitalInputAction(self: pyaubo_sdk.RegisterControl, arg0: str,
* arg1: str, arg2: int)
*
* @par Lua interface prototype
* modbusSetDigitalInputAction(robot_name: string, signal_name: string,
* action: number) -> nil
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.modbusSetDigitalInputAction","params":["rob1","Modbus_0","Handguide"],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0}
* \endenglish
*/
int modbusSetDigitalInputAction(const std::string &robot_name,
const std::string &signal_name,
StandardInputAction action);
/**
* \chinese
* Modbus
*
* @param robot_name
* @param signal_name
* @param runstate
* @return
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.modbusSetOutputRunstate","params":["rob1","Modbus_0","None"],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endchinese
* \english
* Set Modbus signal output action
*
* @param robot_name
* @param signal_name
* @param runstate
* @return
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.modbusSetOutputRunstate","params":["rob1","Modbus_0","None"],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endenglish
*/
int modbusSetOutputRunstate(const std::string &robot_name,
const std::string &signal_name,
StandardOutputRunState runstate);
/**
* \chinese
*
*
* @param signal_name
* @param value 0-65535
* @return
*
* @par Python函数原型
* modbusSetOutputSignal(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: int) -> int
*
* @par Lua函数原型
* modbusSetOutputSignal(signal_name: string, value: number) -> nil
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.modbusSetOutputSignal","params":["Modbus_0",0],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0}
* \endchinese
* \english
* Sets the output register signal identified by the given name to the given value.
*
* @param signal_name A string identifying an output register signal that in advance has been added.
* @param value An integer which must be a valid word (0-65535)
* @return
*
* @par Python interface prototype
* modbusSetOutputSignal(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: int) -> int
*
* @par Lua interface prototype
* modbusSetOutputSignal(signal_name: string, value: number) -> nil
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.modbusSetOutputSignal","params":["Modbus_0",0],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0}
* \endenglish
*/
int modbusSetOutputSignal(const std::string &signal_name, uint16_t value);
/**
* \chinese
* modbus信号输出脉冲(线)
*
* @param signal_name:
* @param value: 0-65535
* @param duration:
* @return
*
* @par Python函数原型
* modbusSetOutputSignalPulse(self: pyaubo_sdk.RegisterControl, arg0: str,
* arg1: int, arg2 double) -> int
*
* @par Lua函数原型
* modbusSetOutputSignalPulse(signal_name: string, value: number, duration:
* number) -> nil
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.modbusSetOutputSignalPulse","params":["Modbus_0",1,0.5],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endchinese
* \english
* Set modbus signal output pulse (only supports coil output type)
*
* @param signal_name: A string identifying an output register signal that
* has been added in advance.
* @param value: An integer which must be a valid word (0-65535)
* @param duration: Duration of the signal, in seconds
* @return
*
* @par Python interface prototype
* modbusSetOutputSignalPulse(self: pyaubo_sdk.RegisterControl, arg0: str,
* arg1: int, arg2: double) -> int
*
* @par Lua interface prototype
* modbusSetOutputSignalPulse(signal_name: string, value: number, duration:
* number) -> nil
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.modbusSetOutputSignalPulse","params":["Modbus_0",1,0.5],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endenglish
*/
int modbusSetOutputSignalPulse(const std::string &signal_name,
uint16_t value, double duration);
/**
* \chinese
* Modbus控制器发送请求的频率
*
* @param signal_name
* @param update_frequency 0-125
* @return
*
* @par Python函数原型
* modbusSetSignalUpdateFrequency(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: int) -> int
*
* @par Lua函数原型
* modbusSetSignalUpdateFrequency(signal_name: string, update_frequency: number) -> nil
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.modbusSetSignalUpdateFrequency","params":["Modbus_0",1],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0}
* \endchinese
* \english
* Sets the frequency with which the robot will send requests to the Modbus
* controller to either read or write the signal value.
*
* @param signal_name A string identifying an output digital signal that
* in advance has been added.
* @param update_frequency An integer in the range 0-125 specifying the
* update frequency in Hz.
* @return
*
* @par Python interface prototype
* modbusSetSignalUpdateFrequency(self: pyaubo_sdk.RegisterControl, arg0: str, arg1: int) -> int
*
* @par Lua interface prototype
* modbusSetSignalUpdateFrequency(signal_name: string, update_frequency: number) -> nil
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.modbusSetSignalUpdateFrequency","params":["Modbus_0",1],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0}
* \endenglish
*/
int modbusSetSignalUpdateFrequency(const std::string &signal_name,
int update_frequency);
/**
* \chinese
* modbus 0-1
*
* @param signal_name
* @return
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.modbusGetSignalIndex","params":["Modbus_0"],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endchinese
* \english
* Get the index of the specified modbus signal, starting from 0. Returns -1 if it does not exist.
*
* @param signal_name
* @return
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.modbusGetSignalIndex","params":["Modbus_0"],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endenglish
*/
int modbusGetSignalIndex(const std::string &signal_name);
/**
* \chinese
* modbus
*
* @param signal_name
* @return ModbusErrorNum
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.modbusGetSignalError","params":["Modbus_0"],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":6}
* \endchinese
* \english
* Get the error status of the specified modbus signal
*
* @param signal_name
* @return Returns error code ModbusErrorNum
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.modbusGetSignalError","params":["Modbus_0"],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":6}
* \endenglish
*/
int modbusGetSignalError(const std::string &signal_name);
/**
* \chinese
* modbus
*
* @param device_name
* TCP格式"ip:port", "127.0.0.1:502" \n
* RTU格式"serial_port", "/dev/ttyUSB0" \n
*
* @return
* 0:
* -1:
* -2:
*
* @par JSON-RPC请求示例
* {"jsonrpc":"2.0","method":"RegisterControl.getModbusDeviceStatus","params":["172.16.26.248:502"],"id":1}
*
* @par JSON-RPC响应示例
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endchinese
* \english
* Get the connection status of the specified modbus device
*
* @param device_name
* Device name in TCP format: "ip:port", e.g. "127.0.0.1:502" \n
* Device name in RTU format: "serial_port", e.g. "/dev/ttyUSB0" \n
*
* @return
* 0: Device is connected
* -1: Device does not exist
* -2: Device is disconnected
*
* @par JSON-RPC request example
* {"jsonrpc":"2.0","method":"RegisterControl.getModbusDeviceStatus","params":["172.16.26.248:502"],"id":1}
*
* @par JSON-RPC response example
* {"id":1,"jsonrpc":"2.0","result":0}
*
* \endenglish
*/
int getModbusDeviceStatus(const std::string &device_name);
/**
* \chinese
* modbus
*
* @param encoder_id 0
* @param signal_name modbus
* @return
* \endchinese
* \english
* Use a modbus register signal as an encoder
*
* @param encoder_id Must not be 0
* @param signal_name Name of the modbus signal, must be of register type
* @return
* \endenglish
*/
int addModbusEncoder(int encoder_id, int range_id,
const std::string &signal_name);
/**
* \chinese
* Int32寄存器的虚拟编码器
*
* @param encoder_id ID
* @param range_id ID
* @param key
* @return
* \endchinese
* \english
* Add a virtual encoder for an Int32 register
*
* @param encoder_id Encoder ID
* @param range_id Range ID
* @param key Variable name
* @return
* \endenglish
*/
int addInt32RegEncoder(int encoder_id, int range_id,
const std::string &key);
/**
* \chinese
*
*
* @param encoder_id
* @return
* \endchinese
* \english
* Delete virtual encoder
*
* @param encoder_id
* @return
* \endenglish
*/
int deleteVirtualEncoder(int encoder_id);
protected:
void *d_;
};
using RegisterControlPtr = std::shared_ptr<RegisterControl>;
} // namespace common_interface
} // namespace arcs
#endif // AUBO_SDK_REGISTER_CONTROL_INTERFACE_H