mainwidget.h 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. #ifndef MAINWIDGET_H
  2. #define MAINWIDGET_H
  3. #include <QLabel>
  4. #include <QWidget>
  5. #include <QTimer>
  6. #include "USB485_Ctrl.h"
  7. QT_BEGIN_NAMESPACE
  8. namespace Ui { class MainWidget; }
  9. QT_END_NAMESPACE
  10. //==========================PDU数据结构=======================
  11. struct PDUAllInfo
  12. {
  13. float AllVoltage_L1 =0;
  14. float AllCurrent_L1=0;
  15. float AllPower_L1=0;
  16. float AllConsumption_L1=0;
  17. float AllVoltage_L2=0;
  18. float AllCurrent_L2=0;
  19. float AllPower_L2=0;
  20. float AllConsumption_L2=0;
  21. float AllVoltage_L3=0;
  22. float AllCurrent_L3=0;
  23. float AllPower_L3=0;
  24. float AllConsumption_L3=0;
  25. float Sensor_Temperature=0;
  26. float Sensor_Humidity=0;
  27. float Sensor_WaterImmersion=0;
  28. float Sensor_INTemperature=0;
  29. float Sensor_OUTTemperature=0;
  30. };
  31. struct PDUCHInfo
  32. {
  33. int CHNum=0;
  34. QString CHName=0;
  35. int CHPhase=0;
  36. float CHVoltage=0;
  37. float CHCurrent=0;
  38. float CHPower=0;
  39. float CHFactor=0;
  40. float CHConsumption=0;
  41. bool CHStatus=false;
  42. };
  43. class MainWidget : public QWidget
  44. {
  45. Q_OBJECT
  46. public:
  47. MainWidget(QWidget *parent = nullptr);
  48. ~MainWidget();
  49. void InitUI();
  50. void InitConnect();
  51. void InitCHTable(int CHNum,bool initFlag);
  52. private slots:
  53. /*手动连接槽函数*/
  54. void manual_serialPortReadyRead();
  55. /*以下为mainwindow.ui文件中点击“转到槽”自动生成的函数*/
  56. void on_Button_openserial_clicked();
  57. void on_Button_tx_clicked();
  58. void on_Button_clearrecive_clicked();
  59. void on_Button_cleartx_clicked();
  60. void on_check_autosend_stateChanged(int arg1);
  61. void on_Button_checkserial_clicked();
  62. void slot_changeDebugMode();
  63. void on_pushButton_6_clicked();
  64. void on_pushButton_L1_clicked();
  65. void on_pushButton_L2_clicked();
  66. void on_pushButton_L3_clicked();
  67. void on_pushButton_ALLOPEN_clicked();
  68. void on_pushButton_ALLCLOSE_clicked();
  69. void UpdateStatusInfo();
  70. private:
  71. void setNumOnLabel(QLabel *lbl, QString strS, long num);
  72. private:
  73. Ui::MainWidget *ui;
  74. // 发送、接收字节计数
  75. long sendNum, recvNum;
  76. QLabel *lblSendNum;
  77. QLabel *lblRecvNum;
  78. QLabel *lblPortState;
  79. // 定时发送-定时器
  80. QTimer *timSend;
  81. QTimer *_timer_update_info = NULL;
  82. Usb485_Ctrl m_USBCtrl;
  83. int m_TotalCHNum;
  84. int m_CurPhase;
  85. PDUAllInfo m_PDUAllInfo;
  86. PDUCHInfo m_PDUCHInfo[64];
  87. };
  88. #endif // MAINWIDGET_H