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_
modbus_config.h
Generated by
1.14.0