main
parent
1382bfb747
commit
81c1db0a90
|
@ -45,6 +45,7 @@ LIBS += -lws2_32
|
|||
INCLUDEPATH += $$PWD/../../SDK/include
|
||||
|
||||
CONFIG(debug, debug|debug) {
|
||||
DEFINES += _DEBUG_
|
||||
INCLUDEPATH += "D:/Visual Leak Detector/include"
|
||||
win32:LIBS += "D:/Visual Leak Detector/lib/Win64/vld.lib"
|
||||
}
|
||||
|
|
|
@ -123,7 +123,7 @@ void CustomDisplayPanel::Build()
|
|||
|
||||
// 设置列宽策略
|
||||
tableWidget->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Fixed);
|
||||
tableWidget->setColumnWidth(0, 150);
|
||||
tableWidget->setColumnWidth(0, 200);
|
||||
tableWidget->horizontalHeader()->setSectionResizeMode(1, QHeaderView::Stretch);
|
||||
//tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
|
||||
//tableWidget->verticalHeader()->setSectionResizeMode(QHeaderView::Stretch);
|
||||
|
|
|
@ -37,14 +37,16 @@ protected:
|
|||
public:
|
||||
typedef enum _tagPanelType: int
|
||||
{
|
||||
PANEL_TEMPERATURE = 1,
|
||||
PANEL_BATTERY,
|
||||
PANEL_POWER,
|
||||
PANEL_AC,
|
||||
PANEL_PV,
|
||||
PANEL_ALARM,
|
||||
PANEL_INVERTER,
|
||||
PANEL_HOME,
|
||||
PANEL_TEMPERATURE = 1, //温度传感器
|
||||
PANEL_BATTERY = 2, //电池Pack
|
||||
PANEL_DCPOWER = 3, //直流电源
|
||||
PANEL_ACFAN = 4, //空调风扇
|
||||
PANEL_PV = 5, //太阳能
|
||||
PANEL_ALARM = 6, //告警
|
||||
PANEL_INVERTER = 7, //逆变器整流器
|
||||
PANEL_ACPOWER = 8, //交流电源
|
||||
PANEL_OTHER = 88, //其它
|
||||
PANEL_HOME = 99, //传感器,水浸门禁
|
||||
} PanelType;
|
||||
|
||||
public:
|
||||
|
|
|
@ -182,9 +182,9 @@
|
|||
"precision":1,
|
||||
"unit":"",
|
||||
"title_chn":"水浸传感器",
|
||||
"title_eng":"Water ingress",
|
||||
"title_eng":"Water Ingress",
|
||||
"display":1,
|
||||
"skip":1
|
||||
"skip":0
|
||||
},
|
||||
{
|
||||
"comment":"烟雾传感器",
|
||||
|
@ -256,7 +256,7 @@
|
|||
"language":"en",
|
||||
"device_name_chn":"交流配电屏",
|
||||
"device_name_eng":"AC Power",
|
||||
"device_type":7,
|
||||
"device_type":8,
|
||||
"data": [
|
||||
{
|
||||
"comment":"设备通讯状态",
|
||||
|
@ -316,7 +316,7 @@
|
|||
"title_chn":"输入频率",
|
||||
"title_eng":"Freq.",
|
||||
"display":2,
|
||||
"skip":1
|
||||
"skip":0
|
||||
},
|
||||
{
|
||||
"comment":"交流总电量",
|
||||
|
@ -354,7 +354,7 @@
|
|||
"precision":1,
|
||||
"unit":"A",
|
||||
"title_chn":"输出电流C",
|
||||
"title_eng":"ICAout",
|
||||
"title_eng":"ICout",
|
||||
"display":2,
|
||||
"skip":0
|
||||
},
|
||||
|
@ -374,7 +374,7 @@
|
|||
"precision":1,
|
||||
"unit":"",
|
||||
"title_chn":"系统供电方式",
|
||||
"title_eng":"Power Supply Mode",
|
||||
"title_eng":"Pwr Supply Mode",
|
||||
"display":2,
|
||||
"skip":0
|
||||
}
|
||||
|
@ -2854,6 +2854,77 @@
|
|||
"skip":0
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"start_addr":11774,
|
||||
"quantity":6,
|
||||
"bytes_per_register":2,
|
||||
"language":"en",
|
||||
"device_name_chn":"风机",
|
||||
"device_name_eng":"Fan",
|
||||
"device_type":4,
|
||||
"data": [
|
||||
{
|
||||
"comment":"设备通讯状态",
|
||||
"order":0,
|
||||
"precision":1,
|
||||
"unit":"",
|
||||
"title_chn":"设备通讯状态",
|
||||
"title_eng":"Online",
|
||||
"display":1,
|
||||
"skip":0
|
||||
},
|
||||
{
|
||||
"comment":"温度值",
|
||||
"order":1,
|
||||
"precision":1,
|
||||
"unit":"℃",
|
||||
"title_chn":"温度值",
|
||||
"title_eng":"Temperature",
|
||||
"display":1,
|
||||
"skip":0
|
||||
},
|
||||
{
|
||||
"comment":"风扇1状态",
|
||||
"order":2,
|
||||
"precision":1,
|
||||
"unit":"",
|
||||
"title_chn":"风扇#1 状态",
|
||||
"title_eng":"Fan#1 Status",
|
||||
"display":2,
|
||||
"skip":0
|
||||
},
|
||||
{
|
||||
"comment":"风扇2状态",
|
||||
"order":3,
|
||||
"precision":1,
|
||||
"unit":"",
|
||||
"title_chn":"风扇#2 状态",
|
||||
"title_eng":"Fan#2 Status",
|
||||
"display":2,
|
||||
"skip":0
|
||||
},
|
||||
{
|
||||
"comment":"风扇3状态",
|
||||
"order":4,
|
||||
"precision":1,
|
||||
"unit":"",
|
||||
"title_chn":"风扇#3 状态",
|
||||
"title_eng":"Fan#3 Status",
|
||||
"display":2,
|
||||
"skip":0
|
||||
},
|
||||
{
|
||||
"comment":"风扇4状态",
|
||||
"order":5,
|
||||
"precision":1,
|
||||
"unit":"",
|
||||
"title_chn":"风扇#4 状态",
|
||||
"title_eng":"Fan#4 Status",
|
||||
"display":2,
|
||||
"skip":0
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -216,7 +216,11 @@ bool MainWindow::InitializeUI()
|
|||
//设置窗体透明
|
||||
this->setAttribute(Qt::WA_TranslucentBackground, true);
|
||||
//设置无边框
|
||||
#ifndef _DEBUG_
|
||||
this->setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
|
||||
#else
|
||||
this->setWindowFlags(Qt::Window | Qt::FramelessWindowHint);
|
||||
#endif
|
||||
//实例阴影shadow
|
||||
QGraphicsDropShadowEffect *shadow = new QGraphicsDropShadowEffect(this);
|
||||
//设置阴影距离
|
||||
|
@ -257,27 +261,11 @@ bool MainWindow::InitializeUI()
|
|||
m_pPowerPanel->Build();
|
||||
mainLayout->addWidget(m_pPowerPanel, 0, 1);
|
||||
|
||||
m_Panels.insert(std::make_pair(CustomDisplayPanel::PANEL_POWER,m_pPowerPanel));
|
||||
|
||||
#if 0
|
||||
//空调
|
||||
m_pACPanel = new CustomDisplayPanel(this);
|
||||
m_pACPanel->setImage(":/icons/main_ac.png");
|
||||
QStringList l4{QStringList{tr("Online"),tr("Machine"),tr("IFM"),tr("Compressor"),tr("OFM"),tr("Discharge Temp."),tr("Room Temp.")}};
|
||||
m_pACPanel->setLableCount(l4.count());
|
||||
m_pACPanel->setTableRowsCount(10);
|
||||
m_pACPanel->setLables(l4);
|
||||
m_pACPanel->setRowItems(QStringList{tr("露点"),tr("DO"),tr("DI1"),tr("DI2"),tr("高温"),tr("低温"),tr("高湿")});
|
||||
m_pACPanel->setMainLabel(tr("HVACR"));
|
||||
m_pACPanel->Build();
|
||||
mainLayout->addWidget(m_pACPanel, 0, 3);
|
||||
|
||||
m_Panels.insert(std::make_pair(CustomDisplayPanel::PANEL_AC,m_pACPanel));
|
||||
#endif
|
||||
m_Panels.insert(std::make_pair(CustomDisplayPanel::PANEL_DCPOWER,m_pPowerPanel));
|
||||
|
||||
//整流模块
|
||||
m_pInverterPanel = new CustomDisplayPanel(this);
|
||||
m_pInverterPanel->setImage(":/icons/main_invertor.png");
|
||||
m_pInverterPanel->setImage(":/icons/main_peidian.png");
|
||||
QStringList l5{QStringList{tr("Online"),tr("Vin AB/A"),tr("Vin BC/B"),tr("Vin CA/C")}};
|
||||
m_pInverterPanel->setLableCount(l5.count());
|
||||
m_pInverterPanel->setTableRowsCount(10);
|
||||
|
@ -287,7 +275,23 @@ bool MainWindow::InitializeUI()
|
|||
m_pInverterPanel->Build();
|
||||
mainLayout->addWidget(m_pInverterPanel, 0, 2);
|
||||
|
||||
m_Panels.insert(std::make_pair(CustomDisplayPanel::PANEL_INVERTER,m_pInverterPanel));
|
||||
m_Panels.insert(std::make_pair(CustomDisplayPanel::PANEL_ACPOWER,m_pInverterPanel));
|
||||
|
||||
#if 1
|
||||
//空调
|
||||
m_pACPanel = new CustomDisplayPanel(this);
|
||||
m_pACPanel->setImage(":/icons/main_ac.png");
|
||||
QStringList l4{QStringList{tr("Online"),tr("T (℃)")}};
|
||||
m_pACPanel->setLableCount(l4.count());
|
||||
m_pACPanel->setTableRowsCount(10);
|
||||
m_pACPanel->setLables(l4);
|
||||
m_pACPanel->setRowItems(QStringList{tr("露点"),tr("DO"),tr("DI1"),tr("DI2"),tr("高温"),tr("低温"),tr("高湿")});
|
||||
m_pACPanel->setMainLabel(tr("Fan"));
|
||||
m_pACPanel->Build();
|
||||
mainLayout->addWidget(m_pACPanel, 0, 3);
|
||||
|
||||
m_Panels.insert(std::make_pair(CustomDisplayPanel::PANEL_ACFAN,m_pACPanel));
|
||||
#endif
|
||||
|
||||
//电池
|
||||
m_pBatteryPanel = new CustomDisplayPanel(this);
|
||||
|
@ -302,21 +306,6 @@ bool MainWindow::InitializeUI()
|
|||
mainLayout->addWidget(m_pBatteryPanel, 1, 0);
|
||||
|
||||
m_Panels.insert(std::make_pair(CustomDisplayPanel::PANEL_BATTERY,m_pBatteryPanel));
|
||||
#if 0
|
||||
//PV太阳能
|
||||
m_pPVPanel = new CustomDisplayPanel(this);
|
||||
m_pPVPanel->setImage(":/icons/main_pv.png");
|
||||
QStringList l6{QStringList{tr("Online"),tr("Access Control"),tr("Water ingress"),tr("Smoke")}};
|
||||
m_pPVPanel->setLableCount(l6.count());
|
||||
m_pPVPanel->setTableRowsCount(10);
|
||||
m_pPVPanel->setLables(l6);
|
||||
m_pPVPanel->setRowItems(QStringList{tr("露点"),tr("DO"),tr("DI1"),tr("DI2"),tr("高温"),tr("低温"),tr("高湿")});
|
||||
m_pPVPanel->setMainLabel(tr("PV Module"));
|
||||
m_pPVPanel->Build();
|
||||
mainLayout->addWidget(m_pPVPanel, 1, 1);
|
||||
|
||||
m_Panels.insert(std::make_pair(CustomDisplayPanel::PANEL_PV,m_pPVPanel));
|
||||
#endif
|
||||
|
||||
//门禁
|
||||
m_pHomePanel = new CustomDisplayPanel(this);
|
||||
|
@ -332,6 +321,22 @@ bool MainWindow::InitializeUI()
|
|||
|
||||
m_Panels.insert(std::make_pair(CustomDisplayPanel::PANEL_HOME,m_pHomePanel));
|
||||
|
||||
#if 1
|
||||
//蒸馏模块
|
||||
m_pPVPanel = new CustomDisplayPanel(this);
|
||||
m_pPVPanel->setImage(":/icons/main_invertor.png");
|
||||
QStringList l6{QStringList{tr("Online"),tr("Vout"),tr("Module Number")}};
|
||||
m_pPVPanel->setLableCount(l6.count());
|
||||
m_pPVPanel->setTableRowsCount(10);
|
||||
m_pPVPanel->setLables(l6);
|
||||
m_pPVPanel->setRowItems(QStringList{tr("露点"),tr("DO"),tr("DI1"),tr("DI2"),tr("高温"),tr("低温"),tr("高湿")});
|
||||
m_pPVPanel->setMainLabel(tr("Invertor"));
|
||||
m_pPVPanel->Build();
|
||||
mainLayout->addWidget(m_pPVPanel, 1, 2);
|
||||
|
||||
m_Panels.insert(std::make_pair(CustomDisplayPanel::PANEL_INVERTER,m_pPVPanel));
|
||||
#endif
|
||||
|
||||
//告警
|
||||
m_pAlarmPanel = new CustomWarningPanel(this);
|
||||
m_pAlarmPanel->setImage(":/icons/main_alarm.png");
|
||||
|
@ -343,7 +348,7 @@ bool MainWindow::InitializeUI()
|
|||
m_pAlarmPanel->setRowItems(QStringList{tr("")});
|
||||
m_pAlarmPanel->setMainLabel(tr("Warning"));
|
||||
m_pAlarmPanel->Build();
|
||||
mainLayout->addWidget(m_pAlarmPanel, 1, 2);
|
||||
mainLayout->addWidget(m_pAlarmPanel, 1, 3);
|
||||
|
||||
m_Panels.insert(std::make_pair(CustomDisplayPanel::PANEL_ALARM,m_pAlarmPanel));
|
||||
|
||||
|
@ -559,6 +564,8 @@ bool MainWindow::readRegister()
|
|||
|
||||
DecodeSync(registers, *iterAddress, pDevice);
|
||||
|
||||
qDebug() << registers;
|
||||
|
||||
OpenJson json;
|
||||
if(CreateJson2(pDevice,json))
|
||||
{
|
||||
|
@ -566,7 +573,7 @@ bool MainWindow::readRegister()
|
|||
}
|
||||
else
|
||||
{
|
||||
ui->statusbar->showMessage(tr("Failed to decode temperaure data")); //解析温度数据失败!"));
|
||||
ui->statusbar->showMessage(tr("Failed to decode temperature data")); //解析温度数据失败!"));
|
||||
}
|
||||
|
||||
delete pDevice;
|
||||
|
@ -673,6 +680,9 @@ bool MainWindow::CreateJson2(DeviceData* pData,OpenJson& json)
|
|||
auto& nodeTable = json["table"];
|
||||
for(; iter!=pDevice->m_PanelDisplayDataItems.end(); iter++)
|
||||
{
|
||||
qDebug() << iter->title.c_str();
|
||||
qDebug() << iter->value;
|
||||
|
||||
if(iter->display_location == 1) //显示在面板
|
||||
{
|
||||
nodeLabel[idx0]["value"] = iter->value * 1.0f / iter->precision;
|
||||
|
@ -685,12 +695,14 @@ bool MainWindow::CreateJson2(DeviceData* pData,OpenJson& json)
|
|||
{
|
||||
nodeTable[idx1]["value"] = QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss").toStdString();
|
||||
nodeTable[idx1]["signal"] = "Time";
|
||||
idx1++;
|
||||
}
|
||||
else
|
||||
|
||||
{
|
||||
nodeTable[idx1]["value"] = iter->value * 1.0f / iter->precision;
|
||||
nodeTable[idx1]["signal"] = iter->title;
|
||||
}
|
||||
|
||||
idx1++;
|
||||
}
|
||||
|
||||
|
|
|
@ -130,17 +130,20 @@ typedef struct __slaveAddress
|
|||
std::string device_name_chn; // " : "温湿度", 该寄存器数组代表的设备名称
|
||||
std::string device_name_eng; // " : "温湿度", 该寄存器数组代表的设备名称,英文
|
||||
|
||||
//参考slave_define.h
|
||||
//标识本地址的数据是哪一个类型的设备
|
||||
/*
|
||||
PANEL_TEMPERATURE = 1,
|
||||
PANEL_BATTERY = 2,
|
||||
PANEL_POWER = 3,
|
||||
PANEL_AC = 4,
|
||||
PANEL_PV = 5,
|
||||
PANEL_ALARM = 6,
|
||||
PANEL_INVERTER = 7,
|
||||
PANEL_OTHER = 88,
|
||||
PANEL_HOME = 99,
|
||||
PANEL_TEMPERATURE = 1, //温度传感器
|
||||
PANEL_BATTERY = 2, //电池Pack
|
||||
PANEL_DCPOWER = 3, //直流电源
|
||||
PANEL_ACFAN = 4, //空调风扇
|
||||
PANEL_PV = 5, //太阳能
|
||||
PANEL_ALARM = 6, //告警
|
||||
PANEL_INVERTER = 7, //逆变器整流器
|
||||
PANEL_ACPOWER = 8, //交流电源
|
||||
PANEL_OTHER = 88, //其它
|
||||
PANEL_HOME = 99, //传感器,水浸门禁
|
||||
} PanelType;
|
||||
* */
|
||||
int device_type;
|
||||
|
||||
|
|
Loading…
Reference in New Issue