Loading...
Searching...
No Matches
API for Device Identifications
Modbus tools » Main API for Modbus Library » API for Master Requests

API для чтения идентификторов из ответа в режиме мастер More...

Collaboration diagram for API for Device Identifications:

## Functions

int | MB_RespGet_NumberOfObjects (RS_MsgTypeDef *modbus_msg)
| Получить количество объектов в сообщении
int | MB_RespGet_ObjectById (RS_MsgTypeDef *modbus_msg, uint8_t obj_id, char *obj_data, uint8_t *obj_length)
| Найти объект по ID в сообщении
int | MB_RespGet_ObjectByIndex (RS_MsgTypeDef *modbus_msg, int index, uint8_t *obj_id, char *obj_data, uint8_t *obj_length)
| Получить объект по индексу в сообщении

## Detailed Description

API для чтения идентификторов из ответа в режиме мастер

Примеры использования:

// Пример 1: Получить VendorName (ID = 0x00)
uint8_t length;
char vendor_name[64];
if(MB_RespGet_ObjectById(modbus_msg, 0x00, vendor_name, &length))
{
// получено
}
// Пример 2: Перебрать все объекты в сообщении
uint8_t obj_id, obj_length;
char obj_data[256];
int obj_count = MB_RespGet_NumberOfObjects(modbus_msg);
printf("Total objects: %d\n", obj_count);
for(int i = 0; i < obj_count; i++)
{
if(MB_RespGet_ObjectByIndex(modbus_msg, i, &obj_id, obj_data, &obj_length))
{
// получено
}
}
MB_RespGet_ObjectById
int MB_RespGet_ObjectById(RS_MsgTypeDef *modbus_msg, uint8_t obj_id, char *obj_data, uint8_t *obj_length)
Найти объект по ID в сообщении
Definition modbus_master.c:193
MB_RespGet_NumberOfObjects
int MB_RespGet_NumberOfObjects(RS_MsgTypeDef *modbus_msg)
Получить количество объектов в сообщении
Definition modbus_master.c:170
MB_RespGet_ObjectByIndex
int MB_RespGet_ObjectByIndex(RS_MsgTypeDef *modbus_msg, int index, uint8_t *obj_id, char *obj_data, uint8_t *obj_length)
Получить объект по индексу в сообщении
Definition modbus_master.c:244

## Function Documentation

## MB_RespGet_NumberOfObjects()

int MB_RespGet_NumberOfObjects | ( | RS_MsgTypeDef * | modbus_msg | ) |

Получить количество объектов в сообщении

Parameters

  modbus_msg | Указатель на структуру сообщения

Returns
  int Количество объектов

Definition at line 170 of file modbus_master.c.

## MB_RespGet_ObjectById()

int MB_RespGet_ObjectById | ( | RS_MsgTypeDef * | modbus_msg,
|  | uint8_t | obj_id,
|  | char * | obj_data,
|  | uint8_t * | obj_length )

Найти объект по ID в сообщении

Parameters

  modbus_msg | Указатель на структуру сообщения
  obj_id | ID искомого объекта
  obj_data | Буфер для данных объекта (может быть NULL)
  obj_length | Указатель для длины объекта

Returns
  int Найден ли объект (1 - да, 0 - нет)

Definition at line 193 of file modbus_master.c.

## MB_RespGet_ObjectByIndex()

int MB_RespGet_ObjectByIndex | ( | RS_MsgTypeDef * | modbus_msg,
|  | int | index,
|  | uint8_t * | obj_id,
|  | char * | obj_data,
|  | uint8_t * | obj_length )

Получить объект по индексу в сообщении

Parameters

  modbus_msg | Указатель на структуру сообщения
  index | Индекс объекта (0..N-1)
  obj_id | Указатель для ID объекта
  obj_data | Буфер для данных объекта
  obj_length | Указатель для длины объекта

Returns
  int Успешность получения (1 - получен, 0 - не найден)

Definition at line 244 of file modbus_master.c.