Modbus 0.3
Библиотека Modbus для STM
Loading...
Searching...
No Matches
E:/.WORK/STM32/Diod_Test/diode_tester/Core/Modbus/modbus_config.h
Go to the documentation of this file.
1/**
2******************************************************************************
3* @file modbus_config.h
4* @brief Конфигурационные параметры Modbus устройства
5******************************************************************************
6@addtogroup MODBUS_CONFIGS Modbus configs
7@ingroup MODBUS
8@brief Конфигурация библиотеки
9@{
10******************************************************************************
11* @details
12Файл содержит настройки для работы Modbus:
13- Подключение библиотек контроллера
14- ID устройства и таймауты
15- Строковые идентификаторы (Vendor, Product, Revision)
16- Настройки периферии (UART, TIMER)
17- Подключение модулей Modbus
18- Опциональные функции (переключение команд 0x03/0x04)
19******************************************************************************/
20#ifndef _MODBUS_CONFIG_H_
21#define _MODBUS_CONFIG_H_
22#include "stm32f1xx_hal.h"
23
24// Общие параметры
25#define MODBUS_DEVICE_ID 1 ///< Адрес устройства в сети Modbus
26#define MODBUS_TIMEOUT 5000 ///< Таймаут в тиках таймера
27
28// Строковые идентификаторы устройства
29#define MODBUS_VENDOR_NAME "NIO-12"
30#define MODBUS_PRODUCT_CODE ""
31#define MODBUS_REVISION ""
32#define MODBUS_VENDOR_URL ""
33#define MODBUS_PRODUCT_NAME ""
34#define MODBUS_MODEL_NAME ""
35#define MODBUS_USER_APPLICATION_NAME ""
36
37#define MODBUS_NUMB_OF_USEROBJECTS 0 ///< Количество пользовательских объектов
38#define MODBUS_USEROBJECT_0_NAME "" ///< Строка пользовательского идентификатора 0. По аналогии можно определить строки до <=128 USEROBJECT
39
40// Периферия (опционально)
41#define mb_huart huart1 ///< Удобный дефайн для модбасовского uart
42#define mb_htim htim3 ///< Удобный дефайн для модбасовского таймера
43//#define RS_EnableReceive() ///< Функция изменения направления передачи на ПРИЕМ для RS-485
44//#define RS_EnableTransmit() ///< Функция изменения направления передачи на ПЕРЕДАЧУ для RS-485
45
46
47// Модули modbus
48#define MODBUS_ENABLE_SLAVE ///< Включить обработку СЛЕЙВ режима
49#define MODBUS_ENABLE_MASTER ///< Включить обработку МАСТЕР режима
50
51#define MODBUS_ENABLE_COILS ///< Включить обработку коилов
52#define MODBUS_ENABLE_HOLDINGS ///< Включить обработку регистров хранения
53#define MODBUS_ENABLE_INPUTS ///< Включить обработку входных регистров
54#define MODBUS_ENABLE_DEVICE_IDENTIFICATIONS ///< Включить обработку идентификаторы устройства
55#define MODBUS_ENABLE_DIAGNOSTICS ///< Включить обработку диагностики модбас
56
57//#define MODBUS_PROTOCOL_TCP ///< Включить TCP-протокол, иначе - RTU
58
59/**
60 * @brief Поменять комманды 0x03 и 0x04 местами (для LabView терминалки от двигателей)
61 * @details Терминалка от двигателей использует для чтения регистров комманду R_HOLD_REGS вместо R_IN_REGS
62 * Поэтому чтобы считывать Input Regs - надо поменять их местами.
63 */
64//#define MODBUS_SWITCH_COMMAND_R_IN_REGS_AND_R_HOLD_REGS
65
66/////////////////////////////////////////////////////////////////////
67/////////////////////////---CALC DEFINES---//////////////////////////
68
69
70
71#endif //_MODBUS_CONFIG_H_