/** ****************************************************************************** * @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_