Modbus 0.3
Библиотека Modbus для STM
Loading...
Searching...
No Matches

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))
{
// получено
}
}
int MB_RespGet_ObjectById(RS_MsgTypeDef *modbus_msg, uint8_t obj_id, char *obj_data, uint8_t *obj_length)
Найти объект по ID в сообщении
int MB_RespGet_NumberOfObjects(RS_MsgTypeDef *modbus_msg)
Получить количество объектов в сообщении
int MB_RespGet_ObjectByIndex(RS_MsgTypeDef *modbus_msg, int index, uint8_t *obj_id, char *obj_data, uint8_t *obj_length)
Получить объект по индексу в сообщении

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_idID искомого объекта
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.