dataupdatethread.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. #ifndef DATAUPDATETHREAD_H
  2. #define DATAUPDATETHREAD_H
  3. #include <QObject>
  4. #include <QThread>
  5. #include <QtSql>
  6. #include "widget.h"
  7. #include <QDebug>
  8. #define SHM_NAME "/smartPDU_shm"
  9. #include "pdu_ctrl.h"
  10. struct smartPDU_shm_data
  11. {
  12. //电源数据
  13. int bPDUSet;
  14. int nSelectPowerCH;
  15. int nMaxCh;
  16. float fV;
  17. float fA;
  18. float fW;
  19. float fF;
  20. float fS;
  21. int nStatus;
  22. //传感器数据
  23. int nSelectSensor;
  24. float fT;//温度
  25. float fH;//湿度
  26. //三项数据
  27. int bT_ACType;//三相类型
  28. int nSelectPh;//当前通道的三相ph参数:0:A相 1:B相 2:C相 -1通道总计
  29. };
  30. class DataUpdateThread : public QThread
  31. {
  32. Q_OBJECT
  33. public:
  34. DataUpdateThread(QObject *parent);
  35. ~DataUpdateThread();
  36. void InitSql();
  37. void run();
  38. void ReadSqlData(int nCHID=0);
  39. void ReadMaxCh();
  40. //共享内存初始化
  41. int initShm();
  42. void deleteShm();
  43. void setShmChRead(int nCh,int nPhID);
  44. void ReadShmData();
  45. void ReadShmMaxch();
  46. int isT_ACType();//三相标志
  47. public:
  48. //窗口
  49. Widget* pwidget;
  50. //sql地址
  51. QString strSqliteAddress;
  52. QSqlDatabase m_db;
  53. bool isRunStats;
  54. bool isDBOpen;
  55. QString strV;
  56. QString strA;
  57. QString strW;
  58. QString strF;
  59. QString strS;
  60. QString strT;
  61. QString strH;
  62. QString strStatus;
  63. int nMaxCh;
  64. int nReadType;
  65. int shm_fd;
  66. int bTacStatus;
  67. smartPDU_shm_data* m_shmData;
  68. };
  69. #endif // DATAUPDATETHREAD_H