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

Функции обработки запросов модбас More...

Collaboration diagram for Internal Process Functions:

Topics

 Modbus master funtions
 Функции для работы в режиме Master.
 Modbus slave funtions
 Функции для работы в режиме Slave.

Functions

uint8_t MB_Process_Read_Coils (RS_MsgTypeDef *modbus_msg)
 Обработать функцию Read Coils (01 - 0x01).
uint8_t MB_Process_Write_Single_Coil (RS_MsgTypeDef *modbus_msg)
 Обработать функцию Write Single Coils (05 - 0x05).
uint8_t MB_Process_Write_Miltuple_Coils (RS_MsgTypeDef *modbus_msg)
 Обработать функцию Write Multiple Coils (15 - 0x0F).
MB_ExceptionTypeDef MB_Check_Address_For_Arr (uint16_t Addr, uint16_t Qnt, uint16_t R_ARR_ADDR, uint16_t R_ARR_NUMB)
 Check is address valid for certain array.
MB_ExceptionTypeDef MB_DefineRegistersAddress (uint16_t **pRegs, uint16_t Addr, uint16_t Qnt, uint8_t RegisterType)
 Define Address Origin for Input/Holding Registers.
MB_ExceptionTypeDef MB_DefineCoilsAddress (uint16_t **pCoils, uint16_t Addr, uint16_t Qnt, uint16_t *start_shift, uint8_t WriteFlag)
 Define Address Origin for coils.
uint8_t MB_Process_Read_Device_Identifications (RS_MsgTypeDef *modbus_msg)
 Обработать функцию Read Device Identifications (43/14 - 0x2B/0E).
uint8_t MB_Process_Diagnostics (RS_MsgTypeDef *modbus_msg)
 Обработать функцию Diagnostics (Serial Line only) (0x08)
uint8_t MB_Process_Read_Hold_Regs (RS_MsgTypeDef *modbus_msg)
 Обработать функцию Read Holding Registers (03 - 0x03).
uint8_t MB_Process_Write_Single_Reg (RS_MsgTypeDef *modbus_msg)
 Обработать функцию Write Single Register (06 - 0x06).
uint8_t MB_Process_Write_Miltuple_Regs (RS_MsgTypeDef *modbus_msg)
 Обработать функцию Write Multiple Registers (16 - 0x10).
uint8_t MB_Process_Read_Input_Regs (RS_MsgTypeDef *modbus_msg)
 Обработать функцию Read Input Registers (04 - 0x04).

Detailed Description

Функции обработки запросов модбас

Function Documentation

◆ MB_Process_Read_Coils()

uint8_t MB_Process_Read_Coils ( RS_MsgTypeDef * modbus_msg)

Обработать функцию Read Coils (01 - 0x01).

Parameters
modbus_msgУказатель на структуру собщения modbus.
Returns
fMessageHandled Статус о результате обработки комманды.

Обработка команды Read Coils.

Definition at line 103 of file modbus_coils.c.

◆ MB_Process_Write_Single_Coil()

uint8_t MB_Process_Write_Single_Coil ( RS_MsgTypeDef * modbus_msg)

Обработать функцию Write Single Coils (05 - 0x05).

Parameters
modbus_msgУказатель на структуру собщения modbus.
Returns
fMessageHandled Статус о результате обработки комманды.

Обработка команды Write Single Coils.

Definition at line 156 of file modbus_coils.c.

◆ MB_Process_Write_Miltuple_Coils()

uint8_t MB_Process_Write_Miltuple_Coils ( RS_MsgTypeDef * modbus_msg)

Обработать функцию Write Multiple Coils (15 - 0x0F).

Parameters
modbus_msgУказатель на структуру собщения modbus.
Returns
fMessageHandled Статус о результате обработки комманды.

Обработка команды Write Multiple Coils.

Definition at line 187 of file modbus_coils.c.

◆ MB_Check_Address_For_Arr()

MB_ExceptionTypeDef MB_Check_Address_For_Arr ( uint16_t Addr,
uint16_t Qnt,
uint16_t R_ARR_ADDR,
uint16_t R_ARR_NUMB )

Check is address valid for certain array.

Parameters
AddrНачальный адресс.
QntКоличество запрашиваемых элементов.
R_ARR_ADDRНачальный адресс массива R_ARR.
R_ARR_NUMBКоличество элементов в массиве R_ARR.
Returns
ExceptionCode - ET_ILLEGAL_DATA_ADRESS если адресс недействителен, и ET_NO_ERRORS если все ок.

Позволяет определить, принадлежит ли адресс Addr массиву R_ARR: Если адресс Addr находится в диапазоне адрессов массива R_ARR, то возвращаем NO_ERROR. Если адресс Addr находится за пределами адрессов массива R_ARR - ET_ILLEGAL_DATA_ADDRESSю.

Definition at line 38 of file __modbus_data.c.

◆ MB_DefineRegistersAddress()

MB_ExceptionTypeDef MB_DefineRegistersAddress ( uint16_t ** pRegs,
uint16_t Addr,
uint16_t Qnt,
uint8_t RegisterType )

Define Address Origin for Input/Holding Registers.

Parameters
pRegsУказатель на указатель регистров.
AddrАдрес начального регистра.
QntКоличество запрашиваемых регистров.
WriteFlagФлаг регистр нужны для чтения или записи.
Returns
ExceptionCode Код исключения если есть, и ET_NO_ERRORS если нет.

Определение адреса начального регистра.

Note
WriteFlag пока не используется.

Definition at line 66 of file __modbus_data.c.

◆ MB_DefineCoilsAddress()

MB_ExceptionTypeDef MB_DefineCoilsAddress ( uint16_t ** pCoils,
uint16_t Addr,
uint16_t Qnt,
uint16_t * start_shift,
uint8_t WriteFlag )

Define Address Origin for coils.

Parameters
pCoilsУказатель на указатель коилов.
AddrАдресс начального коила.
QntКоличество запрашиваемых коилов.
start_shiftУказатель на переменную содержащую сдвиг внутри регистра для начального коила.
WriteFlagФлаг коилы нужны для чтения или записи.
Returns
ExceptionCode Код исключения если есть, и ET_NO_ERRORS если нет.

Определение адреса начального регистра запрашиваемых коилов.

Note
WriteFlag используется для определния регистров GPIO: ODR или IDR.

Definition at line 119 of file __modbus_data.c.

◆ MB_Process_Read_Device_Identifications()

uint8_t MB_Process_Read_Device_Identifications ( RS_MsgTypeDef * modbus_msg)

Обработать функцию Read Device Identifications (43/14 - 0x2B/0E).

Parameters
modbus_msgУказатель на структуру собщения modbus.
Returns
fMessageHandled Статус о результате обработки комманды.

Обработка команды Write Single Register.

Definition at line 112 of file modbus_devid.c.

◆ MB_Process_Diagnostics()

uint8_t MB_Process_Diagnostics ( RS_MsgTypeDef * modbus_msg)

Обработать функцию Diagnostics (Serial Line only) (0x08)

Parameters
modbus_msgУказатель на структуру сообщения modbus
Returns
fMessageHandled Статус обработки команды

Definition at line 75 of file modbus_diag.c.

◆ MB_Process_Read_Hold_Regs()

uint8_t MB_Process_Read_Hold_Regs ( RS_MsgTypeDef * modbus_msg)

Обработать функцию Read Holding Registers (03 - 0x03).

Parameters
modbus_msgУказатель на структуру собщения modbus.
Returns
fMessageHandled Статус о результате обработки комманды.

Обработка команды Read Holding Registers.

Definition at line 92 of file modbus_holdregs.c.

◆ MB_Process_Write_Single_Reg()

uint8_t MB_Process_Write_Single_Reg ( RS_MsgTypeDef * modbus_msg)

Обработать функцию Write Single Register (06 - 0x06).

Parameters
modbus_msgУказатель на структуру собщения modbus.
Returns
fMessageHandled Статус о результате обработки комманды.

Обработка команды Write Single Register.

Definition at line 120 of file modbus_holdregs.c.

◆ MB_Process_Write_Miltuple_Regs()

uint8_t MB_Process_Write_Miltuple_Regs ( RS_MsgTypeDef * modbus_msg)

Обработать функцию Write Multiple Registers (16 - 0x10).

Parameters
modbus_msgУказатель на структуру собщения modbus.
Returns
fMessageHandled Статус о результате обработки комманды.

Обработка команды Write Multiple Registers.

Definition at line 139 of file modbus_holdregs.c.

◆ MB_Process_Read_Input_Regs()

uint8_t MB_Process_Read_Input_Regs ( RS_MsgTypeDef * modbus_msg)

Обработать функцию Read Input Registers (04 - 0x04).

Parameters
modbus_msgУказатель на структуру собщения modbus.
Returns
fMessageHandled Статус о результате обработки комманды.

Обработка команды Read Input Registers.

Definition at line 87 of file modbus_inputregs.c.