main
			
			
		
		
							parent
							
								
									81c1db0a90
								
							
						
					
					
						commit
						c0ec038847
					
				| 
						 | 
				
			
			@ -1,74 +0,0 @@
 | 
			
		|||
# This file is used to ignore files which are generated
 | 
			
		||||
# ----------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
*~
 | 
			
		||||
*.autosave
 | 
			
		||||
*.a
 | 
			
		||||
*.core
 | 
			
		||||
*.moc
 | 
			
		||||
*.o
 | 
			
		||||
*.obj
 | 
			
		||||
*.orig
 | 
			
		||||
*.rej
 | 
			
		||||
*.so
 | 
			
		||||
*.so.*
 | 
			
		||||
*_pch.h.cpp
 | 
			
		||||
*_resource.rc
 | 
			
		||||
*.qm
 | 
			
		||||
.#*
 | 
			
		||||
*.*#
 | 
			
		||||
core
 | 
			
		||||
!core/
 | 
			
		||||
tags
 | 
			
		||||
.DS_Store
 | 
			
		||||
.directory
 | 
			
		||||
*.debug
 | 
			
		||||
Makefile*
 | 
			
		||||
*.prl
 | 
			
		||||
*.app
 | 
			
		||||
moc_*.cpp
 | 
			
		||||
ui_*.h
 | 
			
		||||
qrc_*.cpp
 | 
			
		||||
Thumbs.db
 | 
			
		||||
*.res
 | 
			
		||||
*.rc
 | 
			
		||||
/.qmake.cache
 | 
			
		||||
/.qmake.stash
 | 
			
		||||
 | 
			
		||||
# qtcreator generated files
 | 
			
		||||
*.pro.user*
 | 
			
		||||
CMakeLists.txt.user*
 | 
			
		||||
 | 
			
		||||
# xemacs temporary files
 | 
			
		||||
*.flc
 | 
			
		||||
 | 
			
		||||
# Vim temporary files
 | 
			
		||||
.*.swp
 | 
			
		||||
 | 
			
		||||
# Visual Studio generated files
 | 
			
		||||
*.ib_pdb_index
 | 
			
		||||
*.idb
 | 
			
		||||
*.ilk
 | 
			
		||||
*.pdb
 | 
			
		||||
*.sln
 | 
			
		||||
*.suo
 | 
			
		||||
*.vcproj
 | 
			
		||||
*vcproj.*.*.user
 | 
			
		||||
*.ncb
 | 
			
		||||
*.sdf
 | 
			
		||||
*.opensdf
 | 
			
		||||
*.vcxproj
 | 
			
		||||
*vcxproj.*
 | 
			
		||||
 | 
			
		||||
# MinGW generated files
 | 
			
		||||
*.Debug
 | 
			
		||||
*.Release
 | 
			
		||||
 | 
			
		||||
# Python byte code
 | 
			
		||||
*.pyc
 | 
			
		||||
 | 
			
		||||
# Binaries
 | 
			
		||||
# --------
 | 
			
		||||
*.dll
 | 
			
		||||
*.exe
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1,34 +0,0 @@
 | 
			
		|||
QT       += core gui serialport serialbus
 | 
			
		||||
 | 
			
		||||
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
 | 
			
		||||
 | 
			
		||||
CONFIG += c++17
 | 
			
		||||
 | 
			
		||||
# You can make your code fail to compile if it uses deprecated APIs.
 | 
			
		||||
# In order to do so, uncomment the following line.
 | 
			
		||||
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0
 | 
			
		||||
 | 
			
		||||
SOURCES += \
 | 
			
		||||
    main.cpp \
 | 
			
		||||
    mainwindow.cpp \
 | 
			
		||||
    modbuscontroller.cpp
 | 
			
		||||
 | 
			
		||||
HEADERS += \
 | 
			
		||||
    mainwindow.h \
 | 
			
		||||
    modbuscontroller.h
 | 
			
		||||
 | 
			
		||||
FORMS += \
 | 
			
		||||
    mainwindow.ui
 | 
			
		||||
 | 
			
		||||
#TRANSLATIONS += \
 | 
			
		||||
#    EmsShow_en_US.ts
 | 
			
		||||
#CONFIG += lrelease
 | 
			
		||||
#CONFIG += embed_translations
 | 
			
		||||
 | 
			
		||||
# Default rules for deployment.
 | 
			
		||||
qnx: target.path = /tmp/$${TARGET}/bin
 | 
			
		||||
else: unix:!android: target.path = /opt/$${TARGET}/bin
 | 
			
		||||
!isEmpty(target.path): INSTALLS += target
 | 
			
		||||
 | 
			
		||||
DISTFILES += \
 | 
			
		||||
    emsshow.ini
 | 
			
		||||
| 
						 | 
				
			
			@ -1,3 +0,0 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<!DOCTYPE TS>
 | 
			
		||||
<TS version="2.1" language="en_US"></TS>
 | 
			
		||||
| 
						 | 
				
			
			@ -1,49 +0,0 @@
 | 
			
		|||
;通用设置
 | 
			
		||||
[general]
 | 
			
		||||
ver="1.0.0"
 | 
			
		||||
 | 
			
		||||
[modbus]
 | 
			
		||||
;1=RTU 0=TCP
 | 
			
		||||
type=1
 | 
			
		||||
 | 
			
		||||
;if type=1, ignore ip and port setting
 | 
			
		||||
ip="127.0.0.1"
 | 
			
		||||
port=502
 | 
			
		||||
 | 
			
		||||
com="COM20"
 | 
			
		||||
baund=9600
 | 
			
		||||
data=8
 | 
			
		||||
 | 
			
		||||
;0=None 1=Odd 2=Even
 | 
			
		||||
parity=0
 | 
			
		||||
 | 
			
		||||
stop=1
 | 
			
		||||
 | 
			
		||||
[slaves]
 | 
			
		||||
;如果从机数量多于1,则从机地址slave_id以:分隔(英文冒号)
 | 
			
		||||
slave_id="1"
 | 
			
		||||
 | 
			
		||||
;每一个从机的配置
 | 
			
		||||
;由两个节组成:slave_%d 和 slave_%d_function_%d
 | 
			
		||||
 | 
			
		||||
[slave_0]
 | 
			
		||||
;支持的功能码数量
 | 
			
		||||
function_code_counts=1
 | 
			
		||||
 | 
			
		||||
[slave_0_function_0]
 | 
			
		||||
;功能码
 | 
			
		||||
function_code=3
 | 
			
		||||
 | 
			
		||||
;起始地址,10进制
 | 
			
		||||
start_addr=40001
 | 
			
		||||
 | 
			
		||||
;读取数量
 | 
			
		||||
quantity=10
 | 
			
		||||
 | 
			
		||||
;扫描间隔,单位ms
 | 
			
		||||
interval=1000
 | 
			
		||||
 | 
			
		||||
;serial_number与read_quantity的元素数量要一样
 | 
			
		||||
equipment_code=81
 | 
			
		||||
serial_number="0:1:2:3:4:5:6:7:8:9:10:11:12:13:14"
 | 
			
		||||
read_quantity="1:1:1:1:1:1:1:1:1:1:1:1:1:1:1"
 | 
			
		||||
| 
						 | 
				
			
			@ -1,26 +0,0 @@
 | 
			
		|||
#include "mainwindow.h"
 | 
			
		||||
 | 
			
		||||
#include <QApplication>
 | 
			
		||||
#include <QLocale>
 | 
			
		||||
#include <QTranslator>
 | 
			
		||||
 | 
			
		||||
int main(int argc, char *argv[])
 | 
			
		||||
{
 | 
			
		||||
    QApplication a(argc, argv);
 | 
			
		||||
 | 
			
		||||
    QTranslator translator;
 | 
			
		||||
    const QStringList uiLanguages = QLocale::system().uiLanguages();
 | 
			
		||||
    for (const QString &locale : uiLanguages)
 | 
			
		||||
    {
 | 
			
		||||
        const QString baseName = "EmsShow_" + QLocale(locale).name();
 | 
			
		||||
        if (translator.load(":/i18n/" + baseName))
 | 
			
		||||
        {
 | 
			
		||||
            a.installTranslator(&translator);
 | 
			
		||||
            break;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    MainWindow w;
 | 
			
		||||
    w.show();
 | 
			
		||||
    return a.exec();
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,35 +0,0 @@
 | 
			
		|||
#include "mainwindow.h"
 | 
			
		||||
#include "ui_mainwindow.h"
 | 
			
		||||
#include <QMessageBox>
 | 
			
		||||
 | 
			
		||||
MainWindow::MainWindow(QWidget *parent)
 | 
			
		||||
    : QMainWindow(parent)
 | 
			
		||||
    , ui(new Ui::MainWindow)
 | 
			
		||||
{
 | 
			
		||||
    ui->setupUi(this);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
MainWindow::~MainWindow()
 | 
			
		||||
{
 | 
			
		||||
    delete ui;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void MainWindow::on_btn_Initialize_clicked()
 | 
			
		||||
{
 | 
			
		||||
    QString appDir = QCoreApplication::applicationDirPath();
 | 
			
		||||
    QString iniFilePath = appDir + QString::fromStdString("/emsshow.ini");
 | 
			
		||||
 | 
			
		||||
    m_controller.getConfiguration(iniFilePath);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void MainWindow::on_btn_Read_clicked()
 | 
			
		||||
{
 | 
			
		||||
    if (!m_controller.Open())
 | 
			
		||||
    {
 | 
			
		||||
        QMessageBox::critical(this, tr("Critical Message"), tr("串口打开失败"));
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
    m_controller.Read();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1,34 +0,0 @@
 | 
			
		|||
#ifndef MAINWINDOW_H
 | 
			
		||||
#define MAINWINDOW_H
 | 
			
		||||
#pragma execution_character_set("utf-8")
 | 
			
		||||
 | 
			
		||||
#include <QMainWindow>
 | 
			
		||||
#include "modbuscontroller.h"
 | 
			
		||||
 | 
			
		||||
QT_BEGIN_NAMESPACE
 | 
			
		||||
namespace Ui
 | 
			
		||||
{
 | 
			
		||||
class MainWindow;
 | 
			
		||||
}
 | 
			
		||||
QT_END_NAMESPACE
 | 
			
		||||
 | 
			
		||||
class MainWindow : public QMainWindow
 | 
			
		||||
{
 | 
			
		||||
    Q_OBJECT
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
    MainWindow(QWidget *parent = nullptr);
 | 
			
		||||
    ~MainWindow();
 | 
			
		||||
 | 
			
		||||
private slots:
 | 
			
		||||
    void on_btn_Initialize_clicked();
 | 
			
		||||
 | 
			
		||||
    void on_btn_Read_clicked();
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    Ui::MainWindow *ui;
 | 
			
		||||
 | 
			
		||||
protected:
 | 
			
		||||
    ModbusController m_controller;
 | 
			
		||||
};
 | 
			
		||||
#endif // MAINWINDOW_H
 | 
			
		||||
| 
						 | 
				
			
			@ -1,58 +0,0 @@
 | 
			
		|||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<ui version="4.0">
 | 
			
		||||
 <class>MainWindow</class>
 | 
			
		||||
 <widget class="QMainWindow" name="MainWindow">
 | 
			
		||||
  <property name="geometry">
 | 
			
		||||
   <rect>
 | 
			
		||||
    <x>0</x>
 | 
			
		||||
    <y>0</y>
 | 
			
		||||
    <width>800</width>
 | 
			
		||||
    <height>600</height>
 | 
			
		||||
   </rect>
 | 
			
		||||
  </property>
 | 
			
		||||
  <property name="windowTitle">
 | 
			
		||||
   <string>MainWindow</string>
 | 
			
		||||
  </property>
 | 
			
		||||
  <widget class="QWidget" name="centralwidget">
 | 
			
		||||
   <widget class="QPushButton" name="btn_Initialize">
 | 
			
		||||
    <property name="geometry">
 | 
			
		||||
     <rect>
 | 
			
		||||
      <x>30</x>
 | 
			
		||||
      <y>30</y>
 | 
			
		||||
      <width>93</width>
 | 
			
		||||
      <height>29</height>
 | 
			
		||||
     </rect>
 | 
			
		||||
    </property>
 | 
			
		||||
    <property name="text">
 | 
			
		||||
     <string>Initialize</string>
 | 
			
		||||
    </property>
 | 
			
		||||
   </widget>
 | 
			
		||||
   <widget class="QPushButton" name="btn_Read">
 | 
			
		||||
    <property name="geometry">
 | 
			
		||||
     <rect>
 | 
			
		||||
      <x>130</x>
 | 
			
		||||
      <y>30</y>
 | 
			
		||||
      <width>121</width>
 | 
			
		||||
      <height>29</height>
 | 
			
		||||
     </rect>
 | 
			
		||||
    </property>
 | 
			
		||||
    <property name="text">
 | 
			
		||||
     <string>Read Modbus</string>
 | 
			
		||||
    </property>
 | 
			
		||||
   </widget>
 | 
			
		||||
  </widget>
 | 
			
		||||
  <widget class="QMenuBar" name="menubar">
 | 
			
		||||
   <property name="geometry">
 | 
			
		||||
    <rect>
 | 
			
		||||
     <x>0</x>
 | 
			
		||||
     <y>0</y>
 | 
			
		||||
     <width>800</width>
 | 
			
		||||
     <height>26</height>
 | 
			
		||||
    </rect>
 | 
			
		||||
   </property>
 | 
			
		||||
  </widget>
 | 
			
		||||
  <widget class="QStatusBar" name="statusbar"/>
 | 
			
		||||
 </widget>
 | 
			
		||||
 <resources/>
 | 
			
		||||
 <connections/>
 | 
			
		||||
</ui>
 | 
			
		||||
| 
						 | 
				
			
			@ -1,191 +0,0 @@
 | 
			
		|||
#include "modbuscontroller.h"
 | 
			
		||||
 | 
			
		||||
#define _DEBUG_VSPD_
 | 
			
		||||
 | 
			
		||||
ModbusController::ModbusController():m_pModbusMaster(nullptr), m_pSettings(nullptr)
 | 
			
		||||
{
 | 
			
		||||
	m_version= "1.0.0";
 | 
			
		||||
    m_modbus_type = 1;
 | 
			
		||||
	m_modbus_ip = "127.0.0.1";
 | 
			
		||||
	m_modbus_port = 502;
 | 
			
		||||
	m_modbus_com = "COM1";
 | 
			
		||||
	m_modbus_baund = 9600;
 | 
			
		||||
	m_modbus_data = 1;
 | 
			
		||||
	m_modbus_parity = 0;
 | 
			
		||||
	m_modbus_stop = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
ModbusController::~ModbusController()
 | 
			
		||||
{
 | 
			
		||||
    if (m_pSettings!=nullptr)
 | 
			
		||||
    {
 | 
			
		||||
        delete m_pSettings;
 | 
			
		||||
        m_pSettings = nullptr;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    for (SlaveData* ptr : m_slaves)
 | 
			
		||||
    {
 | 
			
		||||
        delete ptr;   
 | 
			
		||||
        ptr = nullptr; 
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    m_slaves.clear();       
 | 
			
		||||
    m_slaves.squeeze();
 | 
			
		||||
 | 
			
		||||
    if (m_pModbusMaster != nullptr)
 | 
			
		||||
    {
 | 
			
		||||
        m_pModbusMaster->disconnectDevice();
 | 
			
		||||
        delete m_pModbusMaster;
 | 
			
		||||
        m_pModbusMaster = nullptr;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void ModbusController::getConfiguration(QString iniFilePath)
 | 
			
		||||
{
 | 
			
		||||
    m_pSettings = new QSettings(iniFilePath, QSettings::IniFormat);
 | 
			
		||||
 | 
			
		||||
    m_version = m_pSettings->value("general/ver").toString();
 | 
			
		||||
    m_modbus_type = m_pSettings->value("modbus/type").toInt();
 | 
			
		||||
 | 
			
		||||
    m_modbus_ip = m_pSettings->value("modbus/ip").toString();
 | 
			
		||||
    m_modbus_port = m_pSettings->value("modbus/port").toInt();
 | 
			
		||||
 | 
			
		||||
    m_modbus_com = m_pSettings->value("modbus/com").toString();
 | 
			
		||||
    m_modbus_baund = m_pSettings->value("modbus/baund").toInt();
 | 
			
		||||
    m_modbus_data = m_pSettings->value("modbus/data").toInt();
 | 
			
		||||
    m_modbus_parity = m_pSettings->value("modbus/parity").toInt();
 | 
			
		||||
    m_modbus_stop = m_pSettings->value("modbus/stop").toInt();
 | 
			
		||||
 | 
			
		||||
    QStringList slaves_list = m_pSettings->value("slaves/slave_id").toString().split(":", Qt::SkipEmptyParts);
 | 
			
		||||
 | 
			
		||||
    int slave_id = 0;
 | 
			
		||||
    foreach (const QString &str, slaves_list)
 | 
			
		||||
    {
 | 
			
		||||
        QString app = QString("slave_%1/function_code_counts").arg(slave_id);
 | 
			
		||||
 | 
			
		||||
        int functions_count = m_pSettings->value(app).toInt();
 | 
			
		||||
        for(int i=0; i<functions_count; i++)
 | 
			
		||||
        {
 | 
			
		||||
            QString app2 = QString("slave_%1_function_%2").arg(slave_id).arg(i);
 | 
			
		||||
 | 
			
		||||
#ifndef _DEBUG_VSPD_
 | 
			
		||||
            unsigned short equipmentCode = m_pSettings->value(app2 + "/equipment_code").toInt();
 | 
			
		||||
			equipmentCode = equipmentCode << 9;
 | 
			
		||||
			equipmentCode &= 0xFE00;    // 二进制掩码: 1111 1110 0000 0000(保留高7位)  
 | 
			
		||||
 | 
			
		||||
            QStringList sn_list = m_pSettings->value(app2 + "/serial_number").toString().split(":", Qt::SkipEmptyParts);
 | 
			
		||||
            QStringList quantity_list = m_pSettings->value(app2 + "/read_quantity").toString().split(":", Qt::SkipEmptyParts);
 | 
			
		||||
 | 
			
		||||
            assert(sn_list.size() == quantity_list.size());
 | 
			
		||||
 | 
			
		||||
            int j = 0;
 | 
			
		||||
            foreach(const QString sn, sn_list)
 | 
			
		||||
            {
 | 
			
		||||
				SlaveData* pSlaveData = new SlaveData();
 | 
			
		||||
				pSlaveData->id = str.toInt();
 | 
			
		||||
				pSlaveData->function_code = m_pSettings->value(app2 + "/function_code").toInt();
 | 
			
		||||
				pSlaveData->interval = m_pSettings->value(app2 + "/interval").toInt();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                unsigned short serialNumber = sn.toInt();
 | 
			
		||||
 | 
			
		||||
                serialNumber &= 0x01FF;     // 二进制掩码: 0000 0001 1111 1111(保留低9位)
 | 
			
		||||
 | 
			
		||||
                // 组合操作:高7位左移9位,低9位直接填充
 | 
			
		||||
                unsigned short address = pSlaveData->start_address = (equipmentCode ) | serialNumber;  // 关键位操作
 | 
			
		||||
 | 
			
		||||
                pSlaveData->start_address = address;
 | 
			
		||||
                pSlaveData->quantity = quantity_list.at(j).toInt();
 | 
			
		||||
                m_slaves.push_back(pSlaveData);
 | 
			
		||||
				j++;
 | 
			
		||||
		    }
 | 
			
		||||
#else
 | 
			
		||||
			SlaveData* pSlaveData = new SlaveData();
 | 
			
		||||
			pSlaveData->id = str.toInt();
 | 
			
		||||
			pSlaveData->function_code = m_pSettings->value(app2 + "/function_code").toInt();
 | 
			
		||||
			pSlaveData->interval = m_pSettings->value(app2 + "/interval").toInt();
 | 
			
		||||
			pSlaveData->quantity = m_pSettings->value(app2 + "/quantity").toInt();
 | 
			
		||||
			pSlaveData->start_address = m_pSettings->value(app2 + "/start_addr").toInt();
 | 
			
		||||
            m_slaves.push_back(pSlaveData);
 | 
			
		||||
#endif 
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        slave_id++;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool ModbusController::Open()
 | 
			
		||||
{
 | 
			
		||||
    if (m_modbus_type == 1)
 | 
			
		||||
    {
 | 
			
		||||
        return modbus_rtu();
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
        return modbus_tcp();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool ModbusController::modbus_rtu()
 | 
			
		||||
{
 | 
			
		||||
    m_pModbusMaster = new QModbusRtuSerialClient();
 | 
			
		||||
    m_pModbusMaster->setConnectionParameter(QModbusDevice::SerialPortNameParameter, m_modbus_com);                 //串口号
 | 
			
		||||
    m_pModbusMaster->setConnectionParameter(QModbusDevice::SerialBaudRateParameter, m_modbus_baund);             //波特率
 | 
			
		||||
    m_pModbusMaster->setConnectionParameter(QModbusDevice::SerialParityParameter, m_modbus_parity);  //无校验
 | 
			
		||||
    m_pModbusMaster->setConnectionParameter(QModbusDevice::SerialDataBitsParameter, m_modbus_data);   //数据位
 | 
			
		||||
    m_pModbusMaster->setConnectionParameter(QModbusDevice::SerialStopBitsParameter, m_modbus_stop); //停止位
 | 
			
		||||
    m_pModbusMaster->setTimeout(1000);  // 设置超时2秒
 | 
			
		||||
 | 
			
		||||
    return m_pModbusMaster->connectDevice();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool ModbusController::modbus_tcp()
 | 
			
		||||
{
 | 
			
		||||
	return false;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool ModbusController::Read()
 | 
			
		||||
{
 | 
			
		||||
    //对每一个从机进行操作
 | 
			
		||||
    for( SlaveData* sd : m_slaves)
 | 
			
		||||
    {
 | 
			
		||||
        //定义读写单元
 | 
			
		||||
        QModbusDataUnit readUnit(QModbusDataUnit::HoldingRegisters, sd->start_address, sd->quantity);
 | 
			
		||||
		//发送请求
 | 
			
		||||
		auto* reply = m_pModbusMaster->sendReadRequest(readUnit, sd->id);
 | 
			
		||||
		if (reply)
 | 
			
		||||
		{
 | 
			
		||||
			connect(reply, &QModbusReply::finished, this, &ModbusController::readRegisters);
 | 
			
		||||
		}
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    return true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void ModbusController::readRegisters()
 | 
			
		||||
{
 | 
			
		||||
	//接收信号
 | 
			
		||||
	auto reply = qobject_cast<QModbusReply*>(sender());
 | 
			
		||||
	if (!reply)
 | 
			
		||||
	{
 | 
			
		||||
        qDebug() << "无效回复";
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
	//处理响应
 | 
			
		||||
	const QModbusDataUnit unit = reply->result();
 | 
			
		||||
	// 将数据值转换为字符串
 | 
			
		||||
	QString dataStr;
 | 
			
		||||
	for (int i = 0; i < unit.valueCount(); ++i)
 | 
			
		||||
	{
 | 
			
		||||
		dataStr += QString::number(unit.value(i)) + " ";
 | 
			
		||||
	}
 | 
			
		||||
	if (dataStr.size() != 0)
 | 
			
		||||
	{
 | 
			
		||||
		qDebug() << "读取成功";
 | 
			
		||||
        qDebug() << dataStr;
 | 
			
		||||
	}
 | 
			
		||||
	else
 | 
			
		||||
	{
 | 
			
		||||
        qDebug() << "无数据";
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,66 +0,0 @@
 | 
			
		|||
#ifndef MODBUSCONTROLLER_H
 | 
			
		||||
#define MODBUSCONTROLLER_H
 | 
			
		||||
 | 
			
		||||
#include <QObject>
 | 
			
		||||
#include <QSerialPort>
 | 
			
		||||
#include <QSerialPortInfo>
 | 
			
		||||
#include <QtSerialBus>
 | 
			
		||||
#include <QModbusDataUnit>
 | 
			
		||||
#include <QModbusClient>
 | 
			
		||||
//#include <QModbusRtuSerialMaster>
 | 
			
		||||
#include <QtSerialBus/qmodbusrtuserialclient.h>
 | 
			
		||||
#include <QModbusReply>
 | 
			
		||||
#include <QStringList>
 | 
			
		||||
#include <QSettings>
 | 
			
		||||
#include <QDebug>
 | 
			
		||||
#include <QTextStream>
 | 
			
		||||
#include <QString>
 | 
			
		||||
#include <QVector>
 | 
			
		||||
 | 
			
		||||
typedef struct _tagSlave
 | 
			
		||||
{
 | 
			
		||||
    int id;
 | 
			
		||||
    int function_code;
 | 
			
		||||
    int start_address;
 | 
			
		||||
    int quantity;
 | 
			
		||||
    int interval;
 | 
			
		||||
} SlaveData;
 | 
			
		||||
 | 
			
		||||
class ModbusController :public QObject
 | 
			
		||||
{
 | 
			
		||||
    Q_OBJECT
 | 
			
		||||
public:
 | 
			
		||||
    ModbusController();
 | 
			
		||||
    ~ModbusController();
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
    void getConfiguration(QString iniFilePath);
 | 
			
		||||
    bool Open();
 | 
			
		||||
    bool Read();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
protected:
 | 
			
		||||
    bool modbus_rtu();
 | 
			
		||||
    bool modbus_tcp();
 | 
			
		||||
protected:
 | 
			
		||||
    QString m_version;
 | 
			
		||||
    int m_modbus_type;
 | 
			
		||||
    QString m_modbus_ip;
 | 
			
		||||
    int m_modbus_port;
 | 
			
		||||
    QString m_modbus_com;
 | 
			
		||||
    int m_modbus_baund;
 | 
			
		||||
    int m_modbus_data;
 | 
			
		||||
    int m_modbus_parity;
 | 
			
		||||
    int m_modbus_stop;
 | 
			
		||||
 | 
			
		||||
    QVector<SlaveData*> m_slaves;
 | 
			
		||||
 | 
			
		||||
protected:
 | 
			
		||||
    QModbusRtuSerialClient* m_pModbusMaster; //创建modbus对象
 | 
			
		||||
    QSettings* m_pSettings;
 | 
			
		||||
 | 
			
		||||
public slots:
 | 
			
		||||
	void readRegisters();  //读寄存器函数
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#endif // MODBUSCONTROLLER_H
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,22 @@
 | 
			
		|||
SerialNumber,SubSerialNumber,DeviceClass,EquipmentCode,SubDeviceName,LogicClass,SearchName,Value,SignalStandardName,SignalType,Unit,Factor,SignalNotes,SignalID,AlarmCategory,AlarmThreshold,AlarmReDiff,AlarmDelay_S,AlarmRecoveryDelay_S,OID,FunctionTypeCode,FuncCodeRead,FuncCodeWrite,DevRegAddr,DevRegAddrEnd,DataType,SourceSerialNumber,StartBit,StopBit,OID_ForwardFlag,MultibyteFlag,DataShiftFlag,ModbusSlaveReg,ModbusSlaveFactor
 | 
			
		||||
0,1,智能通风系统,23,风扇控制器_JPF4826型全能款_兢志,设备采集,DeviceComStatus,1,设备通讯状态,遥测,,1,0:通讯异常;1:通讯正常,423101001,,,,,,.1.3.6.1.4.1.61262.4.23.1.1.1,3ComSt,3,6,,,0U16,,0,15,1,0,0,0x2E00,1
 | 
			
		||||
1,2,智能通风系统,23,风扇控制器_JPF4826型全能款_兢志,设备采集,TempValue,65,温度值,遥测,℃,1,"正偏移 40,实际温度值=解析值-40;",423102001,,,,,,.1.3.6.1.4.1.61262.4.23.1.2.1,0Read,3,6,0x0000,0x0000,1S16,,0,15,1,0,0,0x2E01,1
 | 
			
		||||
2,3,智能通风系统,23,风扇控制器_JPF4826型全能款_兢志,设备采集,Fan1Status,1,风扇1状态,遥测,,1,状态:=1 正常,=1停转,423103001,,,,,,.1.3.6.1.4.1.61262.4.23.1.3.1,0Read,3,6,0x0001,0x0001,0U16,,0,0,1,0,0,0x2E02,1
 | 
			
		||||
3,4,智能通风系统,23,风扇控制器_JPF4826型全能款_兢志,设备采集,Fan2Status,1,风扇2状态,遥测,,1,状态:=1 正常,=1停转,423104001,,,,,,.1.3.6.1.4.1.61262.4.23.1.4.1,0Read,3,6,0x0001,0x0001,0U16,,1,1,1,0,0,0x2E03,1
 | 
			
		||||
4,5,智能通风系统,23,风扇控制器_JPF4826型全能款_兢志,设备采集,Fan3Status,1,风扇3状态,遥测,,1,状态:=1 正常,=1停转,423105001,,,,,,.1.3.6.1.4.1.61262.4.23.1.5.1,0Read,3,6,0x0001,0x0001,0U16,,2,2,1,0,0,0x2E04,1
 | 
			
		||||
5,6,智能通风系统,23,风扇控制器_JPF4826型全能款_兢志,设备采集,Fan4Status,1,风扇4状态,遥测,,1,状态:=1 正常,=1停转,423106001,,,,,,.1.3.6.1.4.1.61262.4.23.1.6.1,0Read,3,6,0x0001,0x0001,0U16,,3,3,1,0,0,0x2E05,1
 | 
			
		||||
6,1,智能通风系统,23,风扇控制器_JPF4826型全能款_兢志,设备状态,DeviceComStatus,0,设备通讯状态,遥信,,1,0:通讯异常;1:通讯正常,423001001,,,,,,.1.3.6.1.4.1.61262.4.23.0.1.1,3ComSt,3,6,,,0U16,,0,15,1,0,0,0x2E06,1
 | 
			
		||||
7,2,智能通风系统,23,风扇控制器_JPF4826型全能款_兢志,设备状态,Fan1AlmStatus,1,风扇1告警状态,遥信,,1,告警:=1 正常,=0告警,423002001,,,,,,.1.3.6.1.4.1.61262.4.23.0.2.1,0Read,3,6,0x0001,0x0001,0U16,,0,0,1,0,0,0x2E07,1
 | 
			
		||||
8,3,智能通风系统,23,风扇控制器_JPF4826型全能款_兢志,设备状态,Fan2AlmStatus,1,风扇2告警状态,遥信,,1,告警:=1 正常,=0告警,423003001,,,,,,.1.3.6.1.4.1.61262.4.23.0.3.1,0Read,3,6,0x0001,0x0001,0U16,,1,1,1,0,0,0x2E08,1
 | 
			
		||||
9,4,智能通风系统,23,风扇控制器_JPF4826型全能款_兢志,设备状态,Fan3AlmStatus,1,风扇3告警状态,遥信,,1,告警:=1 正常,=0告警,423004001,,,,,,.1.3.6.1.4.1.61262.4.23.0.4.1,0Read,3,6,0x0001,0x0001,0U16,,2,2,1,0,0,0x2E09,1
 | 
			
		||||
10,5,智能通风系统,23,风扇控制器_JPF4826型全能款_兢志,设备状态,Fan4AlmStatus,1,风扇4告警状态,遥信,,1,告警:=1 正常,=0告警,423005001,,,,,,.1.3.6.1.4.1.61262.4.23.0.5.1,0Read,3,6,0x0001,0x0001,0U16,,3,3,1,0,0,0x2E0A,1
 | 
			
		||||
11,1,智能通风系统,23,风扇控制器_JPF4826型全能款_兢志,设备参数,ModifyDeviceAdd,1,修改设备地址,遥调,,1,设置地址,不允许设置,423301001,,,,,,.1.3.6.1.4.1.61262.4.23.3.1.1,4DevSelfAdd,3,6,,,0U16,,0,15,1,0,0,0x2E0B,1
 | 
			
		||||
12,2,智能通风系统,23,风扇控制器_JPF4826型全能款_兢志,设备参数,FanStartUp_FullTemp,10538,风机启动及全速温度,遥调,℃,1,高位字节代表启动温度,低位字节代表全速温度 ,取值范围 :0x292A~0x8B8C,423303001,,,,,,.1.3.6.1.4.1.61262.4.23.3.3.1,1Write,3,6,0x0004,0x0004,0U16,,0,15,1,0,0,0x2E0C,1
 | 
			
		||||
13,3,智能通风系统,23,风扇控制器_JPF4826型全能款_兢志,设备参数,WorkMode,1,工作模式,遥调,,1,0x0001=最小转速模式,0x0000=关停模式,423304001,,,,,,.1.3.6.1.4.1.61262.4.23.3.4.1,1Write,3,6,0x0005,0x0005,0U16,,0,15,1,0,0,0x2E0D,1
 | 
			
		||||
14,4,智能通风系统,23,风扇控制器_JPF4826型全能款_兢志,设备参数,FanNum,2,风机数量,遥调,,1,风机数量,取值范围:0x0001~0x0004,423305001,,,,,,.1.3.6.1.4.1.61262.4.23.3.5.1,1Write,3,6,0x0006,0x0006,0U16,,0,15,1,0,0,0x2E0E,1
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 | 
			
		||||
		
		
			
  | 
| 
						 | 
				
			
			@ -0,0 +1,56 @@
 | 
			
		|||
SerialNumber,DeviceClass,DeviceCoding,LogicClass,SearchName,Value,SignalStandardName,ModifyEnable,SignalNotes,SignalType,Unit,Factor,SignalID,OID,OID_ForwardFlag,DataType
 | 
			
		||||
1,FSU设备本身,98,设备信息,DeviceNumber,31012010052,设备编码,1,DeviceID+SiteNumber,遥测,,1,499101001,.1.3.6.1.4.1.41475.4.98.1.1.1,1,4str
 | 
			
		||||
2,FSU设备本身,98,设备信息,DeviceID,10010,设备ID,1,,遥测,,1,499102001,.1.3.6.1.4.1.41475.4.98.1.2.1,1,4str
 | 
			
		||||
3,FSU设备本身,98,设备信息,DeviceName,汇珏IoT边缘网关,设备名称,1,,遥测,,1,499103001,.1.3.6.1.4.1.41475.4.98.1.3.1,1,4str
 | 
			
		||||
4,FSU设备本身,98,设备信息,DeviceModel,HJ-MU108,设备型号,1,,遥测,,1,499104001,.1.3.6.1.4.1.41475.4.98.1.4.1,1,4str
 | 
			
		||||
5,FSU设备本身,98,设备信息,DevicePowerConsumption,100,设备功耗,1,额定功耗,单位W,遥测,W,1,499105001,.1.3.6.1.4.1.41475.4.98.1.5.1,1,4str
 | 
			
		||||
6,FSU设备本身,98,设备信息,DeviceSN,HJWL2309010001,设备序列号,1,厂家名+日期+设备号,遥测,,1,499106001,.1.3.6.1.4.1.41475.4.98.1.6.1,1,4str
 | 
			
		||||
7,FSU设备本身,98,设备信息,DeviceAssertCode,0000000000,设备资产编码,1,暂无,遥测,,1,499107001,.1.3.6.1.4.1.41475.4.98.1.7.1,1,4str
 | 
			
		||||
8,FSU设备本身,98,设备信息,InstallTime,2023-12-13 15:47:22,安装时间,1,,遥测,,1,499108001,.1.3.6.1.4.1.41475.4.98.1.8.1,1,4str
 | 
			
		||||
9,FSU设备本身,98,设备信息,RegionCode,310120,地区编码,1,,遥测,,1,499109001,.1.3.6.1.4.1.41475.4.98.1.9.1,1,4str
 | 
			
		||||
10,FSU设备本身,98,设备信息,SiteNumber,10001,所属站点编码,1,同设备ID,遥测,,1,499110001,.1.3.6.1.4.1.41475.4.98.1.10.1,1,4str
 | 
			
		||||
11,FSU设备本身,98,设备信息,RoomName,cn-room,机房名称,1,所属的机房/机柜编码/名称,遥测,,1,499111001,.1.3.6.1.4.1.41475.4.98.1.11.1,1,4str
 | 
			
		||||
12,FSU设备本身,98,设备信息,DevDescribe,电信试点数据1号机房,设备描述信息,1,,遥测,,1,499112001,.1.3.6.1.4.1.41475.4.98.1.12.1,1,4str
 | 
			
		||||
13,FSU设备本身,98,设备信息,DeviceBrand,汇珏网络,设备品牌,1,,遥测,,1,499113001,.1.3.6.1.4.1.41475.4.98.1.13.1,1,4str
 | 
			
		||||
14,FSU设备本身,98,网络信息,NetworkingMethods,LAN,联网方式,1,4/5G无线、LAN/WiFi,遥测,,1,499114001,.1.3.6.1.4.1.41475.4.98.1.14.1,1,4str
 | 
			
		||||
15,FSU设备本身,98,网络信息,IPAddress,192.168.2.146,IP地址,1,平台分配的IP,平台可以访问到,不是拨号方式获得的动态IP,遥测,,1,499115001,.1.3.6.1.4.1.41475.4.98.1.15.1,1,4str
 | 
			
		||||
16,FSU设备本身,98,网络信息,AccessPort,8080,访问端口,1,如果有特殊协议,设备可能会分配特定端口如80或者8080等,遥测,,1,499116001,.1.3.6.1.4.1.41475.4.98.1.16.1,1,4str
 | 
			
		||||
17,FSU设备本身,98,网络信息,SNMPAccessPort,161,SNMP访问端口,1,缺省161,遥测,,1,499117001,.1.3.6.1.4.1.41475.4.98.1.17.1,1,4str
 | 
			
		||||
18,FSU设备本身,98,网络信息,Operator,中国移动,运营商,1,4/5G无线方式下,SIM卡所属的运营商:移动/联通/电信/广电,遥测,,1,499118001,.1.3.6.1.4.1.41475.4.98.1.18.1,1,4str
 | 
			
		||||
19,FSU设备本身,98,网络信息,SIMCARDNUMBER,,SIM卡号,1,用来管理SIM卡号资源,遥测,,1,499119001,.1.3.6.1.4.1.41475.4.98.1.19.1,1,4str
 | 
			
		||||
20,FSU设备本身,98,网络信息,IMEI,868540050954128,IMEI,1,"国际移动设备识别码:15为数字,用来区分每一部移动通信设备,与通讯模块绑定
 | 
			
		||||
典型IMEI码:868540050954128",遥测,,1,499120001,.1.3.6.1.4.1.41475.4.98.1.20.1,1,4str
 | 
			
		||||
21,FSU设备本身,98,网络信息,IMSI,460080585306741,IMSI,1,,遥测,,1,499121001,.1.3.6.1.4.1.41475.4.98.1.21.1,1,4str
 | 
			
		||||
22,FSU设备本身,98,网络信息,bRemoteServer,http://10.10.63.88:8080,B接口远程服务器地址,1,,遥测,,1,499122001,.1.3.6.1.4.1.41475.4.98.1.22.1,1,4str
 | 
			
		||||
23,FSU设备本身,98,网络信息,webAccessAddr,192.168.2.146:8080,本机web浏览器访问地址,1,,遥测,,1,499123001,.1.3.6.1.4.1.41475.4.98.1.23.1,1,4str
 | 
			
		||||
24,FSU设备本身,98,MQTT,GateWayPublicTopic_Server,GateWayPublicTopic_Server,网关发布主题到服务器,1,,遥测,,1,499124001,.1.3.6.1.4.1.41475.4.98.1.24.1,1,4str
 | 
			
		||||
25,FSU设备本身,98,MQTT,ServerPublicTopic_GateWay,ServerPublicTopic_GateWay,服务器发布主题到网关,1,,遥测,,1,499125001,.1.3.6.1.4.1.41475.4.98.1.25.1,1,4str
 | 
			
		||||
26,FSU设备本身,98,MQTT,BrokerAddress_Port,116.236.50.106:8764,MQTTBroker服务器地址端口,1,,遥测,,1,499126001,.1.3.6.1.4.1.41475.4.98.1.26.1,1,4str
 | 
			
		||||
27,FSU设备本身,98,MQTT,MqttClientID,hjcid-13,Mqtt客户ID,1,,遥测,,1,499127001,.1.3.6.1.4.1.41475.4.98.1.27.1,1,4str
 | 
			
		||||
28,FSU设备本身,98,MQTT,MqttUserName,hjemq-c13,Mqtt用户名,1,,遥测,,1,499128001,.1.3.6.1.4.1.41475.4.98.1.28.1,1,4str
 | 
			
		||||
29,FSU设备本身,98,MQTT,MqttPassWord,Hj57471000,Mqtt密码,1,,遥测,,1,499129001,.1.3.6.1.4.1.41475.4.98.1.29.1,1,4str
 | 
			
		||||
30,FSU设备本身,98,MQTT,MqttWillToplic_Server,MqttWillToplic_Server,网关发布遗嘱主题到服务器,1,,遥测,,1,499130001,.1.3.6.1.4.1.41475.4.98.1.30.1,1,4str
 | 
			
		||||
31,FSU设备本身,98,运维信息,OwnerName,,业主名称,1,,遥测,,1,499131001,.1.3.6.1.4.1.41475.4.98.1.31.1,1,4str
 | 
			
		||||
32,FSU设备本身,98,运维信息,OperationsCompanyName,,运维公司名称,1,,遥测,,1,499132001,.1.3.6.1.4.1.41475.4.98.1.32.1,1,4str
 | 
			
		||||
33,FSU设备本身,98,运维信息,OperationsPersonName,,运维人员名称,1,,遥测,,1,499133001,.1.3.6.1.4.1.41475.4.98.1.33.1,1,4str
 | 
			
		||||
34,FSU设备本身,98,运维信息,OperationsPersonMobile,,运维人员Mobile,1,,遥测,,1,499134001,.1.3.6.1.4.1.41475.4.98.1.34.1,1,4str
 | 
			
		||||
35,FSU设备本身,98,运维信息,OperationsPersonEmail,,运维人员email,1,,遥测,,1,499135001,.1.3.6.1.4.1.41475.4.98.1.35.1,1,4str
 | 
			
		||||
36,FSU设备本身,98,运维信息,OperationsPersonWeChat,,运维人员微信号,1,,遥测,,1,499136001,.1.3.6.1.4.1.41475.4.98.1.36.1,1,4str
 | 
			
		||||
37,FSU设备本身,98,运维信息,BeginRunTime,2023-12-13 15:47:22,启用时间,1,,遥测,,1,499137001,.1.3.6.1.4.1.41475.4.98.1.37.1,1,4str
 | 
			
		||||
38,FSU设备本身,98,板卡信息,SoftwareVersion,FSU_SW_V1.0.0,软件版本号,1,,遥测,,1,499138001,.1.3.6.1.4.1.41475.4.98.1.38.1,1,4str
 | 
			
		||||
39,FSU设备本身,98,板卡信息,SW_LastUpdateTime,2023-12-13 15:47:22,软件上次升级时间,1,,遥测,,1,499139001,.1.3.6.1.4.1.41475.4.98.1.39.1,1,4str
 | 
			
		||||
40,FSU设备本身,98,板卡信息,HardwareVersion,FSU_HW_V1.0.0,硬件版本号,1,,遥测,,1,499140001,.1.3.6.1.4.1.41475.4.98.1.40.1,1,4str
 | 
			
		||||
41,FSU设备本身,98,板卡信息,HW_LastUpdateTime,2023-12-13 15:47:22,硬件上次升级时间,1,,遥测,,1,499141001,.1.3.6.1.4.1.41475.4.98.1.41.1,1,4str
 | 
			
		||||
42,FSU设备本身,98,板卡信息,OnlineStatus,在线,在线状态,1,离线或者在线,遥测,,1,499142001,.1.3.6.1.4.1.41475.4.98.1.42.1,1,4str
 | 
			
		||||
43,FSU设备本身,98,板卡信息,RSSI,-60,网络信号强度,1,,遥测,dBm,1,499143001,.1.3.6.1.4.1.41475.4.98.1.43.1,1,4str
 | 
			
		||||
44,FSU设备本身,98,板卡信息,InfoSysname,Linux,操作系统名称,1,系统预先获取,遥测,,1,499144001,.1.3.6.1.4.1.41475.4.98.1.44.1,1,4str
 | 
			
		||||
45,FSU设备本身,98,板卡信息,InfoNodename,HJWL,主机名,1,系统预先获取,遥测,,1,499145001,.1.3.6.1.4.1.41475.4.98.1.45.1,1,4str
 | 
			
		||||
46,FSU设备本身,98,板卡信息,InfoRelease,4.1.15,内核版本,1,系统预先获取,遥测,,1,499146001,.1.3.6.1.4.1.41475.4.98.1.46.1,1,4str
 | 
			
		||||
47,FSU设备本身,98,板卡信息,InfoVersion,#1 SMP PREEMPT Thu May 9 17:08:50 CST 2024,发行版本,1,系统预先获取,遥测,,1,499147001,.1.3.6.1.4.1.41475.4.98.1.47.1,1,4str
 | 
			
		||||
48,FSU设备本身,98,板卡信息,InfoMachine,armv7l,硬件架构,1,系统预先获取,遥测,,1,499148001,.1.3.6.1.4.1.41475.4.98.1.48.1,1,4str
 | 
			
		||||
49,FSU设备本身,98,板卡信息,InfoUptime,0,开机时长,1,系统定时获取,遥测,秒,1,499149001,.1.3.6.1.4.1.41475.4.98.1.49.1,1,2U32
 | 
			
		||||
50,FSU设备本身,98,板卡信息,InfoTotalram,518057984,内存大小,1,系统定时获取,遥测,byte,1,499150001,.1.3.6.1.4.1.41475.4.98.1.50.1,1,2U32
 | 
			
		||||
51,FSU设备本身,98,板卡信息,InfoFreeram,453234688,剩余内存大小,1,系统定时获取,遥测,byte,1,499151001,.1.3.6.1.4.1.41475.4.98.1.51.1,1,2U32
 | 
			
		||||
52,FSU设备本身,98,板卡信息,InfoProcs,0,当前进程数,1,系统定时获取,遥测,,1,499152001,.1.3.6.1.4.1.41475.4.98.1.52.1,1,2U32
 | 
			
		||||
53,FSU设备本身,98,配置信息,ProtocolSelection,OID,协议选择,1,选择ID号,遥测,,1,499153001,.1.3.6.1.4.1.41475.4.98.1.53.1,1,4str
 | 
			
		||||
54,FSU设备本身,98,配置信息,FSUDeviceSelfTableName,FSUDEVICEDATATABLE,FSU设备自身表名,1,设备自身的表名,检索依据此值,遥测,,1,499154001,.1.3.6.1.4.1.41475.4.98.1.54.1,1,4str
 | 
			
		||||
		
		
			
  | 
| 
						 | 
				
			
			@ -0,0 +1,56 @@
 | 
			
		|||
SerialNumber,DeviceClass,DeviceCoding,LogicClass,SearchName,Value,SignalStandardName,ModifyEnable,SignalNotes,SignalType,Unit,Factor,SignalID,OID,OID_ForwardFlag,DataType
 | 
			
		||||
1,FSU设备本身,98,设备信息,DeviceNumber,31012010053,设备编码,1,DeviceID+SiteNumber,遥测,,1,499101001,.1.3.6.1.4.1.41475.4.98.1.1.1,1,4str
 | 
			
		||||
2,FSU设备本身,98,设备信息,DeviceID,10010,设备ID,1,,遥测,,1,499102001,.1.3.6.1.4.1.41475.4.98.1.2.1,1,4str
 | 
			
		||||
3,FSU设备本身,98,设备信息,DeviceName,汇珏IoT边缘网关,设备名称,1,,遥测,,1,499103001,.1.3.6.1.4.1.41475.4.98.1.3.1,1,4str
 | 
			
		||||
4,FSU设备本身,98,设备信息,DeviceModel,HJ-MU108,设备型号,1,,遥测,,1,499104001,.1.3.6.1.4.1.41475.4.98.1.4.1,1,4str
 | 
			
		||||
5,FSU设备本身,98,设备信息,DevicePowerConsumption,100,设备功耗,1,额定功耗,单位W,遥测,W,1,499105001,.1.3.6.1.4.1.41475.4.98.1.5.1,1,4str
 | 
			
		||||
6,FSU设备本身,98,设备信息,DeviceSN,HJWL2309010001,设备序列号,1,厂家名+日期+设备号,遥测,,1,499106001,.1.3.6.1.4.1.41475.4.98.1.6.1,1,4str
 | 
			
		||||
7,FSU设备本身,98,设备信息,DeviceAssertCode,0000000000,设备资产编码,1,暂无,遥测,,1,499107001,.1.3.6.1.4.1.41475.4.98.1.7.1,1,4str
 | 
			
		||||
8,FSU设备本身,98,设备信息,InstallTime,2023/12/13 15:47,安装时间,1,,遥测,,1,499108001,.1.3.6.1.4.1.41475.4.98.1.8.1,1,4str
 | 
			
		||||
9,FSU设备本身,98,设备信息,RegionCode,310120,地区编码,1,,遥测,,1,499109001,.1.3.6.1.4.1.41475.4.98.1.9.1,1,4str
 | 
			
		||||
10,FSU设备本身,98,设备信息,SiteNumber,10001,所属站点编码,1,同设备ID,遥测,,1,499110001,.1.3.6.1.4.1.41475.4.98.1.10.1,1,4str
 | 
			
		||||
11,FSU设备本身,98,设备信息,RoomName,cn-room,机房名称,1,所属的机房/机柜编码/名称,遥测,,1,499111001,.1.3.6.1.4.1.41475.4.98.1.11.1,1,4str
 | 
			
		||||
12,FSU设备本身,98,设备信息,DevDescribe,电信试点数据1号机房,设备描述信息,1,,遥测,,1,499112001,.1.3.6.1.4.1.41475.4.98.1.12.1,1,4str
 | 
			
		||||
13,FSU设备本身,98,设备信息,DeviceBrand,汇珏网络,设备品牌,1,,遥测,,1,499113001,.1.3.6.1.4.1.41475.4.98.1.13.1,1,4str
 | 
			
		||||
14,FSU设备本身,98,网络信息,NetworkingMethods,LAN,联网方式,1,4/5G无线、LAN/WiFi,遥测,,1,499114001,.1.3.6.1.4.1.41475.4.98.1.14.1,1,4str
 | 
			
		||||
15,FSU设备本身,98,网络信息,IPAddress,192.168.2.146,IP地址,1,平台分配的IP,平台可以访问到,不是拨号方式获得的动态IP,遥测,,1,499115001,.1.3.6.1.4.1.41475.4.98.1.15.1,1,4str
 | 
			
		||||
16,FSU设备本身,98,网络信息,AccessPort,8080,访问端口,1,如果有特殊协议,设备可能会分配特定端口如80或者8080等,遥测,,1,499116001,.1.3.6.1.4.1.41475.4.98.1.16.1,1,4str
 | 
			
		||||
17,FSU设备本身,98,网络信息,SNMPAccessPort,161,SNMP访问端口,1,缺省161,遥测,,1,499117001,.1.3.6.1.4.1.41475.4.98.1.17.1,1,4str
 | 
			
		||||
18,FSU设备本身,98,网络信息,Operator,中国移动,运营商,1,4/5G无线方式下,SIM卡所属的运营商:移动/联通/电信/广电,遥测,,1,499118001,.1.3.6.1.4.1.41475.4.98.1.18.1,1,4str
 | 
			
		||||
19,FSU设备本身,98,网络信息,SIMCARDNUMBER,,SIM卡号,1,用来管理SIM卡号资源,遥测,,1,499119001,.1.3.6.1.4.1.41475.4.98.1.19.1,1,4str
 | 
			
		||||
20,FSU设备本身,98,网络信息,IMEI,868540050954128,IMEI,1,"国际移动设备识别码:15为数字,用来区分每一部移动通信设备,与通讯模块绑定
 | 
			
		||||
典型IMEI码:868540050954128",遥测,,1,499120001,.1.3.6.1.4.1.41475.4.98.1.20.1,1,4str
 | 
			
		||||
21,FSU设备本身,98,网络信息,IMSI,460080585306741,IMSI,1,,遥测,,1,499121001,.1.3.6.1.4.1.41475.4.98.1.21.1,1,4str
 | 
			
		||||
22,FSU设备本身,98,网络信息,bRemoteServer,http://10.10.63.88:8080,B接口远程服务器地址,1,,遥测,,1,499122001,.1.3.6.1.4.1.41475.4.98.1.22.1,1,4str
 | 
			
		||||
23,FSU设备本身,98,网络信息,webAccessAddr,192.168.2.146:8080,本机web浏览器访问地址,1,,遥测,,1,499123001,.1.3.6.1.4.1.41475.4.98.1.23.1,1,4str
 | 
			
		||||
24,FSU设备本身,98,MQTT,GateWayPublicTopic_Server,GateWayPublicTopic_Server,网关发布主题到服务器,1,,遥测,,1,499124001,.1.3.6.1.4.1.41475.4.98.1.24.1,1,4str
 | 
			
		||||
25,FSU设备本身,98,MQTT,ServerPublicTopic_GateWay,ServerPublicTopic_GateWay,服务器发布主题到网关,1,,遥测,,1,499125001,.1.3.6.1.4.1.41475.4.98.1.25.1,1,4str
 | 
			
		||||
26,FSU设备本身,98,MQTT,BrokerAddress_Port,116.236.50.106:8764,MQTTBroker服务器地址端口,1,,遥测,,1,499126001,.1.3.6.1.4.1.41475.4.98.1.26.1,1,4str
 | 
			
		||||
27,FSU设备本身,98,MQTT,MqttClientID,hjcid-14,Mqtt客户ID,1,,遥测,,1,499127001,.1.3.6.1.4.1.41475.4.98.1.27.1,1,4str
 | 
			
		||||
28,FSU设备本身,98,MQTT,MqttUserName,hjemq-c14,Mqtt用户名,1,,遥测,,1,499128001,.1.3.6.1.4.1.41475.4.98.1.28.1,1,4str
 | 
			
		||||
29,FSU设备本身,98,MQTT,MqttPassWord,Hj57471000,Mqtt密码,1,,遥测,,1,499129001,.1.3.6.1.4.1.41475.4.98.1.29.1,1,4str
 | 
			
		||||
30,FSU设备本身,98,MQTT,MqttWillToplic_Server,MqttWillToplic_Server,网关发布遗嘱主题到服务器,1,,遥测,,1,499130001,.1.3.6.1.4.1.41475.4.98.1.30.1,1,4str
 | 
			
		||||
31,FSU设备本身,98,运维信息,OwnerName,,业主名称,1,,遥测,,1,499131001,.1.3.6.1.4.1.41475.4.98.1.31.1,1,4str
 | 
			
		||||
32,FSU设备本身,98,运维信息,OperationsCompanyName,,运维公司名称,1,,遥测,,1,499132001,.1.3.6.1.4.1.41475.4.98.1.32.1,1,4str
 | 
			
		||||
33,FSU设备本身,98,运维信息,OperationsPersonName,,运维人员名称,1,,遥测,,1,499133001,.1.3.6.1.4.1.41475.4.98.1.33.1,1,4str
 | 
			
		||||
34,FSU设备本身,98,运维信息,OperationsPersonMobile,,运维人员Mobile,1,,遥测,,1,499134001,.1.3.6.1.4.1.41475.4.98.1.34.1,1,4str
 | 
			
		||||
35,FSU设备本身,98,运维信息,OperationsPersonEmail,,运维人员email,1,,遥测,,1,499135001,.1.3.6.1.4.1.41475.4.98.1.35.1,1,4str
 | 
			
		||||
36,FSU设备本身,98,运维信息,OperationsPersonWeChat,,运维人员微信号,1,,遥测,,1,499136001,.1.3.6.1.4.1.41475.4.98.1.36.1,1,4str
 | 
			
		||||
37,FSU设备本身,98,运维信息,BeginRunTime,2023/12/13 15:47,启用时间,1,,遥测,,1,499137001,.1.3.6.1.4.1.41475.4.98.1.37.1,1,4str
 | 
			
		||||
38,FSU设备本身,98,板卡信息,SoftwareVersion,FSU_SW_V1.0.0,软件版本号,1,,遥测,,1,499138001,.1.3.6.1.4.1.41475.4.98.1.38.1,1,4str
 | 
			
		||||
39,FSU设备本身,98,板卡信息,SW_LastUpdateTime,2023/12/13 15:47,软件上次升级时间,1,,遥测,,1,499139001,.1.3.6.1.4.1.41475.4.98.1.39.1,1,4str
 | 
			
		||||
40,FSU设备本身,98,板卡信息,HardwareVersion,FSU_HW_V1.0.0,硬件版本号,1,,遥测,,1,499140001,.1.3.6.1.4.1.41475.4.98.1.40.1,1,4str
 | 
			
		||||
41,FSU设备本身,98,板卡信息,HW_LastUpdateTime,2023/12/13 15:47,硬件上次升级时间,1,,遥测,,1,499141001,.1.3.6.1.4.1.41475.4.98.1.41.1,1,4str
 | 
			
		||||
42,FSU设备本身,98,板卡信息,OnlineStatus,在线,在线状态,1,离线或者在线,遥测,,1,499142001,.1.3.6.1.4.1.41475.4.98.1.42.1,1,4str
 | 
			
		||||
43,FSU设备本身,98,板卡信息,RSSI,-60,网络信号强度,1,,遥测,dBm,1,499143001,.1.3.6.1.4.1.41475.4.98.1.43.1,1,4str
 | 
			
		||||
44,FSU设备本身,98,板卡信息,InfoSysname,Linux,操作系统名称,1,系统预先获取,遥测,,1,499144001,.1.3.6.1.4.1.41475.4.98.1.44.1,1,4str
 | 
			
		||||
45,FSU设备本身,98,板卡信息,InfoNodename,HJWL,主机名,1,系统预先获取,遥测,,1,499145001,.1.3.6.1.4.1.41475.4.98.1.45.1,1,4str
 | 
			
		||||
46,FSU设备本身,98,板卡信息,InfoRelease,4.1.15,内核版本,1,系统预先获取,遥测,,1,499146001,.1.3.6.1.4.1.41475.4.98.1.46.1,1,4str
 | 
			
		||||
47,FSU设备本身,98,板卡信息,InfoVersion,#1 SMP PREEMPT Thu May 9 17:08:50 CST 2024,发行版本,1,系统预先获取,遥测,,1,499147001,.1.3.6.1.4.1.41475.4.98.1.47.1,1,4str
 | 
			
		||||
48,FSU设备本身,98,板卡信息,InfoMachine,armv7l,硬件架构,1,系统预先获取,遥测,,1,499148001,.1.3.6.1.4.1.41475.4.98.1.48.1,1,4str
 | 
			
		||||
49,FSU设备本身,98,板卡信息,InfoUptime,0,开机时长,1,系统定时获取,遥测,秒,1,499149001,.1.3.6.1.4.1.41475.4.98.1.49.1,1,2U32
 | 
			
		||||
50,FSU设备本身,98,板卡信息,InfoTotalram,518057984,内存大小,1,系统定时获取,遥测,byte,1,499150001,.1.3.6.1.4.1.41475.4.98.1.50.1,1,2U32
 | 
			
		||||
51,FSU设备本身,98,板卡信息,InfoFreeram,453234688,剩余内存大小,1,系统定时获取,遥测,byte,1,499151001,.1.3.6.1.4.1.41475.4.98.1.51.1,1,2U32
 | 
			
		||||
52,FSU设备本身,98,板卡信息,InfoProcs,0,当前进程数,1,系统定时获取,遥测,,1,499152001,.1.3.6.1.4.1.41475.4.98.1.52.1,1,2U32
 | 
			
		||||
53,FSU设备本身,98,配置信息,ProtocolSelection,OID,协议选择,1,选择ID号,遥测,,1,499153001,.1.3.6.1.4.1.41475.4.98.1.53.1,1,4str
 | 
			
		||||
54,FSU设备本身,98,配置信息,FSUDeviceSelfTableName,FSUDEVICEDATATABLE,FSU设备自身表名,1,设备自身的表名,检索依据此值,遥测,,1,499154001,.1.3.6.1.4.1.41475.4.98.1.54.1,1,4str
 | 
			
		||||
		
		
			
  | 
| 
						 | 
				
			
			@ -14,7 +14,7 @@
 | 
			
		|||
#include "globalparameters.h"
 | 
			
		||||
#include "mytablemodel.h"
 | 
			
		||||
 | 
			
		||||
#define PAGES_FORMAT_STRING ("Total %1 Pages, Current No.%2 Page")
 | 
			
		||||
#define PAGES_FORMAT_STRING tr("Total %1 Pages, Current No.%2 Page")
 | 
			
		||||
#define PER_PAGE_SIZE (30)
 | 
			
		||||
 | 
			
		||||
DevicePropertyPage::DevicePropertyPage(QWidget *parent) :
 | 
			
		||||
| 
						 | 
				
			
			@ -357,7 +357,7 @@ int DevicePropertyPage::PageDataProcess()
 | 
			
		|||
 | 
			
		||||
void DevicePropertyPage::updatePageLabel()
 | 
			
		||||
{
 | 
			
		||||
    QString s = QString(PAGES_FORMAT_STRING).arg(m_totalPageCount).arg(m_currentPage);
 | 
			
		||||
    QString s = QString(tr("Total %1 Pages, Current No.%2 Page")).arg(m_totalPageCount).arg(m_currentPage);
 | 
			
		||||
    m_pPagesLabel->setText(s);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,7 +10,7 @@
 | 
			
		|||
        <translation type="unfinished">About Configurer</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="aboutdialog.ui" line="92"/>
 | 
			
		||||
        <location filename="aboutdialog.ui" line="98"/>
 | 
			
		||||
        <source>TextLabel</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
    </message>
 | 
			
		||||
| 
						 | 
				
			
			@ -107,6 +107,12 @@
 | 
			
		|||
        <translatorcomment>Interval(Sec.)</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">Interval(Sec.)</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="devicepropertypage.cpp" line="360"/>
 | 
			
		||||
        <source>Total %1 Pages, Current No.%2 Page</source>
 | 
			
		||||
        <translatorcomment>Total %1 Pages, Current No.%2 Page</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">Total %1 Pages, Current No.%2 Page</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="devicepropertypage.cpp" line="472"/>
 | 
			
		||||
        <source>Page number should be large than 0 and less than %1 !</source>
 | 
			
		||||
| 
						 | 
				
			
			@ -360,73 +366,86 @@ Contact Developement for supporting!</source>
 | 
			
		|||
    <message>
 | 
			
		||||
        <location filename="maindialog.cpp" line="32"/>
 | 
			
		||||
        <source>EMU Configurer Kit</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
        <translation type="unfinished">EMU Configurer Kit</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="maindialog.cpp" line="79"/>
 | 
			
		||||
        <source>Power</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
        <translatorcomment>Power</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">Power</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="maindialog.cpp" line="80"/>
 | 
			
		||||
        <source>Battery</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
        <translatorcomment>Battery</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">Battery</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="maindialog.cpp" line="81"/>
 | 
			
		||||
        <source>Switch</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
        <translatorcomment>Switch</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">Switch</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="maindialog.cpp" line="82"/>
 | 
			
		||||
        <source>Air</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
        <translatorcomment>Air</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">Air</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="maindialog.cpp" line="83"/>
 | 
			
		||||
        <source>Fan</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
        <translatorcomment>Fan</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">Fan</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="maindialog.cpp" line="84"/>
 | 
			
		||||
        <source>Sensor</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
        <translatorcomment>Sensor</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">Sensor</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="maindialog.cpp" line="128"/>
 | 
			
		||||
        <source>Add Device</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
        <translatorcomment>Add Device</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">Add Device</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="maindialog.cpp" line="129"/>
 | 
			
		||||
        <source>Add a new device</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
        <translatorcomment>Add a new device</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">Add a new device</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="maindialog.cpp" line="131"/>
 | 
			
		||||
        <source>Remove Device</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
        <translatorcomment>Remove Device</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">Remove Device</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="maindialog.cpp" line="132"/>
 | 
			
		||||
        <source>Remove a device</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
        <translatorcomment>Remove a devic</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">Remove a devic</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="maindialog.cpp" line="134"/>
 | 
			
		||||
        <location filename="maindialog.cpp" line="135"/>
 | 
			
		||||
        <source>Refresh</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
        <translatorcomment>Refresh</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">Refresh</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="maindialog.cpp" line="137"/>
 | 
			
		||||
        <source>About...</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
        <translatorcomment>About...</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">About...</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="maindialog.cpp" line="138"/>
 | 
			
		||||
        <source>Show information about EMU Configurer toolkit</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
        <translatorcomment>Show information about EMU Configurer toolkit</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">Show information about EMU Configurer toolkit</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
</context>
 | 
			
		||||
<context>
 | 
			
		||||
| 
						 | 
				
			
			@ -462,31 +481,31 @@ Contact Developement for supporting!</source>
 | 
			
		|||
        <translation type="unfinished">Test</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="mainwindow.ui" line="125"/>
 | 
			
		||||
        <location filename="mainwindow.ui" line="131"/>
 | 
			
		||||
        <source>Logon</source>
 | 
			
		||||
        <translatorcomment>Logon</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">Logon</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="mainwindow.ui" line="145"/>
 | 
			
		||||
        <location filename="mainwindow.ui" line="151"/>
 | 
			
		||||
        <source>Close</source>
 | 
			
		||||
        <translatorcomment>Close</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">Close</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="mainwindow.ui" line="183"/>
 | 
			
		||||
        <location filename="mainwindow.ui" line="189"/>
 | 
			
		||||
        <source>Login name</source>
 | 
			
		||||
        <translatorcomment>Login name</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">Login name</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="mainwindow.ui" line="196"/>
 | 
			
		||||
        <location filename="mainwindow.ui" line="202"/>
 | 
			
		||||
        <source>Password</source>
 | 
			
		||||
        <translatorcomment>Password</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">Password</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="mainwindow.ui" line="229"/>
 | 
			
		||||
        <location filename="mainwindow.ui" line="235"/>
 | 
			
		||||
        <source>Lang</source>
 | 
			
		||||
        <translatorcomment>Lang</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">Lang</translation>
 | 
			
		||||
| 
						 | 
				
			
			@ -560,22 +579,26 @@ Contact Developement for supporting!</source>
 | 
			
		|||
    <message>
 | 
			
		||||
        <location filename="mytablemodel.cpp" line="32"/>
 | 
			
		||||
        <source>Normal</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
        <translatorcomment>Normal</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">Normal</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="mytablemodel.cpp" line="33"/>
 | 
			
		||||
        <source>INFO</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
        <translatorcomment>INFO</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">INFO</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="mytablemodel.cpp" line="34"/>
 | 
			
		||||
        <source>WARN</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
        <translatorcomment>WARN</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">WARN</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="mytablemodel.cpp" line="35"/>
 | 
			
		||||
        <source>ERROR</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
        <translatorcomment>ERROR</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">ERROR</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
</context>
 | 
			
		||||
<context>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,7 +10,7 @@
 | 
			
		|||
        <translation type="unfinished">关于配置器...</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="aboutdialog.ui" line="92"/>
 | 
			
		||||
        <location filename="aboutdialog.ui" line="98"/>
 | 
			
		||||
        <source>TextLabel</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
    </message>
 | 
			
		||||
| 
						 | 
				
			
			@ -107,6 +107,12 @@
 | 
			
		|||
        <translatorcomment>间隔(秒)</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">间隔(秒)</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="devicepropertypage.cpp" line="360"/>
 | 
			
		||||
        <source>Total %1 Pages, Current No.%2 Page</source>
 | 
			
		||||
        <translatorcomment>共 %1 页, 当前第 %2 页</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">共 %1 页, 当前第 %2 页</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="devicepropertypage.cpp" line="472"/>
 | 
			
		||||
        <source>Page number should be large than 0 and less than %1 !</source>
 | 
			
		||||
| 
						 | 
				
			
			@ -365,68 +371,81 @@ Contact Developement for supporting!</source>
 | 
			
		|||
    <message>
 | 
			
		||||
        <location filename="maindialog.cpp" line="79"/>
 | 
			
		||||
        <source>Power</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
        <translatorcomment>电源</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">电源</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="maindialog.cpp" line="80"/>
 | 
			
		||||
        <source>Battery</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
        <translatorcomment>电池</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">电池</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="maindialog.cpp" line="81"/>
 | 
			
		||||
        <source>Switch</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
        <translatorcomment>配电开关</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">配电开关</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="maindialog.cpp" line="82"/>
 | 
			
		||||
        <source>Air</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
        <translatorcomment>空调</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">空调</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="maindialog.cpp" line="83"/>
 | 
			
		||||
        <source>Fan</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
        <translatorcomment>风机</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">风机</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="maindialog.cpp" line="84"/>
 | 
			
		||||
        <source>Sensor</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
        <translatorcomment>传感器</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">传感器</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="maindialog.cpp" line="128"/>
 | 
			
		||||
        <source>Add Device</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
        <translatorcomment>增加设备</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">增加设备</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="maindialog.cpp" line="129"/>
 | 
			
		||||
        <source>Add a new device</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
        <translatorcomment>增加新设备</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">增加新设备</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="maindialog.cpp" line="131"/>
 | 
			
		||||
        <source>Remove Device</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
        <translatorcomment>删除设备</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">删除设备</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="maindialog.cpp" line="132"/>
 | 
			
		||||
        <source>Remove a device</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
        <translatorcomment>删除设备</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">删除设备</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="maindialog.cpp" line="134"/>
 | 
			
		||||
        <location filename="maindialog.cpp" line="135"/>
 | 
			
		||||
        <source>Refresh</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
        <translatorcomment>刷新</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">刷新</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="maindialog.cpp" line="137"/>
 | 
			
		||||
        <source>About...</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
        <translatorcomment>关于...</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">关于...</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="maindialog.cpp" line="138"/>
 | 
			
		||||
        <source>Show information about EMU Configurer toolkit</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
        <translatorcomment>显示EMU配置工具相关信息</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">显示EMU配置工具相关信息</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
</context>
 | 
			
		||||
<context>
 | 
			
		||||
| 
						 | 
				
			
			@ -462,31 +481,31 @@ Contact Developement for supporting!</source>
 | 
			
		|||
        <translation type="unfinished">测试</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="mainwindow.ui" line="125"/>
 | 
			
		||||
        <location filename="mainwindow.ui" line="131"/>
 | 
			
		||||
        <source>Logon</source>
 | 
			
		||||
        <translatorcomment>登录</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">登录</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="mainwindow.ui" line="145"/>
 | 
			
		||||
        <location filename="mainwindow.ui" line="151"/>
 | 
			
		||||
        <source>Close</source>
 | 
			
		||||
        <translatorcomment>退出</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">退出</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="mainwindow.ui" line="183"/>
 | 
			
		||||
        <location filename="mainwindow.ui" line="189"/>
 | 
			
		||||
        <source>Login name</source>
 | 
			
		||||
        <translatorcomment>登录账号</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">登录账号</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="mainwindow.ui" line="196"/>
 | 
			
		||||
        <location filename="mainwindow.ui" line="202"/>
 | 
			
		||||
        <source>Password</source>
 | 
			
		||||
        <translatorcomment>登录密码</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">登录密码</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="mainwindow.ui" line="229"/>
 | 
			
		||||
        <location filename="mainwindow.ui" line="235"/>
 | 
			
		||||
        <source>Lang</source>
 | 
			
		||||
        <translatorcomment>语言</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">语言</translation>
 | 
			
		||||
| 
						 | 
				
			
			@ -560,22 +579,26 @@ Contact Developement for supporting!</source>
 | 
			
		|||
    <message>
 | 
			
		||||
        <location filename="mytablemodel.cpp" line="32"/>
 | 
			
		||||
        <source>Normal</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
        <translatorcomment>正常</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">正常</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="mytablemodel.cpp" line="33"/>
 | 
			
		||||
        <source>INFO</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
        <translatorcomment>信息</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">信息</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="mytablemodel.cpp" line="34"/>
 | 
			
		||||
        <source>WARN</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
        <translatorcomment>告警</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">告警</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
    <message>
 | 
			
		||||
        <location filename="mytablemodel.cpp" line="35"/>
 | 
			
		||||
        <source>ERROR</source>
 | 
			
		||||
        <translation type="unfinished"></translation>
 | 
			
		||||
        <translatorcomment>错误</translatorcomment>
 | 
			
		||||
        <translation type="unfinished">错误</translation>
 | 
			
		||||
    </message>
 | 
			
		||||
</context>
 | 
			
		||||
<context>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,10 +4,11 @@
 | 
			
		|||
#include <QAbstractTableModel>
 | 
			
		||||
#include <QTableView>
 | 
			
		||||
#include <QHeaderView>
 | 
			
		||||
#include <QObject>
 | 
			
		||||
#include <QApplication>
 | 
			
		||||
#include <QCursor>
 | 
			
		||||
#include <QSettings>
 | 
			
		||||
 | 
			
		||||
#include <QTranslator>
 | 
			
		||||
#include <hv/hlog.h>
 | 
			
		||||
 | 
			
		||||
#include "globalparameters.h"
 | 
			
		||||
| 
						 | 
				
			
			@ -22,11 +23,11 @@ AppData::~AppData()
 | 
			
		|||
 | 
			
		||||
AppData::AppData(token)
 | 
			
		||||
{
 | 
			
		||||
    lstDataTableHeaderText << ("Status")
 | 
			
		||||
                           << ("Parameter")
 | 
			
		||||
                           << ("Value")
 | 
			
		||||
                           << ("Unit")
 | 
			
		||||
                           << ("Time")
 | 
			
		||||
    lstDataTableHeaderText << tr("Status")
 | 
			
		||||
                           << tr("Parameter")
 | 
			
		||||
                           << tr("Value")
 | 
			
		||||
                           << tr("Unit")
 | 
			
		||||
                           << tr("Time")
 | 
			
		||||
                           << ("");
 | 
			
		||||
 | 
			
		||||
    nTimeOut = 5000;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue