From 25d833ca8ea4ed82fb5b0c4733c5f6cb0aec32c2 Mon Sep 17 00:00:00 2001 From: Razvalyaev Date: Wed, 28 May 2025 13:45:45 +0300 Subject: [PATCH] =?UTF-8?q?=D1=83=D0=B1=D1=80=D0=B0=D0=BD=D1=8B=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82=D0=B5=D0=BB?= =?UTF-8?q?=D1=8C=D1=81=D0=BA=D0=B8=D0=B5=20=D0=B4=D0=B0=D0=BD=D0=BD=D1=8B?= =?UTF-8?q?=D0=B5=20=D0=B2=20modbus=5Fdata.h=20-=20=D0=BA=D0=B0=D0=B6?= =?UTF-8?q?=D0=B4=D1=8B=D0=B9=20=D0=B8=D1=85=20=D0=BD=D0=B0=D1=81=D1=82?= =?UTF-8?q?=D1=80=D0=B0=D0=B8=D0=B2=D0=B0=D0=B5=D1=82=20=D1=81=D0=B0=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Modbus/modbus_data.h | 42 +++---------------- .../MDK-ARM/Modbus_example.uvguix.I | 22 +++++----- 2 files changed, 17 insertions(+), 47 deletions(-) diff --git a/Modbus/modbus_data.h b/Modbus/modbus_data.h index 4cf7b8f..152998a 100644 --- a/Modbus/modbus_data.h +++ b/Modbus/modbus_data.h @@ -37,8 +37,7 @@ */ typedef struct //MB_DataInRegsTypeDef { - uint16_t ForwardVoltage; - uint16_t ReversePeakVoltage; + }MB_DataInRegsTypeDef; @@ -47,27 +46,17 @@ typedef struct //MB_DataInRegsTypeDef */ typedef struct //MB_DataInRegsTypeDef { - uint16_t TimeForForward; - uint16_t TimeForReverse; - uint16_t TimeBeforeTest; - uint16_t TimeDeadtime; - uint16_t TimeBeforePeak; - uint16_t Adc_PulseWidth; - uint16_t Adc_PulseSign; - uint16_t Adc_CalibrValue; - uint16_t Adc_ZeroValue; - uint16_t Adc_U_Calibr; }MB_DataHoldRegsTypeDef; // DEFINES FOR INPUT REGISTERS ARRAYS #define R_INPUT_ADDR 0 -#define R_INPUT_QNT 2 +#define R_INPUT_QNT 0 // DEFINES FOR HOLDING REGISTERS ARRAYS #define R_HOLDING_ADDR 0 -#define R_HOLDING_QNT 10 +#define R_HOLDING_QNT 0 // DEFINES FOR REGISTERS LOCAL ADDRESSES @@ -97,35 +86,16 @@ typedef struct //MB_DataInRegsTypeDef /** * @brief Коилы + * @details Желательно с помощью reserved делать стркутуру кратной 16-битам */ typedef struct //MB_DataCoilsTypeDef { - /* reg 1 - control */ - unsigned ForwardTest:1; - unsigned ReverseTest:1; - unsigned StartTest:1; - unsigned KeyForwardHiTest:1; - unsigned KeyForwardLoTest:1; - unsigned KeyReverseHiTest:1; - unsigned KeyReverseLoTest:1; - - unsigned reserved:9; - - /* reg 2 - settings */ - unsigned msTimeForForward_enable:1; - unsigned msTimeForReverse_enable:1; - unsigned msTimeBeforeTest_enable:1; - unsigned msTimeDeadtime_enable:1; - unsigned msTimeBeforePeak_enable:1; - unsigned reserved2:11; + unsigned reserved:16; }MB_DataCoilsTypeDef; // DEFINES FOR COIL ARRAYS #define C_CONTROL_ADDR 0 -#define C_CONTROL_QNT 7 - -#define C_SETTINGS_ADDR 16 -#define C_SETTINGS_QNT 5 +#define C_CONTROL_QNT 16 /** MODBUS_DATA_COILS_DEFINES * @} diff --git a/STM32F103_Example/MDK-ARM/Modbus_example.uvguix.I b/STM32F103_Example/MDK-ARM/Modbus_example.uvguix.I index 69de379..138ec78 100644 --- a/STM32F103_Example/MDK-ARM/Modbus_example.uvguix.I +++ b/STM32F103_Example/MDK-ARM/Modbus_example.uvguix.I @@ -93,8 +93,8 @@ 2 3 - -1 - -1 + -32000 + -32000 -1 @@ -111,7 +111,7 @@ 0 1418 - 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000C000000080000000100000050463A5C576F726B5C50726F6A656374735C53544D5C456C656D656E746172795C4D6F646275735F6578616D706C655C53544D3332463130335F4578616D706C655C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF58463A5C576F726B5C50726F6A656374735C53544D5C456C656D656E746172795C4D6F646275735F6578616D706C655C53544D3332463130335F4578616D706C655C436F72655C5372635C73746D3332663178785F69742E63000000000E73746D3332663178785F69742E6300000000FFDC7800FFFFFFFF51463A5C576F726B5C50726F6A656374735C53544D5C456C656D656E746172795C4D6F646275735F6578616D706C655C53544D3332463130335F4578616D706C655C436F72655C5372635C75736172742E63000000000775736172742E6300000000BECEA100FFFFFFFF40463A5C576F726B5C50726F6A656374735C53544D5C456C656D656E746172795C4D6F646275735F6578616D706C655C4D6F646275735C6372635F616C67732E68000000000A6372635F616C67732E6800000000F0A0A100FFFFFFFF3E463A5C576F726B5C50726F6A656374735C53544D5C456C656D656E746172795C4D6F646275735F6578616D706C655C4D6F646275735C6D6F646275732E6800000000086D6F646275732E6800000000BCA8E100FFFFFFFF45463A5C576F726B5C50726F6A656374735C53544D5C456C656D656E746172795C4D6F646275735F6578616D706C655C4D6F646275735C6D6F646275735F636F6E6669672E68000000000F6D6F646275735F636F6E6669672E68000000009CC1B600FFFFFFFF42463A5C576F726B5C50726F6A656374735C53544D5C456C656D656E746172795C4D6F646275735F6578616D706C655C4D6F646275735C72735F6D6573736167652E68000000000C72735F6D6573736167652E6800000000F7B88600FFFFFFFF42463A5C576F726B5C50726F6A656374735C53544D5C456C656D656E746172795C4D6F646275735F6578616D706C655C4D6F646275735C72735F6D6573736167652E63000000000C72735F6D6573736167652E6300000000D9ADC200FFFFFFFF3E463A5C576F726B5C50726F6A656374735C53544D5C456C656D656E746172795C4D6F646275735F6578616D706C655C4D6F646275735C6D6F646275732E6300000000086D6F646275732E6300000000A5C2D700FFFFFFFF4F463A5C576F726B5C50726F6A656374735C53544D5C456C656D656E746172795C4D6F646275735F6578616D706C655C53544D3332463130335F4578616D706C655C436F72655C5372635C74696D2E63000000000574696D2E6300000000B3A6BE00FFFFFFFF75463A5C576F726B5C50726F6A656374735C53544D5C456C656D656E746172795C4D6F646275735F6578616D706C655C53544D3332463130335F4578616D706C655C447269766572735C53544D3332463178785F48414C5F4472697665725C5372635C73746D3332663178785F68616C5F74696D2E63000000001373746D3332663178785F68616C5F74696D2E6300000000EAD6A300FFFFFFFF43463A5C576F726B5C50726F6A656374735C53544D5C456C656D656E746172795C4D6F646275735F6578616D706C655C4D6F646275735C6D6F646275735F646174612E68000000000D6D6F646275735F646174612E6800000000F6FA7D00FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000D600000066000000900600005B020000 + 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000C0000000B0000000100000050463A5C576F726B5C50726F6A656374735C53544D5C456C656D656E746172795C4D6F646275735F6578616D706C655C53544D3332463130335F4578616D706C655C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF58463A5C576F726B5C50726F6A656374735C53544D5C456C656D656E746172795C4D6F646275735F6578616D706C655C53544D3332463130335F4578616D706C655C436F72655C5372635C73746D3332663178785F69742E63000000000E73746D3332663178785F69742E6300000000FFDC7800FFFFFFFF51463A5C576F726B5C50726F6A656374735C53544D5C456C656D656E746172795C4D6F646275735F6578616D706C655C53544D3332463130335F4578616D706C655C436F72655C5372635C75736172742E63000000000775736172742E6300000000BECEA100FFFFFFFF40463A5C576F726B5C50726F6A656374735C53544D5C456C656D656E746172795C4D6F646275735F6578616D706C655C4D6F646275735C6372635F616C67732E68000000000A6372635F616C67732E6800000000F0A0A100FFFFFFFF3E463A5C576F726B5C50726F6A656374735C53544D5C456C656D656E746172795C4D6F646275735F6578616D706C655C4D6F646275735C6D6F646275732E6800000000086D6F646275732E6800000000BCA8E100FFFFFFFF45463A5C576F726B5C50726F6A656374735C53544D5C456C656D656E746172795C4D6F646275735F6578616D706C655C4D6F646275735C6D6F646275735F636F6E6669672E68000000000F6D6F646275735F636F6E6669672E68000000009CC1B600FFFFFFFF42463A5C576F726B5C50726F6A656374735C53544D5C456C656D656E746172795C4D6F646275735F6578616D706C655C4D6F646275735C72735F6D6573736167652E68000000000C72735F6D6573736167652E6800000000F7B88600FFFFFFFF42463A5C576F726B5C50726F6A656374735C53544D5C456C656D656E746172795C4D6F646275735F6578616D706C655C4D6F646275735C72735F6D6573736167652E63000000000C72735F6D6573736167652E6300000000D9ADC200FFFFFFFF3E463A5C576F726B5C50726F6A656374735C53544D5C456C656D656E746172795C4D6F646275735F6578616D706C655C4D6F646275735C6D6F646275732E6300000000086D6F646275732E6300000000A5C2D700FFFFFFFF4F463A5C576F726B5C50726F6A656374735C53544D5C456C656D656E746172795C4D6F646275735F6578616D706C655C53544D3332463130335F4578616D706C655C436F72655C5372635C74696D2E63000000000574696D2E6300000000B3A6BE00FFFFFFFF75463A5C576F726B5C50726F6A656374735C53544D5C456C656D656E746172795C4D6F646275735F6578616D706C655C53544D3332463130335F4578616D706C655C447269766572735C53544D3332463178785F48414C5F4472697665725C5372635C73746D3332663178785F68616C5F74696D2E63000000001373746D3332663178785F68616C5F74696D2E6300000000EAD6A300FFFFFFFF43463A5C576F726B5C50726F6A656374735C53544D5C456C656D656E746172795C4D6F646275735F6578616D706C655C4D6F646275735C6D6F646275735F646174612E68000000000D6D6F646275735F646174612E6800000000F6FA7D00FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000D600000066000000900600005B020000 @@ -1822,7 +1822,7 @@ Build 988 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000E4D6F646275735F6578616D706C65960000000000000001000E4D6F646275735F6578616D706C65000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000E4D6F646275735F6578616D706C65960000000000000001000E4D6F646275735F6578616D706C65000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 583 @@ -1862,7 +1862,7 @@ 0 100 - 8 + 11 ../Core/Src/main.c 25 @@ -1910,9 +1910,9 @@ ..\..\Modbus\modbus_config.h - 0 + 19 4 - 1 + 21 1 0 @@ -1939,7 +1939,7 @@ ..\..\Modbus\modbus.c 0 77 - 78 + 98 1 110 0 @@ -1964,9 +1964,9 @@ ..\..\Modbus\modbus_data.h - 37 - 22 - 64 + 23 + 82 + 93 1 0