From 90f46885d2e47fe9fe438f1a35cb72a79d8bebf4 Mon Sep 17 00:00:00 2001 From: Razvalyaev Date: Mon, 2 Jun 2025 16:31:18 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=BE=20=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B8=D0=B5?= =?UTF-8?q?=20=D0=BF=D0=BE=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8E=20=D0=BD=D0=BE=D0=B2=D1=8B=D1=85=20=D0=BC?= =?UTF-8?q?=D0=B0=D1=81=D1=81=D0=B8=D0=B2=D0=BE=D0=B2=20=D0=B2=20modbus=5F?= =?UTF-8?q?data.h?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Modbus/modbus_data.h | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/Modbus/modbus_data.h b/Modbus/modbus_data.h index 152998a..2f08ce8 100644 --- a/Modbus/modbus_data.h +++ b/Modbus/modbus_data.h @@ -27,6 +27,12 @@ R__ADDR - модбас адресс первого регистра в массиве R__QNT - количество регистров в массиве + При добавлении новых массивов регистров, необходимо их добавить в функцию MB_DefineRegistersAddress + + if(MB_Check_Address_For_Arr(Addr, Qnt, R__ADDR, R__QNT) == NO_ERRORS) + { + *pRegs = MB_Set_Register_Ptr(&, Addr); // начало регистров хранения/входных + } @endverbatim * @{ */ @@ -58,10 +64,6 @@ typedef struct //MB_DataInRegsTypeDef #define R_HOLDING_ADDR 0 #define R_HOLDING_QNT 0 - -// DEFINES FOR REGISTERS LOCAL ADDRESSES -//#define R_SET_ERROR(_te_num_) 0 - /** MODBUS_DATA_RERISTERS_DEFINES * @} @@ -78,6 +80,13 @@ typedef struct //MB_DataInRegsTypeDef C__ADDR - модбас адресс первого коила в массиве C__QNT - количество коилов в массиве (минимум 16) + При добавлении новых массивов коилов, необходимо их добавить в функцию MB_DefineCoilsAddress + + if(MB_Check_Address_For_Arr(Addr, Qnt, C__ADDR, C__QNT) == NO_ERRORS) + { + *pCoils = MB_Set_Coil_Reg_Ptr(&, Addr); + } + @endverbatim * @{ */ @@ -119,11 +128,19 @@ typedef struct // tester modbus data extern MB_DataStructureTypeDef MB_DATA; +/** + * @brief Структура для объекта Modbus + * @ingroup MODBUS_DATA + */ typedef struct { unsigned length; char *name; }MB_DeviceObjectTypeDef; +/** + * @brief Структура для объектов Modbus + * @ingroup MODBUS_DATA + */ typedef struct { MB_DeviceObjectTypeDef VendorName;