Loading...
Searching...
No Matches
Internal Process Functions
Modbus tools » Modbus Internal Tools

Функции обработки запросов модбас 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.