| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- /*=====================================================================================
- * Description:
- * The Modbus parameter structures used to define Modbus instances that
- * can be addressed by Modbus protocol. Define these structures per your needs in
- * your application. Below is just an example of possible parameters.
- *====================================================================================*/
- #ifndef _DEVICE_PARAMS
- #define _DEVICE_PARAMS
- #define A24_ARR_SIZE 24
- // This file defines structure of modbus parameters which reflect correspond modbus address space
- // for each modbus register type (coils, discreet inputs, holding registers, input registers)
- #pragma pack(push, 1)
- typedef struct
- {
- // Parameter: discrete_input0
- uint8_t discrete_input0:1;
- // Parameter: discrete_input1
- uint8_t discrete_input1:1;
- // Parameter: discrete_input2
- uint8_t discrete_input2:1;
- // Parameter: discrete_input3
- uint8_t discrete_input3:1;
- // Parameter: discrete_input4
- uint8_t discrete_input4:1;
- // Parameter: discrete_input5
- uint8_t discrete_input5:1;
- // Parameter: discrete_input6
- uint8_t discrete_input6:1;
- // Parameter: discrete_input7
- uint8_t discrete_input7:1;
- uint8_t discrete_input_port1:8;
- } discrete_reg_params_t;
- #pragma pack(pop)
- #pragma pack(push, 1)
- typedef struct
- {
- // Parameter: Coil 0 : Coil0
- uint8_t coil0:1;
- // Parameter: Coil 1 : Coil1
- uint8_t coil1:1;
- // Parameter: Coil 2 : Coil2
- uint8_t coil2:1;
- // Parameter: Coil 3 : Coil3
- uint8_t coil3:1;
- // Parameter: Coil 4 : Coil4
- uint8_t coil4:1;
- // Parameter: Coil 5 : Coil5
- uint8_t coil5:1;
- // Parameter: Coil 6 : Coil6
- uint8_t coil6:1;
- // Parameter: Coil 7 : Coil7
- uint8_t coil7:1;
- // Coils port 1
- uint8_t coil_port1:8;
- } coil_reg_params_t;
- #pragma pack(pop)
- #pragma pack(push, 1)
- typedef struct
- {
- // Parameter: Data channel 0 : data_chan0 : NV Address: 0
- float data_chan0;
- // Parameter: Data channel 1 : data_chan1 : NV Address: 0
- float data_chan1;
- // Parameter: Data channel 2 : data_chan2 : NV Address: 0
- float data_chan2;
- // Parameter: Data channel 3 : data_chan3 : NV Address: 0
- float data_chan3;
- } input_reg_params_t;
- #pragma pack(pop)
- //See register map for more information.
- #pragma pack(push, 1)
- typedef struct
- {
- // Parameter: Data channel 0 : DataChan0
- float data_chan0;
- // Parameter: Data channel 1 : DataChan1
- float data_chan1;
- // Parameter: Data channel 2 : DataChan2
- float data_chan2;
- // Parameter: Data channel 3 : DataChan3
- float data_chan3;
- // Parameter: Protocol version : protocol_version
- uint16_t protocol_version;
- // Parameter: Hardware version : hardware_version
- uint16_t hardware_version;
- // Parameter: Software Version : software_version
- uint16_t software_version;
- // Parameter: Software Revision : software_revision
- uint16_t software_revision;
- // Parameter: Device Type : deviceType :
- uint16_t deviceType;
- // Parameter: Modbus Network Address : modbus_address
- uint16_t modbus_address;
- // Parameter: Modbus Baudrate : modbus_baud
- uint16_t modbus_baud;
- // Parameter: Modbus parity : modbus_parity
- uint16_t modbus_parity;
- // Parameter: Modbus stopbit : modbus_stop_bits
- uint16_t modbus_stop_bits;
- // Parameter: Brace control : modbus_brace_ctrl
- uint16_t modbus_brace_ctrl;
- // Parameter: Serial number : serial_number
- uint32_t serial_number;
- // Parameter: Up time : up_time
- uint32_t up_time;
- // Parameter: Device state : device_state
- uint16_t device_state;
- // Parameter: Test Float0 : test_float0
- float test_float0;
- // Parameter: Test Float1 : test_float1
- float test_float1;
- // Parameter: Test Float2 : test_float2
- float test_float2;
- // Parameter: Test Float3 : test_float3
- float test_float3;
- // Parameter: Test String : string_test
- uint8_t string_test[A24_ARR_SIZE];
- } holding_reg_params_t;
- #pragma pack(pop)
- extern holding_reg_params_t holding_reg_params;
- extern input_reg_params_t input_reg_params;
- extern coil_reg_params_t coil_reg_params;
- extern discrete_reg_params_t discrete_reg_params;
- #endif // !defined(_DEVICE_PARAMS)
|