Добавлен функция скана всех сенсоров на линии через модбас

Заполнение респонса в модбас выведено в отдельную функцию
This commit is contained in:
2025-03-05 10:07:05 +03:00
parent 932a6cc8e0
commit 28749c63e8
11 changed files with 241 additions and 100 deletions

View File

@@ -287,6 +287,9 @@ MB_ExceptionTypeDef MB_DefineRegistersAddress(uint16_t **pRegs, uint16_t Addr, u
else if(MB_Check_Address_For_Arr(Addr, Qnt, R_SENS_PARAMS_ADDR, R_SENS_PARAMS_QNT) == NO_ERRORS)
{
*pRegs = MB_Set_Register_Ptr(&MB_DATA.InRegs, Addr); // начало регистров хранения/входных
// икрементирвоание счетчика скана, для вывода всех датчиков на линии в модбас структуру
extern void PYModule_IncrementScanSensor(void);
PYModule_IncrementScanSensor();
}
// if address doesnt match any array - return illegal data address response
else

View File

@@ -69,7 +69,7 @@ typedef struct //MB_DataInRegsTypeDef
// DEFINES FOR INPUT REGISTERS ARRAYS
#define R_TEMPERATURE_ADDR (0)
#define R_TEMPERATURE_QNT (DS18B20_DEVICE_AMOUNT)
#define R_SENS_PARAMS_ADDR (DS18B20_DEVICE_AMOUNT+1)
#define R_SENS_PARAMS_ADDR (DS18B20_DEVICE_AMOUNT)
#define R_SENS_PARAMS_QNT (sizeof(MB_SensorParamsTypeDef)/sizeof(uint16_t))
// DEFINES FOR HOLDING REGISTERS ARRAYS
@@ -112,8 +112,9 @@ typedef struct //MB_DataCoilsTypeDef
unsigned ReadSensor:1;
unsigned InitSensor:1;
unsigned DeInitSensor:1;
unsigned ScanSensors:1;
unsigned reserved:13;
unsigned reserved:11;
/* reg 2 - settings */
unsigned ConvertionDone:1;