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

API для доступа к данным модбас внутри программы More...

Collaboration diagram for API for Data Access:

Macros

#define MB_Coil_Read_Local(_parr_, _coil_)
 Считать коил по локальному адресу.
#define MB_Coil_Set_Local(_parr_, _coil_)
 Выставить коил по локальному адресу.
#define MB_Coil_Reset_Local(_parr_, _coil_)
 Сбросить коил по локальному адресу.
#define MB_Coil_Toogle_Local(_parr_, _coil_)
 Переключить состояние коила по локальному адресу.

Enumerations

enum  MB_CoilsOpTypeDef { SET_COIL , RESET_COIL , TOOGLE_COIL }
 Enum for coils operation. More...

Functions

MB_ExceptionTypeDef MB_Coil_Write_Global (uint16_t Addr, MB_CoilsOpTypeDef WriteVal)
 Выставить/сбросить коил по глобальному адресу.
uint16_t MB_Coil_Read_Global (uint16_t Addr, MB_ExceptionTypeDef *Exception)
 Считать коил по глобальному адресу.
int MB_Diagnostics_WriteBit (int bit_num, int bit_state)
 Выставить бит в регистре диагностике
int MB_Diagnostics_GetBit (int bit_num)
 Прочитать состояние бита диагностического регистра
MB_DeviceModeTypeDef MB_GetDeviceMode (void)
 Получение текущего режима устройства
void MB_Diagnostics_BusMessageCnt (void)
 Увеличивает счетчик сообщений на шине
void MB_Diagnostics_CommunicationErrorCnt (void)
 Увеличивает счетчик ошибок связи
void MB_Diagnostics_ExceptionErrorCnt (void)
 Увеличивает счетчик исключений
void MB_Diagnostics_CharacterOverrunCnt (void)
 Увеличивает счетчик переполнения символов
void MB_Diagnostics_SlaveMessageCnt (void)
 Увеличивает счетчик отсутствия ответов
void MB_Diagnostics_SlaveNoResponseCnt (void)
 Увеличивает счетчик отсутствия ответов
void MB_Diagnostics_SlaveNAKCnt (void)
 Увеличивает счетчик NAK ответов
void MB_Diagnostics_SlaveBusyCnt (void)
 Увеличивает счетчик занятости устройства
MB_ExceptionTypeDef MB_Holding_Write_Global (uint16_t Addr, uint16_t WriteVal)
 Записать регистр хранения по глобальному адресу.
uint16_t MB_Holding_Read_Global (uint16_t Addr, MB_ExceptionTypeDef *Exception)
 Считать регистр хранения по глобальному адресу.
MB_ExceptionTypeDef MB_Input_Write_Global (uint16_t Addr, uint16_t WriteVal)
 Записать входной регистр по глобальному адресу.
uint16_t MB_Input_Read_Global (uint16_t Addr, MB_ExceptionTypeDef *Exception)
 Считать входной регистр по глобальному адресу.

Detailed Description

API для доступа к данным модбас внутри программы

Macro Definition Documentation

◆ MB_Coil_Read_Local

#define MB_Coil_Read_Local ( _parr_,
_coil_ )
Value:
(( *MB_Set_Coil_Reg_Ptr(_parr_, _coil_) & MB_Set_Coil_Mask(_coil_) ) >> (_coil_))
#define MB_Set_Coil_Mask(_coil_)
Макрос для установки маски, чтобы выделить запрашиваемый коил из регистра
#define MB_Set_Coil_Reg_Ptr(_parr_, _coil_)
Макрос для установки указателя на регистр, содержащий запрашиваемый коил

Считать коил по локальному адресу.

Parameters
_parr_- массив коилов.
_coil_- Номер коила от начала массива arr.
Returns
uint16_t Возвращает запрошенный коил на 0м бите.

Позволяет обратиться к коилу по адресу относительно arr.

Definition at line 71 of file modbus_coils.h.

◆ MB_Coil_Set_Local

#define MB_Coil_Set_Local ( _parr_,
_coil_ )
Value:
*MB_Set_Coil_Reg_Ptr(_parr_, _coil_) |= MB_Set_Coil_Mask(_coil_)

Выставить коил по локальному адресу.

Parameters
_parr_Указатель на массив коилов.
_coil_- Номер коила от начала массива arr.

Позволяет обратиться к коилу по адресу относительно arr.

Definition at line 79 of file modbus_coils.h.

◆ MB_Coil_Reset_Local

#define MB_Coil_Reset_Local ( _parr_,
_coil_ )
Value:
*MB_Set_Coil_Reg_Ptr(_parr_, _coil_) &= ~(MB_Set_Coil_Mask(_coil_))

Сбросить коил по локальному адресу.

Parameters
_parr_Указатель на массив коилов.
_coil_- Номер коила от начала массива arr.

Позволяет обратиться к коилу по адресу относительно arr.

Definition at line 87 of file modbus_coils.h.

◆ MB_Coil_Toogle_Local

#define MB_Coil_Toogle_Local ( _parr_,
_coil_ )
Value:
*MB_Set_Coil_Reg_Ptr(_parr_, _coil_) ^= MB_Set_Coil_Mask(_coil_)

Переключить состояние коила по локальному адресу.

Parameters
_parr_Указатель на массив коилов.
_coil_- Номер коила от начала массива arr.

Позволяет обратиться к коилу по адресу относительно arr.

Definition at line 95 of file modbus_coils.h.

Enumeration Type Documentation

◆ MB_CoilsOpTypeDef

Enum for coils operation.

Definition at line 56 of file modbus_coils.h.

Function Documentation

◆ MB_Coil_Write_Global()

MB_ExceptionTypeDef MB_Coil_Write_Global ( uint16_t Addr,
MB_CoilsOpTypeDef WriteVal )

Выставить/сбросить коил по глобальному адресу.

Parameters
AddrАдрес коила.
WriteValЧто записать в коил: 0 или 1.
Returns
ExceptionCode Код исключения если коила по адресу не существует, и ET_NO_ERRORS если все ок.

Позволяет обратиться к любому коилу по его глобальному адрессу. Вне зависимости от того как коилы размещены в памяти.

Definition at line 34 of file modbus_coils.c.

◆ MB_Coil_Read_Global()

uint16_t MB_Coil_Read_Global ( uint16_t Addr,
MB_ExceptionTypeDef * Exception )

Считать коил по глобальному адресу.

Parameters
AddrАдрес коила.
ExceptionУказатель на переменную для кода исключения, в случае неудачи при чтении.
Returns
uint16_t Возвращает весь регистр с маской на запрошенном коиле.

Позволяет обратиться к любому коилу по его глобальному адрессу. Вне зависимости от того как коилы размещены в памяти.

Definition at line 74 of file modbus_coils.c.

◆ MB_Diagnostics_WriteBit()

int MB_Diagnostics_WriteBit ( int bit_num,
int bit_state )

Выставить бит в регистре диагностике

Parameters
bit_numНомер бита для выставления (1-15, 0 бит нельзя выставить)
bit_stateСостояние бита для выставления (Выставить/Сбросить)
Returns
>0 - номер выставленного бита, 0 - ошибка

Definition at line 45 of file modbus_diag.c.

◆ MB_Diagnostics_GetBit()

int MB_Diagnostics_GetBit ( int bit_num)

Прочитать состояние бита диагностического регистра

Parameters
bit_numНомер бита (0-15)
Returns
1 - бит установлен, 0 - бит сброшен или ошибка

Definition at line 62 of file modbus_diag.c.

◆ MB_GetDeviceMode()

MB_DeviceModeTypeDef MB_GetDeviceMode ( void )

Получение текущего режима устройства

Returns
Текущий режим работы устройства

Definition at line 291 of file modbus_diag.c.

◆ MB_Diagnostics_BusMessageCnt()

void MB_Diagnostics_BusMessageCnt ( void )

Увеличивает счетчик сообщений на шине

Definition at line 215 of file modbus_diag.c.

◆ MB_Diagnostics_CommunicationErrorCnt()

void MB_Diagnostics_CommunicationErrorCnt ( void )

Увеличивает счетчик ошибок связи

Definition at line 223 of file modbus_diag.c.

◆ MB_Diagnostics_ExceptionErrorCnt()

void MB_Diagnostics_ExceptionErrorCnt ( void )

Увеличивает счетчик исключений

Definition at line 232 of file modbus_diag.c.

◆ MB_Diagnostics_CharacterOverrunCnt()

void MB_Diagnostics_CharacterOverrunCnt ( void )

Увеличивает счетчик переполнения символов

Definition at line 241 of file modbus_diag.c.

◆ MB_Diagnostics_SlaveMessageCnt()

void MB_Diagnostics_SlaveMessageCnt ( void )

Увеличивает счетчик отсутствия ответов

Definition at line 254 of file modbus_diag.c.

◆ MB_Diagnostics_SlaveNoResponseCnt()

void MB_Diagnostics_SlaveNoResponseCnt ( void )

Увеличивает счетчик отсутствия ответов

Definition at line 263 of file modbus_diag.c.

◆ MB_Diagnostics_SlaveNAKCnt()

void MB_Diagnostics_SlaveNAKCnt ( void )

Увеличивает счетчик NAK ответов

Definition at line 272 of file modbus_diag.c.

◆ MB_Diagnostics_SlaveBusyCnt()

void MB_Diagnostics_SlaveBusyCnt ( void )

Увеличивает счетчик занятости устройства

Definition at line 281 of file modbus_diag.c.

◆ MB_Holding_Write_Global()

MB_ExceptionTypeDef MB_Holding_Write_Global ( uint16_t Addr,
uint16_t WriteVal )

Записать регистр хранения по глобальному адресу.

Parameters
AddrАдрес регистра.
WriteValЧисло для записи.
Returns
ExceptionCode Код исключения если регистра по адресу не существует, и ET_NO_ERRORS если все ок.

Позволяет обратиться к любому регистру по его глобальному адрессу. Вне зависимости от того как регистры размещены в памяти.

Definition at line 36 of file modbus_holdregs.c.

◆ MB_Holding_Read_Global()

uint16_t MB_Holding_Read_Global ( uint16_t Addr,
MB_ExceptionTypeDef * Exception )

Считать регистр хранения по глобальному адресу.

Parameters
AddrАдрес регистра.
ExceptionУказатель на переменную для кода исключения, в случае неудачи при чтении.
Returns
uint16_t Возвращает значение регистра.

Позволяет обратиться к любому регистру по его глобальному адрессу. Вне зависимости от того как регистры размещены в памяти.

Definition at line 61 of file modbus_holdregs.c.

◆ MB_Input_Write_Global()

MB_ExceptionTypeDef MB_Input_Write_Global ( uint16_t Addr,
uint16_t WriteVal )

Записать входной регистр по глобальному адресу.

Parameters
AddrАдрес регистра.
WriteValЧисло для записи.
Returns
ExceptionCode Код исключения если регистра по адресу не существует, и ET_NO_ERRORS если все ок.

Позволяет обратиться к любому регистру по его глобальному адрессу. Вне зависимости от того как регистры размещены в памяти.

Definition at line 32 of file modbus_inputregs.c.

◆ MB_Input_Read_Global()

uint16_t MB_Input_Read_Global ( uint16_t Addr,
MB_ExceptionTypeDef * Exception )

Считать входной регистр по глобальному адресу.

Parameters
AddrАдрес регистра.
ExceptionУказатель на переменную для кода исключения, в случае неудачи при чтении.
Returns
uint16_t Возвращает значение регистра.

Позволяет обратиться к любому регистру по его глобальному адрессу. Вне зависимости от того как регистры размещены в памяти.

Definition at line 57 of file modbus_inputregs.c.