node_message.h 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #ifndef __NODE_MESSAGE_H
  2. #define __NODE_MESSAGE_H
  3. #include "stm32f2xx.h"
  4. #define slave
  5. #ifdef slave
  6. // 存储在本地的枚举了协议类型
  7. #define MODBUS_WRITE 4 //本机用于区分读写
  8. #define MODBUS_READ 3
  9. #define DLT645_07 2
  10. #define DLT645_97 1
  11. typedef struct _NODE_DLT645_PARAMS
  12. {
  13. uint32_t dataType645; //645数据标识
  14. uint8_t deviceType645[6]; //645地址
  15. uint8_t datalength;
  16. uint8_t value[9];
  17. }NODE_DLT645_PARAMS;
  18. typedef struct _NODE_MODBUS_READ
  19. {
  20. uint8_t slaveAddress;
  21. uint8_t functionCode;
  22. uint16_t registerAddress;
  23. uint16_t registerLength;
  24. uint8_t dataType; //数据类型
  25. uint8_t precision;
  26. uint8_t bigLittleFormat;
  27. uint8_t flag; //此属性读取是否成功
  28. uint8_t callback[4]; //对应读取到的数据存储于此
  29. }NODE_MODBUS_READ;
  30. typedef struct _NODE_MODBUS_WRITE
  31. {
  32. uint8_t slaveAddress;
  33. uint8_t functionCode;
  34. uint8_t dataType; //数据类型
  35. uint16_t registerAddress;
  36. uint16_t registerLength;
  37. uint8_t bigLittleFormat;
  38. uint8_t flag; //写入指令操作是否成功标志
  39. }NODE_MODBUS_WRITE;
  40. typedef struct _PARAMS
  41. {
  42. uint8_t protcol; //此属性决定用那个协议属性也会包含对应的响应值,其他未涉及到的属性赋值为NULL
  43. NODE_DLT645_PARAMS *dlt645_params;
  44. NODE_MODBUS_READ *modbus_read;
  45. NODE_MODBUS_WRITE *modbus_write;
  46. }PARAMS;
  47. typedef struct _NODE_DEVICE_PARAMS
  48. {
  49. uint8_t Index; //记录总共有多少个属性
  50. PARAMS params[20];
  51. }NODE_DEVICE_PARAMS;
  52. NODE_DEVICE_PARAMS *get_node_receive_params();
  53. #endif
  54. #endif