UniSet 2.41.2
ModbusSlave HTTP API
Базовый URL

/api/v01/<object>/

/help

Возвращает список доступных команд и их краткое описание.

GET /<object>/help

/

Возвращает стандартную информацию об объекте.

GET /<object>/

/regs

Получить список/значения регистров (как реализовано в MBSlave::request_regs).

GET /<object>/regs?addr=mbaddr1,mbaddr2&regs=reg1,reg2

Параметры:

  • addr — список адресов Modbus slave (строка, через запятую)
  • regs — список регистров (строка, через запятую)

/getparam и /setparam

Чтение и изменение выбранных runtime-параметров процесса.

Базовый путь: /api/v01/ <object>/...

Поддерживаемые параметры:

  • force (0|1)
  • sockTimeout (ms)
  • sessTimeout (ms)
  • updateStatTime (ms)
Чтение параметров
GET /api/v01/MBSlave1/getparam?name=force&name=sockTimeout&name=sessTimeout&name=updateStatTime
Response:
{
"result": "OK",
"params": {
"force": 0,
"sockTimeout": 30000,
"sessTimeout": 2000,
"updateStatTime": 4000
},
"unknown": ["..."]
}
Изменение параметров
GET /api/v01/MBSlave1/setparam?force=1&sockTimeout=45000&sessTimeout=2500&updateStatTime=5000
Response:
{
"result": "OK",
"updated": {
"force": 1,
"sockTimeout": 45000,
"sessTimeout": 2500,
"updateStatTime": 5000
},
"unknown": ["..."]
}
Ограничения
  • Изменение параметров через /setparam может быть заблокировано флагом httpEnabledSetParams.
  • При заблокированном режиме /setparam вернёт ошибку.
Коды ошибок
  • 400/5xx: некорректные значения (например, sockTimeout="abc")
  • 400: пустой запрос /setparam (нет key=value) или /getparam (нет name)

/status

Возвращает текущее состояние объекта в JSON (аналогично getInfo()).

GET /api/v01/MBSlave1/status

Ответ содержит поля:

  • name, tcp{ip,port}, logserver{host,port}
  • iomap{size,map[]}, myaddr
  • stat{connectionCount,smPingOK,restartTCPServerCount}
  • tcp_clients[], tcp_sessions{count,max_sessions,updateStatTime,items[]}
  • sockTimeout, sessTimeout, updateStatTime, force
GET /api/v01/MBSlave1/status
Response:
{
"result": "OK",
"status": {
"name": "MBSlave1",
"tcp": {"ip":"192.168.1.10","port":502},
"monitor": "....",
"logserver": {"host":"127.0.0.1","port":5510},
"iomap": {
"size": 3,
"map": [
{"mbaddr":"1","iomap":12},
{"mbaddr":"2","iomap":8}
]
},
"myaddr": 1,
"stat": {"connectionCount":42,"smPingOK":42,"restartTCPServerCount":0},
"tcp_clients": [
{"id":1,"short":"..."},
{"id":2,"short":"..."}
],
"tcp_sessions": {
"count": 2,
"max_sessions": 10,
"updateStatTime": 4000,
"items": [
{"ip":"10.0.0.5","askCount":123},
{"ip":"10.0.0.6","askCount":77}
]
},
"sockTimeout": 30000,
"sessTimeout": 2000,
"updateStatTime": 4000,
"force": 0
}
}