72 lines
4.2 KiB
C
72 lines
4.2 KiB
C
/**
|
||
******************************************************************************
|
||
* @file modbus_config.h
|
||
* @brief Конфигурационные параметры Modbus устройства
|
||
******************************************************************************
|
||
@addtogroup MODBUS_CONFIGS Modbus configs
|
||
@ingroup MODBUS
|
||
@brief Конфигурация библиотеки
|
||
@{
|
||
******************************************************************************
|
||
* @details
|
||
Файл содержит настройки для работы Modbus:
|
||
- Подключение библиотек контроллера
|
||
- ID устройства и таймауты
|
||
- Строковые идентификаторы (Vendor, Product, Revision)
|
||
- Настройки периферии (UART, TIMER)
|
||
- Подключение модулей Modbus
|
||
- Опциональные функции (переключение команд 0x03/0x04)
|
||
******************************************************************************/
|
||
#ifndef _MODBUS_CONFIG_H_
|
||
#define _MODBUS_CONFIG_H_
|
||
#include "stm32f1xx_hal.h"
|
||
|
||
// Общие параметры
|
||
#define MODBUS_DEVICE_ID 1 ///< Адрес устройства в сети Modbus
|
||
#define MODBUS_TIMEOUT 5000 ///< Таймаут в тиках таймера
|
||
|
||
// Строковые идентификаторы устройства
|
||
#define MODBUS_VENDOR_NAME "NIO-12"
|
||
#define MODBUS_PRODUCT_CODE ""
|
||
#define MODBUS_REVISION ""
|
||
#define MODBUS_VENDOR_URL ""
|
||
#define MODBUS_PRODUCT_NAME ""
|
||
#define MODBUS_MODEL_NAME ""
|
||
#define MODBUS_USER_APPLICATION_NAME ""
|
||
|
||
#define MODBUS_NUMB_OF_USEROBJECTS 0 ///< Количество пользовательских объектов
|
||
#define MODBUS_USEROBJECT_0_NAME "" ///< Строка пользовательского идентификатора 0. По аналогии можно определить строки до <=128 USEROBJECT
|
||
|
||
// Периферия (опционально)
|
||
#define mb_huart huart1 ///< Удобный дефайн для модбасовского uart
|
||
#define mb_htim htim2 ///< Удобный дефайн для модбасовского таймера
|
||
//#define RS_EnableReceive() ///< Функция изменения направления передачи на ПРИЕМ для RS-485
|
||
//#define RS_EnableTransmit() ///< Функция изменения направления передачи на ПЕРЕДАЧУ для RS-485
|
||
|
||
|
||
// Модули modbus
|
||
#define MODBUS_ENABLE_SLAVE ///< Включить обработку СЛЕЙВ режима
|
||
//#define MODBUS_ENABLE_MASTER ///< Включить обработку МАСТЕР режима
|
||
|
||
#define MODBUS_ENABLE_COILS ///< Включить обработку коилов
|
||
#define MODBUS_ENABLE_HOLDINGS ///< Включить обработку регистров хранения
|
||
#define MODBUS_ENABLE_INPUTS ///< Включить обработку входных регистров
|
||
#define MODBUS_ENABLE_DEVICE_IDENTIFICATIONS ///< Включить обработку идентификаторы устройства
|
||
#define MODBUS_ENABLE_DIAGNOSTICS ///< Включить обработку диагностики модбас
|
||
|
||
//#define MODBUS_PROTOCOL_TCP ///< Включить TCP-протокол, иначе - RTU
|
||
|
||
/**
|
||
* @brief Поменять комманды 0x03 и 0x04 местами (для LabView терминалки от двигателей)
|
||
* @details Терминалка от двигателей использует для чтения регистров комманду R_HOLD_REGS вместо R_IN_REGS
|
||
* Поэтому чтобы считывать Input Regs - надо поменять их местами.
|
||
*/
|
||
//#define MODBUS_SWITCH_COMMAND_R_IN_REGS_AND_R_HOLD_REGS
|
||
|
||
/////////////////////////////////////////////////////////////////////
|
||
/////////////////////////---CALC DEFINES---//////////////////////////
|
||
|
||
|
||
|
||
#endif //_MODBUS_CONFIG_H_
|